Monte Carlo metody 996-7 Josef Pelkán CGG MFF UK Praha pepca@cgg.mff.cun.cz http://cgg.mff.cun.cz/~pepca/ Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca / 44
Monte Carlo ntegrace Odhadovaný ntegrál: Předpoklad: f x L, I f x dx Je-l náhodné číslo s dstrbucí R(,), pak f() je tzv. prmární odhad ntegrálu: Odhad je nestranný, neboť: I f prm E I f x dx I prm Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca / 44
Prmární odhad určtého ntegrálu f() f(x) Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 3 / 44
Rozptyl odhadu Měřítkem kvalty odhadu je jeho rozptyl (nebo standardní odchylka): prm V I f x I dx f x dx I prm (pro nestranný odhad) Př výpočtu jedného vzorku je rozptyl výsledku přílš velký! Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 4 / 44
Sekundární odhad ntegrálu f( )/N f(x)/n f( )/N f( 3 )/N 3 Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 5 / 44
Sekundární odhad Rozložení ntegrálu na součet N členů: I f x f x dx N N dx N Sekundární odhad ntegrálu: I sec N I N prm Sekundární odhad je také nestranný. N f I Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 6 / 44
Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 7 / 44 Rozptyl sekundárního odhadu sec...... N f x dx dx I N f x dx N I N N N prm... std. chyba je N-krát menší! (konvergence /N)
Vzorkování po částech př výběru množny nezávslých vzorků se stejnou hustotou pravděpodobnost dochází ke shlukování zbytečně velký rozptyl odhadu vzorkování po částech ( stratfed samplng ) potlačuje shlukování redukuje rozptyl odhadu nterval se rozdělí na část, které se odhadují samostatně Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 8 / 44
Vzorkování po částech f( ) f(x) 3 4 Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 9 / 44
Vzorkování po částech Rozdělení ntervalu (,) na N částí A : N I f x dx f x dx I Odhad ntegrálu: I strat N N A N I f f A prm, N Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca / 44
Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca / 44 Rozptyl vzorkování po částech strat A N N f x N Ndx I N f x dx I sec... rozptyl nemůže být větší než u sekundárního odhadu!
Rozklad ntervalu na část unformní rozklad ntervalu (,) přrozená metoda pro zcela neznámou funkc f známe-l alespoň přblžně průběh funkce f, snažíme se o takový rozklad, aby byl rozptyl funkce na subntervalech co nejmenší rozklad d-rozměrného ntervalu vede na N d výpočtů úspornější metodou je vzorkování N věží Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca / 44
Vzorkování podle důležtost některé část vzorkovaného ntervalu jsou důležtější, protože zde má f větší hodnotu vzorky z těchto oblastí mají větší vlv na výsledek vzorkování podle důležtost ( mportance samplng ) umsťuje vzorky přednostně do takových oblastí vzorkování je formálně řízeno funkcí p(x)... hustotou pravděpodobnost na daném ntervalu menší rozptyl př zachování nestrannost Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 3 / 44
Vzorkování podle důležtost f(x) p(x) 5 3 4 6 Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 4 / 44
Vzorkování podle důležtost Úprava odhadovaného ntegrálu: I f x dx f x p x p x dx Má-l náhodná proměnná rozdělení s hustotou p(x), odhadujeme ntegrál I výrazem: I mp f p (tento odhad je nestranný) Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 5 / 44
Rozptyl vzorkování podle důležtost mp f x p x p x dx I f x p x dx I Pokud se průběh hustoty p(x) podobá ntegrované funkc f(x), odhadujeme ntegrál funkce, která má menší rozptyl než f(x). Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 6 / 44
Vlastnost hustoty p(x) p(x) a p(x) tam, kde f(x) p(x) dx = lze efektvně generovat vzorky s danou hustotou pravděpodobnost lze spočítat příslušnou dstrbuční funkc P(x) a znvertovat j (P - (x)) P x x p t dt Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 7 / 44
Praktcká mplementace Místo přímého výběru náhodné proměnné s hustotou pravděpodobnost p(x) bereme s rovnoměrným rozdělením pravděpodobnost a transformujeme j: Odhad má tedy tvar: P f P I mp p P I f x dx f P t dp dt dt t f P t p P t dt Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 8 / 44
Kombnované odhady f(x) p (x) p (x) Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 9 / 44
Kombnace několka odhadů Předpokládáme n náhodných proměnných,.. n s hustotam pravděpodobnost p (x),.. p n (x). Kombnovaný odhad ntegrálu bude mít tvar: I n f w p comb kde w (x) jsou nezáporné váhové funkce. Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca / 44
Nestrannost kombnovaného odhadu n E I w x f x comb p x Podmínka pro n p x dx w x f x dx f x dx x w x váhové funkce: n : Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca / 44
Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca / 44 Rozptyl kombnovaného odhadu comb n n n w x f x p x p x dx w x f x p x p x dx w x p x f x dx w x f x dx
Artmetcký průměr, maxmum f I n average n p w x n w x pro max p x p x j j jnde n f j j p I p max p? : max Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 3 / 44
Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 4 / 44 Vyrovnaná heurstka w x p x p x j j n I f p bal j j n n bal n j j n n f x p x dx p x p x f x dx comb bal n I
Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 5 / 44 Mocnnná heurstka w x p x p x j j n I p p f power j j n n Zobecnění: =.. vyrovnaná, =.. maxmální heurstka
Transformace ntegrandu Interpretace kombnačního odhadu jako transformace ntegrované funkce: n I f x dx w x f x dx Kombnace odhadů podle důležtost: I n w P p P t t f P t dt Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 6 / 44
Jeden člen kombnovaného odhadu f(x) p (x) p (x) Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 7 / 44
Artmetcký průměr f P. 5 p P t t Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 8 / 44
Maxmum p t p t? : f P p P t t Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 9 / 44
Vyrovnaná heurstka f P t p P t p P t Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 3 / 44
Mocnnná heurstka pro = p P t f P t p P t p P t Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 3 / 44
Řídící funkce Funkce g(x), která aproxmuje ntegrand a dokážeme j analytcky zntegrovat: I f x dx f x g x dx g x dx f x g x dx J f x g x J dx Nestranný odhad: I f g J con Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 3 / 44
Transformace řídící funkcí f(x) g(x) f(x)-g(x) Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 33 / 44
Řešení ntegrálních rovnc Fredholmova ntegrální rovnce druhého typu: f x g x K x, y f y dy neznámá známé funkce metody konečných prvků (výpočet celé funkce) metody Monte Carlo (lokální výpočet) Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 34 / 44
Rekurzvní Monte Carlo odhad Pravou stranu rovnce odhaduj stochastcky s řídícím hustotam pravděpodobnost p (x): g x f x r K x, f p r K x, K, g x g p f p r K x, K x, K, g x g g p p p.. Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 35 / 44
Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 36 / 44 Rekurzvní Monte Carlo odhad f x K p g x r j j j j j,, f g f T {,, 3,... } se nazývá Markovovský řetězec, jestlže pravděpodobnost p (x) závsí pouze na - Úspornější funkconální záps: Řešení (Neumannova řada): f g g g T T..
Ruská ruleta př odhadu nekonečné Neumannovy řady se může spočítat jen konečný částečný součet pevně daná délka posloupnost zavádí do odhadu systematckou chybu vhodnější je metoda náhodného ukončení výpočtu: tzv. ruská ruleta odhad zůstává nestranný teoretcky se dá tento postup aplkovat na výpočet jednotlvého ntegrálu Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 37 / 44
Ruská ruleta pro jeden ntegrál Transformace ntegrálu: P t P P I f x dx f dt P Nestranný odhad s jedním náhodným vzorkem: I Russ P f P pro jnak P Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 38 / 44
Ruská ruleta pro ntegrální rovnce f x Russ, r k j K j P p j j j, j g, x {,,... k } je konečná náhodná procházka, protože odhad f( k )=. Každý vzorek je vybírán s pravděpodobností P a s hustotou (pdf) p (x). Pokud náhodná proměnná + > P +, celý proces se zastaví; jnak se vygeneruje + (a přdá se další člen). Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 39 / 44
Volba pravděpodobností Ve fyzkálních aplkacích je často: K x, y dy Tehdy lze jádro K použít ke kostrukc tzv. subkrtckého rozdělení pravděpodobnost:,, P K y dy p x K P, x Odhad pak bude mít tvar: f x g subcrt k Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 4 / 44
Odhad příští událost Předchozí odhad mívá velký rozptyl (málo sčítanců je nenulových). Lepší výsledky dává metoda odhadující člen g(x) o jeden stupeň přesněj: f x g x h x, h x K x y f y dy,, K x y g y dy K x y h y dy Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 4 / 44
Odhad příští událost první ntegrál se odhaduje za pomoc pravděpodobnost s hustotou podobnou funkc g(x) náhodná proměnná s hustotou p (x) druhý ntegrál se odhaduje pomocí subkrtcké hustoty pravděpodobnost jádra K náhodná proměnná s hustotou K( -,x)/p h x nextev, g p K x h nextev Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 4 / 44
Odhad příští událost Odhad funkce h: h x nextev k, g p K Odhad ntegrální rovnce: g x f x nextev k, g p K Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 43 / 44
Konec Další nformace: E. Lafortune: Mathematcal Models and Monte Carlo Algorthms for Physcally Based Renderng, PhD thess, KU Leuven, 9-63 M. Kalos, P. Whtlock: Monte Carlo Methods, John Wley & Sons, 986, 89-6 A. Glassner: Prncples of Dgtal Image Synthess, Morgan Kaufmann, 995, 84-864 Monte Carlo 7 Josef Pelkán, http://cgg.ms.mff.cun.cz/~pepca 44 / 44