BINARNIE CZY INACZEJ? OBLICZENIA EWOLUCYJNE FITNESS F. START COMPUTATION FITNESS F. COMPUTATION INITIAL SUBPOPULATION SENDING CHROM. TO COMPUTERS chromosome EVOLUTIONARY OPERATORS AND RECEIVING FITNESS F. wykład 4 VALUE fitness f. value MIGRATION PHASE FITNESS F. communication COMPUTATION with other SELECTION subpopulations YES TERMINATION CONDITION NO END 1 Binarnie 1 11 1 11111 Niebinarnie A B Z 1 6 Ciąg binarny Ciąg niebinarny Wartość Dopasowanie 1 Y 24 576 11 L 11 121 I 8 64 11 T 19 361 2 Porównanie liczby schematów: jednakowa liczba osobników; ciągi kodowe o różnych r długod ugościach. Liczba schematów: 3 l dla alfabetu dwójkowego (k+1) l dla alfabetu k-elementowego. By liczba punktów w w obu przestrzeniach była jednakowa: 2 l =k l tu: 3 5 = 243 dla alfabetu dwójkowego (32+1) 1 = 33 dla alfabetu k-elementowego. l długość osobnika zakodowanego binarnie, l dł.. osobnika zakodowanego w alfabecie k-elementowym tu: 2 5 =k 1 k = 32 3 Kod dwójkowy charakteryzuje się największ kszą ze wszyst- kich liczbą schematów przypadającą na bit informacji. 4 Jednakże e jeżeli: eli: zmiennych; dziedzina z zakresu [-5[ 5]; żądana dokładno adność 6 miejsc po przecinku; To: długość łańcucha binarnego wynosi 3; przestrzeń poszukiwań rzędu. Dla tak wielkich przestrzeni AG działaj ają słabo Zasada znaczących cych cegiełek: ek: Kod należy y dobierać w taki sposób, by schematy niskiego rzędu i o małej rozpięto tości wyrażały y własnow asności zadania oraz pozostawały y względnie niezależne ne od schematów w na pozycjach ustalonych. Zasada minimalnego alfabetu: Należy y wybrać najmniejszy alfabet, w którym zadanie wyraża a się w sposób b naturalny. 5 6
Jeden z celów w zmodyfikowanego kodowania: przybliżenie algorytmu do przestrzeni zadania. Dogodne jest, by dwa punkty leżą żące blisko siebie w przestrzeni reprezentacji (genotyp( genotyp) ) leżały y równier wnież blisko siebie w przestrzeni zadania (fenotyp). (Nie zawsze prawdziwe przy kodowaniu binarnym) np.: Binarnie Całkowitoliczbowo 111 7 8 7 KOD GRAYA procedure GrayToBin value := g 1 b 1 := value for k := 2 to m do if g k = 1 then value := NOT value b k := value procedure BinToGray g 1 := b 1 for k := 2 to m do g k := b k 1 XOR b k 1 1 b = b 1, b 2,, b m liczba binarna g = g 1, g 2,, g m liczba w kodzie Graya; m długość ciągu kodowego. a b a XOR b 1 1 1 1 8 Binarnie 1 11 1 1 111 1 11 1 11 11 1111 Kod Graya 1 11 1 111 1 1 11 1111 11 11 1 Zmiana 1 bitu w kodzie powoduje, że e otrzymana liczba ma szansę być liczbą bezpośrednio bliską liczbie przed zmianą. 9 KODOWANIE LOGARYTMICZNE Stosowane w celu zmniejszenia długod ugości łańcucha binarnego. [ b b bin] = ( 1) b b 1 2 ( 1) [ bin] 1 2 b 1 bit znaku wykładnika funkcji wykładniczej adniczej; b 2 bit znaku funkcji wykładniczej adniczej; bin reprezentacja wykładnika funkcji wykładniczej [bin] wartość dziesiętna liczby zakodowanej binarnie. 1 ( 1) [ 11 ] 6 [ 1] = ( 1) e = e =.2478752 1 ( 1) [ 1 1 ] 3 [ 11] = ( 1) e = e = 2.8553692 e Za pomocą 5 bitów w możliwe jest zakodowanie liczb z zakresu [-e 7, e 7 ] (w kodowaniu binarnym [, 31]). KODOWANIE CHROMOSOMU: Kodowanie (reprezentacja danych) to zbiór stanów w z przestrzeni zadania przedstawiony w postaci skończonego alfabetu znaków. Dalszą modyfikacją jest zastosowanie KODOWANIA ZMIENNOPOZYCYJNEGO. 11 Podział chromosomów uwzględniaj dniający strukturę: - standardowe (jak w klasycznym AG); - permutacyjne (np. problem komiwojażera - TSP); - drzewiaste; - macierzowe. 12
KODOWANIE CHROMOSOMU: Podział chromosomów uwzględniaj dniający wartości: - binarne (np. zadanie plecakowe); - całkowitoliczbowe (np. TSP); - zmiennopozycyjne (typowe inżynierskie zadania optymalizacji); - tekstowe. 13 Test: porównani wnanie wydajności kodowania binarnego i zmiennopozycyjnego. Zadanie sterowania: Ograniczenia: gdzie: N 1 2 2 2 J = min xn + ( xk + uk) k = STEROWANIE OPTYMALNE - sterowanie automatyczne, w którym następuje ukształtowanie towanie przebiegu sygnału u sterującego powodujące maksymalizację lub minimalizację wartości funkcji celu. (charakteryzującej cej np. wydajność produkcji albo zużycie paliwa) x =, k =, 1,, N -1 k 1 x + + k uk x stan początkowy; x k R stan; u R N poszukiwany wektor sterowania. 14 Chromosom wektor sterowania u Wersja binarna: Dziedzina: -2, 2 dla każdego u i. Przyjęto to: x =, N=45 (u u = u,, u 44 ). Optimum: J* = K h 2 tu: J* = 1618.4 Każdy element wektora chromosomu zakodowano za pomocą tej samej liczby bitów; Każdy chromosom jest wektorem składaj adającym się z N słów; Nie pozwala na zwiększenie dokładno adności bez zwięk- szenia liczby bitów; Przy wzroście rozmiarów w dziedziny dokładno adność maleje przy konieczności ci zachowania stałej liczby bitów. 15 16 Wersja zmiennopozycyjna: Operatory określono tak, by każdy element chromosomu mieści cił się w wymaganym zakresie. Pozwala uwzględni dnić bardzo duże e dziedziny jak również przypadki o nieznanych dziedzinach; Łatwiej jest zaprojektować specjalistyczne narzędzia ułatwiające postępowanie powanie w przypadku nietrywialnych ograniczeń. 17 Porównywalno wnywalność algorytmów: Stała a liczebność populacji (6( osobników) Stała a liczba pokoleń (2 ) Każdy chromosom to wektor liczb zmiennopozycyj- nych o długod ugości zgodnej z wektorem rozwiązania; zania; W reprezentacji binarnej użyto u 3 bitów w do zakodo- wania jednej zmiennej, co daje: 3*45= 45=135 bitów w w chromosomie. Mimo użycia u różnych r operatorów (co wynika ze sposobu kodowania zadania i może powodować różnice w interpretacji) parametry programu dobrano tak, by wyniki mogły zostać uczciwie porównane. (np. w przypadku reprezentacji binarnej użyto klasycznych operatorów, jednak zezwolono na krzyżowanie tylko pomiędzy elementami). 18
Wyniki: L. elementów Czas CPU [s] (N ) zmiennopoz. binarnie 5 184 8 15 398 3123 25 611 5137 35 823 7177 45 72 9221 Czas [s] 8 6 4 2 zmiennopoz. binarnie l. elem. (N) 5 15 25 35 45 19 Wnioski z testów: Reprezentacja zmiennopozycyjna jest szybsza. Reprezentacja zmiennopozycyjna jest stabilniejsza (daje bardziej zbliżone wyniki w różnych r przebiegach). Reprezentacja zmiennopozycyjna jest dokładniejsza (szczególnie w większych dziedzinach). Działanie anie algorytmów w (szybkość ść,, zbieżno ność) ) można poprawić wprowadzając specjalne operatory. W przypadku kodowania binarnego dla dużych dziedzin i wymaganej większej dokładno adności różnice r w czasach obliczeń powiększaj kszają się. 2 MODYFIKACJA PROBLEMU ZMODYFIKOWANY PROBLEM KLASYCZNY AG ZADANIE OPTYMALIZACJI ROZWIĄZANIE OPTYMALNE MODYFIKACJA ALGORYTMU ALGORYTM EWOLUCYJNY Zastosowanie AE 21 Modyfikacje: łańcuchy o zmiennej długod ugości; struktury bogatsze od łańcuchów w (np. macierze); zmodyfikowane operatory; nowe operatory (inwersja, klonowanie, itp.); inna niż binarna reprezentacja zadania; pamięć chromosomu; zmieniony AG, ulepszony AG, zmodyfikowany AG, 22 Różnorodne programy opierające się na zasadzie ewolucji mogą się różnić: strukturą danych; operatorami; metodami tworzenia populacji początkowej; sposobami uwzględniania ograniczeń zadania; parametrami. Zasada działania ania nie zmienia się: populacja osobników w podlega pewnej transformacji zaś osobniki starają się przetrwać w procesie ewolucji. 23 ALGORYTMY EWOLUCYJNE Rozwinięcie idei klasycznych AG w kierunku systemów bardziej skomplikowanych, zawierających: odpowiednie struktury danych (kodowanie); odpowiednie operatory. Słabość AE podstawy teoretyczne: tylko dla czystych AG istnieje tw.. o schematach; w innych podejściach tylko w niektórych przypadkach można wykazać teoretycznie ich zbieżno ność (np. strategie ewolucyjne stosowane do zadań regularnych). Zwykle jednak tylko uzyskujemy interesujące wyniki 24
Równoległość AG i AE: Rozproszony AE, autor: Wacław aw KUŚ: W świecie, w którym algorytmy sekwencyjne są przerabiane na równoleg wnoległe e za pomocą niezliczonych sztuczek i łamańców, jest niemałą ironią, że e AG (algorytmy wysoko równoleg wnoległe) e) są przerabiane na sekwencyjne za pomocą równie nienaturalnych sztuczek i wykrętów Goldberg,, 1995 Rozproszony AE znaczące ce przyspieszenie obliczeń N START POPULACJA POCZĄTKOWA OPERATORY EWOLUCYJNE MIGRACJA SELEKCJA WARUNEK ZATRZYMANIA STOP chromosom T f. celu FEM FEM (F. CELU) FEM PROCES ZARZĄDZAJĄCY komunikacja z innymi podpopulacjami Max liczba procesorów: (l. podpopulacji) (l. osobników) 25 26 Dla danego problemu można określi lić wiele sposobów kodowania i zdefiniować szereg operatorów w (np. zadanie komiwojażera). AE to rozwinięcie i uogólnienie AG. Należy y jednoznacznie określi lić: schemat działania ania AE; metodę selekcji; sposób b kodowania i operatory genetyczne; środowisko działania ania AE. 27 procedure Algorytm_Ewolucyjny t:= wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do wybierz T(t) z P(t) (reprodukcja) utwórz O(t) z T(t) (działanie operatorów ewolucyjnych) oceń O(t) utwórz P(t+1) z O(t) ip(t) (sukcesja) t:=t+1 T temporary - tymczasowy O offspring - potomny 28 SELEKCJA = REPRODUKCJA (preselekcja) + SUKCESJA (postselekcja) procedure Algorytm_Ewolucyjny t:= wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do wybierz T(t) z P(t) (reprodukcja) utwórz O(t) z T(t) (operatory) oceń O(t) utwórz P(t+1) z O(t) ip(t) (sukcesja) t:=t+1 Napór r selekcyjny (selektywny nacisk selektywny nacisk): Tencja algorytmu do poprawiania wartości średniej przystosowania. Reprodukcja tworzenie populacji tymczasowej T(t), która jest poddawana działaniu operatorów genetycznych tworząc populację potomną O(t). Sukcesja tworzenie nowej populacji bazowej P(t+1) z populacji potomnej O(t) oraz starej populacji bazowej P(t). 29 Algorytm charakteryzuje się tym większym naporem selekcyjnym, im większa jest oczekiwana liczba kopii lepszego osobnika w porównaniu z oczekiwaną liczbą kopii osobnika gorszego. 3
METODY REPRODUKCJI Twarda (brutalna) selekcja wybór r do populacji potomnej i powielanie tylko najlepszego osobnika (metoda stochastycznego wzrostu). KOŁO O RULETKI Przyjęcie jednakowego prawdopodobieństwa - algorytm błąb łądzi przypadkowo (brak( selekcji). jak w AG W AE - metoda pośrednia, zwana miękką selekcją. REPRODUKCJA TURNIEJOWA Wybór k osobników (rozmiar turnieju, zwykle k=2) i selekcja najlepszego z grupy. Powtarzane pop_size razy. 31 32 REPRODUKCJA RANKINGOWA Szeregowanie osobników w według wartości przystosowania i selekcja zgodnie z kolejności cią (wg tzw. linii rangi ): METODY SUKCESJI SUKCESJA TRYWIALNA (z całkowitym zastępowaniem) 25 25 Nową populacją bazową staje populacja potomna: P(t+1) = O(t) 2 15 2 15 (jak w AG). 5 5 Najbardziej odporna na przedwczesną zbieżno ność. 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 Najwolniej prowadzi do rozwiązania zania optymalnego. zapobiega powstawaniu superosobników; pomija informację o względnych ocenach osobników. 33 Może e prowadzić do sytuacji, w której nie zawsze najlepsze rozwiązania zania z populacji P(t) znajdą się w populacji P(t+1) +1); 34 SUKCESJA Z CZĘŚ ĘŚCIOWYM ZASTĘPOWANIEM W nowej populacji bazowej sąs osobniki z populacji potomnej i ze starej populacji bazowej P(t+1) = O(t) + P(t) Prowadzi zwykle do stabilniejszej pracy AE. Może e spowodować tencję do osiągania maksimów w lokalnych. Mechanizm usuwania (warianty): usuwanie najgorzej przystosowanych osobników; usuwanie osobników w podobnych do potomnych; usuwanie losowo wybranych osobników. 35 SUKCESJA ELITARNA Gwarantuje przeżycie co najmniej najlepszego osob- nika poprzez odpowiedni wybór r osobników w z P(t) do P(t+1) Wzrost wielkości elity powoduje przyspieszenie zbieżno ności algorytmu. Wzrost wielkości elity powoduje większe prawdo- podobieństwo osiągania ekstremów w lokalnych. Wartość wielkości elity δ decyduje o naporze selek- cyjnym (δ= sukcesja trywialna). Najkorzystniej jeden, ew. kilka osobników. 36
EKSPLORACJA I EKSPLOATACJA G dziedzina funkcji; X maksimum lokalne funkcji przystosowania; Eksploracja: Wybranie zbioru G(X*),, zawierającego maksimum globalne X* z rodziny obszarów w przyciągania ekstremów w lokalnych. Eksploatacja: Przeszukiwanie obszaru przyciągania G(X) w celu wyznaczenie maksimum lokalnego X (sprowadza się do zadania optymalizacji lokalnej). 37 Najczęś ęściej informacja o rodzinie obszarów w przy- ciągania i wartości funkcji przystosowania w maksi- mach lokalnych nie jest dostępna pna,, a jej pozyskanie jest bardzo kosztowne. Zadanie optymalizacji globalnej jest nierozwiązywalne zywalne (w ogólnym przypadku, w dokładnym sensie). Poszukuje się metod optymalizacji prowadzących do uzyskania dobrych rozwiąza zań przybliżonych z akcep- towalnym kosztem jak algorytmy ewolucyjne. 38 LOSOWOŚĆ W AE OCENA DZIAŁANIA ANIA AE Różne zachowanie algorytmu w niezależnych nych uruchomieniach przy jednakowych ustawieniach parametrów w i identycznych populacjach początkowych tkowych Losowość jest wprowadzana w AE: Podczas generowania populacji początkowej. W procesie wyboru populacji potomnej na drodze reprodukcji (ukierunkowanie działania ania AE). 39 Podczas działania ania operatorów w ewolucyjnych (próbkowanie przestrzeni roboczej). 4 Należy y dokonać wielu niezależnych nych uruchomień dla losowej próby różnych r populacji bazowych P() (). W przypadku wielu uruchomień dla tej samej populacji P() można mówim wić o właściwow ciwościach ciach danego algorytmu dla konkretnej populacji początkowej. ANALIZA STATYSTYCZNA: Analiza wartości oczekiwanej i odchylenia standardowego wartości przystosowania w populacji bazowej. Uwzględnienie informacji o min. i max.. osiąganej wartości. Uwzględnienie informacji o liczbie przypadków w niewiele różnych r od najlepszego. Porównywane dwa algorytmy: wskazane jest aby próba ta była a taka sama (dla każdej losowej populacji początkowej uruchamia się dwa porównywane algorytmy). Prezentacja wyników w w postaci histogramu pozwala ocenić właściwości rozkładu, które mogą umknąć przy analizie ograniczonej jedynie do statystyki liczbowych. częstość 2 pokolenie: 163 15 5 41 6 8 12 14 16 18 2 wartość f. przystosowania 42
KRZYWE ZBIEŻNO NOŚCI Są wykresem zmian wartości rozwiązania zania roboczego (średniego, najlepszego, najgorszego) w czasie. Kreśli się je: - dla pojedynczego uruchomienia algorytmu; - dla wielu niezależnych nych uruchomień. wartość f. przystosowania max śr min Szczególna krzywa zbieżno ności: wartość f. przystosowania 2 15 Przykładowe krzywe zbieżno ności (dla 1 uruchomienia algorytmu): pokolenie 43 5 2 3 4 5 6 7 8 pokolenie 44 KOSZT SYMULACJI A LICZBA POKOLEŃ (Uśrednione bardziej reprezen- tatywne,, lecz gubi się niektóre informacje o zachowaniu AE w pojedynczych uruchomieniach). Wykres zmian w kolejnych pokoleniach wartości przys- tosowania najlepszego osobnika znalezionego od początku działania ania AE. Po zakończeniu działania ania AE osobnik ten jest rozwiąza za- niem wyz.. przez pojedyncze uruchomienie AE. W wielu metodach optymalizacji koszt jest utożsa sa- miany z liczbą iteracji metody (przetwarzane jest jedno rozwiązanie zanie). W przypadku algorytmów w ewolucyjnych liczba obliczeń wartości funkcji przystosowania w pojedynczej iteracji algorytmu ewolucyjnego jest zależna od liczności ci populacji potomnej (przetwarzana jest populacja rozwiąza zań). Np.: iteracji (pokoleń) ) i osobników iteracji (pokoleń) osobników 45 KRYTERIA ZATRZYMANIA AE 46 Dowody zbieżno ności są znane jedynie dla pewnych szczególnych przypadków funkcji przystosowania (takich jak funkcja kwadratowa). Optymalne kryterium - stwierdzenie, że e rozwiązanie zanie wygenerowane przez AE jest dostatecznie dobrym przybliżeniem maksimum globalnego funkcji celu. To implikuje znajomość tego maksimum jeszcze przed rozpoczęciem ciem optymalizacji KRYTERIA ZATRZYMANIA: Monitorujące zdolność algorytmu do eksploracji przestrzeni genotypów. 47 MONITOROWANIE WARTOŚCI FUNKCJI PRZYSTOSOWANIA Kryterium maksymalnego kosztu Polegające na monitorowaniu wartości funkcji przy- stosowania osobników w generowanych przez algorytm; Algorytm kończy działanie, anie, jeśli koszt algorytmu przekroczy założon oną wartość maksymalną K max. Wartość K max jest naj- Φ częś ęściej związana zana ze specyfiką zadania. Często sto: : przyjęcie pew- nej maksymalnej liczby pokoleń algorytmu. t (Czas działania ania zależy niejawnie max t od liczby nowych osobników generowanych w każdym pokoleniu!) 48
Kryterium zadowalającego poziomu funkcji przystosowania Zatrzymanie działania ania gdy AE znajdzie rozwiązanie zanie o wartości funkcji przystosowania Φ s określonej przez użytkownika jako zadowalająca. Φ Φ s t 49 Kryterium min. szybkości poprawy ε τ min. szybkość poprawy t 5 MONITOROWANIE ZDOLNOŚCI EKSPLORACYJNYCH 51 Kryterium zaniku różnorodnor norodności populacji Różnorodność: wpływa na odporność algorytmu ewolucyjnego na ekstrema lokalne; sprawia, że e krzyżowanie ma duży y zasięg; powoduje w efekcie, że e algorytm dość szybko generuje nowe rozwiązania. zania. (zwykle równowa wnoważne ne z eksploatacją obszaru przyciągania jednego ekstremum niekoniecznie globalnego). 52 53 Zwykle nie jest łatwo (bez dostatecznie dobrej znajo- mości funkcji przystosowa- nia) określi lić wartość zadowalającą. AE może e działać dowolnie długo (należy y dodatkowo określi lić maksymalny koszt znalezienia rozwiązania). zania). Algorytm jest zatrzymywany, jeśli w kolejnych τ obli- czeniach wartości f. przystosowania nie uda się po- prawić wyniku o więcej niż ε. Często ε = - AE zatrzymywany, jeśli nie uda się uzyskać lepszego rozwiązania zania w kolejnych τ pokoleniach. Φ Zdolność algorytmu do eksploracji przestrzeni geno- typów jest czynnikiem warunkującym odporność algorytmu na ekstrema lokalne. Zdolność taka wynika zarówno z różnorodności populacji bazowej,, jak równier wnież z zasięgu operatora mutacji (jeśli podlega on samoczynnej adaptacji). Zanik różnorodnor norodności przełą łączenie się na przeszukiwa- nia ograniczone do niewielkiego obszaru Kryterium zatrzymania bazujące na różnorodnor norodności po- pulacji wykorzystuje fakt, że obniżenie różnorodnor norodności poniżej pewnego poziomu świadczy o przejściu do etapu eksploatacji obszaru przyciągania ekstremum. Algorytm należy y wówczas w wczas zatrzymać i wykorzystać pewną metodę lokalną do dokładnego wyznaczenia tego ekstremum. Kryterium zaniku samoczynnie adapto- wanego zasięgu operatora mutacji Hipoteza (eksperymentalnie( potwierdzona), że e jeśli w AE stosuje się adaptację zasięgu mutacji,, to od pewnego momentu zasięg g ten ma trwałą tencję do zmniej- szania się. Ograniczenie zasięgu wiąż ąże e się z przełą łączeniem AE na eksploatację znalezionego obszaru przyciągania. Oblicza się dla populacji bazowej wartość średnią standardowych odchyleń pamiętanych w genotypach osobników w wykorzystywanych podczas mutacji. Spadek tej wartości poniżej pewnego progu σ min zakończenie działania. ania. 54