Metody Monte Carlo

Post on 12-Jan-2016

174 views 0 download

description

Metody Monte Carlo. Literatura. R.Wit, Metody Monte Carlo Wykłady, Wydawnictwo Politechniki Częstochowskiej , Częstochowa 2004 N.P. Buslenko, D.I. Golenko,…, Metoda Monte Carlo, Pwn, Warszawa 1967 S.M. Jermakow, Met oda Monte Carlo i zagadnienia pokrewne, PWN, Warszawa 1976 - PowerPoint PPT Presentation

Transcript of Metody Monte Carlo

Metody Monte CarloMetody Monte Carlo

LiteraturaLiteratura

R.Wit, Metody Monte Carlo Wykłady, Wydawnictwo Politechniki Częstochowskiej, Częstochowa 2004

N.P. Buslenko, D.I. Golenko,…,Metoda Monte Carlo, Pwn, Warszawa 1967

S.M. Jermakow, Metoda Monte Carlo i zagadnienia pokrewne, PWN, Warszawa 1976

D.W. Heermann, Podstawy symulacji komputerowych w fizyce, WNT, Warszawa 1997

definicjadefinicja

Nicolas Metropolis, Stanisław Ulam The Monte Carlo Methods, 1949

Metoda Monte Carlo (MC) – dowolna technika rozwiązująca problem wykorzystując liczby losowe

Kluczowa rola – programowy generator liczb losowych Ruletka Kostka do gry Moneta Losowania kul z urny

Definicja J.H. Haltona , 1970Definicja J.H. Haltona , 1970

MCMC polega na przedstawieniu rozwiązania postawionego problemu w postaci parametru pewnej hipotetycznej populacji i używaniu losowej sekwencji liczb do tworzenia próbki tej populacji, na podstawie której można dokonać statystycznego oszacowania wartości badanego parametru

F – rozwiązanie problemu liczba, zbiór liczb, wartość logiczna – decyzja

Oszacowanie MC wyniku F:

