41
Szimulációs Módszerek: Monte Carlo Szimuláció 4.év Mérnoki Informatika BBTE Matematika és Informatika

Szimulációs Módszerek : Monte Carlo Szimuláció

  • Upload
    aram

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

4.év Mérnoki Informatika BBTE Matematika és Informatika. Szimulációs Módszerek : Monte Carlo Szimuláció. Szimuláció – Monte Carlo. Monte Carlo szimuláció - PowerPoint PPT Presentation

Citation preview

Page 1: Szimulációs Módszerek : Monte Carlo  Szimuláció

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

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ó

Szimuláció – Monte Carlo

Page 23: Szimulációs Módszerek : Monte Carlo  Szimuláció

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ó

Szimuláció – Monte Carlo

Page 25: Szimulációs Módszerek : Monte Carlo  Szimuláció

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ó

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ó

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ó

Szimuláció – Monte Carlo

Condition of detailed balance

Page 29: Szimulációs Módszerek : Monte Carlo  Szimuláció

Szimuláció – Monte Carlo

Condition of detailed balance

Page 30: Szimulációs Módszerek : Monte Carlo  Szimuláció

Szimuláció – Monte Carlo

Condition of detailed balance

Page 31: Szimulációs Módszerek : Monte Carlo  Szimuláció

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ó

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ó

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ó

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ó

Szimuláció – Monte Carlo

Page 36: Szimulációs Módszerek : Monte Carlo  Szimuláció

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ó

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ó

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ó

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ó

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ó

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)