Transcript DGA_MGA

Migracyjne ( Wyspowe )
Algorytmy Ewolucyjne
1
O czym będziemy mówić:
 Algorytmy ewolucyjne
problemy
– czasochłonność
– premature convergence
 Próby
rozwiązania problemów
Crowding
Fitness sharing
Distributed Genetic Algorithm (DGA)
2
Szczegóły o DGA


Jak działa DGA (migration interval i migration rate)
Modele migracji
stepping stones model
random migration model
hierarchical parallel model





Metody wyboru osobników do migracji
Competition and Cooperation
Injection island GA (iiGA)
Hierarchical Fair Competition parallel model
(HFC)
DGA/rmr (random migration rate)
3
Algorytmy Ewolucyjne
 Typowe podejścia:
ulepszanie jednego rozwiązania
 Evolutionary Algorithms EA:
przetwarzanie całych populacji
4
Algorytmy Ewolucyjne
 Wspólne cechy EA
reprezentacja rozwiązań jako osobników
reprodukcja
losowe zmiany
współzawodnictwo osobników
selekcja osobników
5
Algorytmy Ewolucyjne

Algorytmy te opierają się głównie na reprodukcji
„genetycznej” – poprzez zastosowanie algorytmów
genetycznych
 Genetic Algorithms – GA
krzyżowanie
mutacja
6
Algorytmy Genetyczne
 Zalety:
są one w stanie znaleźć właściwe rozwiązanie (lub
jego przybliżenie) także w przypadku funkcji o wielu
minimach lokalnych
 Wady:
są czasochłonne (bardzo liczne populacje)
nie zawsze otrzymujemy minimum globalne (tylko
jedno z lepszych minimów lokalnych)
7
Algorytmy Genetyczne –
rozwiązania problemów
 przyspieszenie przez równoległe obliczenia
DGA (Distributed Genetic Algorithm)
PEA (Parallel Evolutionary Algorithms)
unikanie przedwczesnej zbiezności (premature
convergence) przez:
Zatłoczenie
Podział przystosowania
Algorytmy wyspowe (PEA, DGA)
8
Premature convergence

Przedwczesna zbieżność
W środowisku, w którym zbyt mocno promujemy najlepsze jednostki może dojść do
sytuacji w której jeden gatunek (typ rozwiązania) szybko wyeliminuje pozostałe, czego
efektem będzie ugrzęźniecie w minimum lokalnym.
 Natomiast w przeciwnym przypadku, gdy stosujemy inne zasady doboru, mogą
zachodzić zbyt chaotyczne zmiany prowadzące do utraty „dobrych” materiałów
genetycznych.
 Należy zapewnić balans między szerokością eksploracji przestrzeni rozwiązań a
dokładnością przeszukiwań (dopracowywaniem rozwiązań) (exploration and
exploitation).
 W przypadku przedwczesnej zbieżności w miarę postępu ewolucji średnie
przystosowanie populacji rośnie pozwalając „przeżyć” tylko podobnym osobnikom,
usuwając wszystkie słabsze (o niskim przystosowaniu), które być może mogły by
wyprowadzić populację z minimum lokalnego do którego zdąża.

9
Crowding
Strategia wymiany potomstwa mająca za zadanie
utrzymanie różnorodności.
 Polega na wymienieniu podobnych osobników
zwykle zapobiegając zbieraniu się ich wokół jednego
minimum, rozszerzając w ten sposób zakres
poszukiwań.
 Często jednak nie spisuje się prowadząc do zbiegania
się populacji do kilku minimów.

10
Fitness sharing
Modyfikacja operatora selekcji bazującego na
dostosowaniu – pozwalająca na formowanie
stabilnych podpopulacji wokół rożnych minimów
 powodująca równoległe poszukiwania w okolicy wielu
minimów obszaru poszukiwań.
 Jednak w przypadku bardzo wielu minimów lokalnych