{r1,r2,….,rn} - liczby losowe użyte w rozwiązaniu

),....,,(ˆ21 nrrrfF

Zastosowanie MCZastosowanie MC Problemy deterministyczne

(wprowadzenie losowości) Całkowanie Znajdowanie pól i objętości Obliczanie liczby π

bezpośrednia symulacja – badanie rzeczywistej populacji

Problemy probabilistyczne/stochastyczne Symulacje procesów zależnych od zmiennych

losowychbezpośrednia symulacja

MC – całkowanieMC – całkowanieproblem deterministyczny -> problem stochastycznyproblem deterministyczny -> problem stochastyczny

Oszacowanie całki: losowy wybór n punktów xi z <a;b> o rozkładzie równomiernym

b

a

dxxfI

bax

xf

)(

;

)(

ab

Ixf

)(

)(1

n

iixf

n

abI

Wartość średnia

Prawo wielkich liczbPrawo wielkich liczb prawo wielkich liczb:

xi - zmienne losowe μ(x) – funkcja gęstości prawdopodobieństwa

ε >0 .

niezależnie od wyboru szerokości przedziału wokół wartości oczekiwanej, prawdopodobieństwo dla dużych n będzie dowolnie bliskie 1.

1})(1

{lim

)()(

1

n

ii

nIxf

nIP

dxxxfI

1)( dxx

Mocne prawo wielkich liczbMocne prawo wielkich liczb

przy wystarczająco dużej próbce losowej oszacowanie MC zbiega się do poprawnej wartości

1})(1

lim{1

Ixf

nP

n

ii

n

Prawo wielkich liczbPrawo wielkich liczb

Częstość występowania zdarzenia w n próbach jest zbieżna do prawdopodobieństwa tego zdarzenia, gdy n dąży do nieskończoności

zwiększając liczbę doświadczeń opartych na zdarzeniach losowych, możemy oczekiwać rozkładu wyników coraz lepiej odpowiadającego rozkładowi prawdopodobieństw zdarzeń

przykład:przeprowadzając wielką liczbę rzutów symetryczną monetą, możemy oczekiwać że stosunek liczby "wyrzuconych" orłów do liczby wszystkich rzutów będzie bliski 0,5 (wartości prawdop.); tym większe są na to szanse im większa jest liczba rzutów

Wyznaczenie liczby Wyznaczenie liczby ππ Pole figury :

x2+y2≤1

k=0; P=4;for (i=1; i<=n; i++)

{ losuj punkt (x, y) z kwadratu opisanego

na kole: (-1, -1); (-1, 1); (1, 1); (1, -1); if (x2+y2 <=1) k++;

}pi=k/n*P;

Prelokacja – Prelokacja – metoda stochastycznametoda stochastyczna

Siatka 2D Węzeł zapełniony z prawdopodobieństwem p є [0; 1]

pusty z prawdopodobieństwem (1-p) Klaster – zbiór zapełnionych węzłów, z których każdy

jest połączony z przynajmniej jednym sąsiednim (4 sąsiadów) zapełnionym węzłem

Dla p>=pc (próg prelokacjipróg prelokacji) wystąpi klaster nieskończony (łączący każdy lub min. 1 brzeg siatki z brzegiem przeciwnym)

prelokacjaprelokacja1 1 1 1

1

1 1

1 1

1 1

1 1 1

1 1 1

1 1

1 1

1 1 1 1 1 1

określenie progu prelokacji – określenie progu prelokacji – symulacja MCsymulacja MC

Analityczne wyrażenie na pc – dla siatki 2D i nieskończeniewymiarowej

Metoda stochastyczna ?? Dla każdego p wielokrotne uruchomienie podprogramu

for(i=0;i<n;i++)for(j=0;j<n;j++)

R=random(); // losuj liczbę R є[0,1]o rozkładzie równomiernymif(R<p) L[i][j]=1;

else L[i][j]=0;sprawdź, czy istnieje klaster prelokacji;

Uśrednienie wyników

problemy symulacji MC

Zależność wyników od rozmiaru sieci Mniejsza sieć – mniejsza wartość pc

Skończone małe sieci – wartość progu relokacji – rozmyta, trudna do oszacowania

Wybór odpowiedniej liczby próbek Generator losowych liczb

Liczby Fibonacciego

fib(0)=1fib(1)=1fib(n)=fib(n-1) + fib(n-2) dla n>=2

procedure fib(x)if(x<2) then (wynik:=1) else (wynik:=fib(x-1)+fib(x-2)

fib(4)fib(1)

fib(2)

fib(3)

fib(0)

fib(1)

fib(2)

fib(0)

fib(1)

Liczby Fibonacciego

Pierwsza próba modelowania wzrostu populacji 1202 Leonardo z Pizy „Książka o liczydle”

Para królików dojrzała po urodzeniu Co kwartał – para potomstwa Króliki nie umierają i nie uciekają Proces rozmnażania zaczyna się od jednej pary

1 ,2

51

2

51

5

1

kF

kk

k2

15lim

1

k

k

k F

F

xx

x 1

1

złoty podział odcinkaWzór Bineta - 1843

Liczby Fibonacciego

Zastosowanie – generowanie liczb losowych Nierealistyczne założenia modelu Nierealistyczne przewidywania w czasie Użyteczny aparat matematyczny

Równanie logistyczne Model Verhulsta 1845 Model populacji – liczebność

gdzie: xn – unormowana liczebność populacji w kroku n (0;1>r – współczynnik przyjmujący wartości z przedziału <0;

4>,

opisuje liczebność kolonii pewnych osobników unormowaną w stosunku do maksymalnej liczby elementów, mogących rozwijać się w zadanym środowisku.

)1(1 nnn xxrx

Równanie logistyczne

r<=1 x*=0 – punkt stabilny rozwiązania; iteracje kończą się w x*=0

bifurkacje 1<r<=3 x*=1-1/r - punkt stabilny r>3 – dwa punkty stabilne 4 punkty stabilne 8 …

chaosRównanie logistyczne – jako generator liczb losowych

)1( xxry )1(1 nnn xxrx

równanie logistyczne

0

0,2

0,4

0,6

0,8

1

1,2

0 0,5 1 1,5

x

yr=2 r=3 r=4 y=x

http://www.kasprzyk.demon.co.uk/www/Logistic.html

Symulowane odprężanie

Przykładem stochastycznej metody Monte-Carlo - algorytm symulowanego odprężania

oparty na doświadczeniach, związanych z oziębianiem materiałów Powolne ochładzanie może doprowadzić do uzyskania

struktury kryształu, o minimalnej wartości energetycznej Zgodnie z zasadami mechaniki statystycznej, układ

zmierzając do stanu minimalnej energii, poprzez jej fluktuację, zależną od temperatury, może zwiększać swoją energię o Ep z prawdopodobieństwem p, określonym wzorem:

Symulowane odprężanie

gdzie:

T – temperatura układu,

k - stała Boltzmanna,

Tk

pΔE

ep

Symulowane odprężanie Przy wyższych temperaturach układ „przegląda” ogromną liczbę

stanów pokrywającą równomiernie dziedzinę rozwiązań. Wraz z oziębianiem układu, przejścia do stanu o wyższej energii

są coraz rzadsze i rozwiązania poszukuje się w coraz węższych obszarach rozwiązań

Akceptacja zmian, które przynoszą „gorsze rozwiązanie”, umożliwia algorytmowi wyjście z lokalnych minimów.

Dzięki tym własnościom schemat Metropolisa został wykorzystany w poszukiwaniu minimum globalnego wielowymiarowych funkcji kryterium przez Kirkpatrick’a. Ze względu na sposób przeszukiwania, obejmujący duży obszar rozwiązań, jest on szczególnie efektywny w rozwiązywaniu zadań kombinatorycznych. Na nim opiera się także działanie maszyn Boltzmanna.

Schemat Metropolisaprocedure SM;{i=początkowe rozwiązanie;T=T0 ; (wysoka wartość „temperatury początkowej”)

oblicz Ei; (wartość „energii”);

repeat {wygeneruj nowe rozwiązanie j (operator sąsiedztwa)

oblicz Ej;

if (Ej < Ei)

then

i=j;

else if (random[0,1) < exp (- (Ej - Ei)/T))

then i=j;T=T-T; }until warunek stopu;}

Problemy statystyczne symulacji MC

Generowanie ciągu liczb losowych o zadanym rozkładzie opisującym zmienną losową

statystyczna analiza modelu statystyczna analiza wyników

Podstawowe znaczenie - liczby losowe z rozkładu jednostajnego – można uzyskać liczby losowe o dowolnym rozkładzie

Generatory liczb losowych

Liczby statystycznie niezależne O rozkładzie jednostajnym W ciągu o określonej długości – brak

powtarzania Duża szybkość generowania Minimalne wymagania na PAO

Kongruencja – przystawalnośćliniowy generator liczb

pseudolosowych a ≡ b (mod m) => a-b=k*m; kєZ ni+1 =[ a · ni + b ] (mod m); n,a,b,m – liczby całkowite >=0

a - mnożnik – duża liczba pierwsza; a mod 8 = 5m/100 < a < m - √mw systemie dwójkowym nieoczywisty

szablon b – stała dodatkowa; b=0 – generator multiplikatywny

b/m ≈ ½ - √3/6 n0- wartość początkowa – liczba nieparzysta m=231-1

ni < m ni/m - <0;1>

Generator Fibonacciego

ni=(ni-1 + ni-2) mod m - addytywny okres < 2m-1 – zbyt mało Prosty

Przesunięta metoda Fibonacciego ni=(ni-r + ni-s + c) mod m;

r>=s – przesunięcia

c – bit przeniesienia c= 0 gdy ni-r + ni-s <= m

c=1 gdy ni-r + ni-s > m

Testy sprawdzające losowość wygenerowanych liczb

Marshall – „fałszywy charakter losowości wygenerowanej sekwencji nie wpływa na obliczenia MC

Zadanie optymalizacyjne

min(x,y)F(x,y)G(x,y)=y – h(x)=0

Szukane – min F(x,y) – funkcja celu; y=h(x) – ograniczenia

F(x,y)=(x-4)2 + y2

G(x,y)=(x-2)2 + y2 -1 = 0

Szukane: minimum odległości punktu (4, 0) od punktu (x,y) znajdującego się na okręgu o promieniu 1, o środku w punkcie (2, 0)

Rozwiązanie: (3,0)

(4,0)(2,0)

Algorytm MC Wylosuj liczbę losową yi z rozkładem równomiernym

na przedziale (-1; 1) yi=2(zi-0.5); 0<zi<1 Oblicz xi

(1) i xi(2) z G(x,y)=0 /równanie okręgu

Wybierz parę (xi,yi), dla której wartość funkcji celu F(x,y) jest mniejsza

Wygeneruj yi+1, oblicz xi+1(1) i xi+1

(2), wybierz lepsza parę

Jeśli F(xi,yi) < F(xi+1,yi+1) pozostaw do dalszych obliczeń parę (xi,yi), w przeciwnym wypadku parę (xi+1,yi+1)

Przejdź do kroku pierwszego

Szukanie minimum funkcji algorytm MC

N >= Nmax

START

N = 0Losuj x0

Wynik = x0

M = f(x0)

Losuj xN++

f(x) < M

M = f(x)Wynik = x

STOP

TN

T

N

Zagadnienia optymalizacyjne

Wielomodalna funkcja celu Deterministyczne procedury

często odnajdują minima lokalne Są dobrze opisane Wymagane założenia (ciągłość,..) Zawarte w bibliotekach numerycznych

Metody wielostartowe Różne punkty startowe Deterministyczna procedura

Zagadnienia optymalizacyjneStrategie poszukiwań Punkt startowy -> rozwiązanie; kolejny punkt startowy ->

rozwiązanie Jeśli rozwiązania podobne -> rozrzut punktów wokół znalezionego

minimum Jeśli różne -> kolejny punkt startowy,…zmiana procedury

optymalizacyjnej,… Na początku równomierne rozrzucenie n punktów startowych po

przestrzeni poszukiwań n procesów minimalizacyjnych Kosztowne

Na początku równomierne rozrzucenie n punktów startowych po przestrzeni poszukiwań Z każdego punktu – przypadkowy kierunek poszukiwań

(przeszukiwanie jednowymiarowe) Efektem – klastry ( zbiory punktów, które prowadzą do wspólnego

minimum) Środki ciężkości klastów – punkty startowe dla dokładnych

procedur minimalizacyjnych

podsumowanie

Zakres stosowania MC – bardzo szeroki Modelowanie procesów rzeczywistych Eksperymenty komputerowe Modele deterministyczne i probabilistyczne

Wymagają najlepszych generatorów liczb losowych

koniec

Gra w życie automat komórkowy

1011 – liczba neuronów w organizmieliczba galaktyk we wszechświecie

6 * 1023 liczba AvogadraOtoczenie - duże zespoły wzajemnie oddziałujących elementów zmierzających do stanu równowagi

Uproszczenia w symulacjach komputerowych charakter oddziaływań Ograniczenie oddziaływań do sąsiadów

Gra w życie J.H. Conway 2D; periodyczne warunki brzegowe Elementy populacji – osobnicy – w węzłach siatki Reguły przetrwania, śmierci, generowania nowych

osobników

Gra w życie - reguły

Dla każdego elementu populacjiDla każdego elementu populacji:

if ( 2<=liczba_sąsiadów<=3 ) element przeżywa 1 generację

if ( liczba_sąsiadów >=4 ) element umiera //przeludnienie

if ( liczba_sąsiadów <=1 ) element umiera //izolacja

Dla każdego pustego pola:Dla każdego pustego pola:

if ( liczba_sąsiadów = 3 ) tworzy się nowy element populacji w tym polu

Gra w życie reguły

Życie i śmierć zachodzą równocześnie Przesłanki

Nie istnieje konfiguracja pierwotna, dla której można udowodnić, że rośnie ona w sposób nieograniczony

Powinny istnieć konfiguracje pierwotne prowadzące do wzrostu bez granic znikające tworzące stabilną konfigurację wchodzące w nieskończone oscylacje

Gra w życie reguły - zastosowania

Model formowania opinii społecznej „warszawski” „wrocławski”

Symulacja rozchodzenia się choroby zakaźnej Model Isinga CA + GA Badanie gęstości upakowania kulek w polach

Model formowania opinii społecznej

Stany: tak, nie si,j = -1 lub 1 Wartość początkowa – np. 80% populacji – tak; 20% - nie Opinie rozrzucone losowo Przeprowadzenie rund dyskusyjnych – wymiana z innymi

członkami populacji (sąsiedzi –odległość emocjonalna), siła przekonywania

Fi,j – siła przekonywania Dynamika układu – opisana regułą większości S=f0,0s0,0(t) + f0,1s0,1(t) + f1,0s1,0(t) + f0,-1s0,-1(t) + f-1, 0s-1,0(t)

0,0

0,1

1,0-1,00,-1

S0,0 = +1, jeśli S>=0

S0,0 = -1, jeśli S<0

Model formowania opinii społecznej

Inny sposób wyboru sąsiadów , np. losowy, dla zadanego zasięgu, proporcjonalny do odległości

Szumy Znając dynamikę zmian pojedynczego osobnika –

obserwacja zmian rozkładu opinii Tworzenie grup wokół przywódców (osoby o mocnym

wpływie) Tworzenie wałów ochronnych (słabsi osobnicy za murem

osobników silniejszych) Rozwój „grup oporu”

Model wrocławski

Bazuje na obserwacji zachowań stadnych Jedna silnie skorelowana (to samo zdanie na

pewien temat) para potrafi narzucić swoje zdanie sąsiadom

Jeśli para ma różne zdania – otoczenie nie zmienia poglądów

Rozchodzenie się choroby zakaźnej

Obszar N x N; rozmieszczenie osobników w polach Periodyczne warunki brzegowe lub nie Szczepienie – wśród losowo wybranej grupy 1 losowo wybrany niezaszczepiony osobnik –

źródłem chorob V=liczba_osób_zaszczepionych/liczność_populacji Nz – liczba osób niezaszczepionych Zk- liczba osób zakażonych (spośród Nz) I – wskaźnik infekcji I=Zk/Nz < 1 I(V) – funkcja malejąca Istnieje Vc – wskaźnik infekcji gwałtownie maleje

Model Isinga

Badanie magnetycznych własności ciał N spinów w węzłach siatki 2D Spiny oddziałują z sąsiadami i zewnętrznym

polem magnetycznym Stany spinów: dół -1; góra 1 Cel – minimum energii układu Metoda Metropolisa

prelokacja Symulacja pożaru lasu

Szybkość i kierunek wiatru Wilgotność powietrza i poszycia Odległość między drzewami Istnienie i rozmiary przecinek Rozmieszczenie ognisk zapalnych

Pudełko z kulkami przewodnikami i izolatorami umieszczonymi w dwóch przeciwnych ściankach; po przyłożeniu napięcia – prąd popłynie jeśli utworzy się prelokujący klaster (przy powolnym wzroście liczby przewodników - gwałtowne przejście do stanu przewodnictwa)

Poszukiwanie ropy naftowej, wody – cechy porowatych skał

Algorytm prelokacji węzłowej Tablica zajętości

Wypełniona losowo z prawdopodobieństwem p „1” lub „0” Wektor pamięci ME Etykiety – kolejne liczby całkowite (numer klastra)

Przeglądanie tablicy zajętości wierszami, nadając etykiety elementom zajętym; elementowi, który ma sąsiadów (po lewej stronie i powyżej

(i-1,j); (i,j-1) przyporządkowana jest najniższa z etykiet sąsiadów (y)

Ustawienie wektora pamięci ME(x)=y; x,y – etykiety; x>y Uzgadnianie kilkustopniowe – zastąpienie etykiet z

wektora ME ( od największej wartości ) x->y

Etykietowanie elementów -sąsiedztwo

1 1 2

3 3 2

1 1 1

1 1 1 1

1 1 1

1 1 1 1

Element badany

sąsiedzi

prelokacja

1 1 1

1 1 1

1 1 1

1 1 1 1

1 1 1

1 1 1 1

1 1 2

3 3 2

4 3 5

6 4 4 3

4 3 3

7 7 3 8

ME(3)=2

ME(6)=4

ME(4)=3

1 1 2

3 3 2

4 3 5

4 4 4 3

4 3 3

7 7 3 8

1 1 2

3 3 2

3 3 5

3 3 3 3

3 3 3

7 7 3 8

1 1 2

2 2 2

2 2 5

2 2 2 2

2 2 2

7 7 2 8

6 -> 4 4 -> 3 3 -> 2

Kropla spadająca na wietrze Kropla przesuwa się między węzłami sieci pod

wpływem siły ciężkości i wiatru Cel – określenie średniej wartości dryftu (xk-x0) Parametry symulacji:

x0, y0 – punkt początkowy δ x = δy – odległości między współrzędnymi węzłów p1, p2, p3, p4 - prawdopodobieństwa ruchu w 4 kierunkach

p1+ p2+ p3+ p4 = 1 Liczba symulacji Kryterium stopu pojedynczej symulacji – yk= 0

Kropla spadająca na wietrze

Reguły poruszania się po sieci (xi,yi) :

1. Wylosuj r rzeczywiste є(0,1)

2. if (r <= p1) (xi,yj) -> (xi+1,yi) →

3. if (r >= p1 && r < p1+p2 ) (xi,yi) -> (xi,yi-1) ↑

4. if (r >= p1+p2 && r < p1+p2 +p3 ) (xi,yj) -> (xi-1,yi) ←

5. if (r >= p1+p2+p3 && r < 1 ) (xi,yj) -> (xi,yi+1) ↓

Kropla spadająca na wietrze

↓x0 xk

y0

yk =0

Ruchy Browna Brown 1827, Einstein 1905, Smoluchowski

1906 Ruchy małych cząstek zawiesiny w sieci

Wyznaczenie położenia cząstki zawiesiny w chwili t=0, Δt, 2Δt, 3Δt,….

oraz Δxi, Δyi Badanie średniej wartości kwadratu przesunięcia

wraz z upływem czasu (liczba kroków)

i

ixN

x 22 )(1

)(

Ruchy Browna śr_wartość_kwadratu_x(liczba kroków)-

zależność liniowa śr_wartość_kwadratu_y(liczba kroków)-

zależność liniowa

0

200

400

600

800

1000

1200

0 500 1000 1500 2000 2500

x

y

Ruchy Browna

Nachylenie prostej Dla gazów - 2D; D – współczynnik dyfuzji D=kT/(6πηr)

k - stała Boltzmanna T – temperatura η współczynnik lepkości r – promień cząstki

podsumowanie

Zakres stosowania MC – bardzo szeroki Modelowanie procesów rzeczywistych Eksperymenty komputerowe Modele deterministyczne i probabilistyczne

Wymagają najlepszych generatorów liczb losowych