650 likes | 1.21k Views
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
E N D
Literatura • R.Wit, Metody Monte Carlo Wykłady, Wydawnictwo PolitechnikiCzę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
definicja • 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 , 1970 MC 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 losoweużyte w rozwiązaniu
Zastosowanie 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 losowych bezpośrednia symulacja
MC – całkowanieproblem deterministyczny -> problem stochastyczny Oszacowanie całki: losowy wybór n punktów xi z <a;b> o rozkładzie równomiernym Wartość średnia
Prawo 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.
Mocne prawo wielkich liczb przy wystarczająco dużej próbce losowej oszacowanie MC zbiega się do poprawnej wartości
Prawo 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 π • 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 – metoda 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 prelokacji) wystąpi klaster nieskończony (łączący każdy lub min. 1 brzeg siatki z brzegiem przeciwnym)
określenie progu prelokacji – symulacja 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ównomiernym if(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
fib(0) fib(2) fib(1) fib(4) fib(1) fib(3) fib(0) fib(2) fib(1) Liczby Fibonacciego fib(0)=1 fib(1)=1 fib(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)
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 Wzór Bineta - 1843 złoty podział odcinka
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.
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 … chaos Równanie logistyczne – jako generator liczb losowych
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,
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.
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
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 Generatory liczb losowych
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 = 5 m/100 < a < m - √m w 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)
(2,0) (4,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
START N = 0 Losuj x0 Wynik = x0 M = f(x0) Losuj x N++ N >= Nmax f(x) < M STOP M = f(x) Wynik = x Szukanie minimum funkcji algorytm MC N T 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 optymalizacyjne Strategie 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
Gra w życie automat komórkowy 1011 – liczba neuronów w organizmie liczba galaktyk we wszechświecie 6 * 1023 liczba Avogadra Otoczenie - 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 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: • 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
0,1 0,0 -1,0 1,0 0,-1 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) 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ł