Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Optymalizacja Monte-Carlo - algorytmy inspirowane przyrodniczo (algorytmy genetyczne, symulowane wyżarzanie, stadne strategie obliczeniowe) układ połączeń.

Podobne prezentacje


Prezentacja na temat: "Optymalizacja Monte-Carlo - algorytmy inspirowane przyrodniczo (algorytmy genetyczne, symulowane wyżarzanie, stadne strategie obliczeniowe) układ połączeń."— Zapis prezentacji:

1 Optymalizacja Monte-Carlo - algorytmy inspirowane przyrodniczo (algorytmy genetyczne, symulowane wyżarzanie, stadne strategie obliczeniowe) układ połączeń na płytce drukowanej Najbardziej efektywny rozkład jazdy Problem matematycznie definiuje tzw. funkcja kosztu [celu] f(x 1,x 2,...x n ), której minimum poszukujemy Do optymalizacji 1)Rozmiar płytki 2)Długość połączeń 3)Czas wytwarzania Przykład 1 Przykład 2

2 zasada najmniejszego działania: P(t=t 0 )=P 0 P(t=t 1 )=P 1 Fizycznie realizowana trajektoria to ta na której S = min. Zamiast argumentu liczbowego – funkcja. Wektor położeń jako argument – po dyskretyzacji toru. Regresja liniowa y=  +  x Matematyczny opis zjawiska, które jak się wydaje podlega zależności liniowej Przykład 3 Przykład 4: tor ruchu ciała jako zagadnienie optymalizacyjne

3 Optymalizacja: 1)funkcja kosztu [funkcja celu] : dana w postaci analitycznej (wzoru) lub nie przykłady na nie: funkcja kosztu szacowana w doświadczeniu (farmakologia) funkcja kosztu wyliczana przy pomocy symulacji (np. aerodynamicznych do optymalizacji kształtu) 2)ilość zmiennych (1, więcej, nieskończona) 3)zmienne: ciągłe/dyskretne (nieskończenie lub skończenie wiele możliwych argumentów) 4)statyczna (trasa najkrótsza) / dynamiczna [zależna od czasu najszybsza trasa dojazdu] 5) funkcja gładka lub nie (możemy korzystać z jej lokalnego nachylenia czy nie) zależnie od problemu możemy wybrać algorytm deterministyczny lub probabilistyczny dokładny lub przybliżony

4 Zadanie jest najłatwiejsze gdy funkcja kosztu jest kwadratowa i dana wzorem analitycznym problem liniowy

5 1D: Jeśli funkcja f(x) nie jest kwadratowa, ale jej pochodna f’(x) jest znana można poszukać jej zer i wyznaczyć, w którym f minimalna f(x)=sin(x)/x f’(x)=cos(x)/x-sin(x)/x 2 Jeśli funkcja gładka, lecz pochodna nieznana można ją wyliczyć numerycznie lub pracować na samej funkcji Np. Metoda parabol W 1D: można nawet przeszukać całą dziedzinę funkcji gładkiej i skoncentrować się na lokalnych minimach. rozwiązywanie RNL w 2 i więcej D : problem trudny rysunek z rozdziału o metodzie Brenta z Numerical Recipes

6 W wielu wymiarach: funkcja gładka zmiennej ciągłej 1) można minimalizować funkcję po każdej ze zmiennych po kolei 2) metoda największego spadku (wymaga znajomości pochodnych) metoda downhill simplex N+1 wierzchołków w N wymiarach 1) ABC – simpleks w i-tej iteracji (powiedzmy A-najgorszy, B-najlepszy 2) D – odbicie przez BC (linia najgorszy / średnia pozostałych). 3)Jeśli f(D) f(A) – ściągnięcie punkty F i G 5) Jeśli f(F)>f(A) i f(G)>f(A) simpleks się kurczy do najlepszego punktu– H,I pojedyncza iteracja:

