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

Podobne dokumenty