Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałHenryka Czech Został zmieniony 9 lat temu
1
Przewodnik do przeszukiwania losowego - inspiracje przyrodnicze
Przewodnik do przeszukiwania losowego - inspiracje przyrodnicze Przyrodnicze (naturalne) algorytmy optymalizacji MC teoria doboru naturalnego – algorytmy genetycze wzrost i hodowla kryształów, metalurgia – algorytm symulowanego wygrzewania wygląd owada zoptymalizowany na drodze przypadkowego krzyżowania genów oraz mutacji z mechanizmem selekcji naturalnej
2
orbitale walencyjne 2px,2py,2pz
węgiel tworzy kierunkowe wiązania kowalencyjne atom węgla: nieobsadzone miejsca na orbitalach +6e Stabilne formy węgla: każda – lokalne minimum energii E wiązania (funkcja struktury układu)=E wiązania (1023 położeń atomów) diament grafit E grafit diament
3
Wzrost kryształów jako proces optymalizacji
E wiązania (funkcja struktury układu)=E wiązania (1023 położeń atomów) metoda Czochralskiego hodowli kryształów zarodek krystaliczny niska T roztopiony materiał ciut powyżej temperatury topnienia wysoka T
4
Wzrost kryształów jako proces optymalizacji
E wiązania ( funkcja struktury układu)=E wiązania ( 1023 położeń atomów) metoda Czochralskiego wzrostu kryształów zarodek roztopiony materiał nieco powyżej temperatury topnienia zarodek wolno wyciągany roztopiony materiał stygnie i powoli krystalizuje jeśli odpowiednio wolno schładzany materiał krystalizuje w idealnej strukturze (o optymalnej energii wiązania) jeśli zarodek zbyt szybko wyciągnięty: kryształ będzie złej jakości – defekty [układ osiąga najbliższe minimum lokalne]
5
Struktura krystaliczna i defekty:
wakansja położenie atomu dyslokacja krawędziowa energia kryształu położenie międzywęzłowe przywrócenie idealnej struktury: wymaga pokonania bariery energetycznej Defekty powodują naprężenia wewnętrzne. Kryształ z defektami jest twardy. dla usunięcia defektów (usunięcia naprężeń i zmiany twardości metalu) kryształ nagrzewa się do wysokiej temperatury, potem powoli schładza. Bariera energetyczna pokonana dzięki energii dostarczonej w formie ciepła. [proces odwrotny do hartowania stali]
6
Metoda z symulacji mechaniki statystycznej - układu o bardzo wielu stopniach swobody w równowadze termicznej z otoczeniem – algorytm Metropolisa. Kirkpatrick –algorytm Metropolisa do optymalizacji złożonych problemów Symulowane wygrzewanie (simulated annealing) Kirkpatrick, Science praca wykonana w IBM przy optymalizacji fizycznego projektowania układów scalonych) Pomysł: optymalizacja funkcji wielu zmiennych naśladująca proces usuwania defektów z kryształu. usuwanie defektów: optymalizacja energii wiązania w funkcji położeń wielkiej liczby atomów. Idealne optimum osiągane, gdy układ powoli schładzany (tak aby zachowana chwilowo równowaga termiczna).
7
Zachowanie układów o dużej liczbie stopni swobody
w równowadze termicznej ze zbiornikiem ciepła kilka informacji o równowadze termodynamicznej i temperaturze – przyda się dla również dla symulacji transportu ciepła (źródło: F. Reiff Mechanika Statystyczna) kontakt termiczny
8
Eu Eo Zachowanie układów o dużej liczbie stopni swobody
w równowadze termicznej ze zbiornikiem ciepła otoczenie układ Eu Eo kontakt termiczny
9
Eu Eo otoczenie układ całość izolowana = układ zamknięty
kontakt termiczny
10
Ec=Eu+Eo (energia zachowana)
otoczenie układ Eu Eo całość izolowana = układ zamknięty kontakt termiczny Ec=Eu+Eo (energia zachowana)
11
Ec=Eu+Eo (energia zachowana)
otoczenie układ Eu Eo całość izolowana = układ zamknięty kontakt termiczny Ec=Eu+Eo (energia zachowana) Ec – niezależna od czasu
12
Eu Eo Ec=Eu+Eo (zachowana) za F. Reiff Mechanika Statystyczna
otoczenie układ Eu Eo całość izolowana = układ zamknięty kontakt termiczny Ec=Eu+Eo (zachowana) Ec – niezależna od czasu ale Ec=Eu(t)+Eo(t) – układy wymieniają energię wymiana energii = w stanie równowagi [równe temperatury zbiorników] fluktuacje (uśredniające się do zera) = poza równowagą [różne temperatury] ukierunkowany transfer ciepła dla wyrównania temperatur (doprowadzenia do równowagi)
13
Eu Eo Ec=Eu+Eo (zachowana) dążenie do równowagi za F. Reiff
Mechanika Statystyczna gorący otoczenie zimny układ Eu Eo całość izolowana = układ zamknięty kontakt termiczny Ec=Eu+Eo (zachowana) przekaz energii między układem „gorącym” i „zimnym” aż do osiągnięcia równowagi stany mikroskopowe gorącego i zimnego zbiornika gorący zimny (np. blok lodu) (np. garnek z wrzątkiem)
14
dla której energia zgromadzona w układzie wynosi E
(E) liczba stanów mikroskopowych układu (stan mikro – położenia i prędkości cząsteczek), dla której energia zgromadzona w układzie wynosi E stan mikroskopowy o minimalnej energii – jeden stanów mikro o większej energii – znacznie więcej
15
P(Eu)=CW(Eu)W’(Ec-Eu)
(E) liczba stanów mikroskopowych układu (stan mikro – położenia i prędkości cząsteczek), dla której energia zgromadzona w układzie wynosi E stan mikroskopowy o minimalnej energii – jeden stanów mikro o większej energii – znacznie więcej założenie: każdy stan mikroskopowy jest równie prawdopodobny wtedy: pstwo, że realizowany dany stan makroskopowy = proporcjonalne do liczby stanów mikro odpowiadających danemu stanowi makro P(Eu)=CW(Eu)W’(Ec-Eu) pstwo, że układ zawiera energię Eu (że podział energii Eu,Eo=Ec-Eu) (inaczej: że układ w takim stanie makroskopowym, że u ma energię Eu) mniejszy podukład większy W(E) – funkcja silnie rosnąca z E (oraz z rozmiarem układu) równowaga (jedna z definicji): stan najbardziej prawdopodobny
16
E u P(Eu)=CW(Eu)W’(Ec-Eu) W E W(E) – funkcja silnie rosnąca z E
(oraz z rozmiarem układu) W E E u transfer energii (w formie ciepła) między u a o aż do osiągnięcia równowagi stan równowagi: maksymalne prawdopodobieństwo. Możliwe fluktuacje wokół wartości najbardziej prawdopodobnej.
17
E u P(Eu)=CW(Eu)W’(Ec-Eu) Eo=Ec- Eu W E
jeśli P max to również log P max: poniżej na tej folii log = ln Eo=Ec- Eu W(E) – funkcja silnie rosnąca z E (oraz z rozmiarem układu) W w równowadze (stan najbardziej prawdopodobny): E E u transfer energii (w formie ciepła) między u a o aż do osiągnięcia równowagi stan równowagi: maksymalne prawdopodobieństwo. Możliwe fluktuacje wokół wartości najbardziej prawdopodobnej.
18
E u P(Eu)=CW(Eu)W’(Ec-Eu) Eo=Ec- Eu W E
jeśli P max to również log P max: poniżej na tej folii log = ln Eo=Ec- Eu W(E) – funkcja silnie rosnąca z E (oraz z rozmiarem układu) W w równowadze (stan najbardziej prawdopodobny): E E u transfer energii (w formie ciepła) między u a o aż do osiągnięcia równowagi stan równowagi: maksymalne prawdopodobieństwo. Możliwe fluktuacje wokół wartości najbardziej prawdopodobnej. w równowadze: (def. temperatury) transfer ciepła – napędzany gradientem T i dążący do jej wyrównania
19
w równowadze: układ bardzo mały w porównaniu z otoczeniem, z którym znajduje się w równowadze termicznej pytanie: jakie jest prawdopodobieństwo, że układ ma energię Eu : P(Eu) ?
20
Eu<<Ec, W<<W’
w równowadze: układ bardzo mały w porównaniu z otoczeniem, z którym znajduje się w równowadze termicznej pytanie: jakie jest prawdopodobieństwo, że układ ma energię Eu : P(Eu) ? Eu<<Ec, W<<W’ Taylor: czynnik Boltzmanna
21
znalezienie układu w stanie o dużej energii jest prawdopodobne
granica wysokiego T: układ może znaleźć się z równym prawdopodobieństwem przechowywać dowolnie wysoką energię znalezienie układu w stanie o dużej energii jest prawdopodobne 2 4 6 8 1 E . N e x p ( - / ) * niska T- układ będzie przechowywał minimalną wartość energii jeśli T bliskie zeru: znajdziemy go tylko w stanie o najmniejszej energii
22
Algorytm Metropolisa – symulacja układu, który fluktuuje termicznie w
równowadze z otoczeniem (zbiornikiem ciepła) kolejne kroki czasowe – zmiany stanu mikroskopowego układu układ ma podlegać rozkładowi Boltzmana. 1 . . 8 e x p ( - E / 1 ) . 6 N . 4 e x p ( - E ) . 2 e x p ( - E * 1 ) . 2 4 6 8 1 E
23
Algorytm Metropolisa za S.Kooninem Układ opisany zbiorem zmiennych X=(x1,x2,x3,...,xN) – punkt w wielowymiarowej przestrzeni chcemy zasymulować fluktuacje termiczne zmiennych, X1 X2 X3 X4 X5 tak, żeby układ był w „równowadze” termicznej z otoczeniem o temperaturze T. prawdopodobieństwo tego, że na „ścieżce” fluktuacji pojawi się stan X ma być dane przez zadany z góry rozkład w(X), u nas: Boltzmana w(X)= Cexp(-E(X)/kT)
24
Algorytm Metropolisa X Xp układ jest w stanie X. Do jakiego stanu przejdzie? wybieramy losowo stan próbny Xp z pewnego otoczenia stanu X Xp:=X+(dx1,dx2,...,dxn) – dxi losowane z przedziału [-d,d] z rozkładem równomiernym możliwości: 1) Xp mniej prawdopodobne liczymy r=w(Xp)/w(X) jeśli r 1 [ w(Xp)w(X) ] – akceptujemy stan próbny X:=Xp jeśli r<1 [w(Xp)<w(X) ] akceptujemy punkt próbny z prawdopodobieństwem r losujemy liczbę losową q z przedziału [0,1] jeśli q < r – akceptujemy stan próbny X:=Xp jeśli q r – odrzucamy 2) Xp bardziej prawdopodobne w(X) w(X) [rozkład pstwa] Xp X Xp X punkt mniej prawdopodobny akceptujemy z pstwem w(Xp)/w(X) zawsze akceptujemy bardziej prawdopodobny punkt
25
punkty na ścieżce wygenerowanej algorytmem M
punkty na ścieżce wygenerowanej algorytmem M. istotnie podlegają rozkładowi pstwa w(X): wyobraźmy sobie, że mamy wielu wędrowców poruszających się zgodnie z algorytmem Metropolisa N(X) – aktualna liczba wędrowców w punkcie X zmiana liczby wędrowców w Y w wyniku migracji z i do punktu X D = N(X)P(XY) - N(Y)P(YX) X Y uwagę koncentrujemy na 2 stanach układu w warunkach równowagi (bez zmian w średnim rozkładzie wędrowców Nr(X) ) równowaga osiągana po odpowiednio dużej liczbie kroków algorytmu
26
równowaga w schemacie Metropolisa
N= wędrowców. rozkład w(x)=C exp(-50x2) niebieska linia łączy punkty dane kropki: liczba wędrowców w przedziale x-dx/2, x+dx/2 dx=0.01 start: rozkład równomierny
27
Algorytm Metropolisa pozostaje pokazać, że Nr(X) jest proporcjonalne do w(X) pstwo zaakceptowania próby pstwo podjęcia próby (wylosowania Y jako p.próbnego) losujemy punkty próbne z rozkładem równomiernym mamy 2 przypadki: w(X)>w(Y) : A(Y X) = 1 A(XY) =w(Y)/w(X) w(X)<w(Y) : A(X Y) = A(YX) =w(X)/w(Y) co chcieliśmy zobaczyć
28
Algorytm symulowanego wyżarzania dla optymalizacji E(P)
Kirkpatrick – symulowane wygrzewanie w[E(X)]=Cexp(-E(X)/kT) alg. Metropolisa z modyfikacją rozkładu pstwa (T) w miarę działania algorytmu Algorytm symulowanego wyżarzania dla optymalizacji E(P) Wystartuj w punkcie P, ustaw wysoką „temperaturę” T Przesuń P losowo P’=P+dP Nowy punkt akceptowany (P:=P’) zawsze gdy lepszy E(P’)<E(P) (lepszy=bardziej prawdopodobny wg.rozkładu B) gdy E(P’)>E(P) –prawdopodobieństwo zaakceptowania punktu gorszego P’ dane przez np. exp(-(E(P’)-E(P)) / kT) (rozkład Boltzmana) zmniejszyć T Losujemy liczbę losową q wg rozkładu równomiernego, jeśli q < exp (-(E(P’)-E(P)) / kT) P:=P’ Koniec jeśli T=0 Im niższe T, tym mniej chętnie akceptujemy przesunięcia w górę na skali energii
29
Przykład 1: f(x)=sin(x)+x2/1000 Sposób zmiany temperatury: T=0.001 i2 gdzie i spada od 100 do 1 w każdej T wykonywana pewna liczba losowań (przesunięcia z przedziału [-2,2]) Wysokie T – punkt P wędruje między minimami Niskie T – P uwięziony wokół jednego minimum W wysokiej T przeszukiwany szeroki zakres zmiennych. W niższej – algorytm bada dokładnie minimum, które może być globalne, jeśli schładzanie zostało odpowiednio wykonane. Techniczna uwaga: gdy zmieniamy T: najlepiej startować od najlepszego rozwiązania uzyskanego do tej pory.
30
Przykład 2. Zastosowanie S.A. Dla funkcji testowej de Jonga: Położenia P w kolejnych iteracjach: T>5 T<5 T<1
31
zawężanie zakresu przeszukiwań z temperaturą: generowane ścieżki
ścieżka (100 kroków) dla T=4 ścieżka (25 kroków) dla T=1 ścieżka (50 kroków) dla T=2
32
Przykład 3: Problem komiwojażera
Generowanie P’ z P: P = [ ] Losujemy pierwsze i ostatnie miasto Losowo zmieniamy kolejność P’ = [ ] Strategia schładzania a wynik końcowy Sposób zmiany T długość P zbyt szybkie schłodzenie [do najbliższego minimum lokalnego] Najlepsze rozwiązanie
33
Przykład 4: klaster jonowy
najprostsze przybliżenie: naładowane kule bilardowe (nie mogą się przenikać) dodatnio naładowane – współrzędne r1,r2, ... ujemnie naładowane – współrzędne d1,d2, ... r d
34
Przykład 4: klaster jonowy
potencjał oddziaływania: załóżmy że promienie jonowe są równe 1 oddziaływanie jonów o różnym znaku o tym samym znaku najprostsze przybliżenie: naładowane kule bilardowe (nie mogą się przenikać) dodatnio naładowane – współrzędne r1,r2, ... ujemnie naładowane – współrzędne d1,d2, ... r d
35
Weźmy 5 jonów dodatnich, pięc ujemnych, dwa wymiary
d fcja 20 zmiennych konfiguracje z symulacji, strzałki pokazują wyniki dla obniżanej temperatury
36
minimum globalne ominięte minima lokalne
37
Przykład 5: najkrótsza droga na płaszczyźnie (kontinuum, nie graf)
V(x,y) meta wzniesienia: utrudnienia na trasie można je pokonać ale to kosztuje y x środki przeszkód przeszkody start
38
całka liczona numerycznie
długość z definicji: całka z 1 wzdłuż trasy: funkcja kosztu: całka liczona numerycznie poruszamy się po odcinkach prostych: liczba zakrętów = parametr rachunku rozwiązanie próbne = przesunięcie każdego z zakrętów w zakresie [-.5,.5]* T (zależna od T) schładzanie paraboliczne
39
wyniki: jeden zakręt
40
2 zakręty 3 zakręty !
41
Generacja liczb losowych o
zadanym (ciągłym) rozkładzie prawdopodobieństwa algorytm Metropolisa położenia „wędrowca” jest zmienną losową podległą zadanemu rozkładowi w(x) generacja liczb losowych o zadanym rozkładzie przydatne dla symulacji MC, obliczania całek, rozwiązywanie równań różniczkowych, itd.
42
obliczenia całek MC hit or miss generator o rozkładzie równomiernym 1 f(x) losujemy y 1 losujemy x szacowanie błędu odchylenie standardowe (cecha w) błąd wyznaczenia średniej:
43
obliczenia całek MC hit or miss generator o rozkładzie równomiernym wartość dokładna [1-exp(-1)] wartości plus minus e e 1/sqrt(N) N (jedna sekwencja)
44
1 obliczenia całek MC 2) Metoda szacowania średniej generator o rozkładzie równomiernym hit or miss f(x) 1 losujemy x średnia hom e średnia 1/sqrt(N)
45
/ N obliczenia całek MC 3) użycie niejednorodnego rozkładu pstwa
taka aby g(x) mogło być gęstością prawdopodobieństwa g(x)0 wtedy: I = <h(x)>g(x) dla zmiennej losowej x opisanej rozkładem g(x) jeśli g(x) tak wybrana, aby h(x) słabo zmienna w przedziale (a,b) - mamy szanse na niski błąd uwaga: jeśli h(xi)=const – błąd będzie 0 / N
46
Przykład liczenia całek z użyciem a. Metropolisa
5 -5 C (gdzie C bliskie jedynce) h(x)=sqrt(5*pi) cos(x)/C N=1000 wędrowców : amplituda fluktuacji maleje z N niebieska kreska: dokładna wartość całki (1.1355) start – wędrowcy rozmieszczeni wg rozkładu równomiernego z przedziału [-5,5] czerwona kreska: <h>=<sqrt(5p) cos(x)> liczba kroków a.Metropolisa
47
Schemat Metropolisa a równania różniczkowe
wariacyjna metoda MC rozwiązywania równania Poissona y=+1 pokażemy (w swoim czasie), że dla u - rozwiązania r.Poissona minimalna jest całka: na brzegu u=0 y=-1 x=-1 x=+1 rozwiązanie próbne: r. dokładne: C,a – parametry wariacyjne należy wybrać tak aby S - optymalne
48
wariacyjna metoda MC rozwiązywania równania Poissona
funkcjonał: średnia z ułamka dla zbioru punktów (x,y) o rozkładzie Aby wyznaczyć stałą normalizacji E: rozkład pstwa wyznaczony przez rozwiązanie próbne – generowany przy pomocy algorytmu Metropolisa
49
wariacyjna metoda MC rozwiązywania równania Poissona
wyniki: policzone dla a=2.2, C=0.018 (w pobliżu minimum S) – analityczna wartość S= -5.2e-4 dla wybranej funkcji próbnej „chwilowa wartość S” N=100 (wartość dla rozwiązania dokładnego S=-6.27e-4) <S> średnia wartość S od iteracji 200 (gdy osiągnięta równowaga w rozkładzie wędrowców) iteracje M
50
N=100 zakres fluktuacji = funkcja 1/sqrt(N) N=1000 <S> iteracje M N=10 000
51
wariacyjna metoda MC rozwiązywania równania Poissona
wyniki w funkcji parametrów wariacyjnych N=1000 a=2.2, C=0.018 N=1000 a=2*2.2, C=2*0.018
52
wariacyjna metoda MC rozwiązywania równania Poissona
(dokładna S=-6.27e-4) S= -5.2e-4 do zrobienia optymalizacja a,C przy nieciągłych wartościach funkcji oszacowanie błędów - wyliczyć lepsza funkcja próbna = praca inżynierska „pik” niższy słabiej zlokalizowany r.dokładne przy tej funkcji próbnej lepiej być nie może trzeba ją poprawić
53
Algorytm Metropolisa jako generator liczb losowych
zaleta: pozwala wygenerować zmienną losową o dowolnym rozkładzie prawdopodobieństwa w dowolnej liczbie wymiarów wada: rozkład musi zostać wyhodowany algorytm, który posiada tę samą zaletę, a nie wymaga hodowli rozkładu: metoda von Neumanna
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.