7 Optymalizacja funkcji kosztu f bywa zadaniem trudnym gdy dziedzina f wielowymiarowa „powierzchnia” funkcji kosztu skomplikowana wiele minimów lokalnych, Wszystkie metody tradycyjne (wyżej wymieniane): znajdują lokalne (najbliższe) minimum funkcji gładkiej. globalnego nie znajdą chyba, że (przypadkiem lub nie) startowaliśmy z okolic rozwiązania optymalnego niezastąpione: do znalezienia dokładnego położenia minimum, gdy znane jego otoczenie

8 optymalizacja kombinatoryczna: nie tylko funkcja nieciągła (nie ma mowy o pochodnych): ale i zmienna dyskretna Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego:

9 W realnych zastosowaniach nie tylko funkcja nieciągła (nie ma mowy o pochodnych): ale i zmienna dyskretna Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego: 31 Województwo zakodowane w postaci grafu – poszukiwane najkrótsze drzewo spinające.

10 Rozwiązanie: W realnych zastosowaniach nie tylko funkcja nieciągła (nie ma mowy o pochodnych): ale i zmienna dyskretna Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego: 31 Województwo zakodowane w postaci grafu – poszukiwane najkrótsze drzewo spinające.

11 W realnych zastosowaniach nie tylko funkcja nieciągła (nie ma mowy o pochodnych): ale i zmienna dyskretna Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego: 31 Województwo zakodowane w postaci grafu – poszukiwane najkrótsze drzewo spinające. Problem równie łatwy jak regresja liniowa rozwiązanie dane przez algorytm zachłanny Kruskula : tworzymy las dodając po kolei najkrótsze krawędzie tak aby nie utworzyć pętli: dostaniemy najlepsze rozwiązanie a. zachłanny: kieruje się regułą maksymalnego zysku w najbliższym kroku (w szachach sukcesów nie odnosi) Rozwiązanie:

12 G T NS L B K M NT S W C Limanowa-Nowy Sącz 31

13 G T NS L B K M NT S W C Wadowice-Chrzanów 31

14 Myślenice-Kraków G T NS L B K M NT S W C

15 Bochnia-Limanowa C G T NS L B K M NT S W

16 Wadowice-Myślenice G T NS L B K M NT S W C

17 B Nowy Sącz-Gorlice G T NS L K M NT S W C

18 G T NS L B K M NT S W C Kraków-Bochnia 31 bezpośrednie połączenie CK już się nie przyda

19 M-NT B-T G T NS L B K M NT S W C

20 Rozwiązanie: Algorytm zachłanny – skuteczny więc - problem najkrótszego drzewa spinającego jest łatwy. Złożoność dla najlepszej implementacji O(|V|log|V|), V – liczba wierzchołków

21 0) Oznacz wszystkie wierzchołki kolorem białym. Przypisz wierzchołkowi startowemu A wagę 0. 1)Znajdź i zaczerń biały wierzchołek v o najmniejszej wadze 2)Dla każdego B białego wierzchołka przyległego do v: jeśli waga B > waga v + waga krawędzi (v,B) waga B:=waga v + waga krawędzi (v,B) 3)Jeśli są jeszcze białe wierzchołki idź do 1 (złożoność V 2 ) Problem najkrótszej drogi z wierzchołka A do wszystkich pozostałych w grafie (przeszukiwanie grafu wszerz z oznaczaniem wierzchołków) Inny ważny problem: najkrótsza trasa z A do B Każda krawędź ma wagę (długość). Wierzchołki nabierają koloru, wagi i etykiety w czasie działania algorytmu. waga wierzchołka B: długość najkrótszej spośród znalezionych do tej pory trasy z B do A

22 1) Gorlice malujemy na czarno, miastom sąsiednim nadajemy wagi – odległości od Gorlic i indeks G. 2) Szukamy białego miasta o najmniejszej wadze i malujemy je na czarno (Nowy Sącz), wagę czarnego miasta ustalamy (mniejszej nie będzie) 3) sąsiedzi Nowego Sącza otrzymują próbne wagi i etykiety przykład: najkrótsze trasy z Gorlic do pozostałych miast

