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

Podobne dokumenty
OBLICZENIA EWOLUCYJNE

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3

OBLICZENIA EWOLUCYJNE

OBLICZENIA EWOLUCYJNE

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

Algorytm genetyczny (genetic algorithm)-

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

OBLICZENIA EWOLUCYJNE

METODY HEURYSTYCZNE 3

OBLICZENIA EWOLUCYJNE

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

Algorytmy genetyczne w optymalizacji

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

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

Generowanie i optymalizacja harmonogramu za pomoca

ALGORYTMY GENETYCZNE I EWOLUCYJNE

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

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

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

Obliczenia ewolucyjne - plan wykładu

Metody Rozmyte i Algorytmy Ewolucyjne

Dobór parametrów algorytmu ewolucyjnego

Algorytmy ewolucyjne NAZEWNICTWO

Zadania laboratoryjne i projektowe - wersja β

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Problemy z ograniczeniami

OBLICZENIA EWOLUCYJNE

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Techniki optymalizacji

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

Algorytmy genetyczne

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy genetyczne (AG)

Równoważność algorytmów optymalizacji

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

Algorytmy genetyczne

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

Algorytmy ewolucyjne. wprowadzenie

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Teoria algorytmów ewolucyjnych

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

OBLICZENIA EWOLUCYJNE

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

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

OBLICZENIA EWOLUCYJNE

Algorytmy genetyczne

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

Na poprzednim wykładzie:

ALGORYTMY EWOLUCYJNE

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

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

Standardowy algorytm genetyczny

ALGORYTMY GENETYCZNE ćwiczenia

Aproksymacja funkcji a regresja symboliczna

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

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

Teoria informacji i kodowania Ćwiczenia

Algorytmy ewolucyjne (2)

Metody przeszukiwania

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

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

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

SZTUCZNA INTELIGENCJA

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

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Wybrane podstawowe rodzaje algorytmów

Strategie ewolucyjne (ang. evolution strategies)

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

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Obliczenia Naturalne - Algorytmy genetyczne

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

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

Optymalizacja. Wybrane algorytmy

ALHE Z11 Jarosław Arabas wykład 11

Optymalizacja ciągła

Kodowanie informacji. Kody liczbowe

1.1. Pozycyjne systemy liczbowe

