Monte Carlo integrls Bevezets Egyszer mintavtel Tall nem
Monte Carlo integrálás Ø Ø Bevezetés Egyszerű mintavétel Talál – nem talál módszer Fontossági mintavétel
Bevezetés n n Integrálok hatékony kiszámítása számos anyagtudományi problémánál lényeges. Egy közelítő integrálkiszámítási módszert fogunk megismerni, mely véletlen számokat használ az algoritmus során. q innen ered a neve is („szerencsejáték”) Dr. Erdélyi Zoltán Számítógépes modellezés 2
Bevezetés n Dr. Erdélyi Zoltán Számítógépes modellezés 3
Bevezetés Dr. Erdélyi Zoltán Számítógépes modellezés 4
Bevezetés n válasz szimulált válasz kívánt válasz MC lépés * https: //en. wikipedia. org/wiki/Buffon's_needle Dr. Erdélyi Zoltán Számítógépes modellezés 5
Bevezetés n A „Numerikus számolás alapjai” anyagrészben tárgyaltuk a határozott integrálok kiszámításának numerikus közelítő módszerét. q A legegyszerűbben az integrálközelítő összeget használhatjuk erre a célra, azaz Dr. Erdélyi Zoltán Számítógépes modellezés 6
Bevezetés n Dr. Erdélyi Zoltán Számítógépes modellezés 7
Bevezetés n Dr. Erdélyi Zoltán Számítógépes modellezés 8
Bevezetés n Dr. Erdélyi Zoltán Számítógépes modellezés 9
Bevezetés n Dr. Erdélyi Zoltán Számítógépes modellezés 10
Bevezetés n Dr. Erdélyi Zoltán Számítógépes modellezés 11
Egyszerű mintavétel n Dr. Erdélyi Zoltán Számítógépes modellezés 12
Egyszerű mintavétel n Dr. Erdélyi Zoltán Számítógépes modellezés 13
Egyszerű mintavétel n Dr. Erdélyi Zoltán Számítógépes modellezés 14
Egyszerű mintavétel: példa //Hasznalat function y = f(x) y = exp(-x). *cos(x) //integralni kivant fuggveny endfunction I=mc 1 d(f, 0, %pi, 1 e 5); //MC integral algoritmus hivasa disp(I) Dr. Erdélyi Zoltán Számítógépes modellezés 15
Talál – nem talál n „Talált – nem talált” módszer q q Az előző, mintavételezős módszernél még egyszerűbb. Lényegében a felületi valószínűséget használjuk ki f(x) A 0 h A* a Dr. Erdélyi Zoltán Számítógépes modellezés b x 16
Talál – nem talál n Dr. Erdélyi Zoltán Számítógépes modellezés 17
Talál – nem talál n Dr. Erdélyi Zoltán Számítógépes modellezés 18
Talál – nem talál: példa n Egységsugarú kör területe n clear(); //egysegsugaru kor terulete function ii = korterulet(n) summa = 0 for i = 1: n x = rand(1, 1) y = rand(1, 1) if (x^2 + y^2 <= 1) then summa = summa + 1 end ii = 4 * summa/n // fentiek csak ¼ körre endfunction // ezért 4* Dr. Erdélyi Zoltán Számítógépes modellezés 19
Fontossági mintavétel n Egy függvény az [a, b] intervallumon nem minden szakaszon ugyanolyan súllyal járul az integrálhoz q q farok rész kicsi járulék nagy értékeknél, nagy járulék f(x) a Dr. Erdélyi Zoltán Számítógépes modellezés b x 20
Fontossági mintavétel q n így az egyenletes eloszlású véletlen számok használata igazán akkor hatékony, ha a függvény nem változik sokat az [a, b] intervallumon Ötlet: ha erősen változik a függvény az [a, b] intervallumon, akkor válasszunk sűrűbben véletlen számokat ott, ahol nagyobb a függvény (abszolút) értéke q másként fogalmazva: transzformáljuk olyanná, ami nem nagyon változik és úgy integráljunk Dr. Erdélyi Zoltán Számítógépes modellezés 21
Fontossági mintavétel n Dr. Erdélyi Zoltán Számítógépes modellezés 22
Fontossági mintavétel n Dr. Erdélyi Zoltán Számítógépes modellezés 23
Fontossági mintavétel n Dr. Erdélyi Zoltán Számítógépes modellezés 24
Előnyök n A Monte Carlo módszer akkor előnyös, ha a hagyományos integrálközelítő összegek kiszámítása nagyon számolásigényes. q q pl. sokdimenziós esetben a dimenziónkénti elemi intervallumok számának a szorzata adja az összegzések számát, ami óriási lehet a Monte Carlo módszerrel az összegzendő tagok száma független a dimenziótól Dr. Erdélyi Zoltán Számítógépes modellezés 25
- Slides: 25