23 4) Najmniejszą wagę ma teraz Tarnów, 5) Następnie Limanowa G T NS L B K M NT S W C G 45 G 93 NS 59 NS 89 T 91 L ? 101 L do Bochni z Gorlic bliżej przez Tarnów niż przez Limanową 6) Bochnia do Myślenic jednak bliżej przez Limanową 7) Po Nowy Targu – Myślenice, z nich bliżej do Wadowic

24 ostatecznie Np.: z Chrzanowa do Gorlic trafimy po etykietach Zamiast stosować algorytmu można zrobić model z nitek i koralików, potem naciągnąć koraliki oznaczające Chrzanów i Gorlice

25 Widzieliśmy, że dwa ważne problemy mają efektywne, deterministyczne, dokładne rozwiązanie Niektóre problemy są jednak obiektywnie trudne (nie istnieje algorytm o złożoności wielomianowej): wybór najkrótszej zamkniętej trasy przez wszystkie miasta (problem komiwojażera): -algorytm deterministyczny rozwiązujący problem dokładny z wielomianową złożonością nie istnieje, gdy problem o dużym rozmiarze należy rozwiązać – stosuje się podejścia heurystyczne lub Monte Carlo Algorytm zachłanny dla komiwojażera: ruszaj do najbliższego miasta, którego jeszcze nie odwiedziłeś. - rozsądny: wyeliminuje przynajmniej długie przejazdy bez zatrzymywania się Odwiedzić wszystkie miasta w cyklu zamkniętym w takiej kolejności aby pokonana trasa była najkrótsza. Klasyczny problem testowy dla algorytmów optymalizacyjnych

26 Rozwiązanie zachłanne: start ze Szczecina: Najlepsze PL: 46 miast Zachłanne rozwiązanie nie jest optymalne (choć nie najgorsze) Szukana jest permutacja - przejrzeć wszystkie N! - niewykonalne 46!= najlepszy algorytm dokładny: złożoność rzędu 2 N –lepiej niż n!, ale wciąż zbyt wiele 2 46 = Gdy problem zbyt trudny by go rozwiązać dokładnie przy pomocy algorytmu deterministycznego – można zadowolić się przybliżonym (heurystycznym) lub próbować je poprawić przy pomocy MC

27 Problem obiektywnie trudny = gdy najlepszy deterministyczny algorytm nie zakończy swojego działania w skończonym czasie  klasy złożoności obliczeniowej Problemy NP P NP-zupełne Problemy decyzyjne: z odpowiedzią tak/nie Schemat obowiązuje pod warunkiem że P  NP NP – można sprawdzić odpowiedź w czasie wielomianowym zadanie rozkładu na czynniki pierwsze liczby nieznany jest wielomianowy algorytm (na komputer klasyczny) ale jeśli ktoś nam poda odpowiedź  szybko sprawdzimy. P – problemy, w których istnieje algorytm o wielomianowej złożoności (nie ma dowodu, że P  NP.) NP – zupełne (najtrudniejsze) – można do nich sprowadzić dowolny problem z NP z nadkładem wielomianowym. Jeśli jeden z problemów NP.-zupełnych zostanie rozwiązany w czasie wielomianowym, to P=NP.

28 Faktoryzacja jest na pewno NP, wydaje się, że nie jest P i że nie jest NP-zupełna. [„Wydaje się, że nie P” na tyle bardzo, że protokół klucza publicznego RSA oparty na niewykonalności faktoryzacji w krótkim czasie] NP.-zupełne: problem spełnialności binarnego układu logicznego, problem komiwojażera, izomorfizmu grafów, kliki, kolorowania wierzchołków grafu i inne. Problemy NP P NP-zupełne F W praktyce problemy, które nie są P – stają się niemożliwe do dokładnego rozwiązania dla dużych rozmiarów zadania