jest wielce prawdopodobne, że ograniczona populacja
nie będzie w stanie sprawdzić ich wszystkich.

11
Distributed Genetic Algorithm - DGA
Właściwie wszystkie operacje genetyczne poza selekcją
mogą być wykonywane równolegle
 mówi się że algorytmy genetyczne posiadają wrodzony
paralelizm.
 W DGA populacja podzielona jest na podpopulacje
zwane wyspami


(stosuje się też inne rozwiązania równoległości GA, np. modele
lokalnego sąsiedztwa z procesem dyfuzji)
12
Distributed Genetic Algorithm
populację dzielimy na
podpopulacje
 w każdej podpopulacji
realizujemy alg. gen.
 najczęściej jednej
podpopulacji odpowiada 1
komputer / procesor
 między populacjami zachodzi
migracja osobników

migracja
1 wyspa / 1 komputer
13
Distributed Genetic Algorithm


Po zdefiniowanej ilości pokoleń migration interval część
osobników przenoszonych jest (lub kopiowanych) na inną wyspę.
Ich ilość jest zdefiniowana przez migration rate.
14
Distributed Genetic Algorithm




DGA mogą być wykonywane równolegle
udowodniono, że potrafią dostarczać dobrych rozwiązań po mniejszej liczbie
obliczeń niż zwykłe GA!
Wielkość populacji na każdej z wysp jest mniejsza niż w przypadku GA i co za
tym idzie lokalne rozwiązanie może zostać osiągnięte szybciej.
Jednak dzięki istnieniu innych wysp i operacji migracji w DGA zachowana
zostaje różnorodność rozwiązań.
15
Modele migracji w DGA

stepping stones model
docelowa wyspa na którą przenoszone są osobniki jest
wcześniej określona.
16
Modele migracji w DGA

random migration model
cel migracji za każdym razem wybierany jest losowo.
17
Modele migracji w DGA

hierarchical parallel model
docelowa wyspa na którą przenoszone są osobniki jest
wcześniej określona tak jak w stepping stones model, z tym
że wyspy ułożone są na różnych poziomach w hierarchię
najczęściej określającą kierunek i warunki migracji
18
HFC
graduate
school
Academic
level
college
high
school
Simultaneous
training at all
levels
middle
school
primary
school
New babies
19
Hierarchical Fair Competition
przystosowanie
Losowa generacja rozwiązań
20
Porównanie HFC z klasycznymi
GA
HFC bada nowe obszary
przystosowanie
Klasyczny GA
21
Metody wyboru osobników do migracji.

Elitarne osobniki
Metoda polega na przesyłaniu najlepszych osobników do następnej
wyspy zastępując nimi najgorsze. Metoda ta niestety często prowadzi do
przedwczesnej zbieżności.

Turniejowo
Osobniki wybierane są metodą turniejową, również często prowadzi do
przedwczesnej zbieżności.

Losowo wybierane osobniki
W brew pozorom metoda ta daje dość dobre wyniki, gdyż prowadzi do
zachowania różnorodności osobników na każdej wyspie.
22
Metody wyboru osobników do migracji.

Maximum Gap Allowed (MGA)
Metoda ta próbuje zapobiec nie wyrównanej wymianie
genotypów poprzez użycie progu akceptowalności
(acceptance threshold) dla przychodzących łańcuchów.
Unika ona wprowadzania zbyt dobrych osobników
(elitarnych), które mogłyby zdominować populację, poprzez
określenie maksymalnej akceptowalnej różnicy między
miarami dopasowania najlepszego lokalnego osobnika i
osobnika migrującego do danej populacji.
23
Metody wyboru osobników do migracji.

