OBLICZENIA EWOLUCYJNE

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

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3

OBLICZENIA EWOLUCYJNE

OBLICZENIA EWOLUCYJNE

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

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

Algorytm genetyczny (genetic algorithm)-

METODY HEURYSTYCZNE 3

OBLICZENIA EWOLUCYJNE

OBLICZENIA EWOLUCYJNE

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

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy genetyczne w optymalizacji

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

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

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

ALGORYTMY GENETYCZNE I EWOLUCYJNE

Generowanie i optymalizacja harmonogramu za pomoca

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

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Obliczenia ewolucyjne - plan wykładu

OBLICZENIA EWOLUCYJNE

Metody Rozmyte i Algorytmy Ewolucyjne

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Techniki optymalizacji

Dobór parametrów algorytmu ewolucyjnego

Algorytmy ewolucyjne NAZEWNICTWO

Zadania laboratoryjne i projektowe - wersja β

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Problemy z ograniczeniami

Algorytmy genetyczne

6. Klasyczny algorytm genetyczny. 1

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

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

Algorytmy ewolucyjne 1

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

Algorytmy genetyczne

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

OBLICZENIA EWOLUCYJNE

Algorytmy genetyczne (AG)

Równoważność algorytmów optymalizacji

OBLICZENIA EWOLUCYJNE

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

Algorytmy genetyczne

Algorytmy ewolucyjne. wprowadzenie

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

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Teoria algorytmów ewolucyjnych

ALGORYTMY EWOLUCYJNE

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

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Efektywność Procedur Obliczeniowych. wykład 5

SZTUCZNA INTELIGENCJA

Algorytmy genetyczne w interpolacji wielomianowej

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Algorytmy genetyczne

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

Aproksymacja funkcji a regresja symboliczna

Na poprzednim wykładzie:

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

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

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

SZTUCZNA INTELIGENCJA

Standardowy algorytm genetyczny

ALGORYTMY GENETYCZNE ćwiczenia

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

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

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

Algorytmy ewolucyjne (2)

Teoria informacji i kodowania Ćwiczenia

Metody przeszukiwania

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

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

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

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

Techniki ewolucyjne - algorytm genetyczny i nie tylko

Optymalizacja. Wybrane algorytmy

Wybrane podstawowe rodzaje algorytmów

Strategie ewolucyjne (ang. evolution strategies)

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

ALGORYTMY GENETYCZNE

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Obliczenia Naturalne - Algorytmy genetyczne

SZTUCZNA INTELIGENCJA

Kodowanie informacji

OBLICZENIA EWOLUCYJNE

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

ALHE Z11 Jarosław Arabas wykład 11

Optymalizacja ciągła

Temat: Algorytm kompresji plików metodą Huffmana

Kodowanie informacji. Kody liczbowe

1.1. Pozycyjne systemy liczbowe

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

