• Nie Znaleziono Wyników

Rozwiązywanie problemów za pomocą algorytmów opartych na ewolucji populacji

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'9921-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 ’9921-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 '9921-25 czerwca 1999 59