Optymalizacja wg podejścia „kolonii mrówek”

Slides:



Advertisements
Podobne prezentacje
Modelowanie i symulacja
Advertisements

ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Rozprężanie swobodne gazu doskonałego
Metody optymalizacyjne w logistyce
Z. Gburski, Instytut Fizyki UŚl.
Metody badania stabilności Lapunowa
Wykład Fizyka statystyczna. Dyfuzja.
Wykład 5 Standardowy błąd a odchylenie standardowe
Zadanie z dekompozycji
Algorytm Dijkstry (przykład)
Wskaźniki analizy technicznej
Metoda węzłowa w SPICE.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Niepewności przypadkowe
FIZYKA dla studentów POLIGRAFII Statystyka ruchów cieplnych
FIZYKA dla studentów POLIGRAFII Układy i procesy termodynamiczne
Wykład 4 Przedziały ufności
ALGORYTMY STEROWANIA KILKOMA RUCHOMYMI WZBUDNIKAMI W NAGRZEWANIU INDUKCYJNYM OBRACAJĄCEGO SIĘ WALCA Piotr URBANEK, Andrzej FRĄCZYK, Jacek KUCHARSKI.
Podstawy fotoniki wykład 6.
Wykład 6 Metody Monte Carlo
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 4: Generowanie zdarzeń  Dr inż. Halina Tarasiuk p. 337, tnt.tele.pw.edu.pl.
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 6/7: Analiza statystyczna wyników symulacyjnych  Dr inż. Halina Tarasiuk
Algorytmy genetyczne.
Algorytmy genetyczne.
Elementy Rachunku Prawdopodobieństwa i Statystyki
Metody Lapunowa badania stabilności
Graf - jest to zbiór wierzchołków, który na rysunku przedstawiamy za pomocą kropek oraz krawędzi łączących wierzchołki. Czasami dopuszcza się krawędzie.
MECHANIKA NIEBA WYKŁAD r.
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Podstawy Biotermodynamiki
PULSACJE GWIAZDOWE Jadwiga Daszyńska-Daszkiewicz, semestr zimowy 2009/
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
EXCEL Wykład 4.
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
VII EKSPLORACJA DANYCH
Regresja wieloraka.
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Kinetyczna teoria gazów
Metody numeryczne szukanie pierwiastka metodą bisekcji
Metody matematyczne w inżynierii chemicznej Wykład 3. Całkowanie numeryczne.
EXCEL Wstęp do lab. 4. Szukaj wyniku Prosta procedura iteracyjnego znajdowania niewiadomej spełniającej warunek będący jej funkcją Metoda: –Wstążka Dane:
Metody matematyczne w inżynierii chemicznej
Rozkład Maxwella i Boltzmana
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
Mechanika i dynamika molekularna
Analiza numeryczna i symulacja systemów
Kryształy – rodzaje wiązań krystalicznych
Ruch jednowymiarowy Ruch - zmiana położenia jednych ciał względem innych, które nazywamy układem odniesienia. Uwaga: to samo ciało może poruszać się względem.
Wykład Rozwinięcie potencjału znanego rozkładu ładunków na szereg momentów multipolowych w układzie sferycznym Rozwinięcia tego można dokonać stosując.
inżynierskie metody numeryczne
Przewodnik do przeszukiwania losowego - inspiracje przyrodnicze
W technice: inżynieria obliczeniowa: modelowanie i symulacja zjawisk i urządzeń. badania i optymalizacji procesów produkcyjnych oraz produktów. Obliczenia.
Układ jest w stanie X. Do jakiego stanu przejdzie? wybieramy losowo stan próbny X p z pewnego otoczenia stanu X X p :=X+(  x 1,  x 2,...,  x n ) – 
Ruch – jedno w najczęściej obserwowanych zjawisk fizycznych
Pętle – instrukcje powtórzeń
Entropia gazu doskonałego
1 Zespołu statystyczny Zespołu statystyczny - oznacza zbiór bardzo dużej liczby kopii rozważanego układu fizycznego, odpowiadających temu samemu makrostanowi.
Średnia energia Średnia wartość dowolnej wielkości A wyraża się W przypadku rozkładu kanonicznego, szczególnie zwartą postać ma wzór na średnią wartość.
DALEJ Sanok Spis treści Pojęcie funkcji Sposoby przedstawiania funkcji Miejsce zerowe Monotoniczność funkcji Funkcja liniowa Wyznaczanie funkcji liniowej,
Monopol oferenta Założenia modelu:
Wybrane zagadnienia generatorów sinusoidalnych (generatorów częstotliwości)
Półprzewodniki r. Aleksandra Gliniany.
Parametry rozkładów Metodologia badań w naukach behawioralnych II.
STATYSTYKA – kurs podstawowy wykład 11
Wykład 4 (cz. 1) Pierwsze zastosowania modelowania molekularnego: lokalna i globalna minimalizacja energii potencjalnej.
Co do tej pory robiliśmy:
Jednorównaniowy model regresji liniowej
Hiperpowierzchnia energii potencjalnej cząsteczki
ALGORYTMY I STRUKTURY DANYCH
2. Ruch 2.1. Położenie i tor Ruch lub spoczynek to pojęcia względne.
Zapis prezentacji:

Optymalizacja wg podejścia „kolonii mrówek” Dorigo M, Gambardella LM BIOSYSTEMS 43 73 1997 Mrówki zostawiają na swojej trasie szlak zapachowy (feromonowy). Pozostałe mrówki starają się go śledzić. źródło rysunków: Eberhart,Shi,Kennedy: Swarm Intelligence Ręcznie położony szlak feromonowy: Ślad zapachowy: 1) wyznacza trasę między mrowiskiem a źródłem pożywienia 2) pozwala na jej optymalne wytyczenie 3) umożliwia adaptację do zmieniającego się środowiska Dodatnie sprzężenie zwrotne (najsilniejszy ślad na najkrótszej drodze).

Szlak feromonowy a reakcja na zmianę otoczenia wstawiona przeszkoda losowo na prawo/lewo ? ? Na krótszej drodze szlak feromonowy szybciej domknięty Dodatnie sprzężenie zwrotne Dorigo M, Gambardella LM BIOSYSTEMS 43 73 1997

Algorytm kolonii mrówek dla problemu komiwojażera Założenia: 1 W metodzie: grupa przemieszczających się wędrowców symulujących zachowanie mrówek 2 Preferowany szlak o największym nasileniu feromonu 3 Wzrost feromonu na najkrótszej trasie 4 Komunikacja między mrówkami przez szlak feromonowy 5 Strategia najbliższego sąsiada włączona w algorytm (mrówki kierują się nie tylko feromonem, ale również starają się dostać do miast raczej bliżej niż dalej położonych) Sztuczne mrówki potrafią więcej niż prawdziwe: (1) Pamiętają swoją trasę (2) Ustalają, która przeszła najkrótszą drogę

t(i,j) = f(i,j) / [d(i,j)]b Miasta połączone w graf pełny: krawędź między wierzchołkami i oraz j opisana (1) długością d(i,j) stała, definiuje problem (2) natężeniem feromonu f(i,j) zmienia się w trakcie nauki Z długości (stałej) i feromonu (zmiennego) budujemy funkcję preferowanego ruchu: t(i,j) = f(i,j) / [d(i,j)]b im większe t(i,j) tym większe będzie pstwo przejścia z i do j – parametr [znaczenie feromonu/długości krawędzi] =0 tylko feromon, duże b -tylko długość optymalne: b=2

Mrówki wykonują wiele obiegów przed każdym z nich są losowo rozmieszczane po miastach przykład:

