Académique Documents
Professionnel Documents
Culture Documents
Systemy hybrydowe
(Al.gorytmy genetyczne)
Przedstawienie problemu.
Na typowy problem rozwizywany algorytmem genetycznym skadaj si nastpujce rzeczy:
Problem optymalizacyjny - zadanie wyszukania najlepszego rozwizania spord wszystkich dopuszczalnych. Zbir dopuszczalnych rozwiza - czyli zbir wszystkich moliwych rozwiza zadania (nie tylko optymalnych). Funkcja oceny (dopasowania) - funkcja, ktra okrela jako kadego dopuszczalnego rozwizania. Ustanawia relacj porzdkow na zbiorze rozwiza dopuszczalnych (czyli dziki tej funkcji moemy wszystkie rozwizania uporzdkowa od najlepszych po najgorsze). Sposb kodowania - funkcja, ktra kade dopuszczalne rozwizanie reprezentuje w postaci cigu(acucha) kodowego. Czyli w postaci chromosomu. Zasadniczo bardziej interesuje nas funkcja odwrotna: funkcja, ktra na podstawie chromosomu tworzy nam dopuszczalne rozwizanie. Na dobr spraw tylko ta druga jest nam potrzebna. Analogicznie jak w przyrodzie: natura posiada skomplikowan "wiedz" na temat, jak z zarodka stworzy dorosego osobnika. Nie musi wiedzie, jak z danego osobnika stworzy jego genotyp. Wystarcza, e kady osobnik przechowuje pami o genotypie, na podstawie ktrego powsta. Operatory genetyczne - operacje, ktre mona wykona na chromosomach, np. krzyowanie, mutacja.
Geny s heterogeniczne, tzn. geny na rnych pozycjach w chromosomie przechowuj informacje rnego typu. Kada kodowana cecha fenotypu ma cile przypisan na stae pozycj w chromosomie. W wyniku krzyowania i mutacji geny nie przemieszczaj si wic, natomiast zmieniaj wartoci (mutujc, bd wymieniajc je z odpowiadajcymi genami drugiego osobnika). Takie kodowanie ma zastosowanie wszdzie tam, gdzie mamy cile okrelone (niejednorodne) cechy osobnika (parametry problemu) i chcemy im dobra optymalne wartoci. Np. w kolejnych genach zapisujemy rne cechy pewnego urzdzenia: wysoko, szeroko, moc silnika, zasig ramienia operacyjnego, typ kocwki umieszczonej na ramieniu itp. Inny przykad: mamy pewn rodzin funkcji jednej zmiennej y=F(A,B,C,x), np. wielomiany postaci A*x*x+B*x+C. Z tej rodziny funkcji chcemy wybra tak, ktra najlepiej przybliy nam pewne empirycznie zgromadzone w czasie obserwacji dane (np. temperatury powietrza w rnych porach dnia). W chromosomie ukadamy po kolei parametry A,B,C.
Ze wzgldu na wartoci przechowywane w genach mona wyrni trzy podstawowe sposoby kodowania:
Geny binarne
Genami s poszczeglne bity. Moe mie to zastosowanie w problemach, w ktrych poszukujemy jednej liczby, np. przy znajdowaniu ekstremum funkcji.
W teorii algorytmw genetycznych sformuowano pewne fundamentalne twierdzenie, zwane twierdzeniem o schematach. Jest ono znaczce, poniewa na nim bazuje tzw. hipoteza cegieek (inaczej: hipoteza blokw budujcych). Ma ona spore znaczenie praktyczne, co postaram si przedstawi na przykadach.
Co to jest schemat ?
Wyobramy sobie pana Genia, ktry rozwizuje krzywk i krzyczy do ony (pani Geni) przez korytarz: - Rybko, potrzebuj wyraz na cztery litery, druga litera to 'T' a ostatnia, czyli czwarta 'K'. Jak wida, zapomnia poda opis, ale pani Genia nie przeja si tym tylko woa: - Oczywicie, nawet nie jeden: "PTAK", "ATAK", "STEK", "STYK", "WTYK" ... Nie bdziemy wnika, czy ta odpowied zadowolia pana Genia. Nas interesuje to, e pan Genio poda pewien wzorzec, albo powiedzmy wprost: schemat, a pani Genia dopasowaa do tego schematu kilka moliwoci. Istotnymi cechami schematu podanego przez pana Genia jest to, e na konkretnych pozycjach (druga i czwarta) zawiera ustalone wartoci (litery 'T' i 'K'). Symbolicznie moemy zapisa ten schemat tak:
*T*K
Gwiazdki oznaczaj pozycje nieustalone, a litery zajmuj pozycje ustalone w tym schemacie. Sowa, ktre dopasowaa pani Genia nazywamy reprezentantami tego schematu. Oczywicie schemat *T*K ma duo wicej reprezentantw, a zdecydowana wikszo z nich nie tworzy
poprawnych wyrazw i jest dla pana Genia nieprzydatna. Np. taki znany skrt czteroliterowy PTTK (Polskie Towarzystwo Turystyczno Krajoznawcze) te jest reprezentantem schematu *T*K, tak samo jak cig YTWK (ktremu trudno nada jaki sens). Kolejne definicje pomocnicze:
Rzd schematu
lub inaczej liczno schematu to liczba ustalonych pozycji w schemacie. U nas jest to liczba konkretnych liter, ktre pan Genio poda swojej onie, czyli 2. Schemat *T*K ma wic rzd 2.
Rozpito schematu
lub inaczej dugo schematu to odlego miedzy skrajnymi ustalonymi pozycjami. Formalnie rozpito oblicza si odejmujc od numeru pozycji ostatniej litery numer pozycji pierwszej. Std rozpito schematu *T*K to 4-2=2. Moe bardziej intuicyjne byoby tutaj okrelenie rozpitoci jako 3, ale nie kmy si z definicjami matematycznymi. Nie jest to specjalnie istotne, wany jest fakt, e schematy mog mie bardzo rne rozpitoci, nawet jeli maj ten sam rzd. Spjrzmy na wyrazy dziewicioliterowe. W tabeli mamy kilka schematw i ich cechy: Schemat
123456789
Przykadowi reprezentanci
CHOMICZEK PROMYCZEK STOLICZEK KOSZYCZEK PROMYCZEK CHOMICZEK KOSZYCZEK PROMYCZEK STOLICZEK PROMYCZEK
(a)
4 **O***ZEK (b)
****YCZE*
4 3 9
(c)
*****CZ*K
(d)
PROMYCZEK
Zauwamy, e schematy (a) i (b) maj ten sam rzd (ta sama liczba ustalonych liter), ale zupenie rne rozpitoci. Zauwamy te, e cay wyraz te jest schematem (d) i wtedy schemat taki ma tylko jednego reprezentanta.
Schemat a chromosom
Skoro ju wiemy, co to jest schemat, to moemy wrci do algorytmw genetycznych. Wyobramy sobie, e litery, ktrymi si posugiwalimy speniaj funkcj genw, a wyrazy ktre tworz to nic innego jak chromosomy. Czyli rne wyrazy dziewicioliterowe to rne chromosomy skadajce si z dziewiciu genw. Czy moemy tak konstruowa chromosomy ? Oczywicie tak, z punktu widzenia teorii AG nie ma przeszkd, z tym, e nie jest to konstrukcja klasyczna. W klasycznym AG mamy chromosomy skadajce si tylko z zer i jedynek (funkcj genw peni pojedyncze bity).
Naley jednak pamita, e nie musimy ogranicza si do konstrukcji klasycznych, w wielu problemach jest to po prostu niepraktyczne. Kiedy planujemy budow chromosomu, wane jest to, by dobrze przeanalizowa problem, ktremu ma on suy i czsto okae si, e genami w takim chromosomie bd nie bity, ale np. liczby cakowite, liczby rzeczywiste lub nawet zoone struktury danych zawierajce w sobie wiele rnych parametrw. Mog to te by litery, cho trudno poda przykadowe zastosowanie. Niezalenie jednak od tego, jak zdefiniujemy gen, pojcie schematu pozostaje aktualne. Przy reprezentacji klasycznej, bitowej, mamy nastpujce przykadowe schematy (gdzie chromosom ma 8 genw): Schemat Rzd Rozpito Przykadowi 12345678 reprezentanci (a) 4 10****01 (b)
01**1*11
7 7 2 7
10111101 10000001 10101001 01111111 01001011 00001000 11101011 00001011 11101000 10010101
5 3 8
(c)
***010**
(d)
10010101
atwo zauway, e kady chromosom jest reprezentantem (pasuje do) bardzo wielu schematw. Jeli mamy rnorodn populacj wielu chromosomw to liczba schematw, do ktrych one pasuj jest ogromna, nieporwnywalnie wiksza od samej liczby chromosomw.
Przystosowanie schematu
Podobnie jak w przypadku chromosomw, take w przypadku schematw moemy mwi o ich przystosowaniu, klasyfikowa je na "lepsze" i "gorsze". W przypadku chromosomu (genotypu) budujemy na jego podstawie fenotyp (osobnika), a ten moemy oceni za pomoc funkcji przystosowania (funkcji oceny). W przypadku schematu (ktry ze wzgldu na nieustalone pozycje jest swego rodzaju niepenym chromosomem) nie moemy zbudowa osobnika, ani go oceni. Aby dokona oceny oceniamy wic reprezentantw tego schematu i uredniamy ocen. Tak wic przystosowanie schematu moemy zdefiniowa jako rednie przystosowanie obliczone na podstawie przystosowania wszystkich jego reprezentantw. Zaznaczam, e definicja przystosowania schematu suy rozwaaniom teoretycznym, w praktyce si tego nie liczy (jest to bardzo kosztowne ze wzgldu na liczno schematw i liczno pasujcych do kadego schematu chromosomw). Jeli istnieje potrzeba liczenia przystosowania schematu, to zazwyczaj posugujemy sie terminem przystosowania schematu w populacji.
genotyp stanowi jeden chromosom) i przykadowych wartociach funkcji przystosowania (nie jest istotne, jak ona dokadnie wyglda): Genotyp Ocena
12345 11010 10111 11100 00101 00011 10000
rednie przystosowanie osobnikw w tej populacji wynosi 16,8. Najlepiej przystosowany jest osobnik (e) z ocen 3 (minimalizujemy funkcj oceny), a najgorzej osobnik (c) z ocen 28. Obliczmy przystosowanie kilku schematw w tej populacji: Schemat Reprezentanci w populacji Ocena
12345 1***0 *0**1 **1** 00*** 0*1*0 a,c,f b,d,e b,c,d d,e -
Jak wida, niektre schematy maj przystosowanie wiksze ni rednie przystosowanie osobnikw w populacji, a niektre mniejsze. A wiele schematw w ogle w populacji nie wystpuje. Zauwamy, e najlepsze przystosowanie otrzymaj te schematy, do ktrych pasuj najlepsze osobniki w populacji i jednoczenie nie pasuj gorsze. W przykadzie np. schemat 00*** wypada bardzo dobrze, poniewa pasuj do niego dwa najlepsze osobniki i jednoczenie nie pasuje aden ze sabo ocenianych. Mona si wic pokusi o przypuszczenie, e dobrze przystosowany schemat pokazuje "dobre geny", czyli na pozycjach ustalonych zawiera wartociow informacj genetyczn. W przeciwiestwie do schematw sabo przystosowanych, ktre daj widok na kiepskie zestawy genw. Trzeba by jednak bardzo ostronym, szczeglnie, kiedy mamy tak mao liczn populacj jak powysza. W naszym wypadku wyciganie zbyt daleko idcych wnioskw byoby bdem. W kadym bd razie intuicja podpowiada nam, e po etapie selekcji, krzyowania i mutacji w nowej populacji pewne schematy si powtrz, a inne zanikn. W szczeglnoci, skoro krzyujemy gwnie najlepsze osobniki to powtrz si schematy do ktrych one pasuj, czyli schematy najlepiej przystosowane w populacji rodzicielskiej. Natomiast schematy najgorzej przystosowane bd stopniowo zanika (razem z zanikaniem swoich sabych reprezentantw, ktre nie dostaj szansy na rozmnaanie). I okazuje si, e nasza intuicja jest mniej wicej zgodna z teori i praktyk. Uywajc niezbyt skomplikowanego aparatu
matematycznego (opartego na rachunku prawdopodobiestwa) zbadano dokadnie, w jaki sposb schematy przenosz si z populacji rodzicielskiej do potomnej.
Pierwszy ma rozpito 1 (maa) a drugi 11(dua). Zauwamy, e np. w procesie krzyowania istnieje duo wiksze ryzyko rozcicia schematu (b) ni schematu (a). Innymi sowy: schemat (a) ma duo wiksze szanse wejcia do populacji potomnej w caoci razem z ktrym z wysoko ocenianych rodzicw, natomiast schemat (b) bdzie czsto rozcinany i do populacji potomnej bdzie trafia w powkach, zestawiony z innymi dobrze ocenianymi schematami, ktre jednak mog mie 0 na pozycjach 5 lub 16. Tak wic pomimo tak samo dobrej oceny i takiego samego rzdu, schematy te maj rne szanse przetrwania, na niekorzy tego o wikszej rozpitoci, ktry nawet jeli nie zaniknie, to bdzie si najprawdopodobniej wolniej rozprzestrzenia w kolejnych populacjach. Podobn analiz mona przeprowadzi dla rzdu, ale jest to mniej istotne. Do cikich rozwaa teoretycznych, czas na jakie konkretne, praktyczne wnioski, czyli trzeba si zaznajomi z hipotez cegieek budujcych, ktra pokazuje, jaki wpyw na proces ewolucji ma odpowiednia budowa chromosomu.
Hipoteza cegieek
Na podstawie twierdzenia o schematach wysnuto hipotez, e algorytmy genetyczne opieraj sw si na skadaniu rnych kombinacji krtkich cigw genowych - zwanych cegiekami. Tak wic w praktyce okazuje si, e analizujc proces ewolucji nie moemy poprzesta na analizie pojedyczych genw, ale musimy obserwowa ich grupy. Nie wystarczy, e znajdziemy dobry sposb kodowania parametrw zadania w postaci genw - powinnismy (o ile to moliwe) take zaplanowa ich wzajemne uoenie, odpowiednio podobiera geny blisko ze sob ssiadujce. Powiedziaem: "o ile to moliwe". Zalet algorytmw genetycznych jest m.in. prostota i elastyczno zastosowa - atwo je adaptowa do najrozmaitszych zada. Jednake czsto istotnym
problemem jest znalezienie sposobu kodowania takiego zadania w postaci genw. Samo rozbicie parametrw na poszczeglne geny ju moe by nie lada amigwk, do tego dochodzi krzyowanie w wyniku ktrego chcemy uzyskiwa rozwizania dozwolone, a nie zupenie nieprzydatne. A c dopiero mwi o gbszej analizie. Warto jednak zastanowi si nad kilkoma sprawami. Ot najtrudniej budowa chromosom wtedy, gdy rne geny s ze sob silnie powizane, tzn. koduj parametry zadania, ktre s ze sob silnie powizane. Wtedy wanie operacja krzyowania najbardziej si komplikuje. Innymi sowy: jeli w wyniku prostego krzyowania klasycznego z dwch poprawnych fenotypw (osobnikw) moemy otrzyma osobnika niedozwolonego, to oznacza to, e midzy genami istniej zalenoci. Przykad takiej sytuacji przedstawiem w przykadzie sposobu kodowania dla algorytmu komiwojaera. Przy kodowaniu pseudoklasycznym po skrzyowaniu dwch poprawnych cykli miast otrzymujemy grafy niecykliczne. Istnieje bowiem silna zaleno midzy genami kodujcymi poczenia poszczeglnych miast: jeli jakie miasto X czy si z innym miastem Y to oznacza, e adne inne miasto nie moe si ju poczy z miastem Y. Czyli wystpienie jakiej wartoci w jednym genie ogranicza wszystkie inne geny, w ktrych warto ta staje si niedozwolona. Jednoczenie zalenoci midzy genami s podstaw do zastosowania hipotezy cegieek budujcych. Jeli midzy genami nie ma zalenoci (koduj one zupenie niezalene parametry zadania) to hipoteza cegieek nie ma zastosowania. W takiej sytuacji sposb rozmieszczenia genw w chromosomie (kolejno, ssiedztwo) nie ma adnego znaczenia. Konkluzja: Jeli chcemy zoptymalizowa budow chromosomu pod ktem szybkoci ewolucji (czyli zastosowa wiedz zawart w hipotezie cegieek budujcych) warto prac t wykona na etapie planowania operacji krzyowania, poniewa wtedy wanie jestemy czsto zmuszeni do przeprowadzenia analizy zalenoci midzy genami. Oba tematy s ze sob cile powizane. Sama zasada optymalizacji budowy chromosomu jest do prosta: geny silnie od siebie zalene naley rozmieszcza blisko siebie. Dziki temu, zgodnie z twierdzeniem o schematach, dzieci dziedzicz po rodzicach nie tylko informacj zawart w samych genach, ale cae kompozycje genw, ktre dopiero zestawione razem, dziki ukrytym zalenociom, nios wartociow informacj. Odnoszc to do problemu komiwojaera: cenniejsze jest przekazywanie potomkom cigw skadajcych si z wielu miast (czyli duych fragmentw spjnych rozwiza), ni wielu pojedynczych informacji o poczeniach midzy odrbnymi parami tych miast, ktre zestawione razem mog w ogle do siebie nie pasowa.
prostych (czyli moliwie najkrcej), ale na kocu chcielibymy wrci do punktu wyjcia. Moemy wic zacz od dowolnego miasta. Dla kilku miast problem jest prosty, natomiast bardzo si komplikuje przy wikszej ich iloci. cile rzecz biorc matematyk-informatyk powie, e problem ten jest NP-zupeny, co oznacza, e komplikacja problemu szybko wzrasta. Oglnie uwaa si, e dla odpowiednio duej iloci miast znalezienie optymalnej drogi jest praktycznie niemoliwe, nawet dla bardzo szybkich komputerw. Dodatkowo dodanie do mapy jednego miasta komplikuje problem WIELOKROTNIE, proporcjonalnie do liczby wszystkich miast, a wic dzisiejsze komputery, jeli poradz sobie nawet z bardzo du iloci miast, to dodanie jednego, dwch kolejnych do mapy definitywnie pooy obliczenia. My take nie liczymy na to, e algorytm genetyczny bdzie nam znajdowa rozwizanie optymalne. Chcemy za pomoc algorytmu genetycznego znale rozwizanie suboptymalne, czyli moliwie jak najlepsze. Na pocztek zamy, e mamy 7 miast. Przykadowa mapa moe wyglda tak jak na rysunku poniej.
Fenotyp
Fenotypem w naszym zadaniu jest ... mapa. Mapa z zaznaczonymi drogami, ktre daj przykadow drog komiwojaera (o dowolnej dugoci - tym si na razie nie przejmujemy). Moemy j narysowa w postaci grafu z jednym, duym cyklem spinajcym wszystkie miasta. Cykl ten moe by dowolny, w szczeglnoci tak pogmatwany, e w ogle nie bdzie wyglda jak cykl, ale jak popltana sie. Fenotyp, czyli pewne rozwizanie naszego problemu jest dozwolony, jeli spina wszystkie miasta jednym cyklem (ale kade miasto tylko raz). I to wszystko. Moe wyglda to np. jak na rysunku poniej. Pod spodem pokazany jest cykl, w jaki ukadaj si miasta.
Funkcja oceny
A funkcj oceny jest po prostu droga, czyli dugo caego cyklu w grafie. Jak wida, funkcja oceny jest bardzo prosta (cho oczywicie moemy wymyli bardziej zoon) - nie analizujemy jakoci pojedynczych pocze ani kolejnoci miast, ani czy drogi midzy miastami si nie przecinaj. Po prostu liczymy dugo caej drogi i otrzymujemy konkretn liczb. Im mniejsz, tym lepiej.
Problem komiwojaera wraz z zaproponowanymi dwoma sposobami kodowania to typowy przykad problemu, do ktrego trzeba indywidualnie zaprojektowa operacj krzyowania. Istniej bowiem powane ograniczenia przy nadawaniu wartoci genw. Przyjrzyjmy si pierwszemu sposobowi kodowania. Wemy dwa przykadowe chromosomy i odpowiadajce im cykle na dwch mapach:
Teraz dokonamy krzyowania tych dwch chromosomw postpujc zgodnie z reguami klasycznymi: wybieramy jeden punkt krzyowania i wymieniamy kawaki chromosomw. Powstaj dwa nowe:
Jak wida, rezultat nie jest zbyt ciekawy. Po takim krzyowaniu uzyskalimy dwa niedozwolone rozwizania - drogi na mapach nie tworz cykli tylko chaotyczne powizania midzy miastami. Moemy zaradzi temu problemowi dokonujc korekt w chromosomach. Wyszukujemy wszystkie miasta, ktrych w chromosomie brakuje i te, ktre wystpuj wielokrotnie. Losowo zamieniamy powtarzajce si na brakujce. Jest z tym troch roboty i w dodatku pozostaje inny problem: po takim losowym czeniu moe si okaza, e miasta dalej nie tworz jednego cyklu, ale np. s spite w kilku rozcznych cyklach. Musimy wic jeszcze porozcina cykle i poczy je ze sob.
Bibliografia
1. Mulawka J.J.: Systemy ekspertowe. WNT Warszawa 1996 2. , Wydawnictwa Naukowo-Techniczne, Warszawa 1995. 3. http://sound.eti.pg.gda.pl/rekonstrukcja/algorytmy_genetyczne.html 4. http://www.ekspert.wsi.edu.pl/ 5. http://wombat.ict.pwr.wroc.pl/nauczanie/prezentacja/flash/ag/index1.html 6. http://panda.bg.univ.gda.pl/~sielim/genetic/