PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU
Transkrypt
PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU
Piotr Borowiec PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO Spo ród wielu metod sztucznej inteligencji obliczeniowej algorytmy genetyczne doczekały si wielu implementacji. Mo na je wykorzystywa do rozwi zywania rzeczywistych problemów z dowolnej dziedziny ludzkiej działalno ci. Najcz ciej jednak dost pne na rynku programy s mało przydatne dla celów dydaktycznych, gdy działanie ich realizuje si w ukryciu przed okiem operatora. Podj te w ramach niniejszej pracy działanie ma na celu stworzenie aplikacji (wraz z jej opisem), która przy wykorzystaniu wizualizacji zrozumiałego dla wszystkich problemu, ukazałaby w przyst pny sposób działanie klasycznego algorytmu genetycznego. Jako główne cele przyj to: a) stworzenie programu, który mógłby by wykorzystywany w celach edukacyjnych, b) ukazanie, w jaki sposób dziedziczone s cechy osobników populacji (na przykładzie populacji owadów) c) skupienie si na mo liwo ciach optymalizacyjnych klasycznego algorytmu genetycznego (stworzenie jak najlepszego osobnika), d) skupienie si na wizualizacji całego zagadnienia. 1. Geneza algorytmów genetycznych Poj cie „algorytmów genetycznych” nie zostało wymy lone zupełnie od podstaw przez matematyków i informatyków. Metoda wywodzi si wprost z do wiadcze darwinowskiej teorii ewolucji oraz in ynierii genetycznej. Podobnie jak w teorii ewolucji, klasyczny algorytm genetyczny oparty jest na procesie tzw. doboru naturalnego oraz na zasadzie dziedziczno ci. W procesie doboru naturalnego prze ywaj i rozmna aj si tylko te osobniki, które s najlepiej przystosowane do panuj cych warunków rodowiska. W procesie rozmna ania przekazuj potomstwu jedn z mo liwych kombinacji własnych cech. Najcz ciej, co potwierdzaj badania biologiczne jak równie do wiadczenia prowadzone na algorytmach genetycznych, wraz z kolejnymi pokoleniami rodz si osobnicy coraz lepiej przystosowani do panuj cych warunków. Zadaniem klasycznych algorytmów genetycznych jest poszukiwanie optymalnego rozwi zania problemów, dla których nie znamy zasad jego rozwi zania. Musimy jednak zna i dobrze okre li funkcj celu, która b dzie odpowiednikiem miary przystosowania organizmów ywych do rodowiska. 2. Podstawowe poj cia 1. Geny – s to podstawowe elementy, z których składaj si chromosomy. W przypadku, gdy pojedyncze chromosomy reprezentuj osobników - geny mo na uzna za ich cechy, 2. Chromosom – jest to uporz dkowany ci g (zbiór) genów. W najprostszym przypadku, ka dy pojedynczy gen b dzie prezentowany poprzez bit informacji. zmienione Cz sto jeden chromosom mo e prezentowa indywidualnego osobnika populacji, jednak mo e te reprezentowa tylko jedn z jego cech. 3. Populacja – zbiór osobników tworzonych przez chromosomy. Populacja ma swoj stał liczebno . W kolejnych cyklach ewolucji (pokoleniach) w wyniku zastosowania operatorów genetycznych pierwotny skład populacji ulega zmianie – dzieje si tak, poniewa wszystkie chromosomy podlegaj wymianie na nowe. W ten sposób powstaj nowe pokolenia. 4. Genotyp – to inaczej struktura danego osobnika, zespół jego chromosomów. Mo na powiedzie , e genotyp jest osobnikiem populacji. 5. Fenotyp – jest tym, co reprezentuje genotyp. Mo na go okre li jako „wygl d zewn trzny” osobnika. 6. Allel – jest to warto danego genu, okre lana cz sto jako warto cechy lub wariant cechy. 7. Locus – pozycja danego genu okre laj ca miejsce danego genu w chromosomie. 8. Funkcja przystosowania (celu) – funkcja, która okre la jako ka dego z dopuszczalnych rozwi za . Dzi ki niej mo emy wszystkie rozwi zania uporz dkowa wg jej warto ci. 9. Operatory genetyczne – operacje, które mog by wykonywane na chromosomach, np. krzy owanie, mutacja. 10. Operacja krzy owania – polega na losowym przeci ciu dwóch chromosomów (ci gów bitów) w jednym punkcie i wymianie podzielonych cz ci pomi dzy chromosomami. Powstaj w ten sposób dwa nowe chromosomy. 11. Operacja mutacji – polega na zamianie na przeciwny losowego bitu. 12. Operacja przej cia – polega na losowym wyborze (w okre lonej proporcji) osobników spoza populacji,. 13. Selekcja osobników – etap przed krzy owaniem. Wybór na podstawie wcze niej okre lonych warto ci funkcji oceny tych osobników, którzy wezm udział w tworzeniu kolejnego pokolenia. W przypadku klasycznego algorytmu genetycznego najcz stszym sposobem selekcji jest „metoda koła ruletki”. Koło ruletki składa si z prawdopodobie stw wylosowania ka dego osobnika. Prawdopodobie stwa ustalane s wła nie poprzez wykorzystanie funkcji przystosowania. 14. Rozwi zaniem problemu – jest najlepiej przystosowany osobnik z ostatniej wygenerowanej populacji. W celu okre lenia takiego osobnika, nale y z góry ustali warunek zatrzymania tworzenia kolejnych populacji. Takimi warunkami mog by : a) uzyskanie osobnika o odpowiednio dobrych parametrach cech, b) powtórzenie działania algorytmu genetycznego okre lon ilo iteracji (nast pienie po sobie ustalonej liczby nowych populacji). 15. Problem optymalizacyjny – zadanie wyszukania najlepszego rozwi zania spo ród puli dopuszczalnych. Jest to cel, do którego d ymy. 16. Zbiór dopuszczalnych rozwi za – czyli zbiór wszystkich ewentualnych rozwi za zadania (niekoniecznie optymalnych). 3. Etapy w klasycznym algorytmie genetycznym Realizacja klasycznego algorytmu genetycznego składa si z kilku podstawowych etapów (Rys.1.). Pierwszym z nich jest inicjacja, czyli wybór lub stworzenie nowej populacji osobników. Nast pnie dla ka dego z osobników obliczana jest funkcja przystosowania (ustalana w zale no ci od tego, jakie zadania ma spełnia algorytm). Na ogół im wi ksza warto tej funkcji tym lepszy jest osobnik. dodane Po wyliczeniu warto ci przystosowania (warto funkcji) sprawdzany jest tzw. warunek zatrzymania, którego spełnienie oznacza, e mo na ju z obecnej populacji wybra „odpowiedniego” osobnika. Przykładowo warunkiem zatrzymania mo e by osi gni cie jakiej minimalnej warto ci przystosowania lub rozpocz cie konkretnej iteracji algorytmu (ustalony arbitralnie numer pokolenia). W przypadku nie spełnienia warunku zatrzymania nast puje selekcja osobników, ł czenie ich w pary, krzy owanie i mutacja (w programie dla uproszczenia pomini ta). W wyniku u ycia tych operatorów powstaje nowe pokolenie osobników. START Inicjacja Ocena przystosowania Selekcja NIE Warunek zatrzymania TAK Zastosowanie operatorów Utworzenie nowej populacji Rys. 1. Etapy w klasycznym algorytmie genetycznym 4. Projekt programu 4.1. Wst p Optymalny (najlepszy) wynik STOP Jednym z głównych celów projektu było ukazanie w jaki sposób dziedziczone s cechy osobników, a tak e zobrazowanie wła ciwo ci optymalizacyjnych klasycznego algorytmu genetycznego (stworzenie „doskonałego” osobnika). Do napisania programu wykorzystano j zyk Delphi. Program zaprojektowano w taki sposób, aby u ytkownik mógł w czasie korzystania z niego na bie co poznawa wszystkie etapy działania klasycznego algorytmu genetycznego – pocz wszy od inicjacji, a sko czywszy na wyborze najlepszego osobnika (Rys.2.). Rys. 2. Okno główne programu tu przed zastosowaniem operatorów genetycznych Badania obrazuj ce prac programu przeprowadzono na stworzonym na potrzeby do wiadczenia nowym gatunku owadów: sztucznej osie. Okre lono dla niej 9 cech, które wydaj si istotne z punktu widzenia jej funkcjonowania w rodowisku. Ka da cecha jest reprezentowana przez ci g 8 bitów. Cechy te, to: wielko i kształt głowy, wielko i kształt tułowia, wielko i kształt odwłoka, wielko i kształt odnó y, wielko i kształt skrzydeł, wielko dła, wielko i kształt czułek, wielko i kształt oczu, wielko i kształt uwaczek (ust). 4.2. Inicjacja Pierwszy etap to utworzenie losowej populacji 20 osobników. 4.3. Ocena przystosowania osobników Obliczana jest warto funkcji przystosowania dla ka dego osobnika z populacji. Im wy sza b dzie warto tej funkcji, tym lepszy jako ciowo b dzie osobnik. Obrano bardzo prost funkcj oceny do okre lenia jako ci osobnika. Wykorzystano skonwertowan warto binarn chromosomu okre laj cego cech na system dziesi tny. Celem przeskalowania przedziału warto ci oceny wielko t podniesiono do kwadratu. System przyznawania punktów: 1. Na pocz tek postawiono zało enie, e cechy nie s równie wa ne (przyznano wagi). Dla przykładu: wa no cechy wielko i kształt głowy w odniesieniu do całego osobnika (cały osobnik to 100%) to 20%, a warto cechy wielko i kształt odnó y to 5%. Ta procentowa warto to wska nik wa no ci. 2. Warto ci binarne ka dej z cech s zamieniane (dekodowane) na warto ci dziesi tne. 3. Otrzymane warto ci dziesi tne s przemna ane przez ich wska niki wa no ci. 4. Otrzymane wyniki (wynik = warto cechy w systemie dziesi tnym * wa no cechy) dla ka dej z cech s ze sob sumowane. Otrzymana po zsumowaniu cech warto to wła nie zmienna x, która po podniesieniu do kwadratu słu y do okre lenia stopnia przystosowania osobnika. Warto przystosowania osobnika przy takich zało eniach mo e waha si od 0 do 65025. 4.4. Sprawdzenie warunku zatrzymania Wykorzystany w programie algorytm jest algorytmem optymalizacyjnym, którego zadaniem jest stworzenie idealnego owada. Zatrzymanie algorytmu nast pi gdy: 1) funkcja przystosowania przekroczy ustalon warto (tzw. maksimum). W programie t warto ci jest 35000. 2) Utworzona zostanie ustalona (w programie 4-ta) generacja osobników, a warto przystosowania nie przekroczy ustalonej wcze niej warto ci (35000). Je li warunek zatrzymania zostaje spełniony, to wybierany jest osobnik, dla którego funkcja przystosowania osi gn ła najwy sz warto . 4.5. Selekcja osobników Ł czenia osobników w pary dokonano za pomoc „metody koła ruletki” (na podstawie obliczonych warto ci funkcji przystosowania tych osobników). Je eli: w(xi) – wycinek okr gu dla danego osobnika (w %) p(xi) – warto przystosowania konkretnego osobnika podzielona przez sum warto ci przystosowania wszystkich osobników f(xi) – warto przystosowania dla danego osobnika f(xi) – suma warto ci przystosowania wszystkich osobników Za pomoc wzoru w(xi)=p(xi)*100%, gdzie p(xi)=f(xi)/ okr gu jakie przypadn dla ka dego z osobników. f(xi) wyliczane s wycinki Wielko wycinka okr gu oznacza po prostu szans , z jaka dany osobnik mo e zosta wybrany do tworzenia nast pnej generacji (pokolenia). Po okre leniu szansy na wybór ka dego z osobników, nale y poł czy ich w pary, poprzez tzw. „obrót kołem ruletki”. Losowanie osobników do par nast puje 20 razy (taka sam ilo razy jak wielko pocz tkowej populacji). Przy czym jeden osobnik rodzicielskich mo e si znale jednocze nie w kilku parach. Szanse na to ma tym wi ksze im wi ksz ma warto funkcji przystosowania. Dla uproszczenia przyj to operator przej cia równy 1, a to oznacza, e reprodukcja odbywa si w obr bie osobników z tej samej populacji. 4.6. Operacja krzy owania Ka dy z chromosomów u jednego z „rodziców” jest krzy owany z odpowiednim chromosomem u drugiego z „rodziców” (krzy owane s chromosomy odpowiedzialne za t sam cech ). Czyli np. krzy owany jest chromosom odpowiedzialny za wielko odwłoka u rodzica A z chromosomem odpowiedzialnym za wielko odwłoka u rodzica B, itd. Punkt krzy owania (miejsce rozci cia chromosomu) jest obierany losowo. Na koniec operacji krzy owania zostaj wymienione ze sob powstałe w ten sposób podci gi bitów. Powstaj w ten sposób nowe pary potomków. Nowi osobnicy staj si populacj bie c dla kolejnej iteracji algorytmu genetycznego. Je li warunek zatrzymania zostanie spełniony to wybierany jest osobnik o najwi kszej warto ci funkcji przystosowania – jest to osobnik optymalny. Jest bardzo mała szansa, e powstanie osobnik idealny. Jednak metoda ta jest wykorzystywana, gdy inne metody optymalizacyjne zupełnie zawodz , dlatego nawet jej skuteczno na poziomie 60-70% (oczywi cie mo e to by nawet 100%) mo e by w wielu przypadkach jak najbardziej wystarczaj ca. Warto przystosowania osobnika idealnego to 65025, a jego wszystkie cechy to binarne 1111111 (dziesi tne 255). Najlepszy osobnik (Rys.3.) wg przyj tych w programie zało e to taki, który posiada: - ostro zako czon głow z dodatkowymi wyrostkami, - du e, szeroko otwarte oczy, - ostro zako czone szcz ki o odpowiednim kształcie, - długie poskr cane czułki, - skrzydła o du ej powierzchni, - długie dło. Rys. 3. Wzór idealnego osobnika Osobnikiem najgorszym (Rys.4.) jest taki, u którego powy sze cechy nie s w ogóle spełnione. Jego warto przystosowania to 0, a cechy wynosz po 00000000 (czyli dziesi tne 0). Rys. 4. Najgorszy mo liwy osobnik 2. Wnioski Nale y stwierdzi , e pomini cie mutacji oraz mo liwo ci ustawienia warto ci operatora przej cia sprawiło, e po przekroczeniu pewnej liczby kolejnych pokole , algorytm zastosowany w programie stopniowo zatraca swoje optymalizacyjne wła ciwo ci. Podsumowuj c mo na uzna , e obecna wersja programu, pomimo swojego wci niezbyt du ego stopnia skomplikowania, spełnia przedstawione na pocz tku zało enia. Trzeba te zauwa y , e w przyszłych wersjach nale ałoby uzupełni oprogramowanie o brakuj ce, omówione wy ej operatory. To powinno pozwoli na usuni cie wyst puj cych ogranicze . Literatura: 1. D. E. Goldberg, „Algorytmy genetyczne i ich zastosowania”, Wydawnictwa Naukowo - Techniczne, Warszawa 1998 2. Z. Michalewicz, „Algorytmy genetyczne + struktury danych = programy ewolucyjne”, Wydawnictwa Naukowo – Techniczne, Warszawa 2003 3. Internet: http://panda.bg.univ.gda.pl/~sielim/genetic/gen_algol.htm 4. Internet: http://wombat.ict.pwr.wroc.pl/nauczanie/prezentacja/flash/ag/intro.swf