Dynamic Arbiter Strategy (DAS)
Pozwala na niezależną ewolucję podpopulacji jednak podejmując
działania w przypadku wykrycia stagnacji.
W takim przypadku próbuje uniknąć wpadnięcia w lokalne minimum
poprzez dodanie do populacji osobników znacznie różniących się od
istniejących w celu przywrócenia różnorodności.
Arbiter zbiera dane o średnim, najlepszym i najgorszym przystosowaniu
osobników populacji i na ich podstawie określa które populacje zagrożone
są stagnacją. Jeśli znajdzie takie populacje to dokonuje migracji:
– IF najlepszy globalny osobnik nie rezyduje w źródłowej populacji
THEN migruj najlepszego globalnego osobnika
ELSE migruj najgorszego globalnego osobnika
24
Metody wyboru osobników do migracji.

Combined MGA-DAS Strategy (CMGA-DAS)
Połączenie metod MGA i DAS
powstaje przez proste dodanie kryterium akceptowalności
metody DAS w momencie wyboru osobników do migracji.
25
Competition and Cooperation




W standartowym PEA (Parallel Evolutionary Algorithm) wszystkie
podpopulacje używają tych samych parametrów.
Model współzawodniczących populacji określa dla każdej podpopulacji inną
strategię (inne parametry np. krzyżowania i mutacji)
przestrzeń rozwiązań przeszukiwana jest za pomocą różnych strategii.
ranking podpopulacji na podstawie
najlepszego dostosowania
średniego dostosowania podpopulacji.

Współzawodniczenie populacji osiąga się przez dostarczanie większej ilości
zasobów lepszym populacjom, dobre populacje otrzymują również osobników
z nieudanych populacji.
26
Competition and Cooperation

Wprowadzenie współzawodniczenia owocuje w
pewnym sensie automatycznym wybieraniem lepszych
strategii
metod
wartości parametrów
we właściwym czasie.
27
Competition and Cooperation

Przykład:
3 podpopulacje używające różnych strategii:
– podpopulacja 1: brutalne szukanie (duże kroki mutacji)
– podpopulacja 3: gładkie szukanie (małe kroki mutacji)
funkcja RASTRIGINa nr 6, n = 20, - 500 < x < 500
28
Injection island GA - iiGA


Hierarchiczny model równoległy
podpopulacje zorganizowane są w hierarchię
różne reprezentacje na każdym z poziomów
przykład modelu z rywalizacją.
 posiada wadę: dla każdej podpopulacji (a w szczególności dla
podpopulacji o najwyższym poziomie) wciąż istnieje ryzyko wpadnięcia
w lokalne minimum.


próbuje rozwiązać problem przedwczesnej zbieżności głównie poprzez użycie
kilku podpopulacji na każdym poziomie oraz przez użycie mechanizmów
takich jak crowding, zamiast bezpośrednio za pomocą hierarchii jak to robi
HFC.
29
Hierarchical Fair Competition
parallel model
HFC
30
Hierarchical Fair Competition
 powody przedwczesnej zbieżności
selection pressure (napór selekcyjny)
promowanie najlepiej dopasowanych
eliminacja młodych osobników, które mogą być
obiecujące
dyskryminacja „nie fair” dobrego kodu
genetycznego.
31
Hierarchical Fair Competition

poziomy na
podobieństwo
szkolnictwa:
32
Hierarchical Fair Competition

szeroka eksploracja przestrzeni poszukiwań

młode osobniki nie
rywalizują z dorosłymi
podobieństwo do natury
usuwane są osobniki bez
perspektyw
admission threshold
bardzo dobre wyniki




33
DGA/rmr
 DGA with random migration rate
losowo wybierane jest:
– osobniki do migracji
– ich liczba
– wyspa docelowa
34
DGA/rmr

Losowa liczba osobników migruje
zmienna liczność podpopulacji
marnowanie czasu na synchronizację popdpopulacji

Zaletą DGA/rmr jest „adaptacyjne” dobieranie migration
rate. Testy wykazują, że losowość tego parametru jest
dobrym rozwiązaniem i daje całkiem dobre wyniki.
35
DGA/rmr - właściwości

