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”.
Strategia (1+1)
Jest to strategia opierająca się na generacji chromosomów Yt będących wynikiem perturbacji wybranego Xt. Xt 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 Yt 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.
Yt = Xit+ σξN(0,1),i (1)
gdzie :
σ - określa zasięg mutacji;
φ - wartość przystosowania danego osobnika.
Algorytm przedstawiający proces ewolucji oparty na strategii (1 + 1):
Procedure Strategia ewolucyjna (1 + 1) Begin
t := 0 inicjacja Xt ocena Xt
While (not warunek stopu) do Begin
Yt := mutacja Xt ocena Yt
If (φ(Yt) > φ(Xt)) then Begin
Xt+1:= Yt Else
Xt+1:= Xt 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.
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 (φ(Yt) > φ(Xt)) jest większa niż 1/5 ogólnej liczby wykonanych mutacji, to należy zwiększyć zasięg mutacji stosując regułę σ := ciσ,
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 σ := cdσ
gdzie:
ci =0,821 - współczynnik zwiększania zasięgu mutacji, cd = 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.
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 (Pt o liczebności µ) następuje generacja populacji potomnej (Ot) 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 Tt. Drugim etapem jest mutacja i krzyżowanie tych wybranych osobników i zapamiętanie ich w populacji Ot. Uzyskaną populację dodaje się do populacji bazowej (Pt∪ Ot) 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,
wektora σ zawierający wartości standardowych odchyleń.
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 Pt ocena Pt
While (not warunek stopu) do Begin
Tt := reprodukcja Pt
Ot := krzyżowanie i mutacja Tt Ocena Ot
Pt+1= µ najlepszych osobników z Pt∪ Ot t := t+1
End End
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) ),
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),
σi0= σiexp(τ0ξN(0,1)+ τ ξN(0,1),i) (2) gdzie:
τ = √K
2n, τ0= √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:
Xi0:= Xi+ σi0ξN(0,1),i (3)
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),
σi0= σiexp(τ0ξN(0,1)+ τ ξN(0,1),i) (2) gdzie:
τ = √K
2n, τ0= √K
2√
n - są parametrami algorytmu, wpływającymi na zbieżność strategii ewolucyjnej.
mutacji wartości zmiennych niezależnych zgodnie ze wzorem:
Xi0:= Xi+ σi0ξN(0,1),i (3)
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),
σi0= σiexp(τ0ξN(0,1)+ τ ξN(0,1),i) (2) gdzie:
τ = √K
2n, τ0= √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:
Xi0:= Xi+ σi0ξN(0,1),i (3)
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.