? Parametr q0 z przedziału (0,1). Wybór mrówki: jest w mieście i do którego miasta iść? i Tu nie pójdzie bo już była Każda krawędź opisana przez t(i,j) ? mrówka kieruje się doświadczeniem zdobytym przez mrowisko, nawet gdy wybór miasta następuje przy użyciu generatora liczb losowych Parametr q0 z przedziału (0,1). q0 – jeśli wysokie mrówki bardziej skłonne korzystać z doświadczenia społeczności – jeśli niskie mrówki chętniej eksperymentują z nowymi trasami Losujemy q z przedziału (0,1): jeśli q<q0 [doświadczenie] mrówka idzie do nie odwiedzonego jeszcze miasta j, dla którego t(i,j) = max jeśli q>q0 [eksploracja] miasto j jest losowane z rozkładem, w którym prawdopodobieństwo jest proporcjonalne do t(i,j) optymalne q0=0.9

Odkładanie feromonu na krawędziach : globalne i lokalne Ma preferować najkrótszy szlak. Następuje na całej trasie gdy mrówki wykonają pełen obieg i porównają długości swoich tras. Najkrótsza w jednym obiegu: czerwona Feromon na każdej z krawędzi należącej do najkrótszej trasy zostaje zmieniony wg. f(i,j):=(1-a)f(i,j)+a/D dla wszystkich krawędzi (i,j) na najkrótszej trasie, D – długość najkrótszej trasy – parametr z (0,1) a = 0 - ostatni przebieg ignorowany =1 ignorowane doświadczenie z poprzednich przebiegów zazwyczaj optymalne około a=0.1

f(i,j):=(1-a)f(i,j)+a/D Odkładanie feromonu na krawędziach : globalne i lokalne 1) Globalne (zachęcające, wykonywane po każdym obiegu) f(i,j):=(1-a)f(i,j)+a/D D – długość najkrótszej trasy Lokalne (zniechęcające, wykonywane po każdym kroku) Ma zniechęcać mrówki w przed poruszaniem się po dokładnie tej samej trasie (w tym samym obiegu) tym samym stymulując pozostałe do poszukiwań. Następuje na krawędzi (i,j) po przejściu mrówki z i do j. Feromon na krawędzi (i,j): f(i,j):=(1-a)f(i,j)+a/p p – parametr zniechęcający (p=ML, M-liczba miast, L-długość trasy wg. heurystyki najbliższego sąsiada)

Algorytm kolonii mrówek dla problemu komiwojażera wprowadzamy problem – graf pełny o N wierzchołkach. z długościami krawędzi d(i,j). Na krawędzi (i,j) ustawiamy początkowy poziom feromonu f(i,j)=1/[d(i,j)]b rozmieszczamy m mrówek w losowo wybranych miastach każda z mrówek przechodzi z miasta i do miasta j, którego jeszcze nie odwiedziła z pstwem q0 miasto j jest wybierane tak aby t(i,j) max z pstwem 1-q0 miasto wybierane jest losowo z rozkładem danym funkcją preferencji. przy przejściu mrówka odkłada feromon lokalnie (zniechęcająco) na krawędzi (i,j) po pełnym obiegu powtarzamy N razy każda z mrówek kończy obieg mrówki porównują swoje trasy. feromon jest odkładany globalnie po najkrótszej trasie (zachęcająco na wszystkich krawędziach trasy) powtarzamy dopóki długość trasy ulega skróceniu

kolejne miasto zawsze losowane Wyniki Dobór parametru q0 (rozkład prawdopodobieństwa zmienia się z czasem) kolejne miasto zawsze losowane Losowe tylko rozmieszczanie mrówek przed każdym obiegiem Eksploracja przydaje się żeby przyspieszyć zbieżność. okres nauki

Społeczność uczy się najkrótszej trasy cd: 20 miast PL południowo-wschodnia trasa optymalna – na niebiesko czerwone – krawędzie najbardziej preferowane [ max t(i,j) ] 10 iteracja 25 iteracja 500 iteracja Tylko 3 najbardziej preferowane krawędzie należą do trasy optymalnej. Przypadkowe zagęszczenie w okolicach Lublina i Świdnika Wszystkie najbardziej preferowane należą do trasy optymalnej Tylko 2 najbardziej preferowane krawędzie nie należą do trasy optymalnej: Przemyśl-Rzeszów, Katowice-Częstochowa

