9 listopada 2010
y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna).
Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom Allel Locus Funkcja przystosowania
Zasady ewolucji Działanie Warunki działania Ewolucja przebiega według następujących ogólnych zasad: Genotyp danego osobnika ulega modyfikacjom podczas rozmnażania się. Zmiany w genotypie powodują zmiany fenotypu osobników potomnych, co wpływa na stopień ich przystosowania do środowiska (podlega ocenie za pomocą funkcji celu). Zmiany w genotypie mają charakter przypadkowy. Osobniki są oceniane poprzez porównanie ich przystosowania do danego środowiska. Zmianom (mutacja, krzyżowanie) podlega genotyp osobnika, podczas gdy selekcji poddawane są fenotypy.
Zasady ewolucji Działanie Warunki działania 1 INICJACJA Losowana jest pewna populacja początkowa. 2 SELEKCJA Populacja poddawana jest ocenie. Najlepiej przystosowane osobniki biorą udział w procesie reprodukcji. 3 KRZYŻOWANIE Genotypy wybranych osobników poddawane są operatorom ewolucyjnym: są ze sobą kojarzone poprzez złączanie genotypów rodziców, przeprowadzana jest MUTACJA czyli wprowadzenie drobnych losowych zmian. 4 Rodzi się drugie (kolejne) POKOLENIE i algorytm powraca do kroku drugiego, jeżeli nie znaleziono dostatecznie dobrego rozwiązania. W przeciwnym wypadku uzyskujemy wynik.
Zasady ewolucji Działanie Warunki działania Działanie algorytmu genetycznego obejmuje kilka zagadnień potrzebnych do ustalenia: ustalenie genomu jako reprezentanta wyniku ustalenie funkcji przystosowania ustalenie operatorów przeszukiwania
Funkcje przystosowania Operatory przeszkiwania Miara jakości ocenianego osobnika. Metody selekcji: Ruletki Rankingowa Turniejowa Próbkowanie deterministyczne Wielokryterialna
Mutacja Wstęp Chromosomy kodowane binarnie: losuje się zazwyczaj dwa geny i zamienia się je miejscami Genotypy kodowane liczbami całkowitymi: permutacje Genotypy zakodowane liczbami rzeczywistymi: wprowadza się do przypadkowych genów losowe zmiany o danym rozkładzie najczęściej normalnym. Funkcje przystosowania Operatory przeszkiwania Krzyżowanie Rozcięcie dwóch chromosomów i stworzenie nowego poprzez sklejenie lewej części jednego rodzica z prawą częścią drugiego rodzica (dla chromosomów z kodowaniem 01 i C). Stosowanie operacji logicznych (kodowanie 01). Obliczenie wartości średniej genów (kodowanie R).
Wady Zalety Metoda jest uniwersalna, więc nie tak skuteczna, jak bywają algorytmy specjalizowane. Metoda jest wolniejsza od prostych heurystyk. Sukces jest możliwy wyłącznie przy prawidłowym zakodowaniu problemu i odpowiednim dobraniu funkcji celu. genetyczny jest algorytmem randomizowanym-nigdy nie mamy pewności, że znaleźliśmy rozwiązanie optymalne.
Wady Zalety Metoda jest uniwersalna. Aby tego samego programu użyć w innym problemie, przeważnie wystarczy zmienić funkcję celu. y ewolucyjne potrafią poradzić sobie również tam, gdzie optymalizowana funkcja jest zaszumiona/zmienna w czasie/ma wiele ekstremów. Metoda jest stosunkowo szybka: znalezienie rozwiązania często jest możliwe po przejrzeniu zaskakująco niewielkiej części przestrzeni stanów. Ponieważ algorytm genetyczny jest algorytmem randomizowanym, możemy powtarzać obliczenia wielokrotnie.
Rozwiązywanie problemów trudnych Projektowanie genetyczne Projektowanie obwodów elektrycznych Przeszukiwanie Dopasowanie
Określenie Mutacja Krzyżowanie Budowa potomka Wymagane określenie: genetycznej reprezentacji chromosomów, czyli potencjalnych rozwiązań problemu metody generowania populacji rozwiązań początkowych funkcji dostosowania operatorów genetycznych zmieniających geny w chromosomach pewnej liczby stałych parametrów charakteryzujacych algorytm, m.in. rozmiaru populacji, prawdopodobieństwa zastosowania operatorów genetycznych oraz warunków zakończenia generowania kolejnych populacji
Określenie Mutacja Krzyżowanie Budowa potomka Losowe przemieszczenie losowo wybranego miasta: definv m ut(l) : imiasto = random.randint(0, len(l)1) miasto = l.pop(imiasto) pomiescie = random.randint(0, len(l)1) returnl[0 : pomiescie] + [miasto] + l[pomiescie :]
Określenie Mutacja Krzyżowanie Budowa potomka Krawędzie, a nie kolejność miast wpływają na wartość sumy odległości Trasa (3 1 2 8 7 4 6 5) zawiera krawędzie: (3 1), (1 2), (2 8), (8 7), (7 4), (4 6), (6 5), (5 3) item F. celu jest sumą długości krawędzi Budujemy potomka wyłącznie z krawędzi obecnych u rodziców za pomocą listy stworzonej z tras obu rodziców
Określenie Mutacja Krzyżowanie Budowa potomka
Cechy algorytmów genetycznych determinujące stosowanie: stosowanie operatorów genetycznych, które dostosowane są do postaci rozwiązań, przetwarzanie populacji rozwiązań, prowadzące do równoległego przeszukiwania przestrzeni rozwiązań z różnych punktów, w celu ukierunkowania procesu przeszukiwania wystarczającą informacją jest jakość aktualnych rozwiązań, celowe wprowadzenie elementów losowych.
D. E. Goldberg: i ich zastosowania. Warszawa: WNT, 1998. Z. Michalewicz: + struktury danych = programy ewolucyjne. Warszawa: WNT, 1996. R. Poli, W.B. Langdon, N.F. McPhee: A Field Guide to Genetic Programming. S.Wierzchoń: Issues in Intelligent Systems. Paradigms. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2005 M. Kurzyński, Metody sztucznej inteligencji dla inżynierów. Legnica 2008