Szimulációs Módszerek : Monte Carlo Szimuláció
description
Transcript of Szimulációs Módszerek : Monte Carlo Szimuláció
![Page 1: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/1.jpg)
Szimulációs Módszerek: Monte Carlo Szimuláció
4.év Mérnoki InformatikaBBTE Matematika és Informatika
![Page 2: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/2.jpg)
Szimuláció – Monte Carlo
Monte Carlo szimuláció
Egy másik nagy módszer a Molekuláris Dinamika módszer mellett
Los Alamosból ered a módszer: Stanislaw Ulam fizikus találta ki, Neumann Jánossal együtt, a Manhatten projekt keretén belül.
![Page 3: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/3.jpg)
Szimuláció – Monte Carlo
Radioaktív anyagok-meg kell oldani az árnyékolást. Milyen vastag pajzs kell ahhoz hogy leárnyékolják az anyagot?
Attól függ hogy milyen sugárzásról van szó
ők konkrétan a neutron sugárzást akarták
![Page 4: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/4.jpg)
Szimuláció – Monte Carlo
átlag távolság amíg a neutron ütközik egy atommal
átlag energia amit egy neutron elveszít egy ilyen ütközéskor
bár a részleteket ismerték, az analitikus számítás mégis nagyon nehéz volt, nem tudták elvégezni
![Page 5: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/5.jpg)
Szimuláció – Monte Carlo
Solitaire játék (Ulam is ezt használta példának)
Ismerjük az összes szabályt
tudjuk pontosan hány kártya
van a pakliban az a kérdés hogy az
összesrandom kezteti állapotból hány állatotban lehet sikeresen kirakni a menetet. Ez nagyok bonyolult kombinatorikai számításhoz vezet.
![Page 6: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/6.jpg)
Szimuláció – Monte Carlo
Egy gyakorlati megoldás: rakjuk ki 100-szor a játékot. Számoljuk meg hányszor sikeres a kirakás. Ebből tudunk következtetni arra hogy mi lehet a valószínűsége annak hogy ki lehet rakni a játékot.
Hasonló módszerrel számolták a neutron elnyelődést is: elindítottak egy neutront a szimulációban és követték. Sokszor megcsinálták ezt (más kezdeti sebesség stb.)Ebből ki lehetett következtetni azt a valószínűséget amire kíváncsiak voltak.
![Page 7: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/7.jpg)
Szimuláció – Monte Carlo
Enrico Fermi Stanislaw Ulam, János Neumann1930 1946, Manhattan ProjectLos Alamos
![Page 8: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/8.jpg)
Szimuláció – Monte Carlo
Monte Carlo: kódnevet kellett találni rá, mert egy titkos projekt volt(a Manhattan része)Neumann tudta hogy Ulam nagybátyja sok pénzt veszített a Monaco-i kaszinóban(Monte Carlo)
![Page 9: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/9.jpg)
Szimuláció – Monte Carlo
Neumann programozta be az első ilyen szimulációt az ENIAC-on
![Page 10: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/10.jpg)
Szimuláció – Monte Carlo
Monte Carlo módszer: véletlenszerű mintavételezésen alapul, sokszor futtatják le azért hogy valószínűségeket számoljanak ki
akkor használják amikor nem lehet zárt formájú megoldást találni a feladatra vagy amikor nem éri meg determinisztikus algoritmust alkalmazni (pl. Molekuláris Dinamika, numerikus számítások)
![Page 11: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/11.jpg)
Szimuláció – Monte Carlo
Monte Carlo: optimizáció numerikus integrálás mintavételezés valamilyen eloszlásból
sok csatolt szabadsági fokkal rendelkező rendszerek: folyadékok, rendezetlen anyagok (üveg, granuláris anyagok), csatolt elemekből álló modellek mint a Potts modell (erre látunk majd példát amit ezzel oldunk meg)
![Page 12: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/12.jpg)
Szimuláció – Monte Carlo
Monte Carlo: rizikó számítása üzleti életben multidimenzionális határozott integrálok
elvégzése bonyolult határfeltételekkel űrkutatás, olajmezők feltárása
az alap egy véletlenszám-generátor, egy nagyon jó véletlenszám-generátorra van szükség az MC-hez (jobbra mint a sima rand)
![Page 13: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/13.jpg)
Szimuláció – Monte Carlo
sima rand() használata C-ben
a rand() ad egy számot 0 és RAND_MAX között
m*rand()/(RAND_MAX+1.0)
sokkal jobb mint:
rand() % m
![Page 14: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/14.jpg)
Szimuláció – Monte Carlo
sima rand() használata C-ben
a rand() ad egy számot 0 és RAND_MAX között
m*rand()/(RAND_MAX+1.0) legfontosabb biteket használja MSBsokkal jobb mint:rand() % ma legkisebb biteket használja LSB
![Page 15: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/15.jpg)
Szimuláció – Monte Carlo
Egy példa a Monte Carlo módszerre Buffon tűjeezt már nagyon jól ismeritek a statisztika óráról
mi köze ennek a valószínűségnekπ-hez?
(+3 pont quiz)
![Page 16: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/16.jpg)
Szimuláció – Monte Carlo
A tű közepének a poziciója és a szög is egyenletes eloszlásból jön, vagyis x: 0 – t/2 1/(t/2) 2/tθ: 0 – π 1/π
ezek közül nekünk csak azok az esetek kellenek ahol metsziis a vonalat
![Page 17: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/17.jpg)
Szimuláció – Monte Carlo
Egy integrálást végzünk elErre ma is használják az MC-tsok dimenziós int., irreguláris határfeltételek
![Page 18: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/18.jpg)
Szimuláció – Monte Carlo
Ahhoz hogy megértsük a különböző mintavételezési módokat, játsszunk egy pár játékot: a gyerekek játéka Monte Carlo-ban
![Page 19: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/19.jpg)
Szimuláció – Monte Carlo
A körbe eső és a négyzetbe eső kövek számának az aránya fogja megadni π-t
![Page 20: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/20.jpg)
Szimuláció – Monte Carlo
A felnőttek is játszanak egy játékot, de ők egy sokkal nagyobb terepen játszanak amit nem tudnak egyszerűen bejárni
egy nő kidob egy követ a területről
mit tegyen?
![Page 21: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/21.jpg)
Szimuláció – Monte Carlo
egy nő kidob egy követ a területről
mit tegyen? (c pontnál
van)
![Page 22: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/22.jpg)
Szimuláció – Monte Carlo
![Page 23: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/23.jpg)
Szimuláció – Monte Carlo
A direct sampling az nagyon könnyűvé teszi a munkát, nem is kell olyan sok mintát venni. A probléma az hogy a legtöbb feladatnál nem látjuk be egyszerre az egész eseményteret és/vagy nem tudunk egyenletes valószínűséggel állapotokat generálni benne.
Példa a cipősdoboz esete a pénzérmékkel
![Page 24: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/24.jpg)
Szimuláció – Monte Carlo
![Page 25: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/25.jpg)
Szimuláció – Monte Carlo
Random sequential adsorption (RSA) ez nem direkt mintavételezés azt még senki se tudott csinálni
ehhez a problémához egy Markov-chainnel lehet így
mintavételezni ezzel az a probléma hogy nagyon
sok mintát kell venni ahhoz hogy az annak megfelelőt kapjuk mintha tényleg direct sampling lenne
![Page 26: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/26.jpg)
Szimuláció – Monte Carlo
A csecsemők és a felnőttek játéka
Markov chain Direct Sampling Sampling
![Page 27: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/27.jpg)
Szimuláció – Monte Carlo
a felnőttek játékszabályok szerint mennekde ők is szeretnének egyenletes eloszlást generálni
![Page 28: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/28.jpg)
Szimuláció – Monte Carlo
Condition of detailed balance
![Page 29: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/29.jpg)
Szimuláció – Monte Carlo
Condition of detailed balance
![Page 30: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/30.jpg)
Szimuláció – Monte Carlo
Condition of detailed balance
![Page 31: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/31.jpg)
Szimuláció – Monte Carlo
Condition of detailed balance
Hogyan teljesülhet ez a felnőttek játékánál?
![Page 32: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/32.jpg)
Szimuláció – Monte Carlo
Condition of detailed balance
Hogyan teljesülhet ez a felnőttek játékánál?
![Page 33: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/33.jpg)
Szimuláció – Monte Carlo
Condition of detailed balance
Hogyan teljesülhet ez a felnőttek játékánál?
![Page 34: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/34.jpg)
Szimuláció – Monte Carlo
Condition of detailed balance
Az egyik mód ahogy ezt a feltételt teljesíteni lehet, az a Metropolis Monte Carlo
![Page 35: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/35.jpg)
Szimuláció – Monte Carlo
![Page 36: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/36.jpg)
Szimuláció – Monte Carlo
mikrokankonikus sokaság kanonikus sokaságmakrokanonikus sokaság
amikor arról beszélünk hogy minden állapot egyenlő valószínűséggel fordul elő az a mikrokanonikus sokaság
N,V,E konstans (izolált rendszer)
![Page 37: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/37.jpg)
Szimuláció – Monte Carlo
mikrokankonikus sokaság kanonikus sokaságmakrokanonikus sokaság
amikor arról beszélünk hogy állandó a hőmérséklet akkor már nem minden állapot fordul elő egyenlő valószínűséggel (ez a kanonikus sokaság)N,V,T konstans (termosztatált rendszer)
![Page 38: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/38.jpg)
Szimuláció – Monte Carlo
mikrokankonikus sokaság kanonikus sokaságmakrokanonikus sokaság
makrokanonikus sokaságban N is változhat, de a kémiai potenciál állandó
![Page 39: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/39.jpg)
Szimuláció – Monte Carlo
kanonikus sokaság
π(a) ~ e^(-Ea/kt) π(b) ~ e^(-Eb/kt)π(b)/π(a) ~ e^-((Eb-Ea)/kt) = e^-ΔE/kTtehát a Metropolis algoritmusban a ΔE fog számítani
![Page 40: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/40.jpg)
Szimuláció – Monte Carlo
Emberek csoportosítása optimális társaságokra
Kölcsönhatási mátrixSzomszédsági mátrix
az elsőből kiszámolni a másodikat (NP hard)
![Page 41: Szimulációs Módszerek : Monte Carlo Szimuláció](https://reader035.fdocument.pub/reader035/viewer/2022062323/56816354550346895dd3f976/html5/thumbnails/41.jpg)
Szimuláció – Monte Carlo
Simulated annealing
miért szükséges hogy működikalkalmazva a csoportosítás példára
mi a hőmérséklet, mi az energia (cost function)