Optymalna liczba mrówek Okres nauki

Bartłomiej Urbaniec: 20 krawędzi o największej funkcji preferencji w kolejnych iteracjach 20 najczęściej używanych krawędzi parametry b=2, q0=0.2, m=10

Trasy mrówek w ostatniej iteracji (Bartłomiej Urbaniec)

Bartłomiej Urbaniec: Zastosowanie algorytmu dla problemu najkrótszej drogi (do problemu rozwiązywanego przez prawdziwe mrowisko – który stanowił inspirację dla stworzenia algorytmu) wprowadzamy prostokątna siatkę punktów punkty nie są łączone w graf pełny łączymy krawędziami tylko najbliższych sąsiadów punkt czerwony przeszkoda długość czerwonych krawędzi ustawiany nieskończona pozostałe d(i,j)=1 3) mrówka wybiera spośród (zazwyczaj) 4 możliwości ruchu 4) pozwalamy jej wracać do punktów już odwiedzonych 5) nakładamy ograniczenie na maksymalną liczbę kroków

250 1 obieg 50 750

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

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

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 http://www.fkf.mpg.de

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] http://www.fkf.mpg.de

Struktura krystaliczna i defekty: wakansja położenie atomu dyslokacja krawędziowa energia kryształu położenie międzywęzłowe Defekty powodują naprężenia wewnętrzne. Kryształ z defektami jest twardy. przywrócenie idealnej struktury: wymaga pokonania bariery energetycznej 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]

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 220 671 1983 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).

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

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

Eu Eo otoczenie układ całość izolowana = układ zamknięty kontakt termiczny

Eu Eo Ec=Eu+Eo (zachowana) otoczenie układ całość izolowana = układ zamknięty kontakt termiczny Ec=Eu+Eo (zachowana)

Eu Eo Ec=Eu+Eo (zachowana) otoczenie układ całość izolowana = układ zamknięty kontakt termiczny Ec=Eu+Eo (zachowana) Ec – niezależna od czasu

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)

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)

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

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.

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): d 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

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: inne czynnik Boltzmanna

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

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

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)

układ jest w stanie X. Do jakiego stanu przejdzie? 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 zawsze akceptujemy bardziej prawdopodobny punkt punkt mniej prawdopodobny akceptujemy z pstwem w(Xp)/w(X)

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(XY) - N(Y)P(YX) 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

równowaga w schemacie Metropolisa N=10 000 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

pozostaje pokazać, że Nr(X) jest proporcjonalne do w(X) 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(XY) =w(Y)/w(X) w(X)<w(Y) : A(X Y) = 1 A(YX) =w(X)/w(Y) co chcieliśmy zobaczyć

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

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.

Przykład 2. Zastosowanie S.A. Dla funkcji testowej de Jonga: Położenia P w kolejnych iteracjach: T>5 T<5 T<1

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

Przykład 3: Problem komiwojażera Generowanie P’ z P: P = [ 1 3 6 4 5 9 7 2 ] Losujemy pierwsze i ostatnie miasto Losowo zmieniamy kolejność P’ = [ 1 3 9 4 6 5 7 2 ] 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

Przykład 4: klaster jonowy http://www.physchem.co.za/Bonding/Graphics/GRD60002.gif 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

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

Weźmy 5 jonów dodatnich, pięc ujemnych, dwa wymiary -2.895126 d fcja 20 zmiennych konfiguracje z symulacji, strzałki pokazują wyniki dla obniżanej temperatury -6.856922 -4.778046 -7.507789 -4.853392

-7.507789 minimum globalne ominięte minima lokalne -6.413611 -7.130378

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

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

wyniki: jeden zakręt

2 zakręty 3 zakręty !

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.

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:

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)

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)

/ N g(x)0 jeśli g(x) tak wybrana, 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

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