METODY HEURYSTYCZNE 3

Podobne dokumenty
METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3

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

ALGORYTMY GENETYCZNE I EWOLUCYJNE

Optymalizacja parametryczna (punkt kartezjańskim jest niewypukła).

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

OBLICZENIA EWOLUCYJNE

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

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

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

OBLICZENIA EWOLUCYJNE

OBLICZENIA EWOLUCYJNE

OBLICZENIA EWOLUCYJNE

Algorytm genetyczny (genetic algorithm)-

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

OBLICZENIA EWOLUCYJNE

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

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

OBLICZENIA EWOLUCYJNE

Algorytmy genetyczne w optymalizacji

OBLICZENIA EWOLUCYJNE

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

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytmy genetyczne

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

Strategie ewolucyjne (ang. evolu4on strategies)

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Obliczenia ewolucyjne - plan wykładu

Algorytmy genetyczne

Metody Rozmyte i Algorytmy Ewolucyjne

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy ewolucyjne NAZEWNICTWO

ALGORYTMY GENETYCZNE ćwiczenia

Algorytmy ewolucyjne. wprowadzenie

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

ALHE Z11 Jarosław Arabas wykład 11

Algorytmy genetyczne

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

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

6. Klasyczny algorytm genetyczny. 1

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Standardowy algorytm genetyczny

Na poprzednim wykładzie:

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

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

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

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

Algorytmy genetyczne

Techniki optymalizacji

Metody przeszukiwania

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA

ALGORYTMY GENETYCZNE

Techniki ewolucyjne - algorytm genetyczny i nie tylko

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Równoważność algorytmów optymalizacji

Algorytmy genetyczne (AG)

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

Algorytmy ewolucyjne 1

Obliczenia Naturalne - Algorytmy genetyczne

ALGORYTMY EWOLUCYJNE

Zadania laboratoryjne i projektowe - wersja β

Teoria algorytmów ewolucyjnych

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

Dobór parametrów algorytmu ewolucyjnego

Algorytmy ewolucyjne (2)

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

Strategie ewolucyjne (ang. evolution strategies)

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

SZTUCZNA INTELIGENCJA

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

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Algorytmy ewolucyjne Część II

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

przetworzonego sygnału

ALGORYTMY GENETYCZNE ALGORYTMY GENETYCZNE METODY HEURYSTYCZNE 3. METODY ANALITYCZNE kontra AG METODY ANALITYCZNE SCHEMAT DZIAŁANIA ANIA AG:

Optymalizacja. Wybrane algorytmy

Automatyczny dobór parametrów algorytmu genetycznego

