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

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

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

Wybrane podstawowe rodzaje algorytmów

Algorytmy genetyczne

Algorytm genetyczny (genetic algorithm)-

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

Metody przeszukiwania

Algorytmy genetyczne

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

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

Algorytmy ewolucyjne NAZEWNICTWO

Aproksymacja funkcji a regresja symboliczna

6. Klasyczny algorytm genetyczny. 1

Optymalizacja. Wybrane algorytmy

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

Algorytmy ewolucyjne 1

Obliczenia ewolucyjne - plan wykładu

Techniki optymalizacji

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

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

Algorytmy ewolucyjne (3)

Strategie ewolucyjne (ang. evolu4on strategies)

Algorytmy genetyczne w optymalizacji

Generowanie i optymalizacja harmonogramu za pomoca

Metody Rozmyte i Algorytmy Ewolucyjne

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

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

Optymalizacja ciągła

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

Dobór parametrów algorytmu ewolucyjnego

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

ALGORYTMY GENETYCZNE ćwiczenia

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

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

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

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

Metody Programowania

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

Metody Optymalizacji: Przeszukiwanie z listą tabu

Techniki optymalizacji

Metody numeryczne II

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

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

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

Techniki optymalizacji

Równoważność algorytmów optymalizacji

ALHE. prof. Jarosław Arabas semestr 15Z

Algorytmiczna teoria grafów

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

BŁĘDY OBLICZEŃ NUMERYCZNYCH

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

Algorytmy zrandomizowane

Algorytmy metaheurystyczne podsumowanie

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

Algorytmy genetyczne

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Spacery losowe generowanie realizacji procesu losowego

Heurystyki. Strategie poszukiwań

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

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

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

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

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Matematyka dyskretna

Prawdopodobieństwo i statystyka

Algorytmy genetyczne

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

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

Opracowanie prof. J. Domsta 1

Optymalizacja optymalizacji

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

Tomasz M. Gwizdałła 2012/13

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

Optymalizacja. Symulowane wyżarzanie

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

SZTUCZNA INTELIGENCJA

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

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Metody numeryczne II

Wyznaczanie optymalnej trasy problem komiwojażera

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.

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

SZTUCZNA INTELIGENCJA

Matematyczne Podstawy Informatyki

Matematyka Dyskretna - zadania

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

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

Złożoność obliczeniowa klasycznych problemów grafowych

Przykłady problemów optymalizacyjnych

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

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

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Metody Rozmyte i Algorytmy Ewolucyjne

Przeszukiwanie lokalne

Algorytmy ewolucyjne. wprowadzenie

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Transkrypt:

Problemy optymalizacji 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 w 2 i więcej D : problem trudny 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, amoeba (Melder-Nead) - gdy pochodne nieznane lub nie do wykorzystania (np. oscylacje małej amplitudy) 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 NT 43 42 B 32 L T 45 G 45 23 NS 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 NS 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 standardowy w zakupach elektronicznych protokół 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)

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

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

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. 15.29 rodzic 50% potomstwa 25.8 30% 35.8 20% 46.51 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: 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ł 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 ( 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

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 e x p ( - E / k T ) k T = 1 k T = 0. 1 E k T = 1 0 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 P P '

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]) 2 T = 0.9 T = 0.1 Wysokie T punkt P wędruje między minimami Niskie T P uwięziony wokół jednego minimum 1 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. 0-1 -4 0-2 0 0 20 40 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 10 1 0.0 0 ścieżka (100 kroków) dla T=4 8.0 0 8 16 10 4-2 -8-1 4-2 0 6 y 6.0 0 4 4.0 0 2 2.0 0 0 0.0 0 0.0 0 2.0 0 4.0 0 6.0 0 8.0 0 0 2 4 x 6 8 10 1 0.0 0 ścieżka (50 kroków) dla T=2 ścieżka (25 kroków) dla 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 0.0 0 2.0 0 4.0 0 6.0 0 8.0 0 1 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=[13645972] Losujemy pierwsze i ostatnie miasto Losowo zmieniamy kolejność P = [ 1 3 9 4 6 5 7 2 ] Strategia schładzania a wynik końcowy długość P 4 400 3 350 d lu g o s c tr a s y T Sposób zmiany T 2 1 0 zbyt szybkie schłodzenie [do najbliższego minimum lokalnego] Najlepsze rozwiązanie 300 250 200 0 20000 40000 60000 n u m e r ite r a c ji / 1 0 0 150 0 20000 40000 60000 n u m e r ite r a c ji / 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