Gdy wielkość populacji jest wystarczająco duża
rozwiązania są niezależne od migration rate i migration interval.

Gdy natomiast wielkość populacji jest zbyt mała
rozwiązania zależą od tych parametrów
dość ciężko jest znaleźć optymalne ich wartości


Osiąga dobre wyniki dla różnych wartości migration interval
zarówno dla funkcji Rastrigina jak i Rosenbrocka. Sugeruje to, że
wartości tych parametrów nie muszą być zdefiniowane żeby
znaleźć dobre rozwiązania.
Wada: strata czasu na synchronizację.
36
Podsumowanie
Migracyjne algorytmy ewolucyjne okazują się rozwiązaniem bardzo dobrym, dającym
lepsze wyniki niż tradycyjne EA, na dodatek w krótszym czasie.
Metody te mają ponadto zdolność do unikania przedwczesnej zbieżności co owocuje
lepszym przeszukaniem przestrzeni rozwiązań i niejednokrotnie znalezieniem minimum
globalnego, gdy tradycyjne EA znajdują jedynie minima lokalne zbliżone do globalnego.
Niewątpliwą zaletą PEA jest również możliwość ich równoległego wykonywania co
dodatkowo radykalnie zwiększa szybkość obliczeń. Za pomocą PEA istnieje także
możliwość stworzenia współzawodnictwa różnych metod, co prowadzi do
automatycznego wybrania tych lepszych wraz z odpowiednimi wartościami parametrów
we właściwym czasie.
Wśród metody tych należy wyróżnić model Hierarchical Fair Competition HFC jako
najciekawszy i dający najlepsze rezultaty algorytm opierający się w całości na analogii
z naturą i systemami szkolnictwa. Wyraźnie dobre wyniki osiągane są również za
pomocą algorytmu DGA/rmr.
37
Obliczenia testowe
38
Algorytm wyspowy
Optymalizacja funkcji dwóch zmiennych
Użytkownik ma możliwość podania następujących parametrów: funkcji:
wzór funkcji
przedziały dla każdej zmiennej na którym ma być znalezione
minimum
algorytmu wyspowego
rozmiar populacji i liczba wysp
współczynnik migracji
czas migracji
liczba pokoleń
prawdopodobieństwo krzyżowania i mutacji
dokładność z jaka ma być liczone minimum
39
Schemat blokowy algorytmu
wyspowego
START
Stworzenie losowej populacji początkowej
Podział populacji na hierarchie i obliczenie
progów akceptacji
Ocena dopasowania poszczególnych osobników
Czy spełniony został warunek stopu?
(algorytm przeszedł odpowiednią ilość epok)
TAK
NIE
Zastosowanie algorytmu genetycznego dla każdego
poziomu hierarchii
NIE
Czy minęła odpowiednia liczba pokoleń, aby
przeprowadzić migrację?
TAK
Migracja
KONIEC
40
Schemat blokowy algorytmu
genetycznego (jedno pokolenie)
START
Stworzenie losowej populacji początkowej
Podział populacji na hierarchie i obliczenie
progów akceptacji
Ocena dopasowania poszczególnych osobników
Czy spełniony został warunek stopu?
(algorytm przeszedł odpowiednią ilość epok)
TAK
NIE
Zastosowanie algorytmu genetycznego dla każdego
poziomu hierarchii
NIE
Czy minęła odpowiednia liczba pokoleń, aby
przeprowadzić migrację?
TAK
Migracja
KONIEC
41
Schemat blokowy migracji (jeden poziom
hierarchii)
START
Wybierz wszystkie osobniki, których dopasowanie jest większe, równe
progowi akceptacji dla tego poziomu
Wybierz tyle osobników do migracji ile wynosi
współczynnik migracji, korzystając z selekcji elitarnej
Na miejsca osobników, które przeszły na poziom wyżej wstaw
osobników losowo utworzonych
W poziomie, do którego osobniki wyemigrowały stwórz jedną pod
populację składającą się z osobników danego poziomu i emigrantów
Wybierz osobników za pomocą selekcji elitarnej (rozmiar poziomu nie
zwiększa się)
KONIEC
42
Instrukcja obsługi
Po rozpoczęciu programu użytkownik ma możliwość wykonania jednej z dwóch czynności:
•
Rozpoczęcie liczenia minimum funkcji – przycisk Znajdź min
•
Zakończenie programu – przycisk Koniec.
Aby rozpocząć liczenie minimum należy wypełnić wszystkie pola w oknie programu. Po naciśnięciu
przycisku Znajdź min, wszystkie pola i przyciski zostają wyłączone. Następnie wyświetla się pole
wykresu i algorytm zaczyna liczyć minimum zadanej funkcji, cały czas pokazując użytkownikowi aktualne
dane (numer pokolenia, wartość najlepszego osobnika z 3 poziomów hierarchii: najniższego,
środkowego i najwyższego). Po zakończeniu liczenia użytkownik dostaje trzy nowe opcje:
•
Może wyświetlić średniego dopasowania poszczególnych pokoleń – przycisk Wykres
dopasowania (wyświetla średnie dopasowanie z każdego pokolenia, oraz najlepszego osobnika z
ostatniego pokolenia dla 3 poziomów hierarchii: najniższego, środkowego i najwyższego)
•
Może wyświetlić ponownie ostatni widok wykresu funkcji – przycisk Wykres funkcji
•
Może ponownie rozpocząć obliczenia – przycisk Nowa funkcja (jego naciśnięcie ponownie
włącza wszystkie wyłączone elementy okna przez przycisk Znajdź min).
43
Algorytm migracyjny
algorytm_wyspowy – funkcja odpowiadająca za działanie algorytmu migracyjnego
migracja – funkcja odpowiadająca za migrację między poziomami hierarchii
oblicz_progi – funkcja licząca progi akceptacji po każdej migracji (próg to średnie dopasowanie
na danej wyspie)
podaj_naj – funkcja podająca najlepszego osobnika z danej wyspy
podaj_srednie – funkcja podaje średnie dopasowanie osobników danej wyspy w danym
pokoleniu
podziel_na_wyspy – funkcja odpowiada na podzielenie początkowej, losowej populacji na
liczbę wysp zadaną przez użytkownika
selekcja_do_migracji – funkcja selekcjonująca osobniki, które spełniają warunek do migracji, z
danej wyspy
selekcja_elitarna – funkcja selekcjonująca metodą elitarną osobników wśród osobników danej
wyspy i migrantów (wynikiem jest podpopulacja rozmiarów danej wyspy)
stworz_populacje – funkcja odpowiadająca za utworzenie losowe populacji początkowej
44
Lokalny SGA
algorytm_genetyczny – funkcja odpowiadająca za działanie algorytmu genetycznego dla
jednego pokolenia na danej podpopulacji (wyspie)
dekoduj – funkcja odczytuje wartość zakodowaną binarnie w chromosomie
jaka_dlugosc – funkcja licząca długość chromosomu, w zależności od podanych przedziałów i
precyzji
krzyzowanie – funkcja realizująca operator krzyżowania (zwracanych jest 2 najlepszych z
rodziców i potomków)
mutacja – funkcja realizująca operator mutacji
ocena – funkcja licząca dopasowanie osobników w populacji
selekcja_turniej – funkcja realizująca selekcje metodą turniejową (maksymalna wielkość turnieju
to liczba równa połowie osobników w danej podpopulacji)
45
Wzór funkcji
21.5+x*sin(4*3.14*x)+y*sin(20*3.14*y)
Przedział x
[-3;12.1]
Wykres 1
Rozmiar populacji
Liczba Pokoleń
100
25
Liczba wysp
Współczynnik migracji
5
0.6
Poziom 1
Poziom 3
26.288318
24.741453
Wykres funkcji
Przedział y
[4.1;5.8]
Precyzja
4
pm
0.05
pk
0.90
Czas migracji
5
Poziom 5
24.230271
Wykres dopasowania
46
Wykres 2
Rozmiar populacji
Liczba Pokoleń
100
25
Liczba wysp
Współczynnik migracji
5
0.6
Poziom 1
Poziom 3
27.350514
34.540762
Wykres funkcji
pm
0.90
pk
0.90
Czas migracji
5
Poziom 5
29.142411
Wykres dopasowania
47
Wykres 3
Liczba Pokoleń
Rozmiar populacji
25
100
Współczynnik migracji
Liczba wysp
0.6
5
Poziom 3
Poziom 1
25.153336
29.966287
Wykres funkcji
pk
0.05
Czas migracji
5
Poziom 5
25.154992
Wykres dopasowania
pm
0.05
48
Wykres 4
Rozmiar populacji
Liczba Pokoleń
100
25
Liczba wysp
Współczynnik migracji
5
0.6
Poziom 1
Poziom 3
37.085067
38.656554
Wykres funkcji
pm
0.90
pk
0.05
Czas migracji
5
Poziom 5
28.686287
Wykres dopasowania
49
Wykres 5
Rozmiar populacji
Liczba Pokoleń
100
10
Liczba wysp
Współczynnik migracji
1
0.6
Poziom 1
24.342787
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Wykres dopasowania
50
Wykres 6
Rozmiar populacji
Liczba Pokoleń
100
50
Liczba wysp
Współczynnik migracji
1
0.6
Poziom 1
23.840770
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Wykres dopasowania
51
Wykres 7
Rozmiar populacji
Liczba Pokoleń
100
1
Liczba wysp
Współczynnik migracji
5
0.6
Poziom 1
Poziom 3
26.336152
29.659481
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Poziom 5
24.848811
Wykres dopasowania
52
Wykres 8
Rozmiar populacji
Liczba Pokoleń
100
50
Liczba wysp
Współczynnik migracji
5
0.6
Poziom 1
Poziom 3
27.194474
24.132754
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Poziom 5
24.135654
Wykres dopasowania
53
Wykres 9
Rozmiar populacji
Liczba Pokoleń
100
10
Liczba wysp
Współczynnik migracji
20
0.6
Poziom 1
Poziom 10
33.254664
26.178500
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Poziom 20
27.833329
Wykres dopasowania
54
Wykres 10
Rozmiar populacji
Liczba Pokoleń
100
50
Liczba wysp
Współczynnik migracji
20
0.6
Poziom 1
Poziom 10
24.719710
25.384012
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Poziom 20
25.472939
Wykres dopasowania
55
Wykres 11
Rozmiar populacji
Liczba Pokoleń
100
50
Liczba wysp
Współczynnik migracji
5
0.3
Poziom 1
Poziom 3
24.308221
24.016008
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Poziom 5
24.016015
Wykres dopasowania
56
Wykres 12
Rozmiar populacji
Liczba Pokoleń
100
50
Liczba wysp
Współczynnik migracji
20
0.3
Poziom 1
Poziom 10
28.547208
28.406494
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Poziom 20
27.778112
Wykres dopasowania
57
Wykres 13
Rozmiar populacji
Liczba Pokoleń
100
50
Liczba wysp
Współczynnik migracji
5
0.9
Poziom 1
Poziom 3
24.128075
24.126377
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Poziom 5
24.219695
Wykres dopasowania
58
Wykres 14
Rozmiar populacji
Liczba Pokoleń
100
50
Liczba wysp
Współczynnik migracji
20
0.9
Poziom 1
Poziom 10
26.961932
24.801368
Wykres funkcji
pm
0.05
pk
0.90
Czas migracji
5
Poziom 20
25.841060
Wykres dopasowania
59
Wnioski
W programie liczymy minimum funkcji dwóch zmiennych.
Zmienną x i y umieszczamy w tym samym chromosomie. Przy
precyzji 5 i długości przedziału około 2 długość zakodowanej danej
wynosi 15. Ponieważ kodujemy 2 zmienne naraz długość ta wynosi
już 30. Przy większych przedziałach długość ta zwiększa się
znacznie, co powoduje dużą ilość obliczeń. Do macierzy, w której
przechowywane są osobniki, dołożyliśmy 3 kolumny. W pierwszej z
nich znajduje się odkodowana wartość zmiennej x, w drugiej
wartość zmiennej y, a w trzecie wartość funkcji dopasowania.
Obliczenia nowego dopasowania są wykonywane w momencie
krzyżowania i tylko dla potomków oraz jeśli zajdzie mutacja co
najmniej jednej pozycji chromosomu. Dzięki ograniczeniu ilości
obliczeń zmniejszyliśmy koszt obliczeniowy programu
60
Wnioski
Ponieważ metoda HFC korzysta z prostego algorytmu genetycznego wykonywanego na
każdej wyspie, istotny jest odpowiedni dobór prawdopodobieństwa krzyżowania i mutacji.
Bardzo dobre wyniki otrzymywaliśmy dla pk=90% i pm=5% (wykres 1). Sprawdziliśmy
także inne warianty (wykresy 2, 3, 4):
•
pk=5% i pm=90% - w tym przypadku dopasowanie poszczególnych
podpopulacji znacznie spadło, a wahanie dopasowania miedzy kolejnymi pokoleniami są
znaczne; dopasowania miedzy poziomami znacznie się różniły (najlepszy osobnik z
poziomu 1 był lepszy niż z poziomu 3)
•
pk=5% i pm=5% - w tym przypadku dopasowanie populacji również spadło, ale
nie dużo i nie wystąpiły wielkie wahania między pokoleniami, wyniki nie były tak złe
•
pk=90% i pm=90% - w tym przypadku dopasowanie poszczególnych
podpopulacji również spadło znacznie, a między pokoleniami są znaczne wahania w
dopasowaniu; również i w tym przypadku najlepszy osobnik z poziomu 1 był lepszy niż z
poziomu 3
61
Wnioski
Ponieważ model HFC jest algorytmem wyspowym, to istotnym parametrem dla niego
jest liczba wysp. Sprawdziliśmy to dla 3 różnych wartości (rozmiar populacji wynosił
100):
•
1 wyspa – zwykły algorytm genetyczny (wykresy 5, 6) – otrzymane wyniki
są bardzo dobre, jednak średnie dopasowanie populacji odbiega od najlepszego
osobnika o około 10
•
5 wysp - model gruboziarnisty (wykresy 7, 8) – otrzymane wyniki są bardzo
dobre zarówno dla najniższego poziomu jak i najwyższego; średnie dopasowanie
najwyższego poziomu hierarchii jest bliższe najlepszemu osobnikowi, niż było to w
przypadku 1 wyspy
•
20 wysp - model drobnoziarnisty (wykresy 9, 10) – otrzymane wyniki
końcowe nie są zadawalające, są zdecydowanie gorsze od otrzymanych mniejszej
ilości wysp; średnie dopasowanie bardzo oscyluje, niższe poziomy otrzymują
znacznie lepsze wyniki niż wyższe.
62
Wnioski
Z powyższych wyników można wywnioskować, że zdecydowanie najlepsze rezultaty
otrzymuje się stosując algorytm genetyczny lub algorytm wyspowy typu
gruboziarnistego. Spowodowane jest to tym, że poszukiwania odbywają się
równolegle na kilku podpopulacjach, jednak ilość osobników na każdej z nich
umożliwia przeszukiwanie sporego obszaru rozwiązań. Ich liczba umożliwia duży
napór selekcyjny z zachowaniem różnorodności genetycznej. W momencie, gdy
mamy dużą liczbę wysp, ale o małej liczebności, napór selekcyjny mamy również
duży, ale różnorodność genetyczna jest zbyt mała. Dodatkowo jedna przypadkowa
mutacja może spowodować, że osobnik będzie miał bardzo duże przystosowanie lub
bardzo małe, a wyniku podobne dopasowanie będzie na całej wyspie. Osobniki
migrujące nie będą się od siebie znacznie różniły. Dodatkowo mogą wprowadzać
znaczne oscylacje w dopasowaniu poszczególnych poziomów hierarchii, co w
efekcie końcowym da słabe wyniki, co widać na wykresach 9 i 10.
63
Wnioski
Ważnym elementem w algorytmach wyspowych jest migracja. Podczas przejścia na wyższy
poziom hierarchii osobnik musi mieć dopasowanie wyższe niż próg akceptacji (średnie
dopasowanie danej podpopulacji). Zastosowano dynamiczną zmianę progu akceptacji Jest on
liczony po stworzeniu wysp oraz po każdej migracji. Dzięki temu dopasowuje się on do aktualnie
panujących warunków i umożliwia przejście tylko najlepszym osobnikom.
Zbadano także jak zachowuje się model HFC typu grubo i drobnoziarnistego w zależności od
wielkości współczynnika migracji (0.3, 0.6, 0.9):
•
model gruboziarnisty (wykresy 11, 8, 13)
•
model drobnoziarnisty (wykresy 12, 10, 14)
W obu przypadkach zdecydowanie lepsze wyniki zostały uzyskane dla współczynników migracji
równych 0.6 i 0.9 niż dla 0.3. Można stwierdzić, że zbyt niski współczynnik migracji zdecydowanie
pogarsza efektywność modelu HFC. Już 0.6 powoduje bardzo dobre wyniki. Podniesienie o kolejne
0.3 powoduje również polepszenie efektywności algorytmu. W przypadku modelu
drobnoziarnistego jest ona bardziej widoczna niż w modelu gruboziarnistym.
64
Literatura
1. Tomoyuki HIROYASU, Mitsunori MIKI and Masami NEGAMI „Distributed Genetic
Algorithms with Randomized Migration Rate”
2. Jian Jun. Hu, Erik D. Goodman „The Hierarchical Fair Competition (HFC) Model for
Parallel Evolutionary Algorithms”
3. Gallard R.H., Esquivel S. C. “Enhancing Evolutionary Algorithms Through
Recombination and Parallelism”
4. Hartmut Pohlheim (DaimlerChrysler AG, Research & Technology) “Competition and
Cooperation in Extended Evolutionary Algorithms”
65
Literatura dodatkowa
5. D.E.Goldberg “Algorytmy genetyczne i ich zastosowania”
6. Jeffrey Horn “The Nature of Niching: Genetic Algorithms and The Evolution of Optimal,
Cooperative Population”
7. J.Arabas "Wykłady z algorytmów ewolucyjnych"
8. J. Nang and K. Matsuo, A Survey on the Parallel Genetic Algorithms,
9. V. S. Gordon and D. Whitley, Serial and Parallel Genetic Algorithms as Function
Optimizers
10. Bäck T. ”Evolutionary algorithms in theory and practice”
11. Belding T.C. “The Distributed Genetic Algorithm Revisited”
12. Ochoa C., Gallard R. “Strategies for Migration Overseeing in Asynchronous Schemes of
Parallel Genetic Algorithms”
13. Tanese R. “Distributed Genetic Algorithms”
66
Internet



Freeware and Shareware Tools for Evolutionary Computation:
http://www.emsl.pnl.gov:2080/proj/neuron/evolve/systems/shareware.html
http://www.geatbx.com/docu/algparal.html
Source Code Collection for GA programs:
http://www.aic.nrl.navy.mil/galist/src/
67