Optymalizacja Monte-Carlo - algorytmy inspirowane przyrodniczo (algorytmy genetyczne, symulowane wyżarzanie, stadne strategie obliczeniowe)

Podobne dokumenty
Problemy optymalizacji. Problem matematycznie definiuje tzw. funkcja kosztu [celu] f( 1, 2,... N), której minimum poszukujemy

2) wzrost i hodowla kryształów, metalurgia algorytm symulowanego wygrzewania

Algorytmy genetyczne

Wybrane podstawowe rodzaje algorytmów

Algorytm genetyczny (genetic algorithm)-

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Metody przeszukiwania

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy genetyczne

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Optymalizacja. Wybrane algorytmy

6. Klasyczny algorytm genetyczny. 1

Obliczenia ewolucyjne - plan wykładu

Algorytmy ewolucyjne 1

Techniki optymalizacji

Optymalizacja ciągła

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Aproksymacja funkcji a regresja symboliczna

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Generowanie i optymalizacja harmonogramu za pomoca

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytmy genetyczne w optymalizacji

Algorytmy ewolucyjne (3)

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Techniki optymalizacji

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Optymalizacja. Symulowane wyżarzanie

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy zrandomizowane

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Algorytmiczna teoria grafów

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Algorytmy metaheurystyczne podsumowanie

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Metody Optymalizacji: Przeszukiwanie z listą tabu

Spacery losowe generowanie realizacji procesu losowego

ALGORYTMY GENETYCZNE ćwiczenia

Suma dwóch grafów. Zespolenie dwóch grafów

inżynierskie metody numeryczne konsultacje: środy 8:30 10:00

ALHE. prof. Jarosław Arabas semestr 15Z

Algorytmy genetyczne

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Metody Programowania

e E Z = P = 1 Z e E Kanoniczna suma stanów Prawdopodobieństwo wystąpienia mikrostanu U E = =Z 1 Wartość średnia energii

a) 7 b) 19 c) 21 d) 34

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Dobór parametrów algorytmu ewolucyjnego

Stochastyczna dynamika z opóźnieniem czasowym w grach ewolucyjnych oraz modelach ekspresji i regulacji genów

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Heurystyki. Strategie poszukiwań

Program MC. Obliczyć radialną funkcję korelacji. Zrobić jej wykres. Odczytać z wykresu wartość radialnej funkcji korelacji w punkcie r=

Metody numeryczne II

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Prawdopodobieństwo i statystyka

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Techniki optymalizacji

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Matematyczne Podstawy Informatyki

Optymalizacja optymalizacji

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Modelowanie sieci złożonych

SZTUCZNA INTELIGENCJA

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

Matematyka dyskretna

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Metody numeryczne II

SZTUCZNA INTELIGENCJA

Równoważność algorytmów optymalizacji

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Materiały dla finalistów

Technologie Informacyjne

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Opracowanie prof. J. Domsta 1

Tomasz M. Gwizdałła 2012/13

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Znajdowanie wyjścia z labiryntu

Przeszukiwanie lokalne

Problemy z ograniczeniami

KADD Minimalizacja funkcji

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data / EC3 VIII LAB...

Transkrypt:

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

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

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

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

1D: Jeśli funkcja f(x) nie jest kwadratowa, ale jej pochodna f (x) istnieje i jest znana można poszukać jej zer i wyznaczyć, w którym f minimalna Jeśli funkcja gładka, lecz pochodna nieznana można ją wyliczyć numerycznie lub pracować na samej funkcji Np. Metoda parabol 0.8 f (x ) f(x)=sin(x)/x 1.2 0.4 0.0 0 2 4 0.2 x 6 8 10 0.0 f' (x ) f (x)=cos(x)/x-sin(x)/x2-0.4-0.2 rysunek z rozdziału o metodzie Brenta z Numerical Recipes -0.4-0.6 0 2 4 6 8 10 x rozwiązywanie RNL lub układów RNL (2D I wyżej) W 1D: można nawet przeszukać całą dziedzinę funkcji gładkiej i skoncentrować się na lokalnych minimach.

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 pojedyncza iteracja: 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) ekspansja do E. 4) 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