Algorytmy ewolucyjne `

ALHE Jarosław Arabas Metaheurystyki w Rn Ewolucja różnicowa EDA CMAES Rój cząstek

5. Algorytm genetyczny przykład zastosowania

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Wstęp do Sztucznej Inteligencji

Generowanie i optymalizacja harmonogramu za pomoca

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie informacji. Kody liczbowe

Algorytmy metaheurystyczne podsumowanie

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Podstawy Informatyki

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy ewolucyjne (3)

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

Aproksymacja funkcji a regresja symboliczna

Transkrypt:

METODY HEURYSTYCZNE wykład 3 1

ALGORYTMY GENETYCZNE 2

SCHEMAT DZIAŁANIA ANIA AG: procedure algorytm_genetyczny begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do begin t:=t+1 wybierz P(t) z P(t-1) (selekcja) zmień P(t) (działanie operatorów genetycznych) oceń P(t) end end 3

METODY ANALITYCZNE kontra AG METODY ANALITYCZNE ZALETY WADY ścisłe rozwiązanie zanie wysoka szybkość działania ania Funkcja celu musi być ciągła Hesjan funkcji celu musi być dodatnio określony Istnieje duże ryzyko zbiegnięcia się algorytmu do optimum lokalnego Obliczenia rozpoczynają się z jednego punktu ograniczając obszar poszukiwań optimum Wybór punktu startowego wpływa na zbieżno ność metody 4

ALGORYTMY GENETYCZNE ZALETY WADY METODY ANALITYCZNE kontra AG jedyną informacją potrzebną do działania ania jest wartość funkcji celu praca na populacji dopuszczalnych rozwiąza zań Stosunkowo wolne Trudności z precyzyjnym znalezieniem optimum przeszukiwanie wielokierunkowe 5

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

Ścisłe e rozwiązanie 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 7

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 11 8 121 64 0.11 0.06 0.43 0.23 4 10011 19 361 0.32 1.27 Suma Średnia Max 1122 281 576 1.00 0.25 0.51 4.00 1.00 2.05 8

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,... 9

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 1 01011 11 121 0.07 3 0.23 0 11000 24 576 0.35 4 1.27 1 10011 19 361 0.23 Suma 1634 1.0 Średnia 409 0.25 Max 576 0.35 (x2) 10

Krzyżowanie: p c = 0.9 Osobnik po selekcji 1 11000 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 01011 3 11000 4 10011 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 11

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 01010 NNNNN 0 1 0 1 0 10 100 0.06 3 1101 1 NNNNN 1 1 0 1 1 27 729 0.41 4 110000 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 12

Ś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 13

Rozpatrywać można zawsze zadanie maksymalizacji: g (x)) = -f (x) min f (x) = max g(x) = max{-f (x)} Zakłada ada się również,, iż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) 14

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 15

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

KODOWANIE LICZB RZECZYWISTYCH Założenia 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 adność do c liczb znaczących 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 - a ) 10 c 2 m 1 i i 17

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 18

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

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

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; 2 c = 6 21

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

Przykład: f (x)) = 21.5 + x sin(4πx ) 1 1 + x sin(20πx ) 2 2 max{f (x 1, x 2 )} x [-3.0, 12.1] 1 x [4.1, 2 5.8] c 1 = c 2 = 4 23

x 1 : r ( 1 = (b 1 - a 1 ) 10 c = 15.1 10 10 4 15.1 10 10 4 2 m 1 131 032 = 2 17 151 001 2 18 = 262 144 m = 18 1 x 2 : r ( 2 = (b 2 - a 2 ) 10 c = 1.7 10 10 4 1.7 10 10 4 2 m 1 16 384 = 214 17 001 215 = 32 768 m 2 = 15 m = m 1 + m 2 = 33 11001010100101011001110101010101 24

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) leżały y równier wnież blisko siebie w przestrzeni zadania (fenotyp). (Nie zawsze prawdziwe przy kodowaniu binarnym) np.: Binarnie Całkowitoliczbowo 0111 7 1000 8 25

KOD GRAYA procedure GrayToBin begin value := g 1 b 1 := value for k := 2 to m do begin if g k = 1thenvalue := NOT value b k := value end end procedure BinToGray begin g 1 := b 1 for k := 2 to m do g k := b k 1 XOR b k end 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 0 0 0 0 1 1 1 0 1 1 1 0 26

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

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

KODOWANIE LOGARYTMICZNE Stosowane w celu zmniejszenia długod ugości łańcucha binarnego. [ b b bin] = ( 1) 1 2 b 1 bit znaku wykładnika funkcji wykładniczej adniczej; b 2 bit znaku funkcji wykładniczej adniczej; b b1 2 ( 1) [ bin] 10 bin reprezentacja wykładnika funkcji wykładniczej [bin] 10 wartość dziesiętna liczby zakodowanej e zakodowanej binarnie. 1 10110 = 0 ( 1) [ 110] 10 = 6 = 0.00247875 [ ] ( 1) e e 2 0 1 ( 1) [ 01 1 ] 10 3 1011 = e = e = 20.08553 [ 0 ] ( 1) 692 29

Za pomocą 5 bitów w możliwe jest zakodowanie liczb z zakresu [-e 7, e 7 ] (w kodowaniu binarnym [0, 31]). Dalszą modyfikacją jest zastosowanie KODOWANIA ZMIENNOPOZYCYJNEGO. 30

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,... 31

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. 32

ALGORYTMY EWOLUCYJNE 33

Dla danego problemu można określi lić wiele sposobów kodowania i zdefiniować szereg operatoró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; operatory genetyczne; środowisko działania ania AE. 34

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 35

SELEKCJA = REPRODUKCJA SUKCESJA + (preselekcja) (postselekcja) procedure Algorytm_Ewolucyjny begin t:=0 wybierz populację początkow tkową P(t) oceń P(t) while (not warunek_zakończenia 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 aniu operatorów genetycznych tworząc c populację potomną O(t). Sukcesja tworzenie nowej populacji bazowej P(t+1) z populacji potomnej O(t) oraz starej populacji bazowej P(t). 36

Superosobniki: Niepożą żądane w początkowej fazie działania ania (przedwczesna zbieżno ność). Pozytywne pod koniec pracy algorytmu (zawęż ężenie przestrzeni poszukiwań). Napór 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. 37

Twarda (brutalna) selekcja wybór r do populacji potomnej i powielanie tylko najlepszego osobnika (metoda stochastycznego wzrostu). Przyjęcie jednakowego prawdopodobieństwa - algorytm błąb łądzi przypadkowo (brak selekcji). W AE - metoda pośrednia, zwana miękką selekcją. 38

METODY REPRODUKCJI I SUKCESJI 39

KOŁO 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. 40

SELEKCJA RANKINGOWA Szeregowanie osobników w wedługw wartości przystosowa- nia i selekcja zgodnie z kolejności 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. 41

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 ność. Najwolniej prowadzi do rozwiązania zania optymalnego. Może e powodować, że e najlepsze rozwiązania zania z populacji P(t) nie znajdą się w populacji P(t+1). 42

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ć tendencję do osiągania maksimów lokalnych. Mechanizm usuwania (warianty): usuwanie najgorzej przystosowanych osobników; usuwanie osobników w podobnych do potomnych; usuwanie losowo wybranych osobników. 43

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 (δ=0 sukcesja trywialna). Najkorzystniej jeden, ew. kilka osobników). 44

TYPOWE OPERATORY KRZYŻOWANIA 45

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

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

KRZYŻOWANIE JEDNOPUNKTOWE (proste) wybór r (z rozkładem jednostajnym) liczby c (punkt rozcięcia) 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] 48

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 49

KRZYŻOWANIE DWUPUNKTOWE wybór r 2 punktów w rozcięcia cia c 1 i c 2 ; Podział chromosomów X 1 i X 2 poddawanych krzyżo- waniu 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 50

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 51

KRZYŻOWANIE RÓWNOMIERNER 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. 52

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 53

KRZYŻOWANIE DIAGONALNE Jest krzyżowaniem wieloosobniczym. Tworzy r potomków w z r rodziców w przy c = r - 1 punktach krzyżowania. Osobniki potomne powstają w wyniku składania fragmentów 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] 54

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

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

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 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 57

X 1 X 2 Y Z 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.28 k=0.5 2.25 2.25 1.21 2.45 1.83 1.83-3.42-5.14-4.28-4.28-2.21 2.43 0.11 0.11 X 2 Rodzic 2 Linia krzyżowania Potomek 2 Potomek 1 k=0.25 Rodzic 1 X 1 58

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

X 1 X 2 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 X 2 Potomek Rodzic 2 Linia krzyżowania Rodzic 1 X 1 60

TYPOWE OPERATORY MUTACJI 61

MUTACJA RÓWNOMIERNAR Losowy wybór 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 u we wczesnej fazie działania ania AE (gdy pożą żądane jest szerokie przeszukiwanie obszaru poszukiwań optimum). 62

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

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

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

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