Pobierz
Transkrypt
Pobierz
17.01.2016 Techniki optymalizacji Ewolucja biologiczna Algorytmy ewolucyjne Związki między ewolucją biologiczną a optymalizacją Ewolucja biologiczna Optymalizacja Osobnik Rozwiązanie Populacja Zbiór rozwiązań Genotyp Reprezentacja rozwiązania Fenotyp Wartość funkcji celu Mutacja Konstrukcja nowego rozwiązania poprzez niewielką modyfikację innego rozwiązania Krzyżowanie Rekombinacja – konstrukcja nowego rozwiązania poprzez połączenie cech dwóch rozwiązań Dobór naturalny Selekcja dobrych rozwiązań Przystosowanie (fitness) Funkcja celu Poprawa przystosowania Optymalizacja funkcji celu Rzeczywiste kodowanie genów DNA Alfabet czteroliterowy – cztery zasady A, G, T, C Dobór naturalny powoduje ewolucję populacji osobników Przekazywanie cech Przeżywanie najlepiej przystosowanych Mutacje Krzyżowanie Algorytm ewolucyjny wygeneruj początkową populację X powtarzaj X1 := Krzyżowanie (X) X1 := Mutacja (X1) X := Selekcja (X, X1) dopóki warunek stopu Zwróć najlepsze wygenerowane rozwiązanie Binarne kodowanie rozwiązań – algorytmy genetyczne Rozwiązanie reprezentowane jako ciąg zer i jedynek Zawsze możliwe (z pewną dokładnością), ale nie zawsze naturalne 1 17.01.2016 Kodowanie binarne zmiennych liczbowych Kodowanie binarne – problem plecakowy Np.: 0 Np.: 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 Pozycja dla każdego elementu 0 – element nie został wybrany 1 – element został wybrany x1 x2 x3 x4 Kodowanie binarne – problem komiwojażera Klasyczne krzyżowanie jednopunktowe Np.: 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 Pozycja dla każdego łuku 0 łuk nie znajduje się w rozwiązaniu 1 łuk znajduje się w rozwiązaniu Mówiąc inaczej – macierz koincydencji rozwinięta w wektor Krzyżowanie wielopunktowe 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 Krzyżowanie równomierne – uniform crossover Każda pozycja niezależnie losowa z jednego z rodziców 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 2 17.01.2016 Mutacja – losowa zmiana rozwiązania 0 Selekcja ruletkowa Mutacja jednego bitu 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 Oblicz wartość dopasowania dla każdego rozwiązania eval xi Skalowanie funkcji celu do [0, Max] pop _ size 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 Prawdopodobieństwo mutacji – prawdopodobieństwo zmiany jednego bitu Np. 0,01 – zmiana jednego bitu na 100 Algorytm selekcji p i 1 i i j r pi i 1 pi F Przykład selekcji ruletkowej Powtarzaj pop_size razy wygeneruj liczbę losową r z przedziału [0,1) – rozkład równomierny wybierz rozwiązanie j dla którego i j 1 Oblicz całkowite F eval xi i 1 dopasowanie Oblicz prawdopodobieństwo wyboru każdego rozwiązania eval xi Ocena rozwiązania Rozwiązanie 1 2 3 4 5 6 Całkowite dopasowanie 2 4 1 5 8 3 Pi 0,087 0,174 0,043 0,217 0,348 0,130 23 Dopuszczalne powtórzenia dopóki warunek stopu Selekcja turniejowa Przykład Powtarzaj pop_size razy wybierz losowo K rozwiązań do turnieju– rozkład równomierny wybierz najlepsze rozwiązanie z grupy turniejowej dopóki warunek stopu Dopuszczalne powtórzenia 3 17.01.2016 Schematy Rząd schematu 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 * 1 1 * 0 1 * 0 0 0 Liczbę ustalonych pozycji - 0 lub 1 Rząd 12 1 1 0 * 1 1 0 * 1 * 1 1 * 0 1 * 0 0 0 * * * 1 * 1 1 * 0 1 * 0 0 0 Rząd 8 Wspólny schemat 0 0 * * Do ciągu o długości n pasuje 2n schematów Długość definiująca schematu Wpływ operatorów ewolucyjnych na schematy Odległość pomiędzy pierwszą a ostatnią pozycją ustaloną schematu Selekcja Długość definiująca 14 * 1 1 0 * 1 * 1 1 * 0 1 * 0 0 * Długość definiująca 9 * * * * * 1 * 1 1 * 0 1 * 0 * Krzyżowanie * Krzyżowanie i mutacja może prowadzić do powstania rozwiązań niedopuszczalnych Np. dla problemu plecakowego – przekroczenie pojemności plecaka Np. dla problemu komiwojażera – zbiór łuków nie tworzący cyklu hamiltona Większe szanse „przeżycia” mają krótsze schematy Mutacja Ograniczenia w algorytmach genetycznych Dla selekcji ruletkowej średnia liczba rozwiązań pasujących do schematu S zmienia się w populacji tak, jak stosunek dopasowania schematu do średniego dopasowania populacji Większe szanse „przeżycia” maję schematy o mniejszym rzędzie Ograniczenia - Funkcja kary Rozwiązania niedopuszczalne są traktowane jak dopuszczalne, ale wartość funkcji celu zostaje pogorszona o wartość kary Kara jest w ogólności zależna od wielkości złamania ograniczeń, np. od przekroczenia pojemności plecaka Problemy Zbyt mała kara może spowodować ewolucję w kierunku rozwiązań niedopuszczalnych Zbyt duża kara może utrudniać dojście do dobrych rozwiązań 4 17.01.2016 Ograniczenia - Procedury naprawy Niedopuszczalne rozwiązanie powstałe w wyniku krzyżowania/mutacji jest naprawiane przez dedykowaną heurystykę Procedura naprawy nie powinna zbyt mocno zmieniać rozwiązania Procedura naprawy może być kierowana funkcją celu Przykłady procedur naprawy Problem plecakowy Usuwanie elementów aż do osiągnięcia dopuszczalności Opcja – usuwanie elementów o najgorszym stosunku wartości do wagi Problem komiwojażera Odbudowa cyklu hamiltona przy zachowaniu jak największej liczby łuków Naturalne kodowanie algorytmy ewolucyjne Zalety kodowania naturalnego Liczby naturalne i rzeczywiste Listy Macierze Drzewa … Rekombinacja Rekombinacja porządkowa dla list - OX Utworzenie nowego (lub kilku) nowego rozwiązania (potomka) na podstawie dwóch rodziców Potomek powinien łączyć (rekombinować) cechy rodziców Łatwiejsze krzyżowanie rekombinacja Bardziej „sensowne” krzyżowanie – zachowywanie ważnych cech rozwiązań Łatwiejsze zachowywanie ograniczeń Wybierz podciąg z rodzica 1 Skopiuj wybrany podciąg do potomka Usuń umieszczone już w potomku elementy z rodzica 2 Dodawaj kolejne elementy z rodzica 2 do potomka w kolejności występowania w rodzicu 2 5 17.01.2016 Rekombinacja porządkowa dla list - OX Rodzic 1 2 1 7 powtarzaj dla każdej pozycji Rodzic 2 8 3 5 4 3 5 4 6 5 2 7 6 2 7 3 5 4 1 2 7 5 6 3 1 4 8 4 8 Proto-potomek 8 2 7 6 8 6 1 Przykład 2 1 7 8 3 5 Inny przykład rekombinacji porządkowej dla list wylosuj rodzica 1 lub 2 wybierz z wylosowanego rodzica pierwszy element usuń wybrany element z obu rodziców dodaj wybrany element na koniec potomka Przykład c.d. 4 6 3 1 8 2 1 7 8 3 1 8 3 1 8 3 2 2 2 2 5 4 6 4 6 7 5 6 3 1 4 8 5 6 3 1 4 8 7 6 3 1 4 8 2 7 5 6 5 4 7 5 6 1 3 4 6 3 4 8 8 6 1 6 8 3 6 6 2 7 5 1 8 3 4 2 7 5 1 8 3 4 4 6 1 Kodowanie pośrednie Prostsze kodowanie i bardziej złożona rekombinacja 7 4 5 4 4 3 7 5 Kodowanie a rekombinacja… 3 lub Bardziej złożone kodowanie i prostsza rekombinacja Dekodowanie rozwiązania Heurystyczna lub dokładna transformacja Kodowanie pośrednie – operatory ewolucyjne Dokładna i naturalna reprezentacja rozwiązania Funkcja celu 6 17.01.2016 Zalety kodowania pośredniego Łatwiejsze operatory rekombinacji/mutacji Łatwiejsze zapewnienie dopuszczalności rozwiązań Przykład harmonogramowanie Kodowanie pośrednie – lista priorytetowa zadań 2 7 5 1 8 3 4 Heurystyka priorytetowa Harmonogram 6 Przykład problem plecakowy Parametry algorytmów ewolucyjnych Kodowanie pośrednie – lista elementów Dekodowanie – dodawaj po kolei elementy do momentu wypełnienia plecaka Wynik dopuszczalne rozwiązanie Hybrydowe algorytmy ewolucyjne Hybrydowe algorytmy ewolucyjne Inne nazwy Liczba generacji – czas obliczeń Wielkość populacji Mniejsza populacja – szybsza zbieżność Większa populacja – lepsza jakość w dłuższym czasie Algorytmy memetyczne Genetyczne przeszukiwanie lokalne … Hybrydyzacja algorytmów ewolucyjnych i lokalnego przeszukiwania lub ogólniej heurystyk lokalnych Cel - połączenie zalet Szybkość i możliwość lokalnej poprawy rozwiązań przez przeszukiwanie lokalne Globalność algorytmów ewolucyjnych 7 17.01.2016 Rożnie sposoby hybrydyzacji Najpierw PL potem AE Najpierw AE potem PL AE startuje z bardzo dobrą populacją AE znajduje globalnie dobry region eksplorowany dokładniej przez PL PL w trakcie AE Np. PL po każdej rekombinacji i mutacji Algorytmy hybrydowe z punktu widzenia przeszukiwania lokalnego Algorytmy hybrydowe z punktu widzenia algorytmów ewolucyjnych Algorytm ewolucyjny pracujący na ograniczonym zbiorze rozwiązań – tylko optima lokalne Mniejsza przestrzeń przeszukiwań – bardziej efektywne działanie Przeszukiwanie lokalne zapewnia efektywne ograniczanie przestrzenie przeszukiwań AE do bardzo dobrych rozwiązań Lokalne przeszukiwanie w trakcie pracy algorytmu memetycznego Rekombinacja zapewnia dobry punkt startowy dla przeszukiwania lokalnego Szybsza zbieżność do lokalnego optimum Zbieżność do lepszych rozwiązań Selekcja elitarna Wybór P najlepszych rozwiązań Możliwe unikanie powtarzających się rozwiązań – kopii Możliwość hybrydyzacji z innymi mechanizmami (ruletkowa, turniejowa) – częściowa elitarność Wybór L < P najlepszych rozwiązań. Pozostałe w inny sposób W przypadku zwykłych AE selekcja elitarna prowadzi do (zbyt) szybkiej zbieżności. Dodanie przeszukiwania lokalnego często eliminuje ten problem. 8