Optymalizacja funkcji kosztu f bywa zadaniem trudnym gdy dziedzina f wielowymiarowa powierzchnia funkcji kosztu skomplikowana wiele minimów lokalnych, Wszystkie metody tradycyjne : znajdują lokalne (najbliższe) minimum funkcji gładkiej globalnego nie znajdą chyba, że przypadkiem niezastąpione: do znalezienia dokładnego położenia minimum, gdy znane jego otoczenie

optymalizacja kombinatoryczna: zmienna dyskretna Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego:

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: Województwo zakodowane w postaci grafu poszukiwane najkrótsze drzewo spinające. C 41 31 36 K 31 M 42 42 W S 65 43 57 NT 43 42 B 32 L T 45 23 NS 36 G

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: Województwo zakodowane w postaci grafu poszukiwane najkrótsze drzewo spinające. C 41 31 36 K 31 M 42 42 W S 65 43 42 B 43 57 NT Rozwiązanie: 32 L T 45 23 NS 36 G

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: Województwo zakodowane w postaci grafu poszukiwane najkrótsze drzewo spinające. C 41 31 36 K 31 M 42 42 W S 65 43 57 NT Problem równie łatwy jak regresja liniowa Rozwiązanie: 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 43 42 B 32 L T 45 23 NS 36 G

Limanowa-Nowy Sącz C 41 T 43 42 B 31 31 36 M 42 45 42 32 W L 65 43 23 S 36 G 57 NS K NT

Wadowice-Chrzanów C 41 T 43 42 B 31 31 36 M 42 45 42 32 W L 65 43 23 S 36 G 57 NS K NT

Myślenice-Kraków C 41 T 43 42 B 31 31 36 M 42 45 42 32 W L 65 43 23 S 36 G 57 NS K NT

Bochnia-Limanowa C 41 T 43 B 42 31 31 36 M 42 45 42 32 W L 65 43 23 S 36 G 57 NS K NT

Wadowice-Myślenice C 41 T 43 42 B 31 31 36 M 42 45 42 32 W L 65 43 23 S 36 G 57 NS K NT

Nowy Sącz-Gorlice C 41 T 43 42 B 31 31 36 M 42 45 42 32 W L 65 43 23 S 36 G 57 NS K NT

bezpośrednie połączenie CK już się nie przyda Kraków-Bochnia C 41 T K 42 43 B 31 31 36 M 42 45 42 32 W L 65 43 23 S 36 G 57 NS NT

Myślenice-Nowy Targ C 41 T K 42 43 B 31 31 36 M 42 45 42 32 W L 65 43 23 S 36 G 57 NS NT

C 41 31 36 K 31 M 42 42 W S 65 43 42 B 43 57 32 L T 45 23 NS 36 G NT Algorytm zachłanny skuteczny więc - problem najkrótszego drzewa spinającego jest łatwy. Rozwiązanie: Złożoność dla najlepszej implementacji O( V log V ), V liczba wierzchołków

Inny ważny problem: najkrótsza trasa z A do B Problem najkrótszej drogi (przeszukiwanie grafu wszerz z oznaczaniem wierzchołków) Wierzchołki mają kolor, wagę i etykietę 0) Oznacz wszystkie wierzchołki kolorem białym. Przypisz wierzchołkowi startowemu wagę 0. 1) 2) Znajdź i zaczerń biały wierzchołek v o najmniejszej wadze Oznacz białych sąsiadów v jego wagą powiększoną o wagę wspólnej krawędzi (o ile nowa waga mniejsza od starej) oraz etykietą wierzchołka v Jeśli są jeszcze białe wierzchołki idź do 1 (złożoność V2) 3)