29 najkrótsza trasa z A do B – problem łatwy (bo wielomianowy algorytm znany) najkrótsza trasa po wszystkich miastach – problem trudny (bo algorytm wielomianowy nieznany) Inna znana para pozornie podobnych problemów o skrajnie różnej złożoności obliczeniowej: problem istnienia cyklu Eulera i cyklu Hamiltona Cykl (zamknięta ścieżka) Eulera Zadanie: zaplanować trasę spaceru: przejść po każdym moście dokładnie raz i wrócić do punktu wyjścia (odwiedź wszystkie krawędzie grafu dokładnie raz)

30 Cykl Eulera w grafie istnieje wtedy i tylko wtedy gdy wszystkie jego wierzchołki są stopnia parzystego przy każdym przejściu przez wierzchołek używamy 2 krawędzi zaczynamy spacer od dowolnego wierzchołka usuwając z grafu przebyte krawędzie, wrócimy do wierzchołka startowego bez rozspójniania grafu stopień wierzchołka = liczba przyległych krawędzi

31 Cykl Hamiltona odwiedzić wszystkie wierzchołki bez powtarzania przemarszu przez żadną z krawędzi wracając do punktu wyjścia (nie trzeba korzystać z każdej krawędzi, co wcale nie ułatwia zadania, bo problem istnienia CH – np.-zupełny ) graf planarny (rzut środkowy dwunastościanu)

32 cykl Hamiltona dla dwunastościanu

33 Jeśli wiemy, że problem NP-zupełny, a rozmiar problemu duży – poszukajmy rozwiązania przybliżonego Metoda dokładna nie zadziała w skończonym czasie. Jeśli nie wiemy jak szukać- poszukajmy losowo. Lecz: Całkiem ślepe przeszukiwanie losowe nie różni się od przeglądania wszystkich rozwiązań: prawdopodobieństwo znalezienia najlepszego jest żadne, a i rozsądnego znikome. Problem komiwojażera dla 20 miast w pd-wsch Polsce Wszystkich permutacji jest 20!= Najlepsza trasa znaleziona po prób (długość [j.umowne] ) Widać, że kiepska: 1) skrzyżowane trasy 2) krócej będzie Tarnów-Nowy Sącz-Kraków Katowice

34 Najlepsza trasa znaleziona po losowaniach (długość [j.umowne] ) Algorytm zachłanny start z Częstochowy Wniosek: do przeszukiwania losowego potrzebny nam jest przewodnik.

35 Przewodnik do przeszukiwania losowego - inspiracje przyrodnicze Przyrodnicze (naturalne) algorytmy optymalizacji 1)Ewolucyjne mechanizmy adaptacyjne – algorytmy genetycze 2)Wygrzewanie próbek dla usunięcia defektów – algorytm symulowanego wygrzewania 3)Zachowanie insektów żyjących w społecznościach – optymalizacja metodą kolonii mrówek Metody MC: starają się poprawić przybliżone rozwiązanie. Mogą doprowadzić do optymalnego rozwiązania, ale ścisłej gwarancji nie mamy. W praktyce rozwiązanie bardzo dobre jest zazwyczaj wystarczająco dobre. Rola generatora liczb losowych: wykonanie kroku poszukiwania oraz wprowadzenie innowacji w przeszukiwaniu.

36 Algorytmy genetyczne Powstające przypadkowo (mutacje) cechy zwiększające szanse na sukces ewolucyjny są zachowywane w genach gatunku (reprodukcja) i wzmacniane przez naturalną selekcję. Ewolucja = wielki proces optymalizacyjny Funkcja przystosowania cecha nr X cecha nr Y

37 DNA Informacja genetyczna zapisana w sekwencji zasad w łańcuchu polinukleotydowym język czteroliterowy A, G, T, C (odpowiednio adenina, guanina, tymina i cytozyna). Słowa: trójliterowe (każde słowo – jeden z 20 aminokwasów) Zdania ze słów: program produkcji białek (każde złożone z aminokwasów) Każda pojedyncza helisa zawiera pełną informację (Zasady wiążą się ściśle parami A-T, G-C) replikacja (w nowej helisie DNA, jest pół starej, szansa na błędy – mutacje)

