• Nie Znaleziono Wyników

Programowanie Ewolucyjne

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie Ewolucyjne"

Copied!
16
0
0

Pełen tekst

(1)

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

(2)

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.

(3)

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.

(4)

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

(5)

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.

(6)

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.

(7)

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.

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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.

(13)

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)

(14)

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)

(15)

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)

(16)

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.

Cytaty

Powiązane dokumenty

Twórca Lawrence Fogel (1966) zamierzał modelować proces powstania sztucznej inteligencji na drodze samoczynnej organizacji....

Myślę zatem, że można rozpatrywać ten spór jako jedną z odsłon gry toczącej się w polu dziennikarskim, w której stawką jest przeforsowanie określonej defi nicji

• • Należy dokonać Należy dokonać wielu niezależnych uruchomień wielu niezależnych uruchomień dla dla losowej próby różnych populacji bazowych. losowej próby różnych

1.Dlaczego po podłączeniu ładowarki do telefonu miernik wskazał współczynnik mocy mniejszy od jedności 2.Wyjaśnij przyczynę bardzo małego współczynnika mocy wentylatorka,

1.Dlaczego po podłączeniu ładowarki do telefonu miernik wskazał współczynnik mocy mniejszy od jedności 2.Wyjaśnij przyczynę bardzo małego współczynnika mocy wentylatorka,

Obecna rola USA w tym regionie jest nadal niejasna, a walkę z ISIS prowadzą nie tylko siły powietrzne Rosji i Zachodu, ale – z pewnością – także lądowe oddziały

 Inna definicja książkowa mówi, że strategia jest rozumiana jako pewien plan działania organizacji, związany z jej pozycją w otoczeniu (obecną i przyszła), oraz pewien

Jednak język programowania wysokiego poziomu nie jest jasny dla komputera, który rozumie jedynie ciągi zer i jedynek. Dlatego musimy posłużyć się aplikacją,