Algorytmy ewolucyjne `

Transkrypt:

OBLICZENIA EWOLUCYJNE FITNESS F. START COMPUTATION FITNESS F. COMPUTATION INITIAL SUBPOPULATION SENDING CHROM. TO COMPUTERS chromosome AND RECEIVING FITNESS F. wykład VALUE 3fitness f. value EVOLUTIONARY OPERATORS MIGRATION PHASE FITNESS F. COMPUTATION communication with other subpopulations SELECTION YES TERMINATION CONDITION NO END 1

LICZEBNOŚĆ POPULACJI 2

Istotny parametr AG... Możliwości regulacji liczebności populacji: Metaalgorytmy genetyczne sterujące parametrami innego AG; Skorzystanie z różnych algorytmów ustalania liczebności populacji ; AG ze zmienną liczebnością populacji. 3

procedure AGzZLP begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek zakończenia) do begin t:=t+1 podnieś wiek każdego osobnika o 1 zmień P(t) (utwórz P (t)) oceń P (t) usuń osobniki o wieku większym od ich czasużycia end end 4

Populacja pomocnicza P (t): pop_size (t) = ρ pop_size(t) ρ współczynnik reprodukcji procedure AGzZLP begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek zakończenia) do begin t:=t+1 podnieś wiek każdego osobnika o 1 zmień P(t) oceń P (t) usuń osobniki o wieku większym od ich czasużycia end end Prawdopodobieństwo wyboru do P (t) niezależne od dopasowania osobnika. Krzyżowanie i mutacja tylko w populacji P (t); Czas życia przypisywany jest jednorazowo każdemu osobnikowi; Wiek osobnika rośnie od 0; Śmierć osobnika gdy wiek przekracza czas jego życia. 5

Liczebność populacji po jednej iteracji: pop_size(t+1) = pop_size(t) + pop_size (t) D(t) D(t) liczba osobników, które wyginęły w pokoleniu t. Ustalanie czasu życia osobników: Wzmacnianie osobników z wartością dopasowania powyżej średniej i osłabianie gorszych od średniej; Dostrajanie liczebności populacji do bieżącego etapu poszukiwań (szczególnie ochrona przed wykładniczym wzrostem populacji). 6

Przykład: ( 2 2 2 ) 2 sin x + y 0.5 f ( x) = 0.5 + 2 2 1+ 0.001( x + y ) -100 x, y 100 2 1.5 1 0.5 0-40 102030-30 -20-10 0 10 20-30-20-100 30 40-40 40 7

2 350 1.5 f śr 300 250 1 200 150 0.5 100 pop_size 50 0 0 10 20 30 40 0 Numer pokolenia 8

METODY UWZGLĘDNIANIA OGRANICZEŃ 9

Np. Problem komiwojażera: Kodowanie klasyczne: (W genie danego miasta zapisany jest numer miasta docelowego). Kodowanie permutacyjne: (W kolejnych genach zapisane są kolejne miasta) Dla kodowania klasycznego: 10

1. Metoda kary Kara stała (w tym kara śmierci); Kara zależna od stopnia naruszenia ograniczenia (zależność liniowa, logarytmiczna, wykładnicza itp). 2. Algorytmy naprawy Wady: - korygowanie rozwiązań niedopuszczalnych. znaczne wydłużenie czasu obliczeń; algorytm naprawy musi być dopasowany do konkretnego zadania; proces korygowania może być równie złożony, jak zadanie początkowe. 11

3. Użycie dekoderów Dekodery przekształcenia reprezentacji gwarantujące (lub zwiększających prawdopodobieństwo) generowania osobników spełniających ograniczenia. Wady: wysokie wymagania obliczeniowe; nie wszystkie ograniczenia mogą być w ten sposób uwzględnione; konieczność stosowania dedykowanych dekoderów. 12

Zadanie załadunku (plecakowe) Istnieje cały szereg zadań załadunku (zadań plecakowych). Dany jest zbiór rzeczy o nadanych rozmiarach i wartościach; Należy wybrać jeden lub wiele rozłącznych podzbiorów tak, by suma rozmiarów w każdym podzbiorze nie przekroczyła zadanego ograniczenia (pojemność plecaka) i by suma wartości była maksymalna. Wiele zadań z tej klasy jest NP-trudnych. 13

PROBLEMY NP Problem NP (nondeterministic polynomial): problem decyzyjny, dla którego rozwiązanie można zweryfikować w czasie wielomianowym. Problem P 0 jest NP-zupełny, gdy: 1.P 0 należy do klasy NP, 2.Każdy problem z klasy NP da się sprowadzić w czasie wielomianowym do problemu P 0. Problem NP-trudny spełnia tylko punkt 2. Problemy NP-zupełne maja postać pytania czy istnieje. Problemy NP-trudne to zwykle ich optymalizacyjne wersje ( znajdź najmniejszy ). 14

PROBLEMY NP więcej: http://cpp0x.pl/kursy/teoria-w-informatyce/zlozonosc-obliczeniowa/klasy-problemow-np/430 15

Zero-jedynkowe zadanie załadunku Wybierz wektor binarny x = x[1],..., x[n] spełniający warunki: n i= 1 x[ i] W[ i] n i= 1 C P( x) = x[ i] P[ i] = max gdzie: W[i] zbiór wag (rozmiarów); P[i] zbiór zysków; C pojemność. 16

Wylosowano 3 zbiory danych: W[i] przypadkowe ([1,ν]) o rozkładzie 1. Nieskorelowane: jednostajnym; P[i] przypadkowe ([1,ν]) o rozkładzie jednostajnym. 2. Słabo skorelowane: W[i] zbiór wag (rozmiarów); P[i] zbiór zysków; P[i] = W[i] + przypadkowe ([-r, r]) o rozkładzie jednostajnym. 2. Silnie skorelowane: P[i]= W[i] + r. Przyjęto parametry: ν = 10, r = 5 Większa korelacja to mniejsza wartość różnicy: max(p[i]/w[i]) - min(p[i]/w[i]), i = 1...n co może powodować większe problemy przy optymalizacji. 17

Rozpatrzono 2 rodzaje zadania załadunku: (Michalewicz) Z ograniczoną pojemnością (C 1 ) (Rozwiązanie optymalne zawiera bardzo mało artykułów). Ze średnią pojemnością (C 2 ) (Rozwiązanie optymalne zawiera ok. połowy artykułów). Rodzaje użytych algorytmów: Algorytmy z funkcją kary (A p [k]); Algorytmy z metodami naprawy (A r [k]); Algorytmy z dekoderami (A d [k]). k numer algorytmu 18

Ad. 1 ALGORYTMY Z FUNKCJĄKARY ( A p [k]) Wektor x jest reprezentowany przez łańcuch binarny o długości n. Artykuł i-ty jest ładowany do plecaka tylko wtedy, gdy: x[i]=1 Dopasowanie: n eval( x) = x[ i] P[ i] Pen( x) i= 1 gdzie: Pen(x) funkcja kary: a) Pen(x) = 0 dla rozw. dopuszczalnych; b) Pen(x) > 0 dla pozostałych rozwiązań. 19

Wzrost kary (ze stopniem przekroczenia ograniczenia): a. logarytmiczny: n Ap[1]: Pen( x) = log2 1 + ρ x[ i] W[ i] C i= 1 b. liniowy: n Ap[2] : Pen( x) = ρ x[ i] W [ i] C i= 1 c. kwadratowy: n Ap[3] : Pen( x) = ρ x[ i] W [ i] C i= 1 ρ = max{p[i]/w[i]}, i = 1...n 2 20

Ad. 2 ALGORYTMY Z MET. NAPRAWY ( A r [k] ) Wektor x jest reprezentowany przez łańcuch binarny o dł. n. Artykuł i-ty jest ładowany do plecaka tylko wtedy, gdy x[i]=1. Dopasowanie: n eval( x) = x '[ i] P[ i] i= 1 Można stosować różne metody naprawy. gdzie: x naprawiona wersja wektora x. Zastosowane algorytmy różnią jedynie procedurą wybierającą artykuł do wyjęcia z plecaka: A r [1] naprawa losowa; A r [2] naprawa zachłanna (Wszystkie artykuły w plecaku są ustawione w porządku malejącym względem stosunków zysków do wagi. Procedura wyboru wybiera ostatni artykuł na liście). 21

Ad. 3 ALGORYTMY Z DEKODERAMI ( A d [k] ) Wektor x jest reprezentowany przez łańcuch całkowito-liczbowy o długości n, gdzie i-ty składnik wektora to liczba z zakresu [1, n i + 1]; Artykuł i-ty jest ładowany do plecaka tylko wtedy, gdy znajduje się na bieżącej liście. Reprezentacja porządkowa korzysta z listy L artykułów, dekodowanie za pomocą wektora następuje poprzez wybór artykułów z bieżącej listy, np: dla listy: L = (1, 2, 3, 4, 5, 6) dekodowanej za pomocą wektora: < 4, 3, 4, 1, 1, 1 > otrzymujemy ciąg artykułów : 4,3,6,1,2,5 22

A d [1] dekodowanielosowe Procedura dekodowania tworzy listę L artykułów takich, że ich kolejność na liście odpowiada kolejności artykułów w zbiorze wejściowym (który jest przypadkowy). A d [2] dekodowaniezachłanne Procedura dekodowania tworzy listę L artykułów w porządku malejącym względem stosunków zysków do wagi. Dekodowanie wektora x następuje na podstawie uporządkowanego zbioru. Parametry programu: liczebność populacji pop_size = 100 (stała); p m = 0.05; p c = 0.65; liczba pokoleń gen_number = 500. Wyniki średnia z 25 obliczeń 23

Korelacja BRAK SŁABA MOCNA Liczba artykułów 100 250 500 100 250 500 100 250 Typ pojemności C 1 (ograniczona) C 2 (średnia) A p [1] * 398 A p [2] * 341 A p [3] * 243 Metoda A r [1] C 1 * * * 123 136 58 60 C 2 920 837 826 842 894 867 858 C 1 * * * 64 156 61 61 C 2 1712 1571 1565 1577 1663 1603 1597 C 1 * * * 38 51 38 38 C 2 409 327 328 330 358 334 332 C 1 * * * 44 74 43 45 C 2 921 791 789 798 852 804 799 C 1 * * * 45 94 43 45 C 2 1729 1532 1532 1539 1624 1548 1574 C 1 * * * 62 90 60 60 C 2 742 565 565 567 577 576 576 C 1 * * * 66 117 65 64 C 2 1632 1340 1343 1346 1364 1366 1359 63 345 A r [2] 94 371 A d [1] 64 355 A d [1] 60 353 500 C 1 * * * 68 120 67 64 C 2 3052 2704 2701 2710 2748 2738 2744 24

Wnioski: Dla zadań ze średnią pojemnością algorytm A p [1] (z logarytmiczną funkcją kary) jest najskuteczniejszy; Dla zadań z ograniczoną pojemnością zachłanna metoda naprawy (A r [2]) jest najskuteczniejsza. 25

BINARNIE CZY INACZEJ? 26

Binarnie 00000 00001... 11001 11010... 11111 Niebinarnie A B... Z 1... 6 Ciąg binarny Ciąg niebinarny Wartość Dopasowanie 11000 Y 24 576 01011 L 11 121 01000 I 8 64 10011 T 19 361 27

Porównanie liczby schematów: jednakowa liczba osobników; ciągi kodowe o różnych długościach. By liczba punktów w obu przestrzeniach była jednakowa: l długość osobnika zakodowanego binarnie, l dł. osobnika zakodowanego w alfabecie k-elementowym tu: 2 l =k l 2 5 =k 1 k = 32 28

Liczba schematów: 3 l dla alfabetu dwójkowego (k+1) l dla alfabetu k-elementowego. tu: 3 5 = 243 dla alfabetu dwójkowego (32+1) 1 = 33 dla alfabetu k-elementowego. Kod dwójkowy charakteryzuje się największą ze wszyst-kich liczbą schematów przypadającą na bit informacji. 29

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

Zasada znaczących cegiełek: Kod należy dobierać w taki sposób, by schematy niskiego rzędu i o małej rozpiętości wyrażały własności zadania oraz pozostawały względnie niezależne od schematów na pozycjach ustalonych. Zasada minimalnego alfabetu: Należy wybrać najmniejszy alfabet, w którym zadanie wyraża się w sposób naturalny. 31

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 32

KOD GRAYA procedure GrayToBin begin value := g 1 b 1 := value for k := 2 to m do begin if g k = 1 then value := NOT value b k := value end end procedure BinToGray begin end b = b 1, b 2,..., b m liczba binarna g 1 := b 1 for k := 2 to m do g k := b k 1 XOR b k 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 33

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, że otrzymana liczba ma szansę być liczbą bezpośrednio bliską liczbie przed zmianą. 34

KODOWANIE CHROMOSOMU: Kodowanie (reprezentacja danych) to zbiór stanów z przestrzeni zadania przedstawiony w postaci skończonego alfabetu znaków. Podział chromosomów uwzględniający strukturę: - standardowe (jak w klasycznym AG); - permutacyjne (np. problem komiwojażera - TSP); - drzewiaste; - macierzowe. 35

KODOWANIE CHROMOSOMU: Podział chromosomów uwzględniający wartości: - binarne (np. zadanie plecakowe); - całkowitoliczbowe (np. TSP); - zmiennopozycyjne (typowe inżynierskie zadania optymalizacji); - tekstowe. 36

Test: porównanie wydajności kodowania binarnego i zmiennopozycyjnego. Zadanie sterowania: Ograniczenia: gdzie: N 1 2 2 2 J = min xn + ( xk + uk ) k = 0 x = + x + u k 1 k k, k = 0, 1,..., N -1 x 0 stan początkowy; x k R stan; u R N poszukiwany wektor sterowania. 37

Chromosom wektor sterowania u Dziedzina: -200, 200 dla każdego u i. Przyjęto: x 0 =100, N=45 (u = u 0,..., u 44 ). Optimum: J* = 2 0 0 K h tu: J* = 16180.4 38

Wersja binarna: Każdy element wektora chromosomu zakodowano za pomocą tej samej liczby bitów; Każdy chromosom jest wektorem składającym się z N słów; Nie pozwala na zwiększenie dokładności bez zwiększenia liczby bitów; Przy wzroście rozmiarów dziedziny dokładność maleje przy konieczności zachowania stałej liczby bitów. 39

Wersja zmiennopozycyjna: Każdy chromosom to wektor liczb zmiennopozycyjnych o długości zgodnej z wektorem rozwiązania; Operatory określono tak, by każdy element chromosomu mieścił się w wymaganym zakresie. Pozwala uwzględnić bardzo duże dziedziny jak również przypadki o nieznanych dziedzinach; Łatwiej jest zaprojektować specjalistyczne narzędzia ułatwiające postępowanie w przypadku nietrywialnych ograniczeń. 40

Porównywalność algorytmów: Stała liczebność populacji (60 osobników) Stała liczba pokoleń (20 000) W reprezentacji binarnej użyto 30 bitów do zakodowania jednej zmiennej, co daje: 30*45=1350 bitów w chromosomie. Mimo użycia różnych 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). 41

Wyniki: L. elementów (N) Czas CPU [s] zmiennopoz. binarnie 5 184 1080 15 398 3123 25 611 5137 35 823 7177 45 1072 9221 Czas [s] 10000 8000 6000 4000 2000 0 zmiennopoz. binarnie l. elem. (N) 5 15 25 35 45 42

Wnioski z testów: Reprezentacja zmiennopozycyjna jest szybsza. Reprezentacja zmiennopozycyjna jest stabilniejsza (daje bardziej zbliżone wyniki w różnych przebiegach). Reprezentacja zmiennopozycyjna jest dokładniejsza (szczególnie w większych dziedzinach). Działanie algorytmów (szybkość, zbieżność) można poprawić wprowadzając specjalne operatory. W przypadku kodowania binarnego dla dużych dziedzin i wymaganej większej dokładności różnice w czasach obliczeń powiększają się. 43

ZADANIE OPTYMALIZACJI MODYFIKACJA PROBLEMU MODYFIKACJA ALGORYTMU ZMODYFIKOWANY PROBLEM ALGORYTM EWOLUCYJNY KLASYCZNY AG Zastosowanie AE ROZWIĄZANIE OPTYMALNE 44

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

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

47

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ść (np. strategie ewolucyjne stosowane do zadań regularnych). Zwykle jednak tylko uzyskujemy interesujące wyniki... 48

Równoległość AG i AE: W świecie, w którym algorytmy sekwencyjne są przerabiane na równoległe za pomocą niezliczonych sztuczek i łamańców, jest niemałą ironią, że AG (algorytmy wysoko równoległe) są przerabiane na sekwencyjne za pomocą równie nienaturalnych sztuczek i wykrętów Goldberg, 1995 Rozproszony AE znaczące przyspieszenie obliczeń 49

Rozproszony AE, autor: Wacław KUŚ: START... POPULACJA POCZĄTKOWA FEM FEM (F. CELU) FEM OPERATORY EWOLUCYJNE chromosom f. celu PROCES ZARZĄDZAJĄCY MIGRACJA N SELEKCJA WARUNEK ZATRZYMANIA T komunikacja z innymi podpopulacjami STOP Max liczba procesorów: (l. podpopulacji) (l. osobników) 50

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 i operatory genetyczne; środowisko działania AE. 51

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) (działanie operatorów ewolucyjnych) oceń O(t) utwórz P(t+1) z O(t) i P(t) (sukcesja) t:=t+1 end T temporary - tymczasowy end O offspring - potomny 52

REPRODUKCJA (preselekcja) SELEKCJA = + 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). 53

METODY REPRODUKCJI 54

R. PROPORCJONALNA jak w AG... 55

R. TURNIEJOWA Wybór k osobników (rozmiar turnieju, zwykle k=2) i selekcja najlepszego z grupy. Powtarzane pop_size razy. 56

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