Upload
lyn
View
174
Download
0
Embed Size (px)
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
Citation preview
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