"O
G -o O>J '{ 1 ;'| >
"M N ^ 0.01
S ^' 1 ^ ''l^^1fl
n nni _ /I( ,
10
100
1000
(a)
10
o cs
>> T3
0.1
C 0.01
T3
0.001
0.0001
0.00001
1
Bląd względny Dyskrepancja
10
100
1000
(b)
RYSUNEK 5.14. Krzywe zmian dyskrepancji oraz btędu względnego dla algorytmu z krzyżowaniem (a) i bez krzyżowania (b)
5.5. Inicjacja populacji bazowej
.223.
Miara zbioru dopuszczalnego nieskończona
Z taką sytuacją możemy mieć do czynienia wówczas, gdy nie istnieją funkcje ograniczeń lub gdy ograniczenia przez nie wprowadzone nie są dostatecznie ,^zczegolowe" (np. ograniczenia
Xi > 0 dla każdego i = 1,..., n). Wtedy nie można wygenerować dowolnego punktu zbioru dopuszczalnego* i należy poczy-
, nić arbitralne założenia odnośnie zbioru J: jego miara powinna być skończona i większa niż zero. Najczęściej przyjmuje się, że J jest kostką n-wymiarową i J C D.
m Miara zbioru dopuszczalnego skończona
W takiej sytuacji często przyjmuje się, że zbiór zainteresowa-; nia jest tożsamy ze zbiorem dopuszczalnym J = D. Niekiedy jednak kształt zbioru dopuszczalnego powoduje, że zmienne losowe wykorzystywane podczas mutacji i inicjacji powinny spełniać bardzo duże wymagania (nieraz niewykonalne). Może się wówczas zdarzyć, że wygodniej jest zwiększyć zbiór zainteresowania w zamian za prostotę wykorzystywanych w algorytmie mechanizmów i wówczas J D D. Ceną jest jednak konieczność zdefiniowania funkcji celu poza obszarem dopuszczalnym lub jej zmodyfikowania w taki sposób, aby nie wprowadzić dodatkowych minimów lokalnych położonych poza zbiorem dopuszczalnym. Innym sposobem postępowania jest taka transformacja zmiennych niezależnych, która prowadzi do uproszczenia kształtu zbioru dopuszczalnego**, albo przyjęcie jako J takiego zbioru wpisanego w D, którego elementy dadzą się łatwo losowo generować.
Miara zbioru dopuszczalnego zerowa
Ostatni z rozważanych przypadków zdarza się najczęściej przy ograniczeniach równościowych. Rodzi to spore komplikacje, gdyż dysponując zmiennymi losowymi, których nośnik jest nie-zerowej miary, nie sposób wygenerować punktu należącego do D. W takiej sytuacji warto zmniejszyć wymiarowość zadania poprzez odpowiednią transformację zmiennych niezależnych i redukcję ich liczby, tak aby obraz D w wyniku tej transformacji był niezerowej miary***. Inne postępowanie może polegać na przyjęciu, że interesują nas nie tylko punkty ze zbioru D, ale również takie, które są dostatecznie blisko zbioru dopuszczalnego. Wówczas J będzie zbiorem tych punktów, co może niekiedy prowadzić dojego nieskończonej miary, lub będziejego podzbiorem właściwym. Jeśli prowadziłoby to do nieskończonej miary J, należałoby zastosować dodatkowo jedno z wymienionych wcześniej podejść ograniczania miary zbioru zainteresowania.
Ze względu na prostotę definicji zmiennych losowych, przyjmuje się najczęściej, że J jest kostką n-wymiarową zawierającą zbiór dopuszczalny.
*Wykorzystanie komputera uniemożliwia posługiwanie się dowolnie dużymi co do modułu liczbami rzeczywistymi.
**To z kolei może powodować zaburzenia proporcji miar obszarów przyciągania minimów lokalnych. Jest to zjawisko niepożądane, gdyż może wprowadzać zakłócenia w algorytmie ewolucyjnym.
***Pamiętajmy o możliwości, że w wyniku transformacji zbiór D będzie nieskończonej miary! (na przykład płaszczyzna po transformacji z R3 do Rł).
.224.
5. Zapobieganie przedwczesnej zbieżności
Zbiór dopuszczalny nieskończonej miary. W takiej sytuacji musimy arbitralnie zdefiniować zbiór zainteresowania. Decyzja ta w konsekwencji "uprzywilejowuje" pewne punkty, gdyż niektóre genotypy mogą zostać wygenerowane już w procesie inicjacji populacji bazowej, podczas gdy do innych można dojść jedynie poprzez proces ewolucji. Podejmując tę decyzję, musimy się więc posługiwać wiedzą lub intuicją określającą w przybliżeniu obszary zbioru genotypów, w których należy oczekiwać rozwiązania.
Zbiór dopuszczalny skończonej miary. Skończona miara zbioru dopuszczalnego jest częstym przypadkiem w zadaniach praktycznych. Wówczas naturalne jest utożsamienie zbioru zainteresowania ze zbiorem zdefiniowanym przez te ograniczenia. Możliwe są przy tym dwa przypadki zbiór dopuszczalny może być iloczynem kartezjańskim zbiorów skończonej miary lub też mieć trudniejszą postać. , , ..
Pierwszy z przypadków oznacza gwarancję, że generując wartości kolejnych zmiennych niezależnych z rozkładem równomiernym na zbiorze wartości dopuszczalnych dla tej zmiennej, otrzymamy dopuszczalny chromosom. Jest to bardzo duże ułatwienie, gdyż nie ma potrzeby definiowania skorelowanych wielowymiarowych zmiennych losowych. Oznacza to również istnienie ograniczeń kostkowych dla zmiennych ciągłych.
Przypadek drugi oznacza występowanie ograniczeń funkcyjnych. Postępowanie zależy od metody ich uwzględnienia. Jeśli dopuszcza się istnienie w populacji bazowej punktów niedopuszczalnych, to zbiór zainteresowania można rozszerzyć do kostki zawierającej zbiór dopuszczalny. W przeciwnym przypadku, zadanie wygenerowania populacji początkowej może się skomplikować, trzeba bowiem zdefiniować skorelowane wielowymiarowe zmienne losowe, z pomocą których generowane będą osobniki dopuszczalne. Trudności z tym związane można obejść, ograniczając zbiór zainteresowania np. do kostki wpisanej w zbiór dopuszczalny. Może to jednak pociągać za sobą konieczność zwiększania eksploracyjności algorytmu, aby zniwelować wprowadzone "nie-równouprawnienie" w obszarze dopuszczalnym.
*wówczas ograniczeniami
puter.
5.5.1. Posiew nierównomierny
Metoda posiewu nierównomiernego jest szczególnie godna polecenia w dwóch sytuacjach gdy zbiór dopuszczalny jest nieskończonej miary oraz gdy można wskazać miejsca bardziej prawdopodobnego występowania dobrych rozwiązań.
Jeśli zbiór dopuszczalny jest nieskończonej miary, to można mimo wszystko założyć, że zbiór zainteresowania jest równy do-
J . * ' . , . ,*~,T:r' i
puszczalnemu,zamiastsztuczmegozenwydzielac. Wowczasjeu-
5.5. Inicjacja populacji bazowej
.225.
nak trzeba odstąpić od założenia o równomierności rozkładu, a to z kolei ponownie wymaga podjęcia arbitralnej decyzji o "uprzywilejowaniu" pewnego podzbioru.
Jeśli znamy orientacyjną lokalizację rozwiązań "dobrych", możemy wykonać gęstsze próbkowanie w rejonie ich występowania. Z sytuacją taką możemy mieć do czynienia, gdy wygenerowanie choćby jednego elementu zbioru dopuszczalnego jest trudne (np. z powodu niewielkiej miary tego zbioru) wówczas, mając już takie rozwiązanie, można dokonywać jego perturbacji, aby uzyskać inne rozwiązania dopuszczalne.
5.5.2. Znaczenie generatora liczb pseudolosowych
Implementując algorytm ewolucyjny na maszynie cyfrowej, stajemy przed koniecznością komputerowego generowania liczb "losowych". Jednak ze względu na fakt, że do wygenerowania takich liczb musi być wykorzystany pewien (deterministyczny) algorytm, można mówić jedynie o liczbach pseudolosowych. Liczby takie powinny "wyglądać jak losowe", tzn. spełniać warunki jak najmniejszej korelacji, równomiernej gęstości wypełnienia zbioru wartości i wiele innych. Obecnie znane są liczne generatory liczb pseudolosowych, o dobrze poznanych i zbadanych właściwościach, dzięki czemu istnieje możliwość dobrania właściwego generatora.
Jednym z pierwszych sposobów wykorzystania generatorów liczb pseudolosowych było szacowanie metodą Monte Carlo całki oznaczonej dowolnej mierzalnej funkcji. Zwrócono przy tym uwagę, że wykorzystanie niektórych generatorów prowadzi do szybszego zmniejszania się błędu oszacowania, natomiast inne zachowują się nie najlepiej pod tym względem. Okazało się, że jedną z podstawowych cech decydujących o użyteczności generatora w zakresie całkowania numerycznego jest zdolność do równomiernego pokrywania przestrzeni. W celu porównywania tej cechy różnych generatorów wprowadzono pojęcie dyskrepancji zbioru punktów*. - .:-.
Generatory o małej dyskrepancji. Szczególne miejsce wśród generatorów liczb pseudolosowych zajmują sekwencje o małej dyskrepancji. Ich cechą szczególną jest to, że ciągi liczb przez nie generowanych są bardzo równomiernie rozłożone (mają małą dys-krepancję). Dokładniej mówiąc, dla sekwencji liczb o małej dyskrepancji można od góry ograniczyć jej wartość, znając długość sekwencji. Cecha ta jest szczególnie przydatna przy całkowaniu numerycznym, gdyż ich zastosowanie pozwala na ograniczenie od góry maksymalnej wartości błędu wyniku. Równomierne rozłożenie w przestrzeni jest bardzo istotne również w fazie inicjacji populacji bazowej w algorytmie ewolucyjnym. Jeśli bowiem dys-
*Do pojęcia waliśmy się zji omawiani trzymania lucyjnego.
tego odwoły-już przy oka-a kryteriów za-lgorytmu ewo-
.226.
5. Zapobieganie przedwczesnej zbieżności
ponujemy generatorem liczb gwarantującym, że największa miara wypukłego zbioru nie zawierającego żadnego punktu sekwencji pseudolosowej jest mniejsza niż pewna wartość progowa, to wówczas wiemy, że co najmniej jeden chromosom będzie znajdować się w każdym wypukłym obszarze przyciągania maksimum lokalnego, którego miara jest nie mniejsza niż wartość progowa. Fakt ten ma podstawowe znaczenie dla eksploracji i przyczynia się do znacznie większej (w porównaniu z sekwencjami pseudolosowymi nie gwarantującymi tej właściwości) odporności na maksima lo-kalne,atakzeszybkoscizbieznosci. .-;-. : .-,
PRZYKŁAD. Rozważmy dwie przyktadowe funkcje celu Ra-strigina i Shuberta i spróbujmy je zoptymalizować, wykorzystując algorytm ewolucyjny z reprodukcją progową p = 0.31, zawierający p, = 160 osobników w populacji bazowej, z sukcesją wg schematu strategii ewolucyjnej (p + A). Prawdopodobieństwo krzyżowania Pc 0.7 (krzyżowanie uśredniające), mutacja zaś jest wykonywana z rozkładem normalnym. Algorytm jest zatrzymywany po 300 generacjach, o ile wcześniej nie uzyska się rozwiązania o wartości funkcji celu 10~8 (w przypadku funkcji Rastrigina) i 186.6 (funkcja Shuberta). W tabeli 5.1 (funkcja Rastrigina) i 5.2 (funkcja Shuberta) przedstawiono wyniki z 50 niezależnych uruchomień algorytmu ewolucyjnego; podano wartości średnie i odchylenia standardowe kosztu (mierzonego liczbą generacji) i uzyskanego wyniku. Podano wyniki dla następujących metod inicjacjipopulacji bazowej: siatka prostokątna, punkty wygenerowane z rozkładu równomiernego*, punkty pochodzące z generatora o małej dyskrepancji (dla trzech różnych generatorów Haltona, Sobola i Faure'go).
TABELA 5.1. Wyniki działania algorytmu ewolucyjnego z populacją bazową inicjowaną w różny sposób; funkcja celu Rastrigina
Typ rozkładu Koszt Wynik
średni odchylenie standardowe średni odchylenie standardowe
Siatka 56.90 50.86 0.040 0.20
Równomierny 49.02 36.60 0.020 0.14
Halton 50.48 36.58 0.020 0.14
Soból 49.02 36.57 0.019 0.14
Faure 44.16 4.74 io-10 itr10
*Generator wzięty z biblioteki stdlib.
Na podstawie tych tabel można stwierdzić, że najgorsze wyniki uzyskuje się, wypełniając populację początkową punktami rozmieszczonymi na siatce prostokątnej. Wydaje się, że przyczyną jest nadmierna regularność siatki, która utrudnia działanie operatora krzyżowania. Nieco lepsze wyniki (jest to widoczne zwłaszcza przy funkcji Rastrigina) można uzyskać, inicjując populację bazową punktami wygenerowanymi z rozkładujednostajnego. Istotna
5.6. Znaczenie liczności populacji bazowej
.227.
TABELA 5.2. Wyniki działania algorytmu ewolucyjnego z populacją bazową inicjowaną w różny sposób; funkcja celu Shuberta
Typ rozkładu Koszt Wynik
średni odchylenie standardowe średni odchylenie standardowe
Siatka 251.14 82.91 176.10 8.32
Równomierny 257.08 79.27 176.49 6.75
Halton 266.62 76.08 186.34 0.29
Soból 219.76 110.86 186.45 0.28
Faure 239.16 87.38 186.47 0.29
poprawa jest jednak możliwa dopiero przy wykorzystaniu jednej z sekwencji o malej dyskrepancji; wśród nich, najlepsze wyniki uzyskuje się przy zastosowaniu sekwencji Faure'go, najgorsze zaś przy sekwencji Haltona.
5.6. Znaczenie liczności populacji bazowej
Podobnie jak metody inicjacji populacji bazowej, również jej licz-ność nie wzbudza zbyt dużego zainteresowania. Wynika to z faktu, że zbieżność asymptotyczna algorytmu ewolucyjnego nie zależy od wartości p, i wystarczy jeden osobnik w populacji bazowej, aby algorytm miał tę właściwość. Jako zalecane przyjmuje się często takie wartości ^t, przy których algorytm ewolucyjny działa zadowalająco dla wielu funkcji testowych.
Niektórzy badacze twierdzą, że niewielka liczność populacji bazowej zapewnia "elastyczność" algorytmu ewolucyjnego. Obserwuje się, że małe populacje bazowe wykazują silniejsze tendencje do opuszczania obszaru przyciągania maksimum lokalnego funkcji przystosowania, duże zaś populacje mają tendencję do "osiadania" w nim (zwłaszcza przy intensywnym nacisku selektywnym).
Istnieje również odmienny pogląd, szczególnie rozpowszechniony w środowisku osób zajmujących się programowaniem genetycznym. Uważają oni mianowicie, że lepsze wyniki można uzyskać za pomocą algorytmu ewolucyjnego przetwarzającego dużą liczbę osobników (rzędu tysięcy). Uzasadniają to twierdzeniem o schematach, którego wyniki otrzymuje się przy założeniu nieskończonej populacji bazowej.
Niekiedy wyrażany jest też pogląd, że odporność algorytmu ewolucyjnego wzrasta monotonicznie wraz z licznością populacji; wzrost ten ma charakter nasycający się i istnieje taka wartość optymalna ^t*, powyżej której nie uzyskuje się już zauważalnej poprawy. Ponieważ koszt symulacji algorytmu ewolucyjnego jest wprost proporcjonalny do liczności populacji bazowej, najbardziej
.228.
5. Zapobieganie przedwczesnej zbieżności
opłaca się przyjąć optymalną liczność, równą fj,*. Kłopot w tym, że (jak się uważa) wartość ^* zależy od rozwiązywanego problemu (i mogą mieć na nią wpływ liczba wymiarów i maksimów lokalnych funkcji przystosowania), jak również od innych parametrów algorytmu (takich jak zasięg mutacji czy intensywność krzyżowania).
PRZYKŁAD. Sprawdźmy na konkretnym przykładzie wpływ licz-ności populacji bazowej na działanie algorytmu z reprodukcją progową p 0.25, z dwoma wariantami sukcesji: (p, + A) oraz trywialną. Algorytm, wykorzystujący mutację z rozkładem normalnym (bez krzyżowania), będzie zatrzymywany po wykonaniu 1000 obliczeń wartości funkcji przystosowania.
Rozważymy prostą jednowymiarową funkcję przystosowania
= max
a\ exp
(5.19)
z parametrami: a\ = 1.1, 2 = 1.0, p,\ = 1, ^2 = 1, o^i = 0.2, 02 = 1. Funkcja ta ma dwa maksima: lokalne (x = l,<&(z) = 1) i globalne (x -l,3?(x) l.lJ.
Będziemy zapamiętywać najlepszego znalezionego osobnika w każdym uruchomieniu i uśredniać tę informację po niezależnych uruchomieniach. Obserwując wartość średnią przystosowania lub argumentów tych niezależnych uruchomień, będziemy w stanie ocenić, ile razy znaleziono maksimum globalne, a ile lokalne. Wartość średnia przystosowania bliska 1.1 i genotypu bliska 1 będzie oznaczać, że algorytm częściej osiąga maksimum globalne, a wartości bliskie 1 będą świadczyć o jego zwiększonej podatności na maksimum lokalne.
Na rysunku 5.15 przedstawiono wyniki uzyskane dla sukcesji trywialnej. Z analizy wykresu wynika, że zwiększanie liczno-ści populacji bazowej powoduje początkowo pogorszenie, później zaś poprawę odporności algorytmu ewolucyjnego. Podobne zjawisko można zaobserwować (rys. 5.16) wprzypadku sukcesji (fj, + X). Jest to algorytm o większym nacisku selektywnym, dlatego też wyraźniej występują w nim omówione efekty.
Kształt otrzymanej zależności można tłumaczyć w następujący sposób. Odporność algorytmu ewolucyjnego jest wynikiem złożenia dwóch zjawisk (rys. 5.17):
1) możliwości opuszczenia przez populację obszaru przyciągania maksimum lokalnego,
2) możliwości wygenerowania punktu w populacji początkowej, który znajduje się w obszarze przyciągania maksimum globalnego.
5.6. Znaczenie liczności populacji bazowej
.229.
0 50 100 150 200 250 300 350 400 450 500
-0.5
(a)
1.1
1.08
1.06
1.04
1.02
1
0 50 100 150 200 250 300 350 400 450 500
fJ,
(b)
RYSUNEK 5.15. Uśrednione wartości genotypu (a) i przystosowania (b) 100 niezależnych uruchomień algorytmu ewolucyjnego dla różnych liczności populacji bazowej; zastosowano reprodukcję progową i sukcesję trywialną
.230.
5. Zapobieganie przedwczesnej zbieżności
0.5
1.08 -
1.06 -
O
1.04 -
1.02
0 50 100 150 200 250 300 350 400 450 500
(a)
50 100 150 200 250 300 350 400 450 500
(b)
RYSUNEK 5.16. Uśrednione wartości genotypu (a) i przystosowania (b) 100 niezależnych uruchomień algorytmu ewolucyjnego dla różnych liczności populacji bazowej; zastosowano reprodukcję progową i sukcesje (^i + A)
5.7. Równoległość w algorytmach ewolucyjnych
.231,
o ^
RYSUNEK 5.17. Zależność odporności algorytmu od liczności populacji bazowej (O\ odporność wynikająca ze zdolności do przekraczania siodeł, O-i odporność wynikającą z prawdopodobieństwa uchwycenia punktów w obszarach przyciągania maksimów lokalnych, Os odporność wynikowa, będącą skutkiem nałożenia dwóch poprzednich)
Zwiększanie liczności populacji bazowej powoduje, że populacja coraz trudniej opuszcza obszar przyciągania maksimum lokalnego; tendencja ta jest tym silniejsza, im większy nacisk selektywny. Wynika to z dwóch faktów. Po pierwsze, przekroczenie siodta przez ciąg mutacji o niewielkim zasięgu, prowadzące do powstania serii gorzej przystosowanych osobników, jest tym mniej prawdopodobne, z im większą liczbą osobników trzeba konkurować podczas reprodukcji i sukcesji. Po drugie, wraz ze wzrostem liczności populacji coraz mniej jest prawdopodobna taka makromutacja, która doprowadzi do utworzenia osobnika będącego w stanie konkurować z najlepszymi osobnikami z otoczenia maksimum lokalnego.
Wiemy również, że jeśli populacja początkowa jest tak tworzona, że wygenerowanie punktu z dowolnego obszaru ma nieze-rowe prawdopodobieństwo, to zwiększanie liczności populacji bazowej zwiększa prawdopodobieństwo wygenerowania punktu z obszaru przyciągania maksimum globalnego. Wten sposób, zwiększanie liczności populacji bazowej prowadzi do zwiększenia odporności.
Omówione tendencje sumują się, w wyniku czego możemy obserwować niemonotoniczny wpływ liczności populacji bazowej na odporność algorytmu.
5.7. Równoległość w algorytmach ewolucyjnych
Algorytmy ewolucyjne są technikami, które w szczególny sposób nadają się do zrównoleglenia. Wynika to z faktu, że naraz przetwarzanych jest wiele wzajemnie niezależnych osobników.
.232.
5. Zapobieganie przedwczesnej zbieżności
0 równoległości w algorytmach ewolucyjnych możemy mówić na etapie implementacji oraz koncepcji. W tym pierwszym przypadku, schemat algorytmu pozostaje bez zmian w dalszym ciągu selekcjajest scentralizowana. Natomiast drugi wariant oznacza decentralizację selekcji algorytmy takie są nazywane koewolucyjnymi.
5.7.1. Implementacje równoległe
Zrównoleglenie algorytmu ewolucyjnego na etapie implementacji jest możliwe dzięki temu, że na algorytm sklada się wiele niezależnych od siebie podobnych elementów. Po pierwsze, w populacji bazowej jest przechowywanych jednocześnie wiele osobników, dzięki czemu możliwe jest obliczanie wartości funkcji celu niezależnie dla każdego z nich. Po drugie, proces generowania nowych osobników w wyniku działania operatorów genetycznych przebiega niezależnie dla każdego osobnika potomnego (lub pary sprzężonych osobników potomnych).
Na rysunku 5.18 przedstawiono szczegółowy schemat algorytmu ewolucyjnego. Kroki algorytmu dające się zrównoleglić umieszczono w ramkach.
Zrównoleglenie na poziomie obliczania funkcji przystosowania pojedynczego osobnika. Obliczenie wartości funkcji
procedurę Algorytm ewolucyjny begin
t := 0
inicjacja P
ocena
while (not warunek stopu) do begin
T* := reprodukcja PJ
O := operacje genetyczne T
ocena O
Pm := sukcesja(P*, O*) t := t + 1
end
end
RYSUNEK 5.18. Schemat algorytmu ewolucyjnego z zaznaczonymi krokami dającymi się zrównoleglić
5.7. Równoległość w algorytmach ewolucyjnych
.233.
przystosowania jest często najbardziej czasochłonne w przypadku problemów optymalizacji zaczerpniętych z ,^ealnego świata".
Najbardziej "drobnoziarnistym" podejściem jest zrównolegle-nie obliczania przystosowania pojedynczego osobnika. Efektywność takiego postępowania zależy w dużym stopniu od możliwości zrównoleglenia tkwiących w samej procedurze obliczania funkcji przystosowania, a zatem zależny od rozwiązywanego zadania.
PRZYKŁAD. Weźmy jako przyklad zadanie projektowania filtru o określonych właściwościach w pewnym pasmie częstotliwości. Załóżmy, że zadanie polega na znalezieniu filtru, który w pasmie < fminifmax ~> ma współczynnik tłumienia nie większy niż zadana wartość progowa. Funkcję przystosowania można więc zdefiniować jako
(5.20)
gdzie 4> jest funkcją określającą współczynnik tłumienia filtru dla częstotliwości fi, g zaśjestfunkcją agregującą.
Zauważmy, że obliczenie wartościfunkcjiprzystosowania daje się zdekomponować na wiele zadań niezależnych, polegających na wyliczeniu współczynnika tłumienia dla konkretnej częstotliwości; wynika z tego możliwość zrównoleglenia.
Zrównoleglenie obliczania przystosowania populacji. Nieco bardziej "gruboziarniste" podejście polega na zrównolegleniu procesu obliczania funkcji przystosowania dla wszystkich osobników populacji bazowej i potomnej. Etap oceny można podzielić na wiele wzajemnie niezależnych zadań obliczenia przystosowania pojedynczego osobnika, wykonywanych równolegle.
Zrównoleglenie reprodukcji i operacji genetycznych. Reprodukcja osobnika jest powtarzana wielokrotnie: tyle razy, aby można było skompletować odpowiednią liczbę osobników rodzicielskich potrzebnych do wykonania operacji genetycznych. Ponieważ dodatkowo różne operatory genetyczne mogą prowadzić do powstania różnej liczby osobników potomnych, trzeba by znać zawczasu liczbę osobników potomnych generowanych przez każdy z operatorów, tak aby można było zapełnić populację potomną. To z kolei wymagałoby przejścia przez scentralizowany etap wielokrotnego wyboru operatora genetycznego. Załóżmy więc, że w wyniku każdej operacji genetycznej powstaje dokładnie jeden osobnik potomny. Uproszczenie takie pozwala efektywnie zrównoleglić reprodukcję i operacje genetyczne, gdyż proces tworzenia każdego osobnika potomnego jest niezależny od pozostałych i polega na dokonaniu wyboru operatora, reprodukcji osobników rodzicielskich i wykonaniu operacji genetycznych.
.234.
5. Zapobieganie przedwczesnej zbieżności
Jedną z możliwych wersji zrównoleglonego algorytmu ewolucyjnego przedstawiono na rys. 5.19. Należy podkreślić, że nie jest to jedyny wariant zrównoleglenia.
procedurę Zrównoleglony algorytm ewolucyjny begin
t--=o .^;1 ;..
for (i = 1,... ,^t) do begin asynchronicznie
generuj X* P ocena Xi e P
end
while (not warunek stopu) do
begin
for (i = 1,..., A) do begin asynchronicznie
if(decyzjaokrzyzowaniu)then begin
c := wybór operatora krzyżowania for (k = l,...,fc(c)) do begin asynchronicznie
reprodukcja osobnika do T*
end
Y := mutacja(krzyzowanie T*)
else
X := reprodukcja osobnika z PL
; Y:=mutacja(X)
end
ocena Y '-'
dodajYdoO* 4
end
Pt+1 := sukcesja (P*, O*) t:=t + l end end
RYSUNEK 5.19. Zrównoleglony algorytm ewolucyjny jeden z możliwych wariantów (/i(c) liczba osobników rodzicielskich operatora krzyżowania c)
5.7. Równoległość w algorytmach ewolucyjnych
.235.
Oczekiwane korzyści ze zrównoleglenia. Korzyści, jakie odniesiemy ze zrównoleglenia algorytmu, zależą przede wszystkim od stopnia skomplikowania i wzajemnej niezależności poszczególnych jego elementów, które są wykonywane równolegle.
Dokonajmy teraz zgrubnego oszacowania korzyści płynących ze zrównoleglenia. Przyjmijmy następujące założenia dla czasu wykonania poszczególnych kroków algorytmu:
t&(n} obliczenie wartości funkcji przystosowania osobnika,
i9(yu) wykonanie operatorów genetycznych wraz z reprodukcją,
t[ losowanie operatorów genetycznych,
ts([i + A) wykonanie sukcesji,
ti(n) generowanie osobnika w populacji P.
Załóżmy, że czas wykonania każdej z wyżej wymienionych czynności jest identyczny. Jeśli założenie to nie byłoby spełnione, należałoby prowadzić obliczenia, biorąc pod uwagę albo maksymalny czas wykonania (otrzymując ograniczenie górne tego czasu), albo wartość oczekiwaną (otrzymując przybliżenie wartości oczekiwanej).
Czas wykonania N generacji algorytmu ewolucyjnego w wersji sekwencyjnej wynosi więc
ti = fj, (ti(n} + ta,(n}} + N [X (tg(fj,) + ti + t<;,(n)) + ts(p, + A)]
(5.21)
w wersji zrównoleglonej zaś jak na rys. 5.19, przy założeniu, że do dyspozycji jest k nieobciążonych, jednakowych procesorów, oraz że algorytm przydziału zadań do procesorów jest "sprawiedliwy"*
(5.22)
+ N
gdzie K\ i K? są kosztami zrównoleglenia; \z\ oznacza najmniejszą liczbę całkowitą nie mniejszą niż z.
Analizując wyrażenie (5.22), łatwo spostrzeżemy, że o koszcie wykonania algorytmu decydują przede wszystkim kroki wykonywane w pętli głównej (ze względu na wymnożenie przez N). A zatem, najbardziej opłacalne wydaje się zrównoleglanie reprodukcji, operacji genetycznych i obliczania wartości funkcji przystosowania.
Należy zwrócić uwagę, że wartości tg(p), ts([i + A) zależą od liczności populacji. Charakter tych zależności jest zwykle liniowy lub kwadratowy, tak więc nie powinien mieć istotnego wpływu
J ' x r ^ J
na złożoność obliczeniową algorytmu. Z kolei wartość t$(n) za-
... ,.
*Czyli procesory są rowno-
.236.
5. Zapobieganie przedwczesnej zbieżności
leży od liczby wymiarów rozwiązywanego problemu, co najczęściej jest czynnikiem decydującym o złożoności obliczeniowej algorytmu ewolucyjnego.
5.7.2. Algorytmy koewolucyjne
Zasada koewolucji polega na tym, że globalne oddziaływania na poziomie selekcji i krzyżowania, znamienne dla standardowego algorytmu ewolucyjnego, stają się w pewnym stopniu lokalne. Zasadę koewolucji realizuje się dwoma sposobami: za pomocą algorytmu wyspowego.(zwanego podpopulacyjnym) oraz algorytmu komórkowego (zwanego masowo równoległym lub dyfuzyjnym).
Algorytm wyspowy (podpopulacyjny). Składa się on z wielu populacji, które ewoluują niezależnie od siebie, sporadycznie wymieniając między sobą informacje (na przykład część osobników). Koewoluujące populacje mogą się składać z osobników tego samego typu bądź też różnych typów. Może się także zdarzyć (zwłaszcza w drugim z wymienionych przypadków), że w każdej z nich obowiązuje inna funkcja przystosowania; wówczas występuje często pewnego rodzaju zależność między funkcjami przystosowania poszczególnych podpopulacji9. Koewolucja może być modelem nisz ekologicznych: w ramach każdej z nich występuje konkurencja osobników o ograniczone zasoby, migracja zaś i krzyżowanie osobników między niszami zdarza się dość rzadko.
W każdej z podpopulacji wykonywany jest algorytm ewolucyjny, którego schemat naszkicowano na rys. 5.20.
Wykonywany w podpopulacji algorytm ewolucyjny tym różni się od schematu z jedną populacją, że dopuszcza dopływ osobników z "zewnątrz"; podobnie, możliwe jest wysłanie osobnika na zewnątrz. Osobniki te oczywiście nie giną, lecz są wprowadzane do innych podpopulacji.
Wymiana osobników między podpopulacjami. Spotyka się dwa modele wymiany osobników między podpopulacjami. Pierwszy z nich, zwany emigracją, polega na tym, że osobnik wysyłany na zewnątrz jest usuwany z populacji bazowej. Z kolei podczas imigracji, na zewnątrz wysyłana jest tylko kopia osobnika, on sam pozostaje zaś w populacji bazowej. Przyjęcia osobnika z ze-
9Znane są podejścia, w których koewolucja dotyczy dekompozycji zadania. W wektorze zmiennych niezależnych wyróżnia się dla każdej z podpopulacji zmienne ustalone, których wartości nie są przedmiotem ewolucji. Każda z podpopulacji ma uzmien-nioną inną część wektora zmiennych niezależnych. Nad całością czuwa proces (nie-ewolucyjny) koordynujący poszukiwania. Inne przykładowe rozwiązanie polega na koewolucji populacji rozwiązań i populacji funkcji ograniczeń. ,
5.7. Równoległość w algorytmach ewolucyjnych
.237.
procedurę Algorytm ewolucyjny w podpopulacji begin
t := 0
inicjacja P*
ocena P*
while (not warunek stopu) do
begin
T4 := reprodukcja P* O* := operacje genetyczne T* ocena O*
Pt+l := sukcesja (P*,O*) wymiana osobników z innymi podpopulacjami . t := t + 1 end end
RvsuNEK 5.20. Algorytm ewolucyjny wykonywany w podpopulacji
wnątrz dokonuje się w sposób analogiczny do sukcesji można na przykład stosować schemat elitarny lub preselekcję.
Wymiany informacji między podpopulacjami można dokonywać różnymi sposobami zbiór podpopulacji może być nieuporządkowany albo też może być przyjęta relacja sąsiedztwa podpopulacji. W j5ierwszym przypadku wymiana osobników następuje między dowolnymi dwiema podpopulacjami, w drugim zaś jest ograniczona do sąsiadujących podpopulacji. Rzeczjasna, pierwszy z wymienionych sposób ma charakter bliższy scentralizowanemu algorytmowi ewolucyjnemu, można się więc spodziewać większego nacisku selektywnego (a więc szybszej zbieżności i mniejszej odporności na maksima lokalne).
Na rysunku 5.21 przedstawiono najczęściej spotykane w literaturze topologie. Jak dotychczas brak jest jednoznacznych informacji, które topologie są najbardziej godne polecenia. Wydaje się natomiast, że w przypadku implementacji algorytmu podpopu-lacyjnego na komputerze równoległym lub w sieci komputerów, powinno się przede wszystkim uwzględniać topologię właściwą dla środowiska implementacji ze względu na dobre wykorzystanie możliwości sprzętu. Chodzi przede wszystkim o wykluczenie niebezpieczeństwa, że algorytm większość czasu będzie poświęcał na komunikację między podpopulacjami (co może się zdarzyć przy słabej przepustowości połączeń między jednostkami obliczeniowymi i niewłaściwym ich wykorzystaniu). Warto na koniec podkreślić, że wybór topologii podpopulacji ma arbitralny charakter i nie jest związany z topologią przestrzeni genotypów.
.238.
5. Zapobieganie przedwczesnej zbieżności
A-.
(a)
(b)
(c)
(d)
RYSUNEK 5.21. Topologie podpopulacji najczęściej spotykane w literaturze: a) ,,czysty" model wyspowy, b) wielowymiarowy torus, c) hipersześcian, d) drabina. Węzły oznaczają podpopulacje, krawędzie zaś dopuszczalne kierunki migracji osobników
Algorytm komórkowy (masowo równoległy). Algorytm taki uznawany jest za stosunkowo skuteczną technikę optymalizacji wielomodalnej. W populacji osobników obowiązuje pewna arbitralnie wybrana topologia (nie związana z topologią przestrzeni genotypów). Dla każdego osobnika Xż jest zdefiniowane sąsiedztwo 7Vr(X*) (r jest jego promieniem). Każdy osobnik podlega niezależnej ewolucji. Polega ona na tym, że wchodzi on w interakcje (selekcja, krzyżowanie i mutacja) z osobnikami z ATr(X*) (rys. 5.22), co prowadzi do wygenerowania nowego osobnika Y*,
O O O O O O O O O O O
o o o ^o] o o o o o o o
O oR)OOJO O O O O O
o o
o o o o o
O ' ' | ' 0 O O O O O O >j oJ O O O
o o oo|o >^> oj
o o o o o o o o o o o o o o o o o o o o o o
RvsuNEK 5.22. Wyróżnianie podpopulacji konkurujących osobników w komórkowym algorytmie ewolucyjnym. Jeden osobnik zwykle należy do wielu podpopulacjijednocześnie
który konkuruje z X* na etapie sukcesji. Schemat tego algorytmu przedstawiono na rys. 5.23; wykonuje się go asynchronicznie dla każdego osobnika z populacji bazowej.
Algorytm komórkowy jest niekiedy nazywany dyfuzyjnym. Powodem jest sposób rozprzestrzeniania się rozwiązania, któ-
5.8. Uwagi bibliograficzne
.239.
procedurę Komórkowy algorytm ewolucyjny begin
t := 0
inicjacja X*
ocena XL
while (not warunek stopu) do
begin
T4 := reprodukcja (X* U Nr(X*)) Y* := operacje genetyczne (T*) ocena Y*
X*+1:=sukcesja({X*,Y'}) t := t + 1 end end
RvsuNEK 5.23. Model komórkowy algorytm ewolucyjny na poziomie pojedynczego osobnika
re powstało w miejscujednego z osobników populacji. W kolejnych generacjach rozwiązanie to, wskutek działania selekcji, powiela się dla sąsiednich osobników*. Jeśli w populacji powstały różne rozwiązania o porównywalnym przystosowaniu, to obszary, w których dominują, oddziela "front" osobników granicznych. Front ten jest miejscem, gdzie najczęściej powstają nowe ciekawe osobniki.
Rola relacji sąsiedztwa. Kluczową rolę w algorytmie komórkowym odgrywa relacja sąsiedztwa, wykorzystywana do określania konkurujących ze sobą osobników. Im większa liczba osobników znajduje się w sąsiedztwie, tym większyjest zasięg selekcji. To z kolei sprawia, że algorytm ma mniejszą odporność na maksima lokalne, za to szybszą zbieżność (mniejszy koszt obliczeniowy). Dzięki temu, manipulując liczbą osobników w sąsiedztwie, można uzyskać algorytm ewolucyjny o pożądanych właściwościach.
5.8. Uwagi bibliograficzne
Istnieje pokusa opracowywania jak najbardziej uniwersalnych algorytmów genetycznych (wyraz jej dał np. Goldberg [31], przeciwstawiając sobie metody lokalne, Monte Carlo i algorytmy genetyczne). Jednak jest wiele prac ukazujących niewątpliwe korzyści z hybrydyzacji z metodami lokalnymi (np. [34, 541). Włą- 'w. sp05Ób Jied?sl??ałł*
J J J J J J > * l ' >' < zaburzony wskutek działa-
czenie metody optymalizacji lokalnej jako operatora mutacji zna- nia krzyżowania i mutacji.
5. Zapobieganie przedwczesnej zbieżności
leźć można np. w [48]. Z kolei operator krzyżowania jako metoda optymalizacji lokalnej był wykorzystywany m.in. w [98, 111].
Osłabienie odporności w ewolucji lamarkowskiej i jej poprawę dzięki istnieniu efektu Baldwina opisano w [109].
Reprodukcję z ograniczaniem maksymalnego czasu życia użytą do strategii ewolucyjnej opisano np. w [95]. Znane jest również wykorzystanie tego pomysłu w tzw. steady-state genetic algo-rithm, czyli algorytmie z reprodukcją proporcjonalną i ściskiem, A = 1 [29]. Z kolei selekcję sterowaną czasem życia wprowadzono w [4] i rozwinięto w [1] (stamtąd pochodzą cytowane wyniki).
Podziałowi przystosowania wiele miejsca poświęca Goldberg [31]; nieco nowszy przegląd można znaleźć również w [49]. Tam również omówiono sekwencyjne metody niszowania (patrz także [62]). Znane są również nieewolucyjne metody optymalizacji oparte na lokalnych deformacjach funkcji celu, opisane jako penalty methods w [103].
Aimo Tórn pod koniec lat 70. wprowadził w [103, 110] algorytm optymalizacji bazujący na grupowaniu. Preselekcja i ścisk należą do jednych z wcześniejszych pomysłów utrzymywania różnorodności populacji bazowej, obecnie mało popularnych. Ich omówienie można znaleźć w [31].
Zagadnienie inicjacji populacji bazowej jest bardzo słabo poznane. Pomysł wykorzystania sekwencji o małej dyskrepancji do inicjacji populacji powstał w kilku niezależnych od siebie ośrodkach [12, 97]. Wyniki eksperymentów pochodzą z pracy [97]. Algorytm z selektywnie destrukcyjnym restartem opisano w [50].
Hipotezę o istnieniu optymalnej liczności populacji bazowej sformułowano w [60]. W artykule [44] można zapoznać się ze stwierdzeniem, że mniejsze populacje mają tendencję do łatwiejszego opuszczania obszaru przyciągania maksimum lokalnego, a zatem prowadzą do utworzenia bardziej odpornego algorytmu. W pracy [65] wykazano, że najszybszą zbieżność dla funkcji z do-kładniejednym maksimum globalnym można uzyskać dla liczności populacji bazowej ^ = 1 (nie oznacza to jednak, że właściwość ta dotyczy funkcji o wielu maksimach lokalnych, ani że taki algorytm jest najodporniejszy). Tam również zaproponowano algorytm modyfikacji liczności populacji bazowej w sposób proporcjonalny do zasięgu mutacji.
Przegląd tematyki algorytmów koewolucyjnych opracowano na podstawie [64, 96]. Przykładowe algorytmy koewolucyjne z różnymi funkcjami przystosowania w poszczególnych populacjach można znaleźć w [67] (algorytm z dekompozycją i koordynacją zadania) i [63] (koewolucja ograniczeń i osobników). O wpływie struktury sąsiedztw na odporność komórkowych algorytmów ewolucyjnych można przeczytać w [17, 89].
'.-.;'. 5.9. Pytania i ćwiczenia
5.9. Pytania i ćwiczenia
1. Rozważmy algorytm przetwarzający jeden punkt, dokonujący jego perturbacji i akceptujący nowy punkt z prawdopodobieństwem p+, jeśli daje poprawę przystosowania, i z p-, jeśli pogarsza przystosowanie (patrz p. 3.2.1). Rozważmy funkcję przystosowania jak w p. 3.2.1. Załóżmy, że w pewnej chwili punkt roboczy znajduje się w obszarze przyciągania maksimum lokalnego (np. X = 1/2). Jakie jest prawdopodobieństwo opuszczenia obszaru przyciągania maksimum lokalnego w ciągu dwóch generacji, jeśli schemat algorytmu wzbogacony zostanie o dostrajanie metodą lokalną z efektem Baldwina? Jaki będzie wpływ przyjęcia ewolucji lamarkowskiej na działanie algorytmu?
2. Czy prawdziwe jest twierdzenie, że ewolucja lamarkowska zawsze prowadzi do zmniejszania różnorodności populacji (jeśli tak, uzasadnij odpowiedź, w przeciwnym przypadku, podaj kontrprzykład) ?
3. Jaki jest i z czego wynika dodatkowy nakład obliczeń związany z określeniem zmodyfikowanej funkcji przystosowania przez funkcję podziału? Zaproponuj sposób zmniejszenia kosztu tej operacji analogiczny do algorytmu preselekcji ze ściskiem. Czy problem ten występuje w metodzie sekwencyjnego niszowania?
4. Rozważmy algorytm z losowym zaburzaniem funkcji przystosowania; zmodyfikowaną funkcję przystosowania oznaczmy <&'(X) = 3?(X) + L. Załóżmy, że dysponujemy algorytmem maksymalizacji przetwarzającymjeden punkt roboczy X4, który dokonuje losowej perturbacji tego punktu; wynik tej perturbacji Y* jest akceptowany jako nowy punkt roboczy Xt+1, jeśli <&'(Y') > <&'(X*) (patrz p. 3.2.1). Załóżmy, że perturbacja ma ograniczony zasięg, a zmienna losowa L przyjmuje wartości z przedziału [-o,..., a] z niezerowym prawdopodobieństwem. Jakie warunki powinny być spełnione, aby taki algorytm miał niezerowe prawdopodobieństwo osiągnięcia maksimum globalnego z dowolnego punktu startowego? (Wskazówka: rozważ różnicę między wartościami funkcji przystosowania w maksimum lokalnym i na brzegu jego obszaru przyciągania).
5. Jakajest różnica między sukcesją elitarną a mechanizmem preselekcji? Czy preselekcja gwarantuje pozostawienie najlepszego osobnika z populacji bazowej?
6. Załóżmy, że wykorzystujemy algorytm ewolucyjny, którego jedynym operatorem genetycznym jest krzyżowanie uśredniające, wieloosobnicze, h > n + 1. Który sposób inicjacji populacji bazowej daje większą szansę znalezienia maksimum global-
.241,
.242.
5. Zapobieganie przedwczesnej zbieżności
nego: rozmieszczenie chromosomów z rozkładem jednostajnym na brzegu zbioru dopuszczalnego czy w jego wnętrzu?
7. Rozważmy zadanie opisane w podrozdziale 3.2.1. Załóżmy, że dysponujemy algorytmem z selekcją (^i, 1) przetwarzającym populację P* zawierającą ^, osobników. W populacji P wszystkie chromosomy znajdują się w obszarze przyciągania maksimum lokalnego. Jeden z nich X = 1/4, pozostałe zaś spełniają warunek X < 1/2. Jak zmienia się prawdopodobieństwo w zależności od wartości p, że w populacji Pt+1 znajdzie się chromosom należący do zbioru przyciągania maksimum globalnego?
Wyszukiwarka
Podobne podstrony:
Wykład 05 Opadanie i fluidyzacja
Prezentacja MG 05 2012
Przedwzmacniacze lampowe 2
2011 05 P
05 2
ei 05 08 s029
ZAPOBIEGANIE SAMOBÓJSTWOM
ei 05 s052
Uncle Uwo Jak Zapobiec Odrzuceniu
więcej podobnych podstron