38 Typowy algorytm genetyczny: Definicja problemu: kodowanie zmiennych (genotyp) i rozkodowanie (fenotyp) + funkcja kosztu Każdy osobnik z populacji niesie pewien kod genetyczny = zbiór zmiennych funkcji kosztu Selekcja „naturalna” Osobniki najgorzej przystosowane (o największym koszcie) wymierają Populacja początkowa Osobniki przystosowane na tyle dobrze by żyć - łączą się w pary Wydają na świat potomstwo o genach odziedziczonych po rodzicach Pewna liczba osobników poddana jest przypadkowej mutacji Dopóki zbieżność nie została osiągnięta Wymiana genów - losowa. korzystne cechy rodziców będą wzmacniane a słabsze eliminowane przez selekcję naturalną. Mutacje mają wprowadzać cechy których nie mają rodzice.

39 Funkcja kosztu dowolna: Ciągła, dyskretna, analityczna, dana na siatce, dana przez doświadczenie. Algorytmy genetyczne można zastosować do każdego problemu optymalizacyjnego (choć nie zawsze jest to rozsądne). Kodowanie zmiennych: Jeśli np. f(x,y) - funkcja parametrów rzeczywistych: x i y mogą być liczbami zmiennoprzecinkowymi (zmiennoprzecinkowy kod genetyczny) - można też x i y poddać kwantyzacji i pracować na bajtach W problemie komiwojażera: zmienne kodowane jako permutacje liczb całkowitych (1,6,3,4,5,7,2) Naturalna selekcja: sortujemy osobniki wg funkcji kosztu: usuwamy najgorsze

40 Łączenie w pary wiele możliwości ) kolejno 2) losowo wg. rankingu kolejności np. 1 rodzic 40% potomstwa 2 30% 3 20% 4 10% ) losowo wg. kosztu np.. zgodnie z rozkładem: najlepszy spośród wyeliminowanych % % % % 7.51

41 i f p % % % % Stworzyć dyskretny generator losowy o zadanym rozkładzie dysponując generatorem o rozkładzie równomiernym ll z [0,1] Tworzymy tablicę P(0)=0 P(1)=0.11 P(2)=0.38 P(3)=0.65 P(4)=1 Losujemy liczbę l z przedziału (0,1) z rozkładem równomiernym. Uznajemy, że wylosowany został osobnik i+1 (słownie i plus pierwszy), jeśli

42 Wymiana genów: 1)Binarna – jeden lub więcej, w ciągu lub osobno 2) Zmiennoprzecinkowe R 1, R 2 : P=(1-  )R 1 +  R 2 :  –losowe (0,1) R1R1 R2R2 P gdzieś na odcinku Losując inne  dla każdej współrzędnej: R1R1 R2R2 P gdzieś na prostokącie

43 Mutacje: Np. odwrócenie bitu na losowo wybranej pozycji 1) Binarna 2) Zmiennoprzecinkowa Losowe przesunięcie 3) Permutacja: przestawienie losowo wybranej pary [ ]

44 Przykład: minimum funkcji (de Jonga) danej przepisem analitycznym (x,y)  [0,10]  [0,10] f(9.0385, 8.666)=

45 Wylosowana populacja początkowa N=12 fioletowe odrzucamy jako najgorzej przystosowane zielone będą przekazywać swoje geny dalej nr x y f(x,y) Pop. początkowa

46 Dobór w pary i potomstwo nr x y f(x,y) krzyżyki: rodzice Potomstwo (kropki) wylosowane w prostokącie, którego wierzchołki przeciwległe do rodzice x p =  x x t +(1-  x )x m gdzie  x,  y losowe [0,1] y p =  y y t +(1-  y )y m dobór parami

47 Dajmy się rozwijać populacji bez wprowadzania mutacji trzecie pokolenie pokolenie czwartepokolenie piąte globalne minimum nie zostało znalezione - szansa na zajęcie optymalnej „niszy” utracona w trzecim pokoleniu pokolenie Wybrany sposób wymiany genów: terytorium populacji kurczy się do jednego z minimów.

48 Mutacje Po wydaniu na świat potomstwa p=25% generacji ulega mutacjom. Mutacji unika najlepiej przystosowany organizm, bo go szkoda. Mutacja polega na przesunięciu punktu o wektor (dx,dy), przy czym dx i dy są losowe z przedziału [-2,2]. 30 pokolenie: Tak skonstruowany algorytm znajduje raczej okolice globalnego minimum – dokładne położenie wyszukamy metodą tradycyjną

49 Liczebność populacji a optymalne prawdopodobieństwo mutacji

50 Algorytm genetyczny do rozwiązywania problemu komiwojażera Problem komiwojażera dla 20 miast w pd-wsch Polsce. Odległości: metryka euklidesowa nie drogowa (tak jak w przykładach poniżej) Rozwiązanie: permutacja miast np. (Opole,Katowice,Kraków,...,Opole)

51 Jedno pokolenie: 1) populacja 96 osobników (tras): 48 najgorzej przystosowanych (najdłuższych) zastąpionych 48 potomstwem najlepiej przystosowanych (najkrótszych). 2) Wprowadzenie mutacji do 20% osobników Mutacji unika najlepiej przystosowany. W potomstwie mogą pojawić się duplikaty już istniejących osobników. Duplikaty nie wnoszą nic do bazy genów wszystkie zostają poddane przymusowej mutacji. Algorytm

52 Lista długości tras: Pod kreską wymierają Nad kreską łączone w pary Krzyżowanie genów przy reprodukcji (krzyżowanie cykliczne): każdy osobnik: permutacja Rodzic 1: [ ] Rodzic 2: [ ] Losujemy pierwszy gen do wymiany: wylosowaliśmy pierwszy Rodzic 1: [ ] Rodzic 2: [ ] Rodzic 1 ma dwie 4. Wymieniamy starą. Rodzic 1: [ ] Rodzic 2: [ ] Rodzic 1 ma dwie 1. Wymieniamy starą. Rodzic 1: [ ] Rodzic 2: [ ] Rodzic 1 ma dwie 2. Wymieniamy starą. Rodzic 1: [ ] Rodzic 2: [ ] Brak powtórzeń: wymiana zakończona geny potomstwa

53 Dwa najlepsze osobniki w 50 pokoleniu potomstwo Nieoptymalny: Rzeszów, Krosno Nieoptymalna: Częstochowa dziedziczy zalety dziedziczy wady Wymiana genów (przykład):

54 Mutacja: wymiana pary losowo wybranych elementów w permutacji [ ]

55 Rozwiązanie przy użyciu algorytmu genetycznego długość 64.1.

56 Algorytmy genetyczne-podsumowanie Zasada: kopiowanie w nadmiarze + selekcja rozwiązań Optymalizują funkcje zmiennej ciągłej lub dyskretnej Funkcje wygenerowane numerycznie, zmierzone lub zadane analitycznie Stosowalne do skrajnie skomplikowanych powierzchni Nie wymagają znajomości ani istnienia pochodnych funkcji kosztu Jednocześnie przeszukują szeroki zakres zmiennych Radzą sobie z dużą liczbą zmiennych Mogą wyprodukować całą listę lokalnych minimów, nie tylko globalne Nieźle się nadają do przetwarzania równoległego


Pobierz ppt "Optymalizacja Monte-Carlo - algorytmy inspirowane przyrodniczo (algorytmy genetyczne, symulowane wyżarzanie, stadne strategie obliczeniowe) układ połączeń."

Podobne prezentacje


Reklamy Google