przykład: najkrótsze trasy z Gorlic do pozostałych miast 1) Gorlice malujemy na czarno, miastom sąsiednim nadajemy wagi odległości od Gorlic i indeks G. C 41 31 36 K M 42 42 W S 65 43 57 N T 43 42 B 32 L T 45 G 45 23 N S 36 G 36 G 3) Liczymy odległości do Gorlic sąsiadów Nowego Sącza C 41 T K 45 G 42 B 43 31 42 36 M 45 32 42 W L59 NS 65 43 23 S 36 G 57 NS 36 G NT 93 N S 2) Szukamy białego miasta o najmniejszej wadze i malujemy je na czarno (Nowy Sącz), wagę czarnego miasta ustalamy (mniejszej nie będzie) C 41 T K 45 G 42 B 43 31 42 36 M 45 32 42 W L 65 43 23 S 36 G 57 NS 36 G NT

4) Najmniejszą wagę ma teraz Tarnów, 5) Następnie Limanowa C C 41 89 T T45 G 42 B 43 31 do Bochni z Gorlic 91 L? 36 M 42 45 bliżej przez Tarnów niż 42 32 W L59 NS 101 L przez Limanową 65 43 23 S 36 G 57 NS 36 G NT 93 NS 41 89 T T K 45 G 42 B 43 42 36 M 45 32 42 L59 N S 65 43 23 36 G 57 NS 36 G NT 93 N S 31 W S 6) Bochnia C 7) Po Nowy Targu Myślenice, z nich bliżej do Wadowic 4 1 1 3 K1 B 31 W S K 36 M 42 89 T 42 B 43 C T 45 G 45 32 42 L59 NS 101 L 65 43 23 36 G 57 N S 36 G NT 93 NS 131B? do Myślenic jednak bliżej przez Limanową 4 1 1 3 K1 B 89 T T 45 G 42 B 43 31 42 31 36 M 45 32 42 W L59 N S 101 L 158 N T 65 23 43 137 M! 36 G 57 N S 36 G N T 93 N S

C 168 W ostatecznie 31 W 137 M Np.: z Chrzanowa do Gorlic trafimy po etykietach 4 1 1 3 K1 B 89 T T 45 G 4 3 42 B 31 42 36 M 45 32 42 L59 N S 101 L 65 43 23 36 G 57 N S 36 G NT 93 N S C 168 W 31 W 137 M Zamiast stosować algorytmu można zrobić model z nitek i koralików, potem naciągnąć koraliki oznaczające Chrzanów i Gorlice 4 1 1 3 K1 B 89 T T 45 G 42 B 43 31 42 36 M 45 32 42 L59 N S 101 L 65 43 23 36 G 57 NS 36 G NT 93 N S

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): Odwiedzić wszystkie miasta w cyklu zamkniętym w takiej kolejności aby pokonana trasa była najkrótsza. -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ę heurystyki. Algorytm zachłanny dla komiwojażera: Klasyczny problem testowy dla algorytmów optymalizacyjnych ruszaj do najbliższego miasta, którego jeszcze nie odwiedziłeś. - rozsądny: wyeliminuje przynajmniej długie przejazdy bez zatrzymywania się

Zachłanne rozwiązanie nie jest optymalne (choć nie najgorsze) Rozwiązanie zachłanne: start ze Szczecina: 1 7 2.2 9 PL: 46 miast Najlepsze 153. Szukana jest permutacja - przejrzeć wszystkie N! - niewykonalne =5502622159812088949850305428800254892961651752960000000000 46! najlepszy algorytm dokładny O(2N) lepiej niż N!, ale wciąż zbyt wiele 246=70368744177664 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

Problem obiektywnie trudny = gdy najlepszy deterministyczny algorytm nie zakończy swojego działania w skończonym czasie klasy złożoności obliczeniowej Problemy decyzyjne: z odpowiedzią tak/nie Problemy NP P NP-zupełne Schemat obowiązuje pod warunkiem że P NP NP można sprawdzić odpowiedź w czasie wielomianowym zadanie rozkładu na czynniki liczby 136117223861 nieznany jest wielomianowy algorytm (na komputer klasyczny) ale jeśli ktoś nam poda odpowiedź 104729 1299709 - 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.

