METODY HEURYSTYCZNE wykład 3

Podobne dokumenty
METODY HEURYSTYCZNE wykład 3

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

METODY HEURYSTYCZNE 3

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

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

ALGORYTMY GENETYCZNE I EWOLUCYJNE

Algorytm genetyczny (genetic algorithm)-

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

LICZEBNOŚĆ POPULACJI OBLICZENIA EWOLUCYJNE. wykład 3. Istotny parametr AG...

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

Algorytmy genetyczne w optymalizacji

OBLICZENIA EWOLUCYJNE

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

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

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

OBLICZENIA EWOLUCYJNE

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

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

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

OBLICZENIA EWOLUCYJNE

Obliczenia ewolucyjne - plan wykładu

Algorytmy ewolucyjne NAZEWNICTWO

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

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

Metody Rozmyte i Algorytmy Ewolucyjne

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

ALGORYTMY GENETYCZNE ćwiczenia

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

OBLICZENIA EWOLUCYJNE

Algorytmy genetyczne

ALHE Z11 Jarosław Arabas wykład 11

6. Klasyczny algorytm genetyczny. 1

Algorytmy genetyczne

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Standardowy algorytm genetyczny

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy ewolucyjne. wprowadzenie

Algorytmy genetyczne

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

Techniki ewolucyjne - algorytm genetyczny i nie tylko

Algorytmy genetyczne

Algorytmy genetyczne (AG)

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

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

SZTUCZNA INTELIGENCJA

ALGORYTMY GENETYCZNE

SZTUCZNA INTELIGENCJA

Metody przeszukiwania

Techniki optymalizacji

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Równoważność algorytmów optymalizacji

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

Na poprzednim wykładzie:

Algorytmy ewolucyjne 1

OBLICZENIA EWOLUCYJNE

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

OBLICZENIA EWOLUCYJNE

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Zadania laboratoryjne i projektowe - wersja β

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

Obliczenia Naturalne - Algorytmy genetyczne

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Algorytmy ewolucyjne (2)

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji

Teoria algorytmów ewolucyjnych

Algorytmy ewolucyjne Część II

Automatyczny dobór parametrów algorytmu genetycznego

Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna)

Dobór parametrów algorytmu ewolucyjnego

Strategie ewolucyjne (ang. evolution strategies)

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

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

SZTUCZNA INTELIGENCJA

ALGORYTMY EWOLUCYJNE

