1. W stęp
A lgorytm y oparte na ew olucji populacji należą do klasy technik optym alizacji, w których sposób poszukiw ania rozw iązań je s t naśladow aniem naturalnych procesów ew olucji i uczenia się. W algorytm ach, o których m owa przedm iotem przetw arzania je s t populacja tak zw anych osobników - potencjalnych rozw iązań lub innych obiektów , z których łatw o w ygenerow ać rozw iązania danego problem u. W ykonyw anie algorytm ów opartych na ew olucji populacji nazyw ane jest m ianem obliczeń ew olucyjnych (ang.:
evolutionary com puting). M echanizm y ew olucji w ykorzystyw ane w trakcie obliczeń ew olucyjnych polegają na w ym ianie infor
m acji pom iędzy osobnikam i oraz na uczeniu się osobników . O kresy w spółpracy (w ym iany inform acji) przeplatane są okresam i sam o- adaptacji (uczenia się). A lgorytm y oparte na ew olucji populacji posiadają, zazw yczaj, charakter iteracyjny i probabilistyczny zaś proces ew olucji populacji osobników odbyw a się zgodnie z pew nym i, precyzyjnie zdefiniow anym i regułam i.
Do szeroko znanych technik w ykorzystują
cych koncepcję ew olucji populacji należą, m iędzy innym i, algorytm y genetyczne [Holland 1975], program ow anie genetyczne [K oza 1992], w którym każde rozw iązanie jest program em kom puterow ym , czy też progra
m ow anie ew olucyjne [M ichalew icz 1992], N a
ew olucji populacji m o g ą być także oparte system y klasyfikujące [G oldberg 1989] oraz system y sztucznego życia [M unakata 1998],
Popularność algorytm ów opartych na ew o
lucji populacji w iąże się z ich sk utecznością i przydatnością do rozw iązyw ania trudnych problem ów , a w szczególności problem ów optym alizacji kom binatorycznej o w ykładni
czej złożoności obliczeniow ej. W spom niana skuteczność, łatw ość im plem entacji oraz elastyczność sam ego podejścia stosow anego z pow odzeniem w w ielu różnorodnych dzie
dzinach spraw iły, że w ostatnich latach pojaw iły się dziesiątki (jeśli nie setki) technik, podejść i algorytm ów , których autorzy propo
nu ją rozm aite reguły ew olucji populacji.
W niniejszej pracy przedstaw iono cechy charakterystyczne algorytm ów opartych na ew olucji populacji, a na ich tle om ów iono niektóre w ażniejsze algo ry tm y i techniki.
2. C echy ch arak terystyczne algorytm ów opartych na ew olucji populacji
Do istotnych cech algorytm ów om awianej klasy zalicza się sposób definiow ania osobni
ków, reguły procesu ew olucji, strukturę sąsiedztw a osobnika, źródła inform acji, stra
tegię intensyfikacji, strategię dyw ersyfikacji oraz sposób postępow ania z osobnikam i reprezentującym i rozw iązania niedopuszczal
ne [Hertz, K obler 1998].
PO LSK IE T O W A R Z Y S T W O IN F O R M A T Y C Z N E — O D D Z IA Ł G Ó R N O Ś L Ą S K I
5 4 P io tr J ęd rzęjo w ic z — R ozw iązyw an ie p ro b le m ó w za p o m o c ą algorytm ów opartych n a ew o lu cji p o p u la c ji
O sobnikiem w obliczeniach ew olucyjnych m oże być odpow iednio zakodow ane rozw iąza jest w artość reprezentow anego rozw iązania.
Dla przykładu, w problem ie podróżującego zbioru n niezależnych i niepodzielnych zadań o dow olnych czasach gotow ości i przetw arza
nia na wielu identycznych procesorach celem m inim alizacji czasu uszeregow ania, osobni
kiem m oże być w ektor n num erów zadań, rów nież do najm niej obciążonego procesora,
potem zadan ia nr 1 itd., aż do w yczerpania w szystkich zadań z listy. W skaźnikiem jak o ści osobnika m oże być m om ent zako ńczenia przetw arzania tego zadania ze zbioru zadań, które zostało zakończone najpóźniej.
W obliczeniach ew olucyjnych populacja osobników podlega ew olucji zgodnie z o kre przypadku do kolejnej iteracji przechodzi m najlepszych osobników tw orząc n ow ą gen era choć praw dopodobieństw o takiej kw alifikacji m oże zależeć od w skaźnika jak o ści danego dla każdego osobnika określony został pewien podzbiór osobników , z którym i m ożliw a jest
Jedenasta Górska Szkoła P T I S zczyrk'99 — 21-25 czerwca 1999 55
uczestniczy więcej niż dwóch rodziców , bądź takie w których jeden osobnik je s t źródłem inform acji w ystarczającej do stw orzenia po
tom ka. W racając do przykładow ego problem u obliczenia ew olucyjne m ożna w istotny sposób uspraw nić jeśli uda się zastosow ać tak zw an ą strategię intensyfikacji w stosunku do poszcze
gólnych osobników tw orzących populację (por. np. [Fleurent, Ferland 1996]). Strategia taka polega na zastosow aniu algorytm u popraw y, którego zadaniem je st polepszenie w skaźnika jakości osobnika bez korzystania z inform acji pochodzącej od innych osobni
ków. W iększość algorytm ów popraw y opiera się na intensyfikacji poszukiw ań w pew nych
"obiecujących" regionach obszaru dopuszczal
nych rozw iązań.
Jedną z trudności, na które napotykają obli
czenia ew olucyjne je st przedw czesne zatrzy
m yw anie się obliczeń w pobliżu jakiegoś optim um lokalnego. C zynnikiem , który ma zapobiegać takim sytuacjom je s t strategia dyw ersyfikacji polegająca na losowym zakłócaniu procesu poszukiw ań celem odej
ścia od strefy optim um lokalnego. Przykładem strategii dyw ersyfikacji je s t operacja m utacji, która polega na losowym zakłócaniu struktury osobnika. Przykładow o, w przytoczonym w cześniej problem ie szeregow ania m utacja m oże polegać na zam ianie m iejscam i dwóch losowo w ybranych zadań. Jeśli takiej zam ianie podlegać m ają zadania, odpow iednio pierw sze i drugie na liście (co ustalono w w yniku
losowania), to osobnik reprezentow any przez w ektor (4,5,1,3,2) w w yniku m utacji przyjm ie postać (5,4,1,3,2).
W obliczeniach ew olucyjnych zdarza się, że w w yniku w ym iany inform acji lub stosow a
nia strategii dyw ersyfikacji now o pow stały osobnik nie reprezentuje rozw iązania należą
cego do zbioru rozw iązań dopuszczalnych.
M ożliw e są w ów czas trzy sposoby postępow a
nia: osobnik taki je st, po prostu odrzucany, osobnik je s t karany, a w ięc nadaje mu się bardzo niski w skaźnik jak o ści bądź w reszcie osobnik je s t "reperow any" w w yniku czego znów reprezentuje rozw iązanie dopuszczalne.
Projektow anie algorytm ów ew olucyjnych je st sztuką, w której projektant posiada zna
czny stopień sw obody w zakresie w yboru sposobu reprezentacji rozw iązania, reguł procesu ew olucji, struktury sąsiedztw a, źródeł inform acji, strategii procesu ew olucji, intensy
fikacji i dyw ersyfikacji, a także reakcji na rozw iązania niedopuszczalne. Tak duża dow olność spraw iła, że w ostatnich latach pojaw iło się w iele różnych rodzajów algoryt
m ów opartych na ew olucji populacji.
W dalszych częściach pracy przedstaw ione zostały w ażniejsze algorytm y om aw ianej O gólny pseudo-kod algorytm u genetyczne
go opartego na strategii w ym iany generacji przedstaw ia tablica 1 (w edług [H ertz, K obler
1998]):
PO L S K IE TO W A R Z Y ST W O IN F O R M A T Y C Z N E — O D D Z IA Ł G Ó R N O Ś L Ą SK I
5 6 SSofr Jędrzeptwcz — R oiM ą^w anie prabientów za pomocą, algorytmów opartych na enylutyi populacji
Tab. 1. Algorytm genetyczny oparty na strategii wymiany generacji__________________
Begin
Wybierz liczbę całkowitą p >2 i wygeneruj populację pierwotną Pa składającą się z p osobników Ustaw licznik iteracji: i := 0;
Whilc kryterium zatrzymania obliczeń nie jest spełnione do / := / + 1;
P, := 0 ;
Whilc P, zawiera mniej n iż p osobników do Z P,.i wybierz dwa osobniki 7/ oraz /?;
Do li oraz 12 zastosuj operator krzyżowania celem wygenerowania potomków Oj oraz 0 2\
Dołącz Oi oraz 02 do P,\
EndW hile
Do każdego osobnika w P, zastosuj operator mutacji;
EndW hile End
W algorytm ach genetycznych populacja pierw otna jest generow ana w oparciu na mechanizmach losowych. Osobniki tw orzące tą populację reprezentują rozw iązania dopu
szczalne. W ybór osobników do reprodukcji poprzedzony jest obliczeniem w skaźników jakości. Prawdopodobieństw o wyboru jest
zazwyczaj proporcjonalne do w artości w ska
źnika jakości. Operatory' krzyżow ania i m u
tacji także w ykorzystują mechanizmy losowe.
W krzyżowaniu losowany może być punkt (bądź punkty) krzyżow ania, zaś w przypadku m utacji zakres i miejsce w prow adzania ewentualnych zakłóceń.
W klasycznym program ow aniu genety
cznym osobnik je st reprezentow any przez łańcuch bitów. W przypadku reprezentacji opartej na innym schemacie, zam iast o algorytm ach genetycznych mówi się o algorytm ach ewolucyjnych.
4. Algorytm y w yspow e
Algorytmy wyspowe są szczególnym przy
padkiem algorytm ów ewolucyjnych. W algo
rytmie wyspowym w ystępują dw a rodzaje
osobników. Osobniki pierwszego rodzaju reprezentują rozw iązania dopuszczalne.
Osobniki drugiego rodzaju są zbioram i takich rozwiązań nazyw ane wyspam i. Ewolucja prze
biega tu na dwóch poziomach. N a poziomic niższym ew olucja opiera się na identycznych zasadach ja k w przypadku algorytm ów genety
cznych. N a poziom ie wyższym odbyw a się wym iana inform acji między wyspam i oraz m igracja osobników pierwszego rodzaju.
Projektowanie algorytm u wyspowego łączy się z wyborem topologii połączeń kom unikacyj
nych pomiędzy wyspam i (np. pierścień skiero
wany, w którym najlepsze rozw iązania z danej wyspy są przesyłane do następnika lub sześcian gdzie kom unikacja odbyw a się pomiędzy sąsiadującym i wierzchołkam i - wyspam i).
Innymi param etram i algorytm u wyspowego jest stopa m igracji, która określa liczbę m igrujących osobników pierw szego rodzaju, strategia ewolucji oraz częstotliwość migracji.
Algorytmy w yspow e okazały się bardziej efektywne od algorytmów' genetycznych [C o h o o n etal. 1987], [Tanese 1987],
Pseudo-kod algorytm u wyspowego o topo
logii pierścienia przedstaw iono w tablicy 2:
P O L S K IE T O W A R Z Y S T W O IN F O R M A T Y C Z N E — O D D Z IA Ł G Ó R N O Ś L Ą SK I
Jedenasta Górska Szkoła P T I S zc zy rk ’99 — 21-25 czerwca 1999 5 7
Tab. 2. Algorytm wyspowy o topologii skierowanego pierścienia.___________________
Begin
Określ liczbę wysp k oraz liczbę osobników tworzących wyspę p\
Wygeneruj populację pierwotną składającą się z k * p dopuszczalnych osobników;
Z populacji pierwotnej utwórz k wysp Ustaw licznik iteracji: i := 0;
W hile kryterium zatrzymania obliczeń nie jest spełnione do i : = / + 1;
For each wyspa Pj do
Z Pj wybierz dwa osobniki I, oraz I2,
Do Ii oraz I2 zastosuj operator krzyżowania celem wygenerowania potomków Oj oraz 0 2\
Do Oi oraz 02 zastosuj operator mutacji;
Zdecyduj czy O, oraz 02 powinny wejść do P} zastępując starsze osobniki;
EndFor
If i jest wielokrotnością danej liczby całkowitej n then
Przenieś najlepsze rozwiązanie z każdej wyspy P} do wyspy P(,modk)+i, EndW hile
End
W arto zwrócić uwagę, że algorytm y wyspowe d ają się w naturalny sposób realizować w wersji równoległej. Liczba dostępnych procesorów może w ów czas odpow iadać liczbie wysp.
5. Kolonie mrówek
Algorytmy oparte na sym ulacji zachow ania się mrówek poszukujących pożywienia stanow ią szybko rozw ijającą się technikę obliczeń ewolucyjnych (por. np. [Dorigo et al.
1996]). Pomysł opiera się na obserwacji mrówek, które używ ając prostego mechanizmu wzajemnej komunikacji potrafią znajdywać najkrótszą drogę pomiędzy dwoma punktami.
W trakcie poszukiwań mrówki pozostaw iają
feromonowy ślad na powierzchni ziemi. Jego rolą jest kierow anie innych mrówek do punktu docelowego. Pojedyncza m rówka w ybiera trasę w zależności od natężenia feromonu.
Substancja ta rozkłada się w m iarę upływu czasu. Ilość feromonu pozostaw ionego na trasie przez mrówki zależy od ilości znalezionego pożywienia, długości trasy oraz od liczby mrówek. Im więcej m rówek korzysta z trasy tym silniejszy je st ślad.
Reguły, na których oparta jest wym iana informacji między mrówkami są w ykorzysty
wane do rozw iązyw ania kom binatorycznych problem ów optym alizacyjnych. W tablicy 3 przedstaw iono ogólny schemat algorytm u kolonii m rówek z intensyfikacją.
Tab. 3. Algorytm kolonii mrówek._______________________________________
Begin
Wygeneruj pierwotny ślad feromonowy;
Wybierz liczbę mrówek p,
Whilc kryterium zatrzymania obliczeń nie jest spełnione do For j - 1 to p do
Znajdź, dla kolejnej mrówki rozwiązanie opierając się na śladzie feromonowym;
Zastosuj algorytm poprawy;
EndFor
Zaktualizuj ślad feromonowy;
EndWhile End
P O LSK IE T O W A R Z Y S T W O IN F O R M A T Y C Z N E — O D D Z IA Ł G Ó R N O ŚLĄ SK I
5 8 P io tr J ędrzejow icz — R ozw iązyw an ie p ro b le tn ó w za p o m o c ą algorytm ów opartych n a ew o lu cji p o p u la c ji
W pierw szym kroku algorytm u inicjalizo
w any je s t ślad ferom onow y. W trakcie kolej
nych iteracji każda m rów ka znajduje rozw ią
zanie problem u w oparciu na probabilistycznej funkcji zm iany stanów w zależności od śladu
nalnie do jakości uzyskanego rozw iązania.
P roces je st pow tarzany aż do spełnienia kryterium zatrzym ania poszukiw ań.
W m odelu rów noległym (w ieloprocesoro a także przechow uje aktualnie najlepsze rozw iązanie. W każdej iteracji serw er przesyła m acierz śladu ferom onow ego do w szystkich m rów ek. Te ostatnie, korzystając z otrzym anej inform acji generują rozw iązanie, a następnie starają się je polepszyć stosując jak iś algorytm popraw y. U zyskane rozw iązanie je s t przesyła
ne do serwera. Po otrzym aniu rozw iązań od w szystkich m rów ek serw er uaktualnia ślad ferom onow y i cykl je s t pow tarzany, aż do spełnienia kryterium zatrzym ania poszukiw ań.
6. A lgorytm SLA
A lgorytm SLA (ang.: social learning algorithm ) je st n o w ą techniką optym alizacji w klasie algorytm ów opartych na ew olucji populacji. A lgorytm ten, zaproponow any w [Jędrzejow icz 1998], sym uluje procesy uczenia się w skali społecznej. K oncepcja algorytm u naw iązuje do w ieloszczeblow ych system ów edukacyjnych, w których naukę na niskich szczeblach rozpoczynana je s t m asow o, zaś na w yższe, co raz bardziej zaaw ansow ane
szczeble dociera coraz m niej coraz lepiej w ykształconych jedn ostek. Z dobyw anie w ie
dzy na każdym szczeblu opiera się m .in. na przekazie, ćw iczeniach praktycznych oraz w ym ianie inform acji.
W algorytm ie SLA , podobnie ja k w po
przednio opisanych algorytm ach, przedm iotem przetw arzania je s t populacja osobników . na rozw iązanie rozw ażanego problem u.
Populacja pierw otna, generow ana na po
czątku procesu poszukiw ania najlepszego roz
w iązania je st, w przypadku SLA, m ożliw ie liczna. Populacja, o której m ow a pow inna reprezentow ać w dostateczny sposób ca łą przestrzeń dopuszczalnych rozw iązań. Ideal
nie, w sąsiedztw ie każdego optim um lokalne
go pow inien znaleźć się co najm niej jeden osobnik należący do populacji pierw otnej.
M echanizm generow ania tej populacji posiada zazw yczaj charakter losowy.
G enerow anie populacji pierw otnej p oprze
dza pierw szy etap nauki. N a tym etapie
tą strategią selekcji, grupa osobników lepszych przechodzi do drugiego etapu. Cykl taki je s t
Jedenasta G órska Szkoła P T I Szczyrk '99 — 21-25 czerwca 1999 59