Algorytmy ewolucyjne `

Kodowanie informacji

Automatyczny dobór parametrów algorytmu genetycznego

KARTA MODUŁU KSZTAŁCENIA

Wstęp do Sztucznej Inteligencji

SZTUCZNA INTELIGENCJA

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Transkrypt:

OBLICZENIA EWOLUCYJNE FITNESS F. START COMPUTATION FITNESS F. COMPUTATION INITIAL SUBPOPULATION SENDING CHROM. TO COMPUTERS chromosome AND RECEIVING FITNESS F. EVOLUTIONARY OPERATORS VALUE fitness f. value wykład 3 communication FITNESS F. COMPUTATION with other subpopulations MIGRATION PHASE SELECTION LICZEBNOŚĆ POPULACJI YES TERMINATION CONDITION NO END 1 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. procedure AGzZLP t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek zakończenia) do 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 3 4 Populacja pomocnicza P (t): pop_size (t) = ρ pop_size(t) ρ współczynnik reprodukcji procedure AGzZLP t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek zakończenia) do 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 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. 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 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 1

Przykład: 2 350-100 x, y 100 1.5 f śr 300 250 1 200 150 0.5 100 0 0 10 20 30 Numer pokolenia pop_size 50 0 40 7 8 METODY UWZGLĘDNIANIA OGRANICZEŃ 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: 9 10 1. Metoda kary 3. Użycie dekoderów Kara stała (w tym kara śmierci); Kara zależna od stopnia naruszenia ograniczenia (zależność liniowa, logarytmiczna, wykładnicza itp). Dekodery przekształcenia reprezentacji gwarantujące (lub zwiększających prawdopodobieństwo) generowania osobników spełniających ograniczenia. 2. Algorytmy naprawy - korygowanie rozwiązań niedopuszczalnych. Wady: 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 Wady: wysokie wymagania obliczeniowe; nie wszystkie ograniczenia mogą być w ten sposób uwzględnione; konieczność stosowania dedykowanych dekoderów. 12 2

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 Zero-jedynkowe zadanie załadunku Wybierz wektor binarny x = x[1],, x[n] spełniający warunki: gdzie: W[i] zbiór wag (rozmiarów); P[i] zbiór zysków; C pojemność. 15 16 Wylosowano 3 zbiory danych: W[i] przypadkowe ([1,ν]) o rozkładzie jednostajnym; 1. Nieskorelowane: W[i] zbiór wag (rozmiarów); P[i] zbiór zysków; P[i] przypadkowe ([1,ν]) o rozkładzie jednostajnym. 2. Słabo skorelowane: 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 = 1n co może powodować większe problemy przy optymalizacji. 17 Rozpatrzono 2 rodzaje zadania załadunku: (Michalewicz) Z ograniczoną pojemnością ( ) (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 3

Ad. 1 ALGORYTMY Z FUNKCJĄKARY ( A p [k] ) Wzrost kary (ze stopniem przekroczenia ograniczenia): Wektor x jest reprezentowany przez łańcuch binarny o długości n. Artykuł i-ty jest ładowany do plecaka tylko wtedy, gdy: Dopasowanie: x[i]=1 a. logarytmiczny: b. liniowy: c. kwadratowy: gdzie: Pen(x) funkcja kary: a) Pen(x) = 0 dla rozw. dopuszczalnych; b) Pen(x) > 0 dla pozostałych rozwiązań. ρ = max{p[i]/w[i]}, i = 1n 19 20 Ad. 2 ALGORYTMY Z MET. NAPRAWY ( A r [k] ) Ad. 3 ALGORYTMY Z DEKODERAMI ( A d [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: 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 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 500 Typ pojemności (ograniczona) C 2 (średnia) A p [1] * 398 A p [2] * 341 A p [3] * 243 Metoda A r [1] * * * 123 136 58 60 C 2 920 837 826 842 894 867 858 * * * 64 156 61 61 C 2 1712 1571 1565 1577 1663 1603 1597 * * * 38 51 38 38 C 2 409 327 328 330 358 334 332 * * * 44 74 43 45 C 2 921 791 789 798 852 804 799 * * * 45 94 43 45 C 2 1729 1532 1532 1539 1624 1548 1574 * * * 62 90 60 60 C 2 742 565 565 567 577 576 576 * * * 66 117 65 64 C 2 1632 1340 1343 1346 1364 1366 1359 * * * 68 120 67 64 C 2 3052 2704 2701 2710 2748 2738 2744 63 345 A r [2] r[2] 94 371 A d [1] 64 355 A d [1] 60 353 24 4

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. BINARNIE CZY INACZEJ? 25 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: 2 l =k l l długość osobnika zakodowanego binarnie, l dł. osobnika zakodowanego w alfabecie k-elementowym tu: 2 5 =k 1 k = 32 28 Liczba schematów: 3 l dla alfabetu dwójkowego (k+1) l dla alfabetu k-elementowego. Jednakże jeżeli: 100 zmiennych; dziedzina z zakresu [-500 500]; żądana dokładność 6 miejsc po przecinku; tu: 3 5 = 243 dla alfabetu dwójkowego (32+1) 1 = 33 dla alfabetu k-elementowego. To: długość łańcucha binarnego wynosi 3000; przestrzeń poszukiwań rzędu 10 1000. Kod dwójkowy charakteryzuje się największą ze wszyst-kich liczbą schematów przypadającą na bit informacji. Dla tak wielkich przestrzeni AG działają słabo 29 30 5

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. 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) Zasada minimalnego alfabetu: np.: Należy wybrać najmniejszy alfabet, w którym zadanie wyraża się w sposób naturalny. Binarnie Całkowitoliczbowo 0111 7 1000 8 31 32 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 a b a XOR b 0 0 0 0 1 1 1 0 1 1 1 0 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. 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. 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. 35 36 6

Test: porównanie wydajności kodowania binarnego i zmiennopozycyjnego. Zadanie sterowania: Chromosom wektor sterowania u Dziedzina: -200, 200 dla każdego u i. Przyjęto: x 0 =100, N=45 (u = u 0,, u 44 ). Ograniczenia: gdzie:, k = 0, 1,, N -1 x 0 stan początkowy; x k R stan; u R N poszukiwany wektor sterowania. 37 Optimum: tu: J* = 16180.4 38 Wersja binarna: Wersja zmiennopozycyjna: 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; 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. 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. 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ń. 39 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. 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 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 42 7

Wnioski z testów: Reprezentacja zmiennopozycyjna jest szybsza. ZADANIE OPTYMALIZACJI Reprezentacja zmiennopozycyjna jest stabilniejsza (daje bardziej zbliżone wyniki w różnych przebiegach). MODYFIKACJA PROBLEMU MODYFIKACJA ALGORYTMU Reprezentacja zmiennopozycyjna jest dokładniejsza (szczególnie w większych dziedzinach). ZMODYFIKOWANY PROBLEM ALGORYTM EWOLUCYJNY 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ę. KLASYCZNY AG ROZWIĄZANIE OPTYMALNE Zastosowanie AE 43 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 ALGORYTMY EWOLUCYJNE AG AE 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). 47 Zwykle jednak tylko uzyskujemy interesujące wyniki 48 8

Równoległość AG i AE: Rozproszony AE, autor: Wacław KUŚ: 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ń N START POPULACJA POCZĄTKOWA OPERATORY EWOLUCYJNE MIGRACJA SELEKCJA WARUNEK ZATRZYMANIA STOP chromosom PROCES f. celu ZARZĄDZAJĄCY T FEM FEM (F. CELU) FEM komunikacja z innymi podpopulacjami Max liczba procesorów: (l. podpopulacji) (l. osobników) 49 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 t:=0 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) i P(t) (sukcesja) t:=t+1 T temporary - tymczasowy O offspring - potomny 52 REPRODUKCJA (preselekcja) SELEKCJA = + SUKCESJA (postselekcja) procedure Algorytm_Ewolucyjny t:=0 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) i P(t) (sukcesja) t:=t+1 Reprodukcja tworzenie populacji tymczasowej T(t), która jest poddawana działaniu operatorów genetycznych tworząc populację potomną O(t). METODY REPRODUKCJI Sukcesja tworzenie nowej populacji bazowej P(t+1) z populacji potomnej O(t) oraz starej populacji bazowej P(t). 53 54 9

R. PROPORCJONALNA R. TURNIEJOWA Wybór k osobników (rozmiar turnieju, zwykle k=2) i selekcja najlepszego z grupy. jak w AG Powtarzane pop_size razy. 55 56 R. RANKINGOWA Szeregowanie osobników według wartości przystosowania i selekcja zgodnie z kolejnością (wg tzw. linii rangi ): zapobiega powstawaniu superosobników; pomija informację o względnych ocenach osobników. 57 10