Problemy NP P NP-zupełne F 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, że wykorzystywany w protokole klucza publicznego RSA] 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. W praktyce problemy, które nie są P stają się niemożliwe do dokładnego rozwiązania dla dużych rozmiarów zadania

najkrótsza trasa z A do B łatwy (bo wielomianowy algorytm znany) najkrótsza zamknięta trasa po wszystkich miastach trudny (bo algorytm wielomianowy nieznany i wydaje się, że nie istnieje) Inna znana para pozornie podobnych problemów o skrajnie różnej złożoności obliczeniowej: problem istnienia cyklu Eulera i cyklu Hamiltona w grafie 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 (przejść po wszystkich krawędziach grafu dokładnie raz i wrócić do punktu wyjścia)

stopień wierzchołka = liczba przyległych krawędzi 3 5 3 3

Cykl Eulera w grafie istnieje wtedy i tylko wtedy gdy wszystkie jego wierzchołki są stopnia parzystego stopień wierzchołka = liczba przyległych krawędzi 3 5 3 3 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

Cykl Hamiltona (przejść po wszystkich wierzchołkach grafu dokładnie raz i wrócić do punktu wyjścia) problem NP-zupełny graf planarny (rzut środkowy dwunastościanu)

cykl Hamiltona dla dwunastościanu

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 - 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!=2432902008176640000. Najlepsza trasa znaleziona po 1000 000 prób (długość 89.12 [j.umowne] ) Widać, że kiepska: 1) skrzyżowane trasy 2) krócej będzie Tarnów-Nowy Sącz-Kraków Katowice

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

Przewodnik do przeszukiwania losowego - inspiracje przyrodnicze Przyrodnicze (naturalne) algorytmy optymalizacji 1) Dobór naturalny algorytmy genetycze 2) Wygrzewanie próbek dla usunięcia defektów algorytm symulowanego wyżarzania 3) Zachowanie insektów żyjących w społecznościach optymalizacja metodą kolonii mrówek Deterministyczne: najlepsze rozwiązanie w ściśle określonym czasie Probabilistyczne: używają generatora liczb losowych tak zaplanowane, aby prawdopodobieństwo znalezienia ściśle najlepszego duże. Metody MC: starają się poprawić przybliżone rozwiązanie. Mogą doprowadzić do optymalnego rozwiązania, ale nie mamy ścisłej gwarancji, że osiągnięte rozwiązanie jest najlepsze. w praktyce akceptujemy: najlepsze rozwiązania jakie znamy. Liczby losowe: wykonanie kroku poszukiwania oraz wprowadzenie innowacji w przeszukiwaniu.

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

DNA Informacja genetyczna zapisana w sekwencji zasad w łańcuchu polinukleotydowym język czteroliterowy A, G, T, C (odpowiednio adenina, guanina, tymina i cytozyna). 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)

Typowy algorytm genetyczny: Definicja problemu: kodowanie zmiennych (genotyp), i rozkodowanie (fenotyp) + funkcja kosztu Populacja początkowa Każdy osobnik z populacji niesie pewien kod genetyczny = argument funkcji kosztu Selekcja naturalna Osobniki najgorzej przystosowane (o największym koszcie) wymierają 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 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. Krzyżowanie genów i mutacje z użyciem Dopóki zbieżność nie została osiągnięta liczb losowych.

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 będą optymalne). 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 01001011 10101010 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: 5.29 5.8 5.8 6.51 7.51 7.7 7.75 usuwamy najgorsze

