Programowanie Ewolucyjne Programowanie Ewolucyjne W zadaniach przeszukiwania mianem heurystyczne określa się wszelkie prawa, kryteria, zasady i intuicje (również takie, których skuteczność nie jest całkowicie pewna), które pozwalają wybrać najbardziej efektywne kierunki działania z punktu widzenia osiągnięcia danego celu.
Programowanie Ewolucyjne Strategia (1+1) Jest to strategia opierająca się na generacji chromosomów Y t będących wynikiem perturbacji wybranego X t. X t jest najlepszym chromosomem wybranym w poprzedniej iteracji algorytmu. Czynność ta powtarzana jest tak długo, aż cała populacja zostaje wygenerowana i następuje wybór nowego chromosomu bazowego. Można się domyśleć, iż w opisywanej strategii bardzo ważnym aspektem jest sposób mutacji.
Strategia (1+1) Chromosomy Y t generowane są zgodnie ze wzorem umieszczonym poniżej. Jak widać generacja następuje poprzez dodanie losowej modyfikacji rozkładem normalnym do kolejnych genów chromosomu. gdzie : σ - określa zasięg mutacji; φ - wartość przystosowania danego osobnika. Y t = X t i + σξ N(0,1),i (1)
Strategie Ewolucyjne Algorytm przedstawiający proces ewolucji oparty na strategii (1 + 1): Procedure Strategia ewolucyjna (1 + 1) Begin t := 0 inicjacja X t ocena X t While (not warunek stopu) do Begin Y t := mutacja X t ocena Y t If (φ(y t ) > φ(x t )) then Begin X t+1 := Y t Else X t+1 := X t End t := t+1 End End
Programowanie Ewolucyjne Strategie Ewolucyjne Wraz ze zwiększaniem wartości zasięgu mutacji następują większe perturbacje, w wyniku czego uzyskany chromosom znacznie różni się od swego rodzica. Efekt ten jest wykorzystywany do żegulacji podobieństwa między genem rodzicem a potomkami. Jest to o tyle istotne, ponieważ w przypadku, gdy algorytm oparty na tej strategii zaczyna wyszukiwać wynik - można wymusić generację różnorodnych genów. Umożliwia to lepsze wyszukanie miejsc mogących zawierać optymalny wynik. Natomiast w późniejszych iteracjach, gdy algorytm wyszukuje optimum zalecane jest zmniejszenie perturbacji potomków umożliwiające szczegółowe przeszukanie obszaru zawierającego optimum.
Strategie Ewolucyjne Biorąc pod uwagę powyżej opisane stwierdzenia wprowadzono algorytm dobierania wartości σ, zwany regułą 1/5 sukcesów. Regułę tę można przedstawić w następujący sposób : 1 Jeżeli przez kolejnych k generacji liczba mutacji zakończonych sukcesem (φ(y t ) > φ(x t )) jest większa niż 1/5 ogólnej liczby wykonanych mutacji, to należy zwiększyć zasięg mutacji stosując regułę σ := c i σ, 2 gdy dokładnie 1/5 mutacji kończy się sukcesem, wartość σ nie wymaga modyfikacji, 3 w przeciwnym wypadku należy zawęzić zasięg mutacji według wzoru σ := c d σ gdzie: c i = 1 0,82 - współczynnik zwiększania zasięgu mutacji, c d = 0, 82 - współczynnik zmniejszania zasięgu mutacji.
Strategie Ewolucyjne Strategie Ewolucyjne Parametr 1/5 został dobrany w drodze rozważań teoretycznych, natomiast wartości parametrów modyfikujących zostały wprowadzone na drodze empirycznej. Stosując strategię (1 + 1) należy uważać na tendencję utykania w lokalnych optimach. Doprowadzić to może do ominięcia korzystniejszego rozwiązania, znajdującego się w małej odległości od danego lokalnego optimum.
Strategie Ewolucyjne Strategia (µ + λ) Kolejną z opisanych strategii przeszukiwania jest strategia (µ + λ). Generowanie osobników nowej populacji jest bardziej złożone niż w strategii (1 + 1). Po utworzeniu populacji bazowej (P t o liczebności µ) następuje generacja populacji potomnej (O t ) o liczebności λ. Reprodukcja przebiega w dwóch etapach. Na początku następuje losowy wybór osobników z populacji macierzystej. Osobniki te zapamiętywane są w populacji pomocniczej T t. Drugim etapem jest mutacja i krzyżowanie tych wybranych osobników i zapamiętanie ich w populacji O t. Uzyskaną populację dodaje się do populacji bazowej (P t O t ) a następnie wybierane jest µ najlepiej przystosowanych osobników, które to tworzą nową populację bazową.
Strategia (µ + λ) Oddzielną sprawą jest sposób kodowania osobników, gdyż ich genotyp składa się z dwóch chromosomów: wektora X zmiennych niezależnych,
Strategia (µ + λ) Oddzielną sprawą jest sposób kodowania osobników, gdyż ich genotyp składa się z dwóch chromosomów: wektora X zmiennych niezależnych, wektora σ zawierający wartości standardowych odchyleń.
Strategia (µ + λ) Proces tworzenia nowej generacji przedstawia poniższy pseudokod: Procedure Strategia ewolucyjna (µ + λ) Begin t := 0 inicjacja P t ocena P t While (not warunek stopu) do Begin T t := reprodukcja P t O t := krzyżowanie i mutacja T t Ocena O t P t+1 = µ najlepszych osobników z P t O t t := t+1 End End
Strategie Ewolucyjne Strategia (µ + λ) Proces mutacji zastosowany w tej strategii znacznie różni się od procesu przedstawionego w strategii (1 + 1). Przebiega on w trzech etapach, co zapewnia samoczynną adaptację zasięgu.
Strategia (µ + λ) Kolejne etapy mutacji: 1 Losowanie wartości zmiennej losowej ( ξ N(0,1) ),
Strategia (µ + λ) Kolejne etapy mutacji: 1 Losowanie wartości zmiennej losowej ( ξ N(0,1) ), 2 Dla każdego elementu wektora σ realizacja zmiennej losowej o rozkładzie normalnym (ξ N(0,1),i ) i modyfikacja standardowych odchyleń osobnika (Wzór 3), gdzie: τ = K 2n, τ = σ i = σ i exp(τ ξ N(0,1) + τξ N(0,1),i ) (2) K 2 n na zbieżność strategii ewolucyjnej. - są parametrami algorytmu, wpływającymi
Strategia (µ + λ) Kolejne etapy mutacji: 1 Losowanie wartości zmiennej losowej ( ξ N(0,1) ), 2 Dla każdego elementu wektora σ realizacja zmiennej losowej o rozkładzie normalnym (ξ N(0,1),i ) i modyfikacja standardowych odchyleń osobnika (Wzór 3), gdzie: τ = K 2n, τ = σ i = σ i exp(τ ξ N(0,1) + τξ N(0,1),i ) (2) K 2 n - są parametrami algorytmu, wpływającymi na zbieżność strategii ewolucyjnej. 3 Uzyskane w poprzednich etapach odchylenia standardowe służą do mutacji wartości zmiennych niezależnych zgodnie ze wzorem: X i := X i + σ i ξ N(0,1),i (3)
Strategie Ewolucyjne Strategia (µ + λ) Proces krzyżowania osobników polega na uśrednianiu wartości wektorów X i σ lub na odpowiedniej wymianie tych wektorów pomiędzy potomkami. W wyniku tych operacji powstają nowe osobniki, które wypierają z populacji rodziców. Porównując raz jeszcze strategie (1 + 1) ze strategią (µ + λ) należy zaznaczyć, iż w przypadku drugiej nie znamy liczby sukcesów, po przekroczeniu której korygowany jest parametr σ. Korekta tego parametru odbywa się w wyniku ewolucji, gdzie lepiej przystosowane osobniki przekazują potomkom ten chromosom. Ponadto wprowadzono operator krzyżowania, który wpływa na urozmaicenie genów potomstwa.