Algorytmy ewolucyjne `

Aproksymacja funkcji a regresja symboliczna

Wstęp do Sztucznej Inteligencji

OBLICZENIA EWOLUCYJNE

przetworzonego sygnału

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

6. Algorytm genetyczny przykłady zastosowań.

Generowanie i optymalizacja harmonogramu za pomoca

5. Algorytm genetyczny przykład zastosowania

Optymalizacja. Wybrane algorytmy

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Algorytmy genetyczne w interpolacji wielomianowej

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Problemy optymalizacyjne Dana jest przestrzeń X. Znaleźć x X taki, że x spełnia określone warunki. Dana jest przestrzeń X i funkcja celu f: X R.

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

Program "FLiNN-GA" wersja 2.10.β

Programowanie genetyczne

Algorytmy ewolucyjne (3)

Obliczenia Naturalne - Strategie ewolucyjne

OPTYMALIZACJA KSZTAŁTU WYKRESU WÖHLERA Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH W UJĘCIU DIAGNOSTYCZNYM

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Algorytmy metaheurystyczne podsumowanie

Transkrypt:

METODY HEURYSTYCZNE wykład 3 1

Przykład: Znaleźć max { f (x)=x 2 } dla wartości całkowitych x z zakresu 0-31. Populacja w chwili t: P(t)= {x t 1,...x t n} Założenia: - łańcuchy 5-bitowe (x=0,1,...,31); - liczebność populacji n=4 2

Ścisłe rozwiązanie: x = 1 1 1 1 1 x = 31; x 2 = 961. Populacja początkowa (losowanie): x 0 = 1 x 0 = 2 x 0 = 3 x 0 = 4 1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 1 3

Sytuacja początkowa: Nr osobnika Osobnik Wartość x Przystosowanie f(x)=x 2 Prawd. wylosowania osobnika fi p i f f / i Oczekiwana liczba kopii i f 1 11000 24 576 0.51 2.05 2 01011 3 01000 4 10011 11 8 19 121 64 361 0.11 0.06 0.32 0.43 0.23 1.27 Suma Średnia Max 1122 281 576 1.00 0.25 0.51 4.00 1.00 2.05 4

Selekcja: Każdemu ciągowi kodowemu odpowiada sektor koła ruletki o polu proporcjonalnym do przystosowania. 32% 6% 51% 1 2 3 4 11% <0, 0.51) 1, <0.51, 0.62) 2,... 5

Po selekcji: Nr osobnika Oczekiwana liczba kopii Liczba wylosowanych kopii Osobnik po selekcji Wartość x Przystosowanie f(x)=x 2 Prawd. wylosowania osobnika 1 2.05 2 11000 24 576 0.35 2 0.43 3 0.23 1 0 01011 11000 11 24 121 576 0.07 0.35 4 1.27 1 10011 19 361 0.23 Suma 1634 1.0 Średnia 409 0.25 Max 576 0.35 (x2) 6

Krzyżowanie: p c = 0.9 Osobnik po selekcji 1 1 1 0 0 0 Nr osobnika Partner 2 Punkt krzyżowania 4 1 1 0 0 1 Osobnik po krzyżowaniu Wartość x 25 Przystosowanie f(x)=x 2 625 Prawd. wylosowania osobnika 0.36 2 0 1 0 1 1 3 1 1 0 0 0 4 1 0 0 1 1 1 4 3 4 2 2 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 10 27 16 Suma Średnia Max 100 729 256 1710 428 729 0.06 0.43 0.15 1.0 0.25 0.43 było: 576 7

Mutacja: p m = 0.05 Nr osobnika Osobnik po krzyżowa niu Osobnik po mutacji Mutacja? Wartość x Przystosowanie f(x)=x 2 Prawd. wylosowania osobnika 1 1 1 0 0 1 NNNNN 1 1 0 0 1 25 625 0.35 2 0 1 0 1 0 3 1 1 0 1 1 NNNNN NNNNN 0 1 0 1 0 1 1 0 1 1 10 27 100 729 0.06 0.41 4 1 0 0 0 0 NNNTN 1 0 0 1 0 18 324 0.18 Suma 1778 1.0 Średnia 447 0.25 Max 729 0.41 było: 729 8

ŚREDNIE DOPASOWANIE POPULACJI 500 400 300 200 100 281 409 428 447 0 Początkowo Po selekcji Po krzyżowaniu Po mutacji 800 700 600 500 400 300 200 100 0 MAX WARTOŚĆ FUNKCJI 729 729 576 576 Początkowo Po selekcji Po krzyżowaniu Po mutacji 9

Rozpatrywać można zawsze zadanie maksymalizacji: g (x) = -f (x) min f (x) = max g(x) = max{-f (x)} Zakłada się również, iż funkcja jest dodatnia w całej dziedzinie (selekcja!) max g(x) = max{g(x )+C} (jeśli g(x) jest ograniczona z dołu) 10

25 20 15 10 5 0-5 0 1 2 3 4 5 6-10 -15-20 25 20 15 10 C 5 0-5 0 1 2 3 4 5 6-10 -15-20 11

Wielkości zadawane przed uruchomieniem AG: liczebność populacji, prawdopodobieństwo krzyżowania, prawdopodobieństwo mutacji, inne (zależy od algorytmu). Zazwyczaj wartości dobiera się eksperymentalnie (metodą prób i błędów), indywidualnie dla rozwiązywanego problemu... choć istnieją pewne ogólne zalecenia... 12

KODOWANIE LICZB RZECZYWISTYCH Założenia: f (x 1,...x k ): R k R D i = [a i, b i ] R f (x 1,...x k ) > 0 dla każdego x i D i dokładność do c liczb znaczących po przecinku Wykonanie: 1. Podział D i = [a i, b i ] na r = (b i - a i ) 10 c podprzedziałów. 2. Wyznaczenie najmniejszej liczby całkowitej m: (b i - a i ) 10 c 2 m 1 13

ODKODOWYWANIE: 1.Przekształcenie łańcucha binarnego o długości m na liczbę dziesiętną x ; 2.Obliczenie rzeczywistej wartości liczby: x a i ( b a ) x' i m i 2 1 14

Przykład: f (x) = x sin(10p x) +1 max{ f (x)} Dziedzina funkcji: x [-1, 2] Liczba miejsc po przecinku: c = 6 Na ilu bitach trzeba zakodować liczbę (wyznaczenie m)? 15

a i = -1; b i = 2; c = 6 liczba podprzedziałów: r = (b i - a i ) 10 c = 3 10 6 (b i - a i ) 10 c 2 m 1 [2 (-1)] 10 6 +1 = 3 000 001 2 m 2 097 152 = 2 21 3 000 001 2 22 = 4 194 304 m = 22 16

Mając ciąg bitów: 1100101010010101010101 Odkodowywanie: 1. Przekształcenie łańcucha na liczbę dziesiętną x : x =3319125 2.Obliczenie rzeczywistej wartości liczby: x a i ( b a ) x' i m i 2 1 3 3319125 1 4194304 1 1.374025 a i = -1; b i = 2; c = 6 17

00000000000000000000000 1111111111111111111111 x = 0 x = 4194303 1 0 x 4194304 1-1 x 3 4194303 1 4194304 1 2 a i = -1; b i = 2 18

Jeden z celów zmodyfikowanego kodowania: przybliżenie algorytmu do przestrzeni zadania. Dogodne jest, by dwa punkty leżące blisko siebie w przestrzeni reprezentacji (genotyp) leżały również blisko siebie w przestrzeni zadania (fenotyp). (Nie zawsze prawdziwe przy kodowaniu binarnym) np.: Binarnie Całkowitoliczbowo 0111 7 1000 8 19

KOD GRAYA procedure GrayToBin begin end value : g 1 b 1 : value for k : 2 to m do begin end if g k = 1 then value := NOT value b k : value procedure BinToGray begin end b = b 1, b 2,..., b m liczba binarna g 1 := b 1 for k := 2 to m do g = g 1, g 2,..., g m liczba w kodzie Graya; m długość ciągu kodowego. g k := b k 1 XOR b k a b a XOR b 0 0 0 0 1 1 1 0 1 1 1 0 20

Binarnie 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Kod Graya 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 Zmiana 1 bitu w kodzie powoduje, iż otrzymana liczba ma szansę być liczbą bezpośrednio bliską liczbie przed zmianą. 21

Jednakże jeżeli: 100 zmiennych; dziedzina z zakresu [-500 500]; żądana dokładność 6 miejsc po przecinku; To: długość łańcucha binarnego wynosi 3000; przestrzeń poszukiwań rzędu 10 1000. Dla tak wielkich przestrzeni AG działają słabo... Zasada minimalnego alfabetu: Należy wybrać najmniejszy alfabet, w którym zadanie wyraża się w sposób naturalny. 22

Modyfikacje: łańcuchy o zmiennej długości; struktury bogatsze od łańcuchów (np. macierze); zmodyfikowane operatory; nowe operatory (inwersja, klonowanie, itp.) inna niż binarna reprezentacja zadania; pamięć chromosomu;... zmieniony AG, ulepszony AG, zmodyfikowany AG,... 23

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 nie zmienia się: populacja osobników podlega pewnej transformacji, zaś osobniki starają się przetrwać w procesie ewolucji. 24

ALGORYTMY EWOLUCYJNE 25

Dla danego problemu można określić wiele sposobów kodowania i zdefiniować szereg operatorów (np. zadanie komiwojażera). AE to rozwinięcie i uogólnienie AG Należy jednoznacznie określić: schemat działania AE; metodę selekcji; sposób kodowania; operatory genetyczne; środowisko działania AE. 26

procedure Algorytm_Ewolucyjny begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do begin wybierz T(t) z P(t) (reprodukcja) utwórz O(t) z T(t) oceń O(t) utwórz P(t+1) z O(t) i P(t) (sukcesja) t:=t+1 end end (działanie operatorów ewolucyjnych) T temporary O - offspring 27

SELEKCJA = REPRODUKCJA (preselekcja) + SUKCESJA (postselekcja) procedure Algorytm_Ewolucyjny begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do begin 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) i P(t) (sukcesja) t:=t+1 end end 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). 28

Napór selekcyjny (selektywny nacisk): tendencja algorytmu do poprawiania wartości średniej przystosowania. 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. 29

Superosobniki: Niepożądane w początkowej fazie działania (przedwczesna zbieżność). Pozytywne pod koniec pracy algorytmu (zawężenie przestrzeni poszukiwań). Twarda (brutalna) selekcja wybór do populacji potomnej i powielanie tylko najlepszego osobnika (metoda stochastycznego wzrostu). Przyjęcie jednakowego prawdopodobieństwa - algorytm błądzi przypadkowo (brak selekcji). W AE - metoda pośrednia, zwana miękką selekcją. 30

METODY REPRODUKCJI I SUKCESJI

KOŁO RULETKI jak w AG... SELEKCJA TURNIEJOWA Wybór k osobników (rozmiar turnieju, zwykle k=2) i selekcja najlepszego z grupy. Powtarzane pop_size razy.

SELEKCJA RANKINGOWA Szeregowanie osobników według wartości przystosowania i selekcja zgodnie z kolejnością (wg tzw. linii rangi ): 25 25 20 20 15 15 10 10 5 5 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 Zapobiega powstawaniu superosobników. Pomija informację o względnych ocenach osobników.

SUKCESJA TRYWIALNA (z całkowitym zastępowaniem) Nową populacją bazową staje populacja potomna P(t+1) = O(t) (jak w AG). Najbardziej odporna na przedwczesną zbieżność. Najwolniej prowadzi do rozwiązania optymalnego. Może powodować, że najlepsze rozwiązania z populacji P(t) nie znajdą się w populacji P(t+1). 34

SUKCESJA Z CZĘŚCIOWYM ZASTĘPOWANIEM W nowej populacji bazowej 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 spowodować tendencję do osiągania maksimów lokalnych. Mechanizm usuwania (warianty): usuwanie najgorzej przystosowanych osobników; usuwanie osobników podobnych do potomnych; usuwanie losowo wybranych osobników. 35

SUKCESJA ELITARNA Gwarantuje przeżycie co najmniej najlepszego osobnika poprzez odpowiedni wybór osobników z P(t) do P(t+1) Wzrost wielkości elity powoduje przyspieszenie zbieżności algorytmu. Wzrost wielkości elity powoduje większe prawdopodobieństwo osiągania ekstremów lokalnych. Wartość wielkości elity decyduje o naporze selekcyjnym ( =0 sukcesja trywialna). Najkorzystniej jeden, ew. kilka osobników). 36

TYPOWE OPERATORY KRZYŻOWANIA

Para rodziców para potomków Zwykle: 2 osobniki rodzicielskie dają 2 (sprzężone) osobniki potomne. Pojedynczy osobnik potomny wariant dwuosobniczy para osobników rodzicielskich; wariant globalny jeden wiodący i n pomocniczych osobników rodzicielskich (po jednym dla każdego genu). Krzyżowanie wieloosobnicze: z wieloma osobnikami potomnymi; z jednym osobnikiem potomnym. 38

OPERATORY KRZYŻOWANIA WYMIENIAJĄCEGO Tworzą chromosomy potomne przez składanie ich z wartości genów chromosomów rodzicielskich. Mogą być wykorzystywane zarówno przy kodowaniu binarnym, jak i rzeczywistoliczbowym. Nie dochodzi do modyfikacji wartości genów zawartych w chromosomach krzyżowanych osobników rodzicielskich (tylko ich przetasowanie). 39

KRZYŻOWANIE JEDNOPUNKTOWE (proste) wybór (z rozkładem jednostajnym) liczby c (punkt rozcięcia) ze zbioru {1, 2,..., n -1} n - długość osobnika; Podział chromosomów X 1 i X 2 poddawanych krzyżowaniu na dwie części i ich sklejanie: Y = [X 1 1,..., X 1 c, X 2 c+1,, X 2 n]. W wersji z 2 osobnikami potomnymi drugi potomek: Z = [X 2 1,..., X 2 c, X 1 c+1,, X 1 n] 40

X 1 i X 2 i Y i Z i 3.24 2.22 3.24 2.22-0.22 3.14-0.22 3.14 1.32 7.72 c 1.32 7.72 3.22 1.22 1.22 3.22 1.20 2.40 2.40 1.20 7.23 4.28 4.28 7.23-2.21-2.42-2.42-2.21 41

KRZYŻOWANIE DWUPUNKTOWE wybór 2 punktów rozcięcia c 1 i c 2 ; Podział chromosomów X 1 i X 2 poddawanych krzyżowaniu na 3 części i wymiana środkowej części: Y = [X 1 1,..., X 1 c1, X 2 c1+1,, X 2 c2, X 1 c2+1,, X 1 n] W wersji z 2 osobnikami potomnymi drugi potomek: Z = [X 2 1,..., X 2 c1, X 1 c1+1,, X 1 c2, X 2 c2+1,, X 2 n] c 1 = c 2 krzyżowanie jednopunktowe 42

X 1 i X 2 i Y i Z i 3.24 2.22 3.24 2.22-0.22 3.14-0.22 3.14 1.32 7.72 c 1 1.32 7.72 3.22 1.22 1.22 3.22 1.20 2.40 2.40 1.20 7.23 4.28 c 2 4.28 7.23-2.21-2.42-2.21-2.42 43

KRZYŻOWANIE RÓWNOMIERNE Chromosom potomny: 1 X i Yi 2 X i jeśli wylosowano liczbę <p e ; w przeciwnym razie. p e parametr krzyżowania (typowo p e =0.5) W wersji z 2 osobnikami potomnymi drugi potomek: Z i X X 2 i 1 i jeśli Y i = X 1 i ; w przeciwnym razie. 44

p e =0.5 X 1 i X 2 i wylosowano Y i Z i 3.24 2.22 0.092699 3.24 2.22-0.22 3.14 0.158384-0.22 3.14 1.32 7.72 0.697190 7.72 1.32 3.22 1.22 0.315814 3.22 1.22 1.20 2.40 0.821422 2.40 1.20 7.23 4.28 0.399981 7.23 4.28-2.21-2.42 0.428556-2.21-2.42 45

KRZYŻOWANIE DIAGONALNE Jest krzyżowaniem wieloosobniczym. Tworzy r potomków z rodziców przy c = r - 1 punktach krzyżowania. Osobniki potomne powstają w wyniku składania fragmentów kodu po przekątnej. Dla 3 osobników: Y = [X 1 1,..., X 1 c1, X 2 c1+1,, X 2 c2, X 3 c2+1,, X 3 n] Z = [X 2 1,..., X 2 c1, X 3 c1+1,, X 3 c2, X 1 c2+1,, X 1 n] W = [X 3 1,..., X 3 c1, X 1 c1+1,, X 1 c2, X 2 c2+1,, X 2 n] 46

X 1 X 2 X 3 Y Z W W wersji 1 potomkiem tylko potomek Y 47

OPERATORY KRZYŻOWANIA UŚREDNIAJĄCEGO Są specyficzne dla kodowania rzeczywistoliczbowego; Oddziałują na wartości genów chromosomów poddawanych krzyżowaniu; Wartości każdego genu chromosomów potomnych są liczbami zawierającymi się między największą i najmniejszą wartością genu chromosomów rodzicielskich. 48

KRZYŻOWANIE ARYTMETYCZNE generowanie liczby losowej k z zakresu (0,1) lub jej arbitralny wybór; uśrednianie arytmetyczne wartości genów chromosomów rodzicielskich: Y = X 1 + k (X 2 - X 1 ) W wersji z 2 osobnikami potomnymi drugi potomek: Z = X 2 + X 1 - Y 1 49

X 1 i X 2 i Y i Z i 4.0 2.22 3.11 3.11-0.2 3.14 1.56 1.56 1 7.72 4.36 4.36 3.22 1.21 1.28 2.45 k=0.5 2.25 1.83 2.25 1.83-3.42-5.14-4.28-4.28-2.21 2.43 0.11 0.11 50

KRZYŻOWANIE HEURYSTYCZNE Nie jest krzyżowaniem uśredniającym! Generowanie liczby losowej k z zakresu (0,1); Tworzy się (maksymalnie) jednego potomka: Y = k (X 2 - X 1 ) + X 2 przy założeniu, że f(x 2 ) f(x 1 ) Może utworzyć potomka, który nie jest dopuszczalny, wówczas:» generuje się nową liczbę losową i tworzy nowego potomka;» Jeśli po założonej liczbie prób nie utworzono osobnika dopuszczalnego, to nie tworzy się potomka. 51

X 1 i X 2 i Y i 1.20 1.0 3.22 1.20 1.30 2.0 3.22 3.20 1.31 1.1 3.22 3.40 52

TYPOWE OPERATORY MUTACJI

MUTACJA RÓWNOMIERNA Losowy wybór genu w chromosomie. Przyjęcie przez gen wartości losowej (z rozkładem równomiernym) z zakresu dopuszczalnego dla danej zmiennej: Y = [X 1,..., X k,..., X n ], X k = left(k), right(k) Szczególnie użyteczna we wczesnej fazie działania AE (gdy pożądane jest szerokie przeszukiwanie obszaru poszukiwań optimum). 54

MUTACJA NIERÓWNOMIERNA Należy do grupy tzw. mutacji ze strojeniem. Modyfikacja wartości wybranego genu o wartość pewnej funkcji D(t,y): Y = [X 1,..., X k,..., X n ], gdzie: X k =X k + D (t, right(k)-x k ) gdy wylosowano 0 X k =X k D (t, X k - left(k) gdy wylosowano 1 55

Funkcja D(t,y) przyjmuje wartości z zakresu [0,y]; Prawdopodobieństwo, że D(t,y) jest bliskie zero wzrasta ze wzrostem czasu obliczeń (nie zależy jednak od zachowania się AE). D(t,y) D(t,y) y y 0 1 k 0 1 k Początkowa faza obliczeń Pod koniec działania AE 56

MUTACJA BRZEGOWA Jest odmianą mutacji równomiernej, w której: X k = left(k) gdy wylosowano 0 X k = right(k) gdy wylosowano 1 Szczególnie użyteczna, gdy rozwiązanie optymalne leży na brzegu obszaru dopuszczalnego lub bardzo blisko tego brzegu. 57

MUTACJA GAUSSOWSKA Przyjęcie przez wylosowany gen wartości losowej (z rozkładem Gaussa) o wartości oczekiwanej równej wartości przed zmianą: Y = [X 1,..., X k,..., X n ], X k = X k +N(0,s) 58

KRZYWE ZBIEŻNOŚCI 59

Są wykresem zmian wartości rozwiązania roboczego (średniego, najlepszego, najgorszego) w czasie. Kreśli się je: - dla pojedynczego uruchomienia algorytmu; - dla wielu niezależnych uruchomień. Uśrednione bardziej reprezentatywne, lecz gubi się niektóre informacje o zachowaniu AE w pojedynczych uruchomieniach). 60

Przykładowe krzywe zbieżności (dla 1 uruchomienia algorytmu): wartość f. przystosowania max śr min pokolenie 61

Szczególna krzywa zbieżności: Wykres zmian w kolejnych pokoleniach wartości przystosowania najlepszego osobnika znalezionego od początku działania AE. Po zakończeniu działania AE osobnik ten jest rozwiązaniem wyz. przez pojedyncze uruchomienie AE. 200 wartość f. przystosowania 150 100 50 0 10 20 30 40 50 60 70 80 62 pokolenie