Łączenie w pary Mnóstwo możliwości tu jest miejsce na optymalizację 1) kolejno 5.29 5.8 5.8 6.51 2) losowo wg. rankingu kolejności np. 5.29 5.8 5.8 6.51 1 2 3 4 rodzic 50% potomstwa 30% 20% 10% 3) losowo wg. kosztu np.. zgodnie z rozkładem: (nr) f(nr) p(nr) (1) 5.29 (2) 5.8 (3) 5.8 (4) 6.51 35% 27% 27% 11% (5) 7.51 (6) 8 (7) 9 (8) 10 0 0 0 0 pstwo wylosowania osobnika i na rodzica: proporcjonalne do jego odległości od najlepszego spośród wymarłych najlepszy spośród wyeliminowanych w naszym przykładzie d=5

Stworzyć dyskretny generator losowy o zadanym rozkładzie dysponując generatorem o rozkładzie równomiernym z przedziału [0,1] i f p 1 2 3 4 35% 27% 27% 11% 5.29 5.8 5.8 6.51 Tworzymy dystrybuantę: rozkład pstwa, że wylosowany będzie osobnik o numerze i lub niższym 1 P(0)=0 P(1)=0.35 P(2)=0.62 P(3)=0.89 P(4)=1 4 3.5 2 1 0 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

Wymiana genów: 1) Binarna 01001011 10101010 jeden lub więcej, w ciągu lub osobno 2) Zmiennoprzecinkowe R1, R2: P=(1- )R1+ R2 : losowe z [0,1] R2 R1 P gdzieś na odcinku Losując inne dla każdej współrzędnej: R2 R1 P gdzieś na prostokącie

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

Przykład: minimum funkcji (de Jonga) danej przepisem analitycznym (x,y) [0,10] [0,10] f(9.0385, 8.666)= -18.55 10 8 16 10 4-2 -8-1 4-2 0 y 6 4 2 0 0 2 4 x 6 8 10

Wylosowana populacja początkowa N=12 10 Pop. początkowa 8 16 10 4-2 -8-1 4-2 0 y 6 4 2 0 0 2 4 x 6 8 nr x y f(x,y) 1 2 3 4 5 6 6.01 5.91 5.82 0.89 8.99 7.26 8.91 5.11 8.09 5.60 6.52 9.66-13.64-9.955-9.745-6.407-5.492-0.141 7 8 9 10 11 12 0 2.97 2.62 8.76 9.67 5.14 0.85 4.26 7.43 9.95 1.89 3.98 0.92 1.80 3.74 5.24 6.97 9.42 10 fioletowe odrzucamy jako najgorzej przystosowane zielone będą przekazywać swoje geny dalej

Dobór w pary i potomstwo krzyżyki: rodzice dobór kolejnych par 10 8 16 10 4-2 -8-1 4-2 0 y 6 4 2 0 0 2 4 x 6 potomstwo (kropki) wylosowane w prostokącie, którego wierzchołki przeciwległe do rodzice 8 nr 1 2 3 4 5 6 x y 6.01 5.91 5.82 0.89 8.99 7.26 8.91 5.11 8.09 5.60 6.52 9.66 f(x,y) -13.64-9.955-9.745-6.407-5.492-0.141 10 xp = x xt+(1- x)xm gdzie x, y losowe z [0,1] yp = y yt+(1- y)ym

Dajmy się rozwijać populacji bez wprowadzania mutacji trzecie pokolenie 10 8 16 10 4-2 -8-1 4-2 0 4 2 0 10 8 16 10 4-2 -8-1 4-2 0 6 y y 6 0 2 4 x 6 8 10 4 2 0 pokolenie piąte 8 16 10 4-2 -8-1 4-2 0 6 y 10 pokolenie czwarte 0 2 4 x 6 8 10 4 2 0 0 2 4 x 6 8 10 Wybrany sposób wymiany genów: terytorium populacji kurczy się do jednego z minimów. globalne minimum nie zostało znalezione - populacja obsadza jedno z minimów lokalnych - szansa na zajęcie optymalnej niszy utracona w trzecim pokoleniu pokolenie

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: 10 8 1 1 4 - y 6 4 2 Tak skonstruowany algorytm znajduje raczej okolice globalnego minimum dokładne położenie wyszukamy metodą tradycyjną 0 0 2 4 x 6 8 10

Liczebność populacji a optymalne prawdopodobieństwo mutacji

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)

Algorytm dla komiwojażera 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.

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

Dziedziczenie genów przykład: Dwa najlepsze osobniki w 50 pokoleniu 75.76706 73.35700 dziedziczy zalety Nieoptymalny: okolice Rzeszowa potomstwo dziedziczy wady Nieoptymalna: Częstochowa 76.22113 78.63119

Mutacja: wymiana pary losowo wybranych elementów w permutacji [3 4 6 2 1 5]

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

Algorytmy genetyczne-podsumowanie Optymalizują funkcje zmiennej ciągłej lub dyskretnej Funkcje wygenerowane numerycznie, eksperymentalnie lub dane 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żą ilością zmiennych Mogą wyprodukować całą listę lokalnych minimów, nie tylko globalne Nieźle się nadają do przetwarzania równoległego (gdy optymalizowana funkcja kosztowna numerycznie)

Przewodnik do przeszukiwania losowego - inspiracje przyrodnicze Przyrodnicze (naturalne) algorytmy optymalizacji MC 1) teoria doboru naturalnego algorytmy genetycze wygląd owada zoptymalizowany na drodze przypadkowego krzyżowania genów oraz mutacji z mechanizmem selekcji naturalnej 2) wzrost i hodowla kryształów, metalurgia algorytm symulowanego wygrzewania

atom węgla: orbitale walencyjne 2p x,2p y,2p z -węgiel -tworzy kierunkowe wiązania kowalencyjne Stabilne formy węgla: każda lokalne minimum energii diament E wiązania ( funkcja struktury układu)=e wiązania ( 10 23 położeń atomów) grafit E grafit diament

Wzrost kryształów jako proces optymalizacji E wiązania ( funkcja struktury układu)=e wiązania ( 10 23 położeń atomów) metoda Czochralskiego hodowli kryształów zarodek krystaliczny niska T roztopiony materiał wysoka T http://www.fkf.mpg.de

Wzrost kryształów jako proces optymalizacji E wiązania ( funkcja struktury układu)=e wiązania ( 10 23 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) http://www.fkf.mpg.de jeśli zarodek zbyt szybko wyciągnięty: kryształ będzie złej jakości defekty [układ osiąga najbliższe minimum lokalne]

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

Symulowane wygrzewanie (simulated annealing) Kirkpatrick, Science 220 671 1983 praca wykonana w IBM przy optymalizacji fizycznego projektowania układów scalonych) Krystalizacja 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). Pomysł: optymalizacja funkcji wielu zmiennych naśladująca proces krystalizacji. Teoria z mechaniki statystycznej: zachowanie układów o bardzo wielu stopniach swobody w równowadze termicznej z otoczeniem algorytm Metropolisa. Kirkpatrick algorytm Metropolisa do symulacji własności układów w równowadze termicznej z otoczeniem

Symulowane wygrzewanie optymalizowana funkcja traktowana jak energia pewnego układu. Dostarczyć energii, potem powoli [równowaga] ją odebrać liczymy, że układ szczęśliwie znajdzie drogę do minimum globalnego Układ ugrzązł w lokalnym minimum Symululacja zachowania układu o dużej liczbie s.swobody w równowadze termicznej

Zachowanie układów o dużej liczbie stopni swobody w równowadze termicznej ze zbiornikiem ciepła otoczenie układ E u kontakt termiczny E o

otoczenie układ E u kontakt termiczny E o całość izolowana = układ zamknięty

otoczenie układ E u kontakt termiczny E o całość izolowana = układ zamknięty E c =E u +E o (zachowana)

za F. Reiff Mechanika Statystyczna otoczenie układ E u kontakt termiczny E o całość izolowana = układ zamknięty E c =E u +E o (zachowana) E c niezależna od czasu ale E c =E u (t)+e o (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)

równowaga: jedna z definicji stan najbardziej prawdopodobny liczba stanów mikroskopowych podukładu (stan mikro położenia i prędkości cząsteczek) założenie: każdy stan mikroskopowy jest równoprawdopodobny wtedy: pstwo, że realizowany dany stan makroskopowy = proporcjonalne do liczby stanów mikro odpowiadających danemu stanowi makro P(E u )=C (E u ) (E c -E u ) mniejszy podukład większy pstwo, że układ zawiera energię E u (że podział energii E u,e o =E c -E u ) (inaczej: że układ w takim stanie makroskopowym, że u ma energię E u ) stan mikroskopowy o minimalnej energii jeden stanów mikro o większej energii znacznie więcej (E) funkcja silnie rosnąca z E (oraz liczbą cząstek)

rozkład Boltzmana: N identycznych nieooddziaływujących układów średnia liczba układów w stanie o energii E i (suma statystyczna) Algorytm Metropolisa symulacja układu, który fluktuuje termicznie w równowadze z otoczeniem (zbiornikiem ciepła) kolejne kroki czasowe zmiany stanu układu pstwo tego, że w kolejnym kroku pojawi się dany stan zależy od jego energii i T. Ma spełniać rozkład Boltzmana. 1. 0 0. 8 0. 6 e x p ( - E / 1 0 ) N 0. 4 0. 2 0. 0 e x p ( - E ) e x p ( - E / 1 0 ) 0 2 4 6 8 1 0 E

Algorytm Metropolisa za S.Kooninem Układ [Funkcja optymalizowana] opisana zbiorem zmiennych X=(x 1,x 2,x 3,...,x N ) punkt w wielowymiarowej przestrzeni chcemy zasymulować fluktuacje termiczne zmiennych, X 1 X 2 X 3 X 4 X 5 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ć w(x) zadane przez nas, np.. boltzmanowskie: Cexp(-E(X)/kT)=w(X), lub dowolne inne

Algorytm Metropolisa X X p układ jest w stanie X. Do jakiego stanu przejdzie? wybieramy losowo punkt próbny X p z pewnego otoczenia punktu X X p :=X+( x 1, x 2,..., x n ) x i losowane z przedziału [-d,d] z rozkładem równomiernym możliwości: 1) X p mniej prawdopodobne w(x) 2) X p bardziej prawdopodobne w(x) X X p X p X punkt mniej prawdopodobny akceptujemy z pstwem w(x p )/w(x) zawsze akceptujemy bardziej prawdopodobny punkt liczymy r=w(x p )/w(x) jeśli r 1 [ w(x p ) w(x) ] akceptujemy punkt próbny X:=X p jeśli r<1 [w(x p )<w(x) ] akceptujemy punkt próbny z prawdopodobieństwem r losujemy liczbę losową q z przedziału [0,1] jeśli q < r akceptujemy punkt próbny X:=X p jeśli q r odrzucamy

zobaczyć, że 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 X Y uwagę koncentrujemy na 2 punktach 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 = N(X)P(X Y) - N(Y)P(Y X) w warunkach równowagi (bez zmian w średnim rozkładzie wędrowców N r (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(-50x 2 ) 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

Algorytm Metropolisa pozostaje pokazać, że N r (X) jest proporcjonalne do w(x) pstwo podjęcia próby (wylosowania Y jako p.próbnego) pstwo zaakceptowania próby 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) co chcieliśmy zobaczyć w(x)<w(y) : A(X Y) = 1 A(Y X) =w(x)/w(y)

Kirkpatrick symulowane wyżarzanie w(e)=cexp(-e/kt) - Metropolis z modyfikacją rozkładu pstwa w miarę działania algorytmu - zamiast grupy wędrowców - jeden Algorytm symulowanego wyżarzania dla optymalizacji E(P) Wystartuj w punkcie P, ustaw wysoką temperaturę T Przesuń P losowo P =P+dP P ' ' Nowy punkt akceptowany (P:=P ) zawsze gdy lepszy E(P )<E(P) (lepszy=bardziej prawdopodobny wg.r.b) gdy E(P )>E(P) prawdopodobieństwo zaakceptowania punktu zmniejszyć T Koniec jeśli T=0 gorszego P dane przez np. exp(-(e(p )-E(P)) / kt) (rozkład Boltzmana) p 1. 0 0. 8 0. 6 0. 4 0. 2 0. 0 k T = 0. 1 k T = 1 0 e x p ( - E / k T ) k T = 1 Losujemy liczbę losową q wg rozkładu równomiernego, jeśli q < exp (-(E(P )-E(P)) / kt) P:=P Im niższe T, tym mniej chętnie akceptujemy przesunięcia w górę na skali energii E P P '

Przykład 1: f(x)=sin(x)+x 2 /1000 Sposób zmiany temperatury: T=0.001 i 2 gdzie i spada od 100 do 1 w każdej T wykonywana pewna liczba losowań (przesunięcia z przedziału [-2,2]) 2 T = 0. 9 T = 0. 1 1 0 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. - 1-4 0-2 0 0 2 0 4 0 Techniczna uwaga: gdy zmieniamy T: najlepiej startować od najlepszego rozwiązania uzyskanego do tej pory.

Przykład 2. 10 8 Zastosowanie S.A. Dla funkcji testowej de Jonga: 16 10 4-2 -8-1 4-2 0 y 6 4 2 0 0 2 4 x 6 8 10 Położenia P w kolejnych iteracjach: T>5 T<5 1 0.0 0 T<1 1 0.0 0 1 0.0 0 8.0 0 8.0 0 6.0 0 6.0 0 4.0 0 4.0 0 2.0 0 2.0 0 0.0 0 0.0 0 8.0 0 6.0 0 4.0 0 2.0 0 0.0 0 0.0 0 2.0 0 4.0 0 6.0 0 8.0 0 1 0.0 0 0.0 0 0.0 0 2.0 0 4.0 0 6.0 0 8.0 0 1 0.0 0 2.0 0 4.0 0 6.0 0 8.0 0 1 0.0 0

zawężanie zakresu przeszukiwań z temperaturą: generowane ścieżki 1 0. 0 0 8. 0 0 6. 0 0 4. 0 0 2. 0 0 0. 0 0 0. 0 0 2. 0 0 4. 0 0 6. 0 0 8. 0 0 1 0. 0 0 ścieżka (100 kroków) dla T=4 1 0 8 6 4 y 2 0 0 2 4 x 6 8 1 0 1 6 1 0 4-2 - 8-1 4-2 0 ścieżka (50 kroków) dla T=2 1 0. 0 0 ścieżka (25 kroków) dla T=1 1 0. 0 0 8. 0 0 8. 0 0 6. 0 0 6. 0 0 4. 0 0 4. 0 0 2. 0 0 2. 0 0 0. 0 0 0. 0 0 2. 0 0 4. 0 0 6. 0 0 8. 0 0 1 0. 0 0 0. 0 0 0. 0 0 2. 0 0 4. 0 0 6. 0 0 8. 0 0 1 0. 0 0

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 4 3 Sposób zmiany T 4 0 0 3 5 0 długość P zbyt szybkie schłodzenie [do najbliższego minimum lokalnego] T 2 1 d l u g o s c t r a s y 3 0 0 2 5 0 2 0 0 Najlepsze rozwiązanie 0 0 2 0 0 0 0 4 0 0 0 0 6 0 0 0 0 n u m e r i t e r a c j i / 1 0 0 1 5 0 0 2 0 0 0 0 4 0 0 0 0 6 0 0 0 0 n u m e r i t e r a c j i / 1 0 0

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ć) d r dodatnio naładowane współrzędne r 1,r 2,... ujemnie naładowane współrzędne d 1,d 2,...

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 0. 4 0. 0-0. 4-0. 8 0 2 4 6 8 1 0 najprostsze przybliżenie: naładowane kule bilardowe (nie mogą się przenikać) d r dodatnio naładowane współrzędne r 1,r 2,... ujemnie naładowane współrzędne d 1,d 2,...

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

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