Algorytmy genetyczne i ich zastosowania
Z a n g ie ls k ie g o przcełożył
dr K azim ierz G rygiel In s ty tu t In £ o n n atyki U n iw e r sy te tu W a rs z a w s k ie g o
Algorytmy genetyczne i ich zastosowania Wydawnictwa Naukowo-Techniczne
David E. Goldberg
Warszawa
Dane o oryginale DAVID E. G OLDBERG T he University of Alabam a
Genetic Algorithms in Search, Optimization, and Machine Learning
Copyright © 1989 by Addison-Wesley Publishing Company, Inc. T)umaczenie, wydanie i rozpowszechnianie za zgodą Addison-Wesley Publishing Company, Inc. Reading, Massachusetts, USA
Redaktor Zuzanna Grzejszczak Przygotowanie do druku Marta Jeczeń, Anna Szeląg Opracowanie techniczne Ewa,Eckhardt Oldadkę i strony tytulowe projektował Paweł G. Rubaszewski
Copyright © (or the Polish edition by Wydawnictwa Naukowo-Techniczne Warszawa 1995
Utwór w calośol ani we fragmentach nle może być powielany anl rozpowszechniany za pomocą urządzeń elektronicznych, mechanicznych, kopiujących, nagrywającjgrh i Innych bez pisemnej zgody posiadacza praw autorskich.
All rights reserved Printed in Poland
ISBN 83-204-1852-6
Słowo wstępne
Po raz pierwszy zetknąłem się z Davidem Goldbergiem, gdy jako młody inżynier roz glądający się za tematem pracy doktorskiej dopytywał się o mój wykład Wprowadzenie do systemów adaptacyjnych. Stanowił on dość niezwykły przypadek, ponieważ wybitnie praktyczne doświadczenie, zdobyte w dziedzinie przemysłu gazociągowego, i wyraźne zaangażowanie w tym kierunku nie zdawały się tłumić jego zainteresowania bądź co bądź abstrakcyjnym wykładem, obejmującym mnóstwo „biologicznej gadaniny” . Kiedy zapisał się na wykład, szybko zdałem sobie sprawę, że pod powierzchnią ujawnionych wcześniej zainteresowań w takich dziedzinach, jak sterowanie, gazociągi i sztuczna in teligencja, kryje się szeroko zakrojona pasja badawcza i głęboki talent analityczny. Był on - i jest nadal - inżynierem, którego pociąga konstruowanie, ale który w równym stopniu interesuje się teorią. Po niedługim czasie Dave zwrócił się do mnie z pytaniem, czy nie podjąłbym się (wspólnie z Benem Wylie, dziekanem naszego wydziału Inżynerii Wodnej i Lądowej) funkcji współpromotorajego rozprawy na temat zastosowania algorytmów genetycznych i systemów klasyfikujących do sterowania pracą gazociągu. Moją pierwszą reakcją było stwierdzenie, że temat jest za trudny na dysertację - nie znane są bowiem rozwiązania analityczne nawet dla uproszczonych wersji tego problemu, a praktycznych umiejętności w zawodzie kontrolera gazociągu nabywa się po długim, niemal rzemieślniczym ter minowaniu. Dave nie u9tępował i w zdumiewająco krótkim czasie przedstawił rozprawę, która przyniosła mu w 1985 r. doroczną nagrodę dla młodych badaczy przyznawaną przez NSF (National Science Foundation). Tyle na temat mojej intuicji co do „rozsąd nych” tematów prac doktorskich. W ciągu kilku ubiegłych lat algorytmy genetyczne przebyły drogę od tajemniczego przedmiotu, znanego kilku moim studentom i studentom moich studentów, do dyscypliny przyciągającej zainteresowanie przedstawicieli wielu środowisk naukowych, w tym ekono mistów, politologów, psychologów, lingwistów, immunologów, biologów i informatyków.
6 ,__________________________________________________________________ Slowo wstępne
t Główną przyczyną tego powodzenia jest fakt, że algorytmy genetyczne są naprawdę skuteczne. Algorytmy genetyczne charakteryzują się odpornością i potencjalną możliwoś cią wyzyskania architektur sprzętowych o wysokim stopniu równoległości, a w zastoso waniu do systemów klasyfikujących stanowią nowy sposób podejścia do problemów inteligencji i adaptacji. Książkę Goldberga można porównać do autostrady prowadzącej na te terytoria. Nikt, kto ma dłużej do czynienia z Davidem Goldbergiem, nie może nie zarazić się jego entuzjazmem i energią. Ten entuzjazm przebija z każdego rozdziału jego książki. Stanowi ona jednocześnie ucieleśnienie jego pasji do klarownego objaśniania i podawa nia starannie opracowanych przykładów. Wyjątkową zasługą książki Goldbergajest udo stępnienie szerokiej publiczności metod związanych z algorytmami genetycznymi i sys temami klasyfikującymi. Choć Dave jest glęboko zaangażowany w problematykę algo rytmów genetycznych i systemów klasyfikujących od strony intelektualnej, to jeszcze bardziej zależy mu na ich upowszechnieniu od strony użytkowej. Sądzę, że jego książka odegra instrumentalną rolę w realizacji tego celu. John Holland Ann Arbor, Michigan
Przedmowa
Książka ta jest poświęcona algorytmom genetycznym (AG), które są procedurami po szukiwania opartymi na mechanizmach doboru naturalnego oraz dziedziczności. Pisząc ją starałem się połączyć techniki obliczeniowe, aparat matematyczny i wyniki badawcze w taki sposób, by dać Czytelnikowi możliwość samodzielnego zastosowania algorytmów genetycznych w interesującej go dziedzinie. Każdy, kto tak uczyni, przyłączy się tym samym do rosnącej wciąż grupy badaczy i praktyków, którzy docenili wartość analogii przyrodniczych, modeli matematycznych i technik obliczeniowych składających się na metod.ykę algorytmów genetycznych. Książka jest pomyślana jako podręcznik i przewodnik do samodzielnych studiów. Podstawowy tekst poddałem praktycznemu sprawdzianowi w czasie jednosemestralnego wykładu z algorytmów genetycznych. Chociaż uczestniczyli w nim słuchacze z różnych kierunków (biochemia, inżynieria chemiczna, informatyka, elektrotechnika, mechanika, anglistyka, matematyka, budowa maszyn i fizyka) i o bardzo różnym przygotowaniu matematycznym i informatycznym, wszyscy byli w stanie zrozumieć podstawowy al gorytm oraz podstawy teoretyczne jego funkcjonowania. Aby zapewnić książce podobnie szeroki odbiór, używam celowo swobodnego języka, a wymagania ścisłości poświęcam zawsze kształtowaniu intuicji i dochodzeniu do zrozumienia problemu. Główne tematy zostały zilustrowane szczegółowo przeanalizowanymi przykładami, a do każdego roz działu zostały dofączone ćwiczenia komputerowe. Staralem się zmniejszyć do minimum zakres wiedzy z dziedziny matematyki, ge netyki i informatyki potrzebny do korzystania z książki. Zakładam podstawową znajo mość matematyki (algebry i trochę analizy) na poziomie powyżej szkoły średniej. Po sługuję się w elementarnym zakresie kombinatoryką i rachunkiem prawdopodobieństwa; Dodatek A zawiera zwięzłe podsumowanie podstawowych wiadomości z tych dziedzin. Nie zakładam żadnej szczególnej wiedzy z zakresu genetyki; wszystkie niezbędne ter miny i pojęcia zostały zdefiniowane w tekście. Czytelnik powinien dysponować pewną
8
Przedmowa
umiejętnością programowania komputerów. Kto pisał programy w jakimkolwiek języku dla jakiegokolwiek komputera, nie powinien mieć trudności ze zrozumieniem przykłado wych programów prezentowanych w książce. Wszystkie zamieszczone tu programy są napisane w języku Pascal. Chociaż książka nie jest wyraźnie podzielona na części, poszczególne jej rozdziały można zaliczyć do dwóch głównych kategorii: poszukiwanie i optymalizacja oraz sy stemy uczące się. Pierwszych pięć rozdziałów jest poświęcone zastosowaniu algorytmów genetycz nych w zadaniach poszukiwania i optymalizacji. Rozdział pierwszy stanowi wprowadze nie w tematykę poszukiwania genetycznego; jest w nim także opisany elementarny al gorytm genetyczny, którego działanie zostało zilustrowane za pomocą odręcznej symula cji. W rozdziale drugim wprowadza się podstawowe ramy teoretyczne algorytmów gene tycznych, w tym pojęcie sćhematu, podstawowe twierdzenie i pogłębioną analizę. Jeśli Czytelnik nie przepada za teorią, może bezpiecznie pominąć rozdział drugi, nie tracąc prawie ciągłości; jednak sugerowałbym podjąć wcześniej próbę jego przeczytania. Mate matyczne podstawy algorytmów genetycznych nie są trudne do zrozumienia, natomiast ich implikacje bywajątrudno uchwytne;jeśli poświęci się nieco uwagi aspektom teorety cznym na początku studiów, ułatwi to znacznie pbłniejszc zrozumienie siły tkwiącej w algorytmie. W rozdziale trzecim omawia się przykładową implementację komputero wą algorytmu genetycznego. Dokładniej, mowa tu o programie paskalowym SGA (simp le genetic algorithm) i pewnych jego rozszerzeniach. Rozdział czwarty zawiera zarys historii pierwszych algorytmów genetycznych, łącznie z przeglądem aktualnych zastoso wań. W rozdziale piątym zostały omówione bardziej zaawansowane mechanizmy gene tyczne (w tym operacje nisko- i wysokopoziomowe oraz techniki hybrydowe) oraz kilka przykładów ich zastosowania. Rozdziały szósty i siódmy są poświęcone zastosowaniu algorytmów genetycznych w systemach uczących się. Rozdział szósty zawiera ogólny opis pewnego typu takich systemów, zwanego systemem klasyfikującym. Prócz zwięzłego omówienia teorii funk cjonowania takiego systemu, została tam opisana pewna implementacja uproszczonego systemu klasyfikującego, w postaei programu paskalowego SCS (simple classifier sys tem). Program ten został następnie przetestowany na przykładowym zadaniu wyuczenia się pewnej funkcji boolowskiej. Rozdział siódmy dopełnia obrazu genetycznych syste mów uczących się, przedstawiając w zarysie rozwój historyczny pierwszych systemów tego typu i aktualny przegląd innych wybranych systemów i zagadnień.
Podziękowania
Nie ulega kwestii, komu należą się najwyższe wyrazy uznania w książce o algorytmach genetycznych. Dziękuję Johnowi H. Hollandowi z Uniwersytetu Michigan za jego za chętę do napisania tej książki, a także za powołanie do życia młodej dyscypliny, która obecnie jest znana pod nazwą algorytmów genetycznych. Nie bylo łatwo wychować takie dziecko. Niekiedy wykazywało ono oznaki opóźnionego rozwoju intelektualnego, a inne dzieciaki z sąsiedztwa nie zawsze traktowalyje po przyjacielsku. Jednak John stał u boku swej córki z pewnością, do jakiej zdolny jest tylko ojciec, wiedząc, że pewnego dnia zajmie ona zasłużone miejsce w świecie myśli. Składam również podziękowania dwóm osobom, którym zawdzięczam więcej, niż mogłyby przypuszczać: E. B. Wyliemu i W. D. Jordanowi. Ben Wylie był moim promo torem na wydziale Inżynierii Lądowej i Wodnej Uniwersytetu Michigan. Kiedy zwróci łem się do niego z pomysłem rozprawy na temat rurociągów do przesyłania gazu i al gorytmów genetycznych, zachował właściwy sceptycyzm, ale dał mi szansę i nauczył mnie umiejętności badawczych oraz organizacyjnych niezbędnych do ukończenia pracy. Bill Jordan był moim przełożonym na wydziale Mechaniki Uniwersytetu Alabama (prze szedł na emeryturę w 1986). Był on i jest dla mnie nadal wzorem wykładowcy i bez stronnego administratora, który wciąż usiłuję doścignąć. ■•>■; Dziękuję moim kolegom z wydziału Mechaniki Uniwersytetu Alabama, A. E. Cardenowi, C. H. Changowi, C. R. Evcesowi, S. C. Gambrellowi, J. L. Hillowi, S. E. Jone sowi, D. C. Raneyowi i H. B. Wilsonowi za ich zachętę i pomoc. Dziękuję także wielu kolegom z kręgu algorytmów genetycznych. Szczególne podziękowania należą się Ste wartowi Wilsonowi z Rowlands Institute for Science za jego wsparcie i życzliwość okazywaną przy licznych okazjach. Dziękuję moim studentom (osławionym Bama Gene Hackers), w tym C. L. Bridgesowi, K. Debowi, C. L. Karrowi, C. H. Kuo, R. Lingle’owi Jr., M. P. Samtaniemu, P. Segrestowi, R. E. Smithowi i M. ValenzueIa-Rendonowi za długie godziny ciężkiej
10
Podziękowania
pracy. Chcę też wyrazić uznanie za wspaniałą pracę moim asystentom: A. L. Thomas, S. Damsky’emu, B. Korbowi i K. Y. Lee. Pragnę odnotować pomoc redakcyjną, którą zawdzięczam Sarze Bane Wood z Ala bamy. Wyrażam też wdzięczność pracownikom wydawnictwa Addison-Wesley, w tym Peterowi Gordonowi, Helen Goldstein, Helen Wythe i Cynthii Benn za fachowe doradzt wo i pomoc w przygotowaniu książki. Dziękuję recenzentom, Kenowi De Jongowi, Johnowi Hollandowi i Stewartowi Wilsonowi za ich uwagi i sugestie. Wiele osób i instytucji udzieliło mi zezwoleń na przedruk lub adaptację materiałów opublikowanych pierwotnie w innych miejscach. Z wdzięcznością odnotowuję zgodę wyrażoną przez następujące osoby: L. B. Booker, G. E. P. Box, K. A. De Jong, S. Forrest, J. J. Grefenstette, J. H. Holland, J. D. Schaffer, S. F. Smith i S. W. Wilson. Pragnę również odnotować zgodę następujących instytucji: Academic Press, Academic Press London Ltd. {Journal of Theoretical Biology), American Society of Civil Engine ers, Association for Computing Machinery, Komitetu Konferecji ICGA, Kluwer Acade mic Publishers (Machine Learning), North-Holland Physics Publishing, Royal Statistical Society {Journal ofthe Royal Statistical Society) oraz John Wiley and Sons, Inc. Dziękuję mojej żonie i jednocześnie najlepsżej przyjaciółce, Mary Ann, za jej cierpliwość i pomoc. Zdarzyło mi się wielokrotnie nie wrócić mimo obietnicy do domu na wieczór lub na weekend, a ona wykonała korektę rękopisu, umiejętnie oddzielając nadające się do przyjęcia żarty od niedopuszczalnych kalamburów. Niezliczone rzesze Czytelników byłyby Ci wdzięczne, Nary (sic), gdyby wiedziały, jakiego losu oszczędzi łaś im dzięki swemu rozsądkowi. Materiał zamieszczony w książce jest oparty na pracy sponsorowanej przez Natio nal Science Foundation (grant MSM-845l6l0). Jestem również wdzięczny za pomoc udzieloną mi przez Alabama Research Institute, Digital Equipment Corporation, Intel Corporation, P. Petera Pratera, Rowlands Institute for Science, Texas Instruments Inc. oraz Uniwersytet Alabama. Stalo się uświęconym obyczajem, że autorzy podręczników i monografii, po złoże niu podziękowań każdemu bez wyjątku za otrzymaną pomoc, z galanterią przyjmują na siebie odpowiedzialność za wszystkie błędy, które uchowały się w tekście. Robi się to na ogól w tonie bardzo uroczystym - rodzaj rytualnego zaklęcia w celu odpędzenia złych chochlików. Pozwolę sobie poniechać tej praktyki i zakończyć niniejsze podziękowania, parafrazując fragment graffiti, które zauważyłem po raz pierwszy na drugim piętrze West Engineering Building Uniwersytetu Michigan: Mylić się jest rzeczą ludzką. Aby coś naprawdę sknocić, trzeba komputera. Pisząc tę książkę stwierdziłem, niestety, że stałem się ofiarą obydwu źródeł błędu, i, bez wątpienia, wiele pomylek pozostało. Mogę się tylko pocieszyć świadomością, że błędy są nieuniknionym efektem ubocznym naszego ludzkiego dziedzictwa i prawdopodobnym przeznaczeniem przyszłej sztucznej inteligencji.
Spis treści
Rozdział 1 Wprowadzenie dla niewtajemniczonych______________________ 17 1.1.
Co to są algorytmy genetyczne?___________________________________17
1.2. 1.3.
Odpomość tradycyjnych metod optymalizacji i poszukiwania_____________18 Cele optymalizacji_______________________________________________ 22
1.4.
Czym różnią się algorytmy genetyczne od tradycyjnych m etod?_________ 23
1.5.
Elementarny algorytm genetyczny__________________________________ 26
1.6.
Algorytmy genetyczne w dziataniu - symulacja odręczna______________ 32
1.7.
Ziarno optymalizacyjnego mfyna - podobieństwa strukturalne___________35
1.8. 1.9.
Schematy _____________________________________________________ 36 Nieco żargonu ________________________________ !_______________ —38
1.10. Podsumowanie_________________________________________________ 39 1.11. Zadania _______________________________________________________41 1.12. Ćwiczenia komputerowe_________________________________________ -42
Rozdział 2 Podstawy matematyczne algorytmów genetycznych_________ _ 4 4 2.1.
Kto przetrwa, a kto zginie? Podstawowe twierdzenie________________ —45
2.2. Przetwarzanie schematów na żywo: symulacja odręczna po raz w tóry--------- 50 2.3. Zagadnienia dwu- i k-ramiennego bandyty________________________ _ 5 3 2.4. 2.5. 2.6.
Ile schematów bierze efektywny udział w przetwarzaniu?____________ — 57 Hipoteza cegietek______________________________________________ 5 9 Minimalny problem zwodniczy___________________________________ —63 2.6.1, MDP: analiza____________________________________________ -6 6 2.6.2. MDP: wyniki symulacyjne ___________________________________68
2.7.
Jeszcze o schematach: wzorce podobieństwa jako hiperpłaszczyzny---------70
2.8.
Podsumowanie ________________________ ’________________________ 71
Spis treści
12
2.9. Zadania ___ ______ ____________________________________________ 72 2.10. Ćwiczenia Komputerowe------------------------------------------------------------------------73
Rozdział 3 Implementacja komputerowa algorytmu genetycznego-----------------75 3.1. 3.2.
Struktury danych _____ __________________________________________ 76 Reprodukcja, krzyżowanie, m utacja-------------------------------------------------------- 78
3.3.
Czas reprodukcji, czas krzyżowania------------------------------------------------------_81
3.4.
Program główny _____ ___ ______________________________________ 83
3.5. 3.6.
Czy wszystko działa jak należy?----------------------------------------------------------- 84 Przekształcenie łunkcji celu w funkcję przystosowania------------------------------- 90
3.7.
Skalowanie przystosowania ------------------------------------------------------------------91
3.8. 3.9.
Metody kodowania ----------------------------------------------------------------------------- 94 Standardowa metoda kodowania dla zadań wieloparametrycznych_______ 97
3.10. Dyskretyzacja _ _ _ _ _ ------------------------------------------------------------------------- 99 3.11. Problem więzów ____ __________________________________________ 100 3.12. Podsumowanie __ _____________________________________________ 101 3.13. Zadania ____ __ ___________________ ____________________________102 3.14. Ćwiczenia komputerowe --------------------------------------------------------------------- 103
Rozdział 4 Niektóre zastosowania algorytmów genetycznych-------------------- 104 4.1.
Powstanie algorytmów genetycznych----------------------------------------------------- 104
4.2.
Przegląd historyczny ważniejszych zastosowań algorytmów genetycznych 107 4.2.1. ’ Bagley i adaptacyjny program gry w sześć pionków---------------------- 107 4.2.2.
Rosenberg i symulacja żywej kom órki-----------------------------------------108
4.2.3. 4.2.4.
Cavicchio i rozpoznawanie postaci --------------------------------------------110 Weinberg, symulacja komórki i algorytm genetyczny
4.2.5.
z metapoziomu ______ 113 Hollstien i optymalizacja funkcji-------------------------------------------------- 114
4.2.6. 4.2.7.
Frantz I efekt pozycyjny ----------------------------------------------------------- 116 Bosworth, Foo i Zeigler - geny „rzeczyw iste"---------------------------- 117
4.2.8. Box i planowanie ewolucyjne------------------------------------------------------118 4.2.9. Inne ewolucyjne techniki optymalizacji----------------------- ------------------ 120 4.2.10. Fogel, Owens i Walsh - Programowanie ewolucyjne___________ 120 4.3. 4.4.
De Jong i optymalizacja funkcji ----------------------------------------------------------- 122 Udoskonalenia techniczne __________________
136
4.4.1. Alternatywne metody selekcji -----------------------------------------------------136 4.4.2. Mechanizmy skalowania __ — ..------------------------------------------------- 138 4.4.3. Nadawanie ra n g ___...___ 4.5.
140
Aktualne zastosowania algorytmów genetycznych-----------------------------------141 4.5.1. Optymalizacja rurociągu gazowego -------------------------------------------- 144 4.5.2. Optymalizacja strukturalna konstrukcji przy użyciu algorytmu genetycznego _____ _—---- ------------------------------------------------------- 151 4.5.3. Obróbka medycznych obrazów rentgenowskich za pomocą algorytmu genetycznego --------------------------------------------------------:------------------- 153
Spis treści_______________________________________________________________________ 13
4.6.
4.5.4. Iterowany dylemat więźnia _________________________________ 155 Podsumowanie ______________________ !________________________ 157
4.7. 4.8.
Zadania _______________________________________________________158 ćwiczenia komputerowe _____________________________________ 160
Rozdział 5 Techniki i operacje zaawansowane___________________________161 5.1.
Diploidainy aparat genetyczny. Dominowanie i maskowanie_____________162 5.1.1. Diploidalność i dominowanie w algorytmach genetycznych - zarys historyczny ______________________________________________164 5.1.2. Analiza diploidalności i dominowania w algorytmach genetycznych_172 5.1.3. Implementacja modelu triallelicznego_________________________ 176
5.2.
Inwersja i inne operacje rekonfiguracji_____________________________ 178 5.2.1. Operacje rekonfiguracji w algorytmach genetycznych. Zarys historyczny ______________________________________________182 5.2.2. Teoria operacji rekonfigurujących ___________________________ 190
5.3.
Inne mikrooperacje______________________________________________194 5.3.1. Segregacja, translokacja i struktury wlelochromosomowe_________ 194 5.3.2. Duplikacja i delecja ______________________________________ 195 5.3.3. Determinacja płci i zróżnicowanie ptciowe______________________ 196
5.4.
Nisze i specjacja_______________________________________________ 200 5.4.1. Teoria nisz i gatunków____________________________________ 202 5.4.2. Metody niszowe w poszukiwaniach genetycznych______________ 205 5.4.3. Bariery reprodukcyjne w poszukiwaniach genetycznych___________210
5.5. 5.6.
Optymalizacja wielokryteriaIna____________________________________ 212 Techniki oparte na w ie d zy ______________________________________ 217 5.6.1. Hybrydyzacja ____________________________________________218 5.6.2. Operacje wzbogacone wiedzą_______________________________ 220 5.6.3. Metody aproksymacyjne __________________________________ 222
5.7.
Algorytmy genetyczne a architektura równolegta______________________224
5.8.
Podsumowanie
5.9.
Zadania_______________________________________________________ 229
_______________________________________________ 228
5.10. Ćwiczenia komputerowe ________________________________________ 231
Rozdział 6 Wprowadzenie do genetycznych systemów uczących s ię ______ 232 6.1. 6.2.
S kądw zięiysięsystem yG BM I____________________________________ 233 Czym jest system klasyfikujący?__________________________________ 236
6.3.
Uktad przetwarzania komunikatów_________________________________ 238
6.4.
Układ oceniający: Algorytm bucket brigade_________________________ 240
6.5.
Algorytm genetyczny____________________________________________245
6.6.
System klasyfikujący w Pascalu___________________________________246 6.6.1. Strukturydanych__________________________________________ 246 6.6.2. Układ wykonawczy________________________________________ 248 6.6.3. Algorytm przyznawania ocen _______________________________ 249
Spis treści
14
6.6.4. Poszukiwanie genetyczne w systemie klasyfikującym____________ 252 6.6.5. A więc gdzie problem? ___________________________________ 255 6.6.6. Odczytaj komunikat, podejmij dzialanie----------------------- =---------------- 258 6.6.7. Zwycięzca bierze wszystko ------------------------------------------------------- 260 6.7.
6.6.8. Program głów ny...................................................... ..... ......................2161 Wyniki eksperymentów z systemem SCS ----------------------------------------------- 262 6.7.1. Parametry środowiska i systemu____________________________ _262 6.7.2. Reguly idealne i „dywersanci"_______________________________ 262 6.7.3. Hierarchia domniemań --------------------------------------------------------------265 6.7.4. Start od zera: Model Tabula ra sa ___________________________ 271
6.8.
Podsumowanie
________________________________
273
6.9. Zadania___________________________________ — --------------------------- 274 6.10. Ćwiczenia komputerowe ________________________________________ 276
Rozdział
7 Zastosowania genetycznychsystemów uczących się ----------------- 277 7.1.
Początki systemów GBMI________________________________________ 277 7.1.1. Schematy i ich procesory_______________________________ ___278 7.1.2. Język przekazu _________ :------------------------------------------------------ 279
7.2.
Pierwszy system klasyfikujący CS-1 ___________________________
281
7.2.1. System CS-1 w dzialaniu--------------------------------------------------------- _283 7.3.
Program pokerowy Smitha _______________________
286
7.3.1. Wyniki osiągnięte przez program LS-1 _____________________ _ 2 9 0 7.4.
Inne wczesne próby z systemami GBMI------------------------------------------__ _ 2 9 2 7.4.1. Poszukiwanie pożywienia i unikanie trucizn____________________ 292 7.4.2. Koordynacja systemu EYE-EYE____________________________ _297 7.4.3. System klasyfikujący ANIMAT______________________________ .300 7.4.4. System klasyfikujący do sterowania gazociągiem______________ 304
7.5.
Przegląd wybranych zastosowań_________________________________ 308 7.5.1. BOOLE: System klasyfikujący uczy się trudnej funkcji boolowskiej ______________________________________________308 7.5.2. Równoległe sieci semantyczne na bazie klasyfikatorów: system CL-O N E__________________________________________ 312 7.5.3. Przetwarzanie genetyczne programów sekwencyjnych: JB i T B ___ 317
7.6.
Podsumowanie
7.7. 7.8.
Zadania_______________________________________________________ 322 Ćwiczenia komputerowe -------------------------------------------------------------------- 323
---------------------------------------------------------------------------------320
Rozdział 8 Rzut oka wstecz i przeds ie b ie ------------------------------------------------- 324 Dodatek A Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństwa---------------------------------------------------------------- 329 A.1. A.2.
Reguta iloczynu_______________________________________________ 329 Permutacje ___________________________________________________ 330
A.3.
Kombinacje ___________________________________________________ 331
Spis treści
15 A.4.
W zór dw u m ian o w y _____________
A.5.
Z d a rz e n ia ___________________________
332
A.6 .
A ksjom aty p ra w d o p o d o b ie ń stw a ____________________
A.7.
P rzy p ad ek jednakow ych s z a n s
'_____________________________ 333
334
._______________________________ _ 3 3 6
A.8.
P raw d opodobieństw o w arunkow e _______________________________________ 337
A.9.
R ozbicia zd arzeń ____________________________________________________ _ 3 3 8
A.10. R eguła B a y e sa __ ______________________________________________________33 g A.11. Z d arzenia niezależn e __________________________________________________339 A.12, R ozkład dw um ianow y _______________________________________________ _ 3 4 0 A.13. W arto ść o czekiw ana zm iennej lo so w e j__________________________________ 340 A.14. T w ierdzenia g raniczne ______________________________________ _ _ _ _ _ _ _ _ 3 4 1 A.15. P o d su m ow anie .
A.16. Z ad an ia
341
_______
,341
_______________________
Dodatek B Program SGA ____________________________________ _ _ _ _ _ 3 4 3 Dodatek C Program SCS ________ ___________________________ ;_______ 352 Dodatek D Transformacja współczynników partycyjnych i jej zastosowanie w problemie doboru kodu _______________________________ _ _ 3 7 5 D,1.
T ran sform acja w spółczynników partycyjnych ____________________________ 376
D.2.
Przykład: f(x) = x 2 na trzech bitach
D.3.
Interpretacja w spółczynników p a rty c y jn y c h ______________________________ 378
D.4.
Z asto so w an ie w spółczynników partycyjnych do analizy problem ów
D.5,
K onstruow anie problem ów AG-zwodniczych z a p o m o c ą w spółczynników
D.6.
P o d su m ow anie
D.7.
Z ad an ia
D.8 .
Ć w iczenia kom puterow e ______________________________________________ _382
zw odniczych partycyjnych
.________________________________ 377
__________ _ _ _ _ _ — ___
379 _380
________________________________________________________ 381
_________
Bibliografia___________________________
381
_383
Skorowidz rzeczowy _____
404
Skorowidz identyfikatorów_______________
407
Rozdział 1
Wprowadzenie dla niewtajemniczonych
W niniejszym rozdziale dokonamy prezentacji algorytmów genetycznych: wyjaśnimy czym są, skąd się wzięły, jak się mają do innych metod poszukiwania i czym się od nich różnią. Objaśnimy ich działanie na odręcznie wykonanym przykładzie i spró bujemy znaleźć wytłumaczenie ich skuteczności za pomocą pojęcia schematu (wzorca podobieństwa).
___________________ _
1.1. Co to są algorytmy genetyczne?
Algorytmy genetyczne są to algorytmy poszukiwania oparte na mechanizmach doboru naturalnego oraz dziedziczności. Łącząc w sobie ewolucyjną zasadę przeżycia najlepiej przystosowanych z systematyczną, choć zrandomizowaną wymianą informacji, tworzą metodę poszukiwania obdarzoną jakąś dozą pomysłowości właściwej umysłowi ludzkie mu. W każdym pokoleniu powstaje nowy zespół sztucznych organizmów (ciągów bito wych), utworzonych z połączenia fragmentów najlepiej przystosowanych przedstawicieli poprzedniego pokolenia; prócz tego sporadycznie wypróbowuje się nową część składową. Pomimo elementu losowości, algorytmy genetyczne nie sprowadzają się do zwykłego błądzenia przypadkowego. Wykorzystują one efektywnie przeszłe doświadczenie do okreś lania nowego obszaru poszukiwań o spodziewanej podwyższonej wydajności. Algorytmy genetyczne zostały rozwinięte przez Johna Hollanda oraz jego kolegów i studentów z Uniwersytetu Michigan. Cel ich badań był dwojaki: 1) opisać i wyjaśnić w sposób ścisły istotę procesów adaptacyjnych występujących w świecie przyrody, 2) stworzyć na użytek systemów konstruowanych przez człowieka oprogramowanie, któ re odtwarzałoby podstawowe mechanizmy rządzące systemami biologicznymi. Takie postawienie problemu zaowocowało ważnymi odkryciami w badaniach systemowych.
18
1. Wprowadzenie dla niewtajemniczonych
Centralnym tematem w badaniach dotyczących algorytmów genetycznych jest odpomość\6vł kompromis między efektywnością a skutecznością konieczną do przeżycia 'vf różnorodnych środowiskach. Dla systemów wytwarzanych przez człowieka implikacje odporności są wielorakie. Jeśli potrafimy skonstruować odporny system techniczny, to możemy sobie zaoszczędzić kosztownych przeróbek, a nawet całkiem je wyeliminować. Jeśli uda się osiągnąć wyższy stopień adaptacji, to istniejące systemy będą mogły funk cjonować i lepiej, i dłużej. Konstruktorzy systemów - inżynierskich, komputerowych, jak też ekonomicznych - mogą tylko podziwiać odporność, wydajność i łatwość przy stosowania się systemów biologicznych. Zdolność do ręgęneracji. samosterowania i reprodukcji, będąca regułą w świecie biologii, jest prawie nieobecna w świecienajbardziej nawet zaawansowanej techniki. Tak więc dochodzimy do interesującej konkluzji: tam, gdzie odporność jest cechą pożądaną (a gdzie niejest?), przyroda radzi sobie lepiej; tajemnice adaptacji i umiejętno ści przeżycia można najlepiej poznać, studiując uważnie przykłady ze świata biologicz nego. Jednak nie wyłącznie „doskonałość Natury” skłania nas do przyjęcia metody algorytmu genetycznego. Dowiedziono teoretycznie i empirycznie, że algorytmy genety czne stanowią „odporną” metodę poszukiwania w skomplikowanych przestrzeniach. Podstawową monografią na ten temat jest praca Hollanda (1975) Adaptation in Natural and Artificial Systems. W wielu artykułachi rozprawach naukowych stwierdzono przyda tność tej techniki w zagadnieniach związanych z optymalizacją i sterowaniem. Mającjuż ustaloną markę jako odpowiednie narzędzie do efektywnego i skutecznego poszukiwania, algorytmy genetyczne zdobywają coraz szersze obszary zastosowań w środowiskach naukowych, inżynierskich i w kręgach biznesu. Przyczyna rosnącej liczby zastosowań jest oczywista: algorytmy genetyczne stanowią nieskomplikowane, a przy tym potężne narzędzie poszukiwania lepszych rozwiązań. Co więcej, są one wolne od zasadniczych ograniczeń nakładanych przez mocne założenia o przestrzeni poszukiwań (takiejak ciąg łość, istnienie pochodnych, jednomodalność funkcji celu i temu podobne). Zanim zbada my przyczyny tych atrakcyjnych właściwości, musimy zająć się odpornością powszech niej stosowanych metod poszukiwania.
1.2. Odporność tradycyjnych metod optymalizacji i poszukiwania______________ ___________ _ _ ___________ Książka ta nie stanowi studium porównawczego tcchąik i^3tymalizacji. i poszukiwania. Mimo to należy postawić pytanie, czy konwencjonalne metody poszukiwania spełniają nasze kryteria odporności. W aktualnej literaturze przedmiotu wyróżnia się trzy główne rodzaje metod poszukiwania:_analityczne, enumeratywne (przeglądowe) oraz losowe. Przyjrzymy się im bliżej, aby przekomić się,' ćży m6żha wyciągńąćjal«e^ na ten lemat^^fiŁprzeprowad^m formalnych badań empirycznych. it^etody analityczne^yły przedmiotem intęnsywnychstudiów. Dzielą sięone zasadnicz0'iiihflwR'TlTsyf^netody)poSredni^i(metqdy bezpoSre
poszukujemy lokalnych ekstremów rozwiązując układ fównań (zazwyczaj nieliniowych)
1.2. Odporność tradycyjnych metod optymalizacji i poszukiwania
19
otrzymanych przez przyrównanie gradientu liinkcji celu do zera. Jest to uogólnienie na przypadek wielowymiarowy znanej z elementarnego rachunku różniczkowego metody punktów krytycznych (rys. l.l). Jeśli mamy do czynienia z funkcjągładką, określoną na obszarze otwartym, to poszukiwanie potencjalnych maksimów możemy ograniczyć do zbioru punktów, w kt0;;ych^nachyj^enjs^ stycznej do wykresu funkcji jest równe zeru w każdym Rierunku.^etocly bez^ośredpieStoszukiwania lokalnego maksimum polegają na „skakaniu” po wykrcsie futi^cji w kierunku wyznaczonym przez lokalny gradient. Rozpo znajemy tu zasadę górskiej wspinaczki: abydostać sięna (lokalny) wierzchołek, wspinaj się po zboczu wzdłuż najbardziej stromej z możliwych dróg. Mimo że metody analityczne jednego i drugiego rodzaju były wielokrotnie ulepszane, rozszerzane oraz przerabiane na różne sposoby, wystarczy proste rozumowanie, aby wykazać ich brak odporności.
f(x,y)
R y s. 1.1. Funkcja o jednym m aksim um nie p rzedstaw ia trudności dia m etod analitycznych
Po pierwsze, obie metody mają zakr.es lokalny, szukają bowiem optymalnego roz wiązania w sąsiedztwie danego punktu. Przypuśćmy, na przyklad, że rys. 1.1 przedstawia tylko wycinek interesującego nas'obszarti; pełniejszy obrazjest pokazany na rys. 1.2. Jeśli rozpoczniemy procedurę wspinaczki lub wyznaczania miejsca zerowego w sąsiedz twie niższego wierzchołka, to bez wątpienia przeoczymy właściwe rozwiązanie (wyższy wierzchołek). Co gorsza, po znalezieniu niższego wierzchołka, nie możemyjuż poprawić rozwiązania bez powtórzenia calego procesu z losowego punktu startowego lub zastoso wania innych chwytów. Po drugie, zastosowanie metod anąlitycznychjestuząleżnione pd istnienia pochodnych (tj. dobrze określonych kątów nachylenia). Nawet jeśli dopuś cimy numeryczną apróksyriiacjępochódhyćh,jeśt to wciąż poważne ograniczenie. Wiele spotykanych w praktyce przestrzeni parametrów nie wykazuje przesadnego respektu wo bec pojęcia pochodnej i wynikającej z niego pojęcia gładkości funkcji. Teoretycy za jmujący się optymalizacją byli zanadto skorzy do przejęcia dziedzictwa po wielkich matematykach XVIII i XIX wieku, którzy nakreślili obraz nieskażonego świata kwa dratowych funkcji celu, idealnych więzów i wszechobecnych pochodnych,Rzeczywisty świat optymalizacji pełen jest nieciągłości i przepastnychprzestrzeni o skomplikowanej
20
1. Wprowadzenie dla niewtajemniczonych
t(x, y)
X Rys. 1.2. Funkcja o wielu maksimach lokalnych stawia wobec dylematu: na który wierzchołek należy się wspinać?
topologii, jak pokazuje przykład mniej podatnej' na metody analityczne funkcji, zob razowanej na rys. 1.3. Nie jest więc zaskoczeniem, że metody wymagające spełnienia arbitralnych założeń o ciągłości oraz istnieniu pochodnych mają raczej ograniczony zakres zastosowań. Z tego względu, a także z uwagi na nieodłącznie lokalny charakter działania metod analitycznych, jesteśmy zmuszeni je odrzucić. Są one nie dość odporne poza przewidzianym dla siebie obszaręm.ząstosąwań,, s Rozważano wiele rozmaitych{metod enumeracyjnych?Ideajest całkiem oczywista: mając skończoną przestrzeń poszukiwań (lub dyskretny odpowiednik przestrzeni nie-
Rys. 1.3. Wiele funkcji to funkcje nieregularne i nieciągle, nie nadające się do optymalizacji tradycyjnymi metodami
1.2. Odporność tradycyjnych metod optymalizacji i poszukiwania
21
skończonej), algorytm oblicza wartości funkcji celu, przeglądając po kolei wszystkie punkty przestrzeni. Chociaż ten rodzaj algorytmu jest atrakcyjny ze względu na prostótę i przypomina typowo ludzki sposób rozwiązania problemu (gdy liczba możliwościjest niewielka), jednak musi ostatecznie zostać zdyskwalifikowany pod wzfllędenyodpomości z jednego prostego powodu - nieefektywności. W wielu spotykanych w praktyce przypadkach mamy dó czynienia z przestrzeniami, które są zbyt wielkie na to, by spraw dzanie wszystkich ich elementów po kolei mogło zakończ^ć gięjznąle^ieniOT^użytecznej odpowiedzi. Nawet cieszące się wielkim rozglos&nfprogramowanie dynamicziie^ahmuje się na zadaniach o umiarkowanym rozmiarze i złbźońtilci z powoSKf^ófegliwości nazwanej patetycznie przez swego twórcę „przekleństwem wymiaru” . (Bellman, 1961). Wynika stąd, że mniej pomyslowe warianty przeglądu są obciążone tą wadą w jeszcze wyższym sto p n iu ._ j* ^^^,^..^ x r s ^ ^ , Algorytmy.(pqszAjkiwania losowęgd}1zaczęly cieszyć się rosnącą popularnością z chwilą, gdy badacze zdali sobie sprawę z ograniczeń metod analitycznyęh i enurnęracyjnych. Jednak błądzenie przypadkowe i inne schematy losowe oparte na szukaniu T zapamięfywaniu najlepszego rozwiązania również muszą zostać zdyskwalifikowane pod względem efektywności. Na dłuższą metę, nie należy się spodziewać przewagi al gorytmów poszukiwania losowego nad przeglądowymi. Odrzucając tak pośpiesznie czys to losowe metody poszukiwania, powinniśmy jednak zachować ostrożność i odróżnić je od|echniic zrandomizowanych. Algorytmgenetyczny jest przykładem procedury używa jącej wyboru iosowego jako „przewodnika” w prowadzeniu wysoce ukierunkowanego poszukiwania w zakodowanej przestrzeni rozwiązań. Pomysł zastosowania wyboru loso wego jako narzędzia do ukierunkowania procesu poszukiwań może wydawać się na
Rys. 1.4. Większość tradycyjnych metod daje dobre wyniki dla wąskiej klasy problemów. Metody enumeratywne i błądzenie przypadkowe sąjednakowo nieefektywne w szerokim spektrum problemów. Metoda odporna daje dobre wyniki w szerokim spektrum problemów
22
1. Wprowadzenie dla niewtajemniczonych
pierwszy rzut oka nieco dziwaczny, iecz przyroda dostarcza.ąyifiJ.u takich przykładójg, W innej popularnej obecnie technice poszukiwania, zwsme^hvmulawanym wyiammu>m\ [simulated annealingJ, używa się procesów losowych w celu ^creslenia kierunk'u po szukiwań stanów o minimalnej energii. Związkom między symulowanym wyżarzaniem a algorytmami genetycznymi poświęconajest wydana niedawno książka Davisa (1987). Jesl: więc rzeczą ważną uświadomienie sobie, że poszukiwanie zrandomizowanenie musi wcale oznaczać szukania na oślep. Chociaż przeprowadzona dyskusja nie stanowi wyczerpującego studium inetod)(|t;adycyjnej ojJtynializaęji, wypływa z niej niepokojący wniosek: konwencjonalne metody poszukiwania są mało odporne. Nie znaczy to, że nie są użyteczne. Wspomniane wyżej techniki, a także niezliczone ich warianty i kombinacje byly i są używane z powodze niem do wielu zastosowań; w miarę jednak, jak stajemy wobec coraz to bardziej złożonych problemów, będą potrzebne nowe metody. Aby spojrzeć na to z lepszej perspek tywy, przyjrzyjmy się spektrum problemów uwidocznionemu na rys. 1.4. Są tam przedstawione wyimaginowane wykresy efektywności w przekroju problemowym dla metody wyspecjalizowanej, enumeracyjnej oraz idealnej „metody odpornej” . Technika gradien- • towa - jak należało się spodziewać ~ daje dobre wyniki dla wąskiej klasy problemów, ale szybko przestaje być efektywna (jeśli jest w ogóle użyteczna) poza nią. Natomiast ^etnęda przeglądowa charakteryzuje się egalitarną nieefektywnością w całym spektrum prob lemowym, co pokazuje krzywa niższej wydajności. O wiele bardziej pożądane byłoby zachowanie reprezentowane przez krzywą oznaczoną jako(metoda odpofiia?Opłaca się poświęcić szczytową efektywność osiąganą dla szczególnego typu problemów w zamian za stosunkowo wysoką wydajność w całym spektrum. (Oczywiście, mając ogólne meto dy o dużej efektywności, możemy zawsze za pomoctJ(liybrydyzącj.i |konslruować metodę łączącą cechy najlepszego algorytmu lokalnego i ogólniejszej metody odpornej. Więcej o tej możliwości powiemy w rozdziale piątym.) Zobaczymy wkrótce, jak algorytmy genetyczne pomagają wypełnić zaobserwowaną lukę odpornościową.
1.3. Cele optymalizacji
_
Zanim przystąpimy do zbadania mechanizmu działania i możliwości prostego algorytmu genetycznego, musimy sobie wyjaśnić do czego dążymy, chcąc zoptymalizować funkcję lub proces. Co mianowicie pragniemy osiągnąć przez optymalizację? Powszechnie przyję ty pogląd na ten temat dobrze wyraża następujący cytat(Bci$htler, Phillips, Wilde, 1979): Dążeuic człowieka do perfekcji znajduje swój wyraz w teorii optymalizacji. Zajmuje się ona t;yin, jak opisać i osiągnąć Najlepsze, gdy wiemy już, jak mierzyć i zmieniać Dobre i Złe |...]. Teoria optymalizacji obejmuje stlidia ilościowe rozwiązań optymalnych i metody ich wyznaczania.
Tak więc celem optymalizacji jest zwiększanie efektywności aż do osiągnięcia pewnego optimum. Zwróćmy uwagę, że powyższa definicja składa się z dwóch części: (ł) staramy się zwiększyć efektywność do (2) wartości optymalnej. Jest tu wyraźne rozróżnienie
1.4. Czym różnią się algorytmy genetyczne od tradycyjnych metod?
23
między procesem ulepszania a jego punktem docelowym, czyli samym optimum. Jednakżeoceniając wartość procedur optvmalizacwnych.zwvkte.konc^ntruterav^sie.wvfacznie ; f f l^ ^ ^ 5 jjE l^^figyTHe853a ósiąga optimum?), a zapominamy zupełnie o efektywności procesu poszukiwania. Przyczyną tego nacisku są analityczne źródła teorii optymalizacji. Nie jest to jednak wcale czymś naturalnym. Wyobraźmy sobie człowieka podejmującego decyzje, na przykład biznesmena. Na jakiej podstawie będziemy go oceniać? Jakie kryteria zastosujemy, by stwierdzić, czy wykonuje on swe zadania dobrze czy źle? Zazwyczaj osądzimy jego pracę pozytywnie, jeśli dokonuje on adekwatnego wyboru w dostępnym czasie i wykorzystując dostępne środki. Biznesmena ocenia się stosownie dojego zdolności konkurencyjnych. Czy produ kuje lepszy model? Czy sprawniej dostarcza go na rynek? Czy zapewnił lepszą promocjęTNigdy nie oceniamy biznesmena na podstawie tego, czy osiagnał nailepszv m ożliwy.. wynik; perfekcja jest stanoweżo zbyt surowym sędzią. Tak więc dochodzimy do wniosićuT^'źbleźn6ićWiop!mrantnniejfesrceiBnrańrtv interesach, ani w większości innych zabiegów życiowych; wystarcza nam w zupełności, jeśli wypadamy lepiej od innych. Jeśli więc oczekujemy bardziej swoiskich narzedzi.optvmalizacviii.vcli. .bedziemv zmuszeni zmienić priorytety optymalizacji.<^Głównym celem optymalizacji jest ulepszenŁe%. Czy jesteśmy w stanie szybko osiągnąć dobry, satysfakćjoit^^óT iS rn^ydajności? Osiągnięcie optimum jest znacznie mniej ważne w przypadku systenrów.złożomedLJakże miło byłoby być doskonalym; tymczasem musimy jednak poprzestać na dążeniu do poprawy. W następnym rozdziale zbadamy algorytmy genetyczne pod tym kątem; przed tem przedstawimy w zarysie kilka istotnych różnic między algorytmami genetycznymi a bardziej tradycyjnymi metodami.
1.4._____________________Czym różnią się algorytmy _______ ___________ od tradycyjnych metod? Aby algorytmy genetyczne (AG) mogły przewyższyć swoich bardziej tradycyjnych kre wniaków pod względem odporności, muszą różnić się od nich pod kilku zasadniczymi względami. Różnice, które między nimi zachodzą są następujące; 1. AG nie przetwarzają bezpośrednio parametrów zadania, lecz ich zakodowaną postać. 2. AG prowadzą poszukiwania, wychodząc nie z pojedynczego punktu, lecz z pewnej ich populacji. 3. AG korzystają tylko z funkcji celu, nie zaś jej pochodnych lub innych pomocniczych informacji. 4. AG stosują probabilistyczne, a nie deterministyczne reguły wyboru. Algorytmy genetyczne wymagają zakodowania zbioru parametrów zadania opty malizacji w postaci skończonego ciągu znaków z pewnego skończonego alfabetu. Roz ważmy dla przykładu problem optymalizacji zobrazowany na rys. 1.5. Dążymy do ma ksymalizacji funkcji /(x)=A-2 na zbiorze liczb całkowitych z przedziału [0, 31 j. Stosując
2 4 ------------------------------------------------------------------------- 1. Wprowadzenie dla niewtajemniczonych i,
tradycyjną metodę, manipulowalibyśmy parametrem x tak jak gałką regulacji obrazu w odbiorniku telewizyjnym, aż do uzyskania maksymalnej wartości funkcji celu. W przypadku algorytmu genetycznego pierwszym krokiem procesu optymalizacji jest zakodowanie parametru x w postaci ciągu znaków. Istnieje wiele sposobów takiego ko dowania; w rozdziale trzecim zbadamy szczegółowo niektóre z nich. Chwilowo zajmij my się zadaniem optymalizacji, w którym kodowanie pojawia się w sposób nieqo bar dziej naturalny.
Rys. 1.5. Optymalizacja prostej funkcji: funkcja f(x )= x 2 na odcinku [0, 31J
Rozważmy następujący problem ustawienia przełączników w „czarnej skrzynce” (rys. 1.6). Ćzarna skrzynka jest wyposażona w zestaw pięciu przełączników na wejściu. Każdemu ustawieniu tych pięciu przełączników odpowiada sygnał wyjściowy / - w uję ciu matematyczi]ym f=f(s), gdzie s opisuje konkretne ustawienie przełączników. Za danie polega na takim ustawieniu przełączników, aby otrzymać największy możliwy poziom sygnału /. Przy innej metodzie optymalizacji działalibyśmy bezpośrednio na zbiorze parametrów (ustawienia przełączników), przestawiając przełączniki z jednej pozycji do drugiej w kolejności określonej przez daną metodę. W przypadku algorytmu genetycznego kodujemy najpierw ustawienia przełączników w postaci ciągu znaków. Prosty sposób kodowania otrzymamy, rozpatrując ciągUzłożone z pięciu jedynek lub zer, przy czym każdy przełącznik jest reprezento^any*przez jedynkę, jeśli znajduje się w pozycji „włączony” , a zero - jeśli jest w pozycji „wyłączony” . W takim kodzie ciąg 11110 reprezentuje ustawienie, przy którym pierwsze cztery przełączniki są włą czone, a piąty wyłączony. Niektóre sposoby kodowania, które wprowadzimy później, nie są już tak oczywiste, więc na razie poprzestaniemy na konstatacji, że algorytmy genetyczne używają kodu. Później stanie się jasne, że wykorzystują one w bardzo ogólny sposób podobieństwa między ciągami kodowymi; dzięki temu są w dużym stopniu wolne od ograniczeń związanych z innymi metodami (jak ciągłość, istnienie pochodnych, jednomodalność itd.)
1.4. Czym różniąsię algorytmy genetyczne od tradycyjnych metod?
25
■Rys. 1.6. Zadanie optymalizacji czarnej skrzynki z pięcioma przełącznikami ilustruje idee kodowania i funkcji wyptaty. Jest to wszystko, czego potrzeba algorytmom genetycznym; nie musząone znać wnętrza czarnej skrzynki
W wielu metodach optymalizacji nasze działania polegają na uważnym przemiesziżańiusię z punktu do punktu wpewnej przestrzeni decyzyjnej, zgodnie z regułą wyboru określającą następnypunkt. Nie jest to jednak sposób bezpieczny, gdyż stanowi on wspaniałą receptę na zlokalizowanie fałszywych (tj. nieglobalnych) maksimów w wielomodalnych (zawierających wiele wierzchołków) przestrzeniach poszukiwań. Dla kontra stu, ajgorytmy genetyczne pracują w tym samym czasie na bogatej „bazie” punktów (tj. populacji ciągów kodowych), wspinając się równocześnie na wiele wierzchołków; dzięki temu szansa utknięcia na lokalnym wierzchołku jest mniejsza niż w przypadku metod 'typU'punkt-po-punkcie. Dla przykładu, rozpatrzmy ponownie zadanie optymalizacji czar(icj,skrzynki (rys. 1.6). Stosując inne techniki rozwiązania tego zadania rozpoczęlibyśmy ód. pewnego początkowego ustawienia, a następnie przeszli do generowania nowych próbnych ustawień, zgodnie z określoną regułą wyboru. Algorytm genetyczny startuje od początkowej populacji ciągów kodowych, po czym generuje kolejne populacje ciągów. Wnaszym przykładzie moglibyśmy drogą losową, dokonując kolejnych rzutów monetą (orzel=l, reszka = ()), otrzymać np. następującą populację początkową rozmiaru n = 4 (niewielką, jak na standardy przyjęte dla algorytmów genetycznych): 01101 11000
01000
10011 Następne populacje są tworzone już przy użyciu algorytmu genetycznego. Działając na zróżnicowanych, dobrze przystosowanych populacjach zamiast na pojedynczych piinklach, algorytm genetyczny jest posłuszny starej maksymie „Kupą raźniej!” ; wkrótce przekonamy się, jaki wkład w odporność algorytmu wnosi ów posmak współbieżności. Wiele technik poszukiwania opiera się na korzystaniu ze znacznej ilości informacji pomocniczych. Na przykład wspinaczka na wierzchołek za pomocą techniki gradien towej wymaga znajomości pochodnych (wyznaczanych analitycznie lub numerycznie), a inńe metody lokalnego poszukiwania w rodzaju zachłannych algorytmów optymalizacji
26 _ _ —
---------------------------------------- -—_
— .—
1 . W prow adzenie dla niew tajem niczonych (.
kombinatorycznej (Lawler, 1976; Syslo, Deo i Kowalik, 1983) muszą mieć dostęp do większości.jcśli nie do wszystkich stabelaryzowanych parametrów. Algorytmy genetyczne - przeciwnie - wcale nie potrzebują tych wszystkich informacji; AG są bówiem ślepe. Aby prowadzić efektywne poszukiwania coraz to lepszych rozwiązań, musząone znać wyłącz nie wielkości wypłat (lj. wartości funkcji celu) związanych z poszczególnymi ciągami kodowymi. Ta właściwość czyni z algorytmu genetycznego metodę bardziej kanoniczną niż wiele innych metod poszukiwania. Każde zadanie poszukiwania ma swoją wewnętrzną metrykę, istotną dla procesu poszukiwania; jednak informacje pomocnicze dIa różnych zadań mogą przyjmować bardzo odmienne postaci. Tylko wtedy, gdy zrezygnujemy z korzystania z tych dodatkowych informacji, możemy mieć nadzieję na opracowanie dostatecznie ogólnych metod, o które nam chodzi. Z drugiej strony, rezygnacja z wykorzy stania wiedzy szczegółowej, kiedyjcst ona dostępna, może ustanowić pułap efektywności algorytmu w porównaniu do metod uwzględniających specyfikę zadania. W rozdziale piątym badamy sposoby wykorzystania informacji o innym charakterze niż wypłata w tzw. algorytmach genetycznych wzbogaconych wiedzą; obecnie chcemy jednak podkreślić wagę założenia o „ślepocie” dla odporności czystego algorytmu genetycznego. W przeciwieństwie do wielu metod algorytmy genetyczne określają kierunek po szukiwań stosując probabilistyczne reguły wyboru. Czytelnikom przyzwyczajonym do metod deterministycznych może wydać się to dziwne, jednak użycie prawdopodobieństw nie oznacza, że mamy do czynienia z poszukiwaniem na chybił trafił; niejest to zwyczaj ne zdawanie się na wynik rzutu monetą. AG posługują się wyborem losowym jako przyboiem wskazującym kierunek dalszych poszukiwań - ku obszarom, w których moż na spodziewać się znacznej poprawy wyników. Te cztery cechy, wzięte razem - kodowanie parametrów, działanie na populacjach, korzystanie z minimum informacji o zadaniu oraz zrandomizowane operacje - składają się w efekcie końcowym na odporność algorytmu genetycznego i wynikającą stąd jego przewagę nad innymi, powszechniej stosowanymi technikami. W następnym punkcie zapoznamy się z prostym algorytmem genetycznym opartym na trzech operacjach.
1.5. Elementarny algorytm genetyczny_____________________ Mechanizm działania elementarnego algorytmu genetycznego jest zaskakująco prosty: nie ma w nim nic bardziej złożonego niż kopiowanie cipgów i wymiana podciągów. Wyjaśnienie, dlaczego tak nieskomplikowany proccsf prowadzi do pożądanego skutku, jest już znacznie trudniejsze. Prostota i moc jednocześnie - oto dwie glówhe przyczyny atrakcyjności sposobu podejścia charakterystycznego dla algorytmów genetycznych. W poprzednim punkcie mówiliśmy o przetwarzaniu przez algorytmy genetyczne informacji zawartej w populacjach ciągów kodowych. Wracając do przykładu z czarną skrzynką, przypomnijmy, że populacja początkowa składała się z czterech ciągów:O l Ol lOl I l000
27
fh5-.EIementarny algorytm genetyczny
01000 10011
Pamiętamy, że populacja ta została otrzymana drogą losową za pomocą 20 rzutów rzetel ną,- monetą. Musimy teraz określić zestaw prostych operacji, za pomocą których - wy chodząc z populacji początkowej - będziemy tworzyć coraz lepsze (jak się spodziewamy) kolejne populacje. Elementarny, choć całkiem wystarczający dIa wielu praktycznych zagadnień al gorytm genetyczny jest skonstruowany z trzech następujących operacji: f)reprodukcja; 2j krzyżowanie; 3) mutacja. Reprodukcja jest procesem, w którym indywidualne ciągi kodowe zostają powielotie w stosunku zależnym od wartości, jakie przybiera dla nicli funkcja celu / (biolodzy tiązywają ją funkcją przysiosowania). Intuicyjnie, funkcja/stanowi pewien miernik zys ku, użyteczności lub innej wielkości, którą Chcielibyśmy zmaksymalizować. Reprodukeją zależna od przystosowania1’ polega na tym, że ciągi kodowe o wyższym przystosowa niu mają większe prawdopodobieństwo wprowadzeniajednego lub więcej potomków do nąstępnego pokolenia. Operacja ta jest oczywiście namiastką darwinowskiej zasady do boru naturalnego, zgodnie z którą przeżywają najlepiej przystosowani. W naturalnych populacjach przystosowanie jest miarą zdolności osobnika do uniknięcia drapieżników, chorób i innych przeszkód na drodze do osiągnięcia dojrzałości i wydania potomstwa. W proponowanym tu ujęciu (nieco sztucznym, ale nie musimy się tym przejmować) funkcja celu jest ostatecznym arbitrem w kwestii „życia i śmierci” ciągów kodowych. Operację reprodukcji można.zrealizować algorytmicznie na wiele sposobów. Chybą najprostszym z nich jest symulacja odpowiednio wykalibrowanej tarczy obrotowej (ruletki), gdzie każdemu ciągowi kodowemu z populacji odpowiada sektor o rozmiarze proporcjonalnym do przystosowania. Przypuśćmy, że czterem ciągom kodowym z roz ważanego wyżej przykładu odpowiadają wartości funcji celu (wskaźniki przystosowania) podane w tabl. 1. 1 (chwilowo przyjmujemy, że wartości te zostały odczytane na wyjściu „czarnej skrzynki” o nieznanym działaniu - później zbadamy funkcję i kod, które dają takie same wartości). Yablica 1.1. Ciągi kodowe i ich wskaźniki przystosowania w przyktadowym zadaniu Nr
Ciąg kodowy
1 2
01101 11000 01000 10011
.3 4 Łącznie
Przystosowanie
% cnIości
169 576 64 361
14,4 49,2 5,5 30.9
1170
100,0
11 R ep ro d u k cja ró ż n ic u ją c a n a z y w a s ię le ż s e le k c ją (j>rzyp. llu m .).
2 8 ------------------------------------------------------------------------- 1. Wprowadzenie dla niewtajemniczonych
L Suma wskaźników przystosowania wszystkich czterech ciągów kodowych wynosi 1170. W tablicy są podane również udzialy procentowe poszczególnych ciągów. Tarcza używana w procesie reprodukcji została pokazana na rys. 1.7. Reprodukcji dokonujemy uruchamiając czterokrotnie ruletkę. W naszym przykładzie ciąg kodowy o numerze 1 ma wskaźnik przystosowania 169, co odpowiada 14,4% sumarycznej wartości. Na ciąg ten przypada zatem 14,4% obwodu koła, tak więc w każdej próbie prawdopodobieństwo otrzymania ciągu nr 1 wynosi 0,144. Za każdym razem, gdyjest potrzebny nowy poto mek, uruchamiamy ruletkę wybierając jednego z kandydatów do reprodukcji. Dzięki temu lepiej przystosowane ciągi kodowe wprowadzają większą liczbę potomków do następnego pokolenia. Dla każdego ciągu wybranego do reprodukcji tworzymy dokładną replikę. Zostaje ona następnie włączona do nowego pokolenia pośredniego, stanowiące go pulę rodzicielską [mating pool} w dalszych operacjach genetycznych. Po zakończeniu reprodukcji możemy dokonać krzyżowania prostego [simple cros soverj'> (rys. 1.8), które przebiega w dwóch etapach. W pierwszej fazie kojarzymy w sposób losowy ciągi z puli rodzicielskiej w pary. Następnie, każda para przechodzi proces krzyżowania. Odbywa się to następująco: wybieramy w sposób losowy (z jed nakowym prawdopodobieństwem) jedną z pozycji (punkt krzyżowania k) spośród /- 1 początkowych pozycji w ciągu kodowym (gdzłe / jest długością ciągu), po czym zamie niamy miejscami wszystkie znaki od pozycji k + 1 do / włącznie w obu elementach pary, tworząc w ten sposób dwa nowe ciągi. Rozważmy, dla ilustracji, dwa ciągi z przy kładowej populacji początkowej: A , = 0 1 1 0 1*1 A2 = 1 1 0 0 I 0 Przypuśćmy, że wybierając losowojedną z liczb od 1 do 4, otrzymaliśmy k= 4 (co zaznaczono wyżej za pomocą kreski pionowej I ). Odpowiednia operacja krzyżowania daje dwa nowe ciągi wchodzące w skład nowego pokolenia (oznaczone niżej „primami” ): A\ = 0 1 l' 0 0 Aj =
1 10 0 1
Mechanizmy reprodukcji i krzyżowania są niezwykle proste, obejmują generowa nie liczb losowych, kopiowanie ciągów i wymianę podciągów. Jednak algorytmy genety czne zawdzięczają swą siłę w głównej mierze efektowi współdziałania reprodukcji i upo rządkowanej, choć zrandomizowanej wymiany infoAnacJ przez krzyżowanie. W pierw-
0 Uwaga terminologiczna: Holland, który wprowadzii tę operację (Hoiland, 1975), używa zamiennie terminów crossover.i crossing-over. W znaczeniu biologicznym crossing-over jest procesem prowadzącym do rekombinacji genów, polegającym na wymianie odpowiadających sobie odcinków między chrornatydami chro mosomów homologicznych podczas mejozy. Natomiast krzyżowanie (ang. crossing) oznacza kojarzenie plciowe dwócIi genetycznie różnych organizmów. Operacja crossover stosowana w algorytmach genetycznych jest na tyle odległa od biologicznego pierwowzoru, że wydaje się usprawiedliwione użycie terminu krzyżowanie w rozumieniu czysto technicznym Qzrz.yp. tltim.).
29
ils ; Elementarny algorytm genetyczny
Rys. 1.7. Operacja reprodukcji wybiera ciągi kodowe za pomocą ruletki, której sektory sąproporcjonalrie do przystosowania. Tarcza widoczna na rysunku została wykalibrowana wg danych ztabl. 1.1 i 1.2
szej chwili wydaje się to zaskakujące. Czy to możliwe, aby z dwóch tak prostych (i algorytmicznie banalnych) operacji dało się uzyskać coś użytecznego, a cóż dopiero szybki i odporny mechanizm poszukiwania? W dodatku, czy nie wydaje się nieco dziwne, żeby przypadek mial odgrywać tak zasadniczą rolę w ukierunkowanym procesie poszuki wań? Częściową odpowiedź w pierwszej kwestii rozpatrzymy za chwilę; rozwiązanie drugiej było dobrze znane francuskiemu matematykowi J. Hadamardowi (1949, str. 29): Nieco później przekonamy się, że przypisywanie odkrycia czystemu przypadkowi jest raz na zawsze wykluczone [...]. Przeciwnie, że mamy do czynienia z działaniem przypadku, ale
Przed krzyżowaniem
Po krzyżowaniu
Punkt krzyżowania r jJj^ y ^ y ^ y ^ .
m m Rj
Potomek 1
Ciąg rodzicielski 1
Krzyżowanie-
AAAAA
> ^p" ^ A ^ jy ^ L j
Potomek 2
Ciąg rodzicielski 2
Rys. 1.8. Schematyczne przedstawienie działania operacji krzyżowania prostego ukazuje, jak dwa ciągi kodowe ustawiają się względem siebie i dokonują częściowej wymiany informacji od losowo wybranego punktu krzyżowania
3 0 ......................................................... .............
.......... . 1. Wprowadzenie dla niewtajemniczonych
także /, n iezb ęd n ą pracą nieśw iad o m o ści, prz,y czym to o sta tn ie n ie p rzeczy , a p o ciąg a za so b ą p ierw sze j...j, Isto tn ie, je s t rzeczą o czy w istą, że w y n alaze k lub o d k ry cie, czy to w m a tem aty ce, czy w ja k iejk o lw iek innej d zied zin ie, d o k o n u je się dzięk i k om binacji p om yslów .
Haclamurd sugeruje, że choć odkrycie nie jest - nie może być - dziełem czystego przypa dku, to niemal na pewno ukierunkowany przypadek odgrywa w nim wiodącą rolę. Hadamard wskazuje ponadto, że prawdziwe znaczenie przypadku w ludzkiej odkrywczości ujawnia się w zestawianiu rozmaitych sądów. Ciekawe, że w algorytmach genetycznych mamy do czynienia z Hadamardowską mieszanką przypadku i wyboru, sporządzoną w taki sposób, żeby konstruować efektywnie nowe rozwiązania z najlepszych rozwiązań cząstkowych, otrzymanych w poprzednich próbach. Aby się o tym przekonać, rozważmy populację złożoną z n słów (powiedzmy populację czterech znanychjuż nam ciągów kodowych) w odpowiednim alfabecie, przy czym każde z nich koduje pewien całościowy plan czy też ideę realizacji określonego zadania (przepis na jego wykonanie). (W naszym przypadku 'każdy ciąg koduje jeden pktn ustawienia przełączników.) Podciągi w każdym z ciągów (idei) reprezentują różne poglądy [notions] na temat istotnych elementów danego zadania. Patrząc na to w ten sposób, możemy stwierdzić, że populacja nie' jest jedynie zestawem n osobnych idei; skiada się ona raczej z mnóstwa poglądów wr:tz z ocenami ich przydatności dla realizacji zadania. Algorytmy genetyczne twardo eksploatują to bogactwo informacji 1) reproduku jąc wartościowe poglądy stosownie do ich przydatności i 2) „krzyżując” te poglądy z innymi trafnymi poglądami zawartymi w innych ciągach. Tak więc łączny efekt krzy żowania i poprzedzającej go reprodukcji można porównać do rozważań nad nowymi ideami powstającymi w wyniku syntezy trafnych poglądów z przeszłości. Zauważmy na marginesie, że choć pojęcie poglądu nie zostalo tu zbytjasno sprecyzowane, nie zawęża my jego zakresu do prostej liniowej kombinacji pojedynczych cech wyróżniających lub ich par. Biologom od dawna znany jest fakt, że ewolucja skutecznie radzi sobie z występującym w przyrodzie zjawiskiem epistazy" (pozycyjnej nieliniowości). W po dobny sposób algorytmy genetyczne muszą efektywnie przetwarzać podciągi, nawet jeśli zależność między nimi a ich elementami sktadowymi jest złożona i w wysokim stopniu nieliniowa. Myśl o wymianie opinii (poglądów) w celu wytworzenia nowych idei wydaje się intuicyjnie pociągająca, jeśli rozpatrywaćją w kategoriach procesu innowacji. Czym jest innowacyjny pornysl? Jak sugeruje Hadamard, najczęściej jest to kombinacja kon cepcji, które sprawdzały się w przeszłości. Analogiczaie, krzyżowanie i reprodukcja splatają się w poszukiwaniu nowych, potencjalnie ^fod|ych idei. Przypomina to obraz kontaktów międzyludzkich, jaki można zaobserwować na pokazach handlowych lub konferencjach naukowych. Na konferencji poświęconej - powiedzmy - supertronom, rozmaici spece od supertroniki z szerokiego świata zjeżdżają się, aby dyskutować o najnowszych osiągnięciach technologii supertronicznej. Po zakończeniu sesji roboczych1
11 W sensie biologicznym episln/.a polega, najogólniej mówiąc, na współdziałaniu genów zloknlizowunych w różnych loci (przyp. tłum.).
ffc5i">Elementarny algorytm genetyczny_____________________________________________ 31
wszyscy uczestnicy spotykają się w barku, gdzie parami wymieniają między sobą opo wieści o supertronach. Najgłośniejsi eksperci cieszą się oczywiście większym wzięciem §mąją okazję wymienić więcej pomysłów, opinii i poglądów ze swymi mniej znanymi kolegami. Po zakończeniu imprezy supertronowcy wracają do swych laboratoriów, gdzie .Starają się wypróbować zalew supertronicznych innowacji. Właśnie tego rodzaju wymiana,zachodzr w procesie reprodukcji i krzyżowania realizowanym przez algorytm gene tyczny. Trafne poglądy są wipIokrotnie poddawane próbom i wymieniane w poszukiwapiu coraz to lepszych rezultatów. Jeżeli reprodukcja wedlug przystosowania w połączeniu z krzyżowaniem decydują w przeważającej mierze o mocy obliczeniowej algorytmów genetycznych, to jaką rolę odgrywa w nich operacja mutacji? Nie należy się dziwić, że w sprawie znaczenia mutacji ,w genetyce (i algorytmach genetycznych) panuje wiele zamieszania. Być może jest to skutek oglądania zbyt wielu kiepskich filmów sensacyjnych, w których zmutowane bak łażany pochłaniają wielkie połacie Tokio lub Chicago; jakakolwiek byłaby jednak praw dziwa przyczyna tego zamieszania, musimy stwierdzić, że w działaniu algorytmów ger )ietycznych mutacja odgrywa zdecydowanie drugorzędną rolę. Jest ona niezbędna, po nieważ reprodukcja i krzyżowanie, które s'kutecznie sondują i zestawiają zachowane pbglądy, mogą niekiedy okazać się nadgorliwe i wyeliminować jakiś potencjalnie obie cujący materiał genetyczny (zera lub jedynki na określonych pozycjach). W sztucznych systemach genetycznych mutacja zapobiega takim bezpowrotnym stratom. W elementar nym algorytmie genetycznym mutacja polega na sporadycznej (tj. zachodzącej z niewiel kim prawdopodobieństwem), przypadkowej zmianie wartości elementu ciągu kodowego. W przypadku kodu dwójkowego Qak w przykładzie z czarną skrzynką) oznacza to po prostu zamianę jedynki na zero i na odwrót. Sama w sobie, mutacja jest błądzeniem przypadkowym w przestrzeni ciągów kodowych. Stosowana oszczędnie, jako dodatek do reprodukcji i krzyżowania, stanowi ona swego rodzaju polisę ubezpieczeniową na wypa dek utraty ważnych składników rozwiązania. Wspominając, że mutacja odgrywa drugorzędną rolę w elementarnym algorytmie genetycznym, stwierdzamy tylko, że częstość mutacji potrzebna do uzyskania dobrych wyników w empirycznych badaniach nad algorytmami genetycznymi jest rzędu jeden do tysiąca skopiowanych bitów (pozycji). W naturalnych populacjach częstość mutacji jest równie mała (lub nawet mniejsza), co pozwala sądzić, że słusznie potraktowali śmy ją jako drugorzędny mechanizm w naszej algorytmicznej adaptacji procesów ge netycznych. W wyniku badań nad przykładami ze świata biologicznego wyabstrahowano jesz cze inne operacje genetyczne i plany reprodukcyjne. Jednak trzy z nich, przedstawione wyżej, tj. reprodukcja proporcjonalna, krzyżowanie proste i mutacja, okazały się zarów no nieskomplikowane obliczeniowo, jak i skuteczne w zastosowaniu do wielu ważnych zagadnień optymalizacji. W następnym punkcie dokonamy odręcznej symulacji elemen tarnego algorytmu genetycznego, aby zademonstrować jednocześnie mechanizm jego dzialania i zasób możliwości.
3 2 ___________________________________________ 1. Wprowadzenie dla niewtajemniczonych
1.6. Algorytmy genetyczne w działaniu - symulacja odręczna_______________________ .________ Prześledzimy teraz krok po kroku działanie elementarnego algorytmu genetycznego na przykładzie konkretnego zadania optymalizacji. Rozważmy mianowicie problem znalezienia maksimum funkcji /(jc) = jc12, gdzie x może przybierać wartości od 0 do 31 (wykres tej funkcji zamieszczono na rys. 1.5). Aby zastosować algorytm genetyczny musimy najpierw odpowiednio zakodować wartości zmiennej decyzyjnej naszego zadania. W tym przypadku użyjemy zwykłego pięciopozycyjnego zapisu dwójkowego. Zanim przejdzie my do symulacji, przypomnijmy krótko zasady zapisu dwójkowego. Jako istoty obdarzo ne dziesięcioma palcami, nie mamy zbytnich trudności z liczbami i działaniami aryt metycznymi w układzie dziesiętnym. Na przykład zapis dziesiętny pięciocyfrowej liczby 53095 bierze się z równości 5 • 104 + 3 • 103 + 0 ■ 102 + 9 • 10' + 5 ■1 = 53095 W układzie dwójkowym mamy do dyspozycji tylko dwie cyfry - 0 i 1; i tak, na przykład, liczba dwójkowa 10011 odpowiada w zapisie dziesiętnym liczbie 1 ■2* + 0 ■23 + 0 • 22 + 1 • 2' + 1 • 2° = 16 + 2 + 1 = 19 Kod pięciobitowy (bit = binary digit, cyfra dwójkowa) umożliwia nam operowanie na liczbach całkowitych od 0 (00000) do 31 (11111). Mając określoną funkcję celu i kod, możemy teraz przystąpić do symulacji jednego przebiegu algorytmu genetycznego. Na początek wybierzmy losowo początkową populację złożoną z czterech ciągów kodowych. Powinniśmy w tym celu wykonać 20 rzutów symetryczną monetą; możemy Tablica 1.2. Odręczna symulacja algorytmu genetycznego Populacja początkowa (wygenerowana losowo)
Wartość x (Liczba całkowita)
l
01101
2
11000
13 24
3 4
01000
8
10 0 11
19
Nr ciągu
Suma Średnia Maksimum
Liczba kopii liczba kopii wylosowanych (wg reguly ruletki)
pseleel
Oczekiwana
X1
J_ X/
Ł
169 576 64 361'
0,14 0,49 0,06 0,31
0,58 1,97 1,23
1 2 0 1
1,00
4 ,0 0 '
4,0
0,25 0,49
1,00
1,0 2,0
f(x)
1170 293 576
J
0,22
1,97
Uwagi: 1) Populacja początkowa wybrana na podstawie wyniku serii rzutów monetą (czterokrotne powtórzenie pięciu rzutów), przy umowie: orzel= I, reszka=(). 2 ) Reprodukcja dokonana wg symulowanej reguty ruletki z dokładnością względną l /8 (trzy rzuty monetą).
33
1.6. Algorytmy genetyczne w dziatanlu - symulacja odręczna
jednak pominąć ten krok, wykorzystując populację początkową utworzoną wcześniej w;taki sam sposób dla zadania o czarnej skrzynce. Znajdziemy ją po lewej stronie tabl. 1.2 wraz z odkodowanymi wartościami zmiennej x i wskaźnikami przystosowania f(x). Prześledźmy dla pewności, jak oblicza się wskaźnik przystosowania dla danego fejągu kodowego, na przykład trzeciego elementu populacji, czyli ciągu 01000. Odkodowując go stwierdzamy, że zawiera on tylko jedną jedynkę na pozycji odpowiadającej 23=8. Zatem dla ciągu 01000mamy x=8. Aby obliczyć wskaźnik przystosowania, czyli wartość funkcji celu, wystarczy podnieść tę wartość x do kwadratu, co daje /(*) = 64. Pozostałe wartości x i f(x ) otrzymuje się w taki sam sposób. Spostrzegawczy Czytelnik mógł zauważyć, że wskaźniki przystosowania są tu ta kie same,jak w zadaniu o czarnej skrzynce (por. tabl. 1.1 i 1.2). Nie jest to zwykly zbieg okoliczności; istotnie, zadanie optymalizacji czarnej skrzynki zostalo dobrane do kon kretnej funkcji celu f(x) i kodu, których obecnie używamy. Oczywiście, algorytm gene tyczny wcale nie musi o tym wiedzieć; jest mu zupełnie obojętne, czy zajmuje się Optymalizacją dowolnie określonej funkcji przełączników, czy jakiejś funkcji wielomia nowej - za pośrednictwem prostego kodu dwójkowego. Powyższe rozważania służą tyl ko podkreśleniu jednej z zalet algorytmu genetycznego: przez wykorzystanie podo bieństw w ciągach kodowych potrafi on radzić sobie z szerszą klasą funkcji niż wiele innych procedur. Działanie algorytmu genetycznego zaczyna się od reprodukcji. Najpierw dobiera my pulę rodzicielską dla następnego pokolenia, kręcąc czterokrotnie tarczą ruletki (rys. 1.7). Podczas symulacji tego procesu otrzymano pojednej kopii ciągu nr 1 i nr 4, dwie kopie ciągu nr 2 i zero kopii ciągu nr 3 (środkowa kolumna tabl. 1.2). Porównanie tego wyniku z oczekiwaną liczbą kopii (n ■pselect^ potwierdza nasze oczekiwania: najle psi zwiększają swą reprezentację, średni wychodzą na swoje, a najgorsi wymierają. Tablica 1.2. (cd.) Pula rodzicielska po reprodukcji (zaznaczono punkty krzyżowania) 0 1 1 1
1 1 0 I 1 1 0 0 I0 1 I0 00 0 I0 1 I
Partner (wybrany iosowo)
Punkt krzyżowania (wybrany losowo)
2 I 4 3
4 4 2 2
Nowa populacja
0 I 1 1
1 1 1 0
1 0 0 0
0 0 1 0
0 1 1 0
Wartość x
12 25 27 16
m x1
144 625 729 256 l754 439 729
3) Krzyżowanie przeprowadzone na podslawie wyników 2 rzutów monetą, przy umowie: RR = 00z = 0 = punkt krzyżowania 1; ...; 0 0 = 1 l2= 3 = punkl krzyżowania 4. 4) Prawdopodobieństwo krzyżowania /i,,= 1,0. 5) Prawdopodobieństwo mutacji />„=0,001. Oczekiwana liczba mutacji = 5 - 4 0,001 =0,02. Praktycznie w jednej populacji nie wystąpi ani jedna mutacja. Żadnej mutacji nie symulowano.
34
1. Wprowadzenie dla niewtajemniczonych
Gdy pula rodzicielska złożona z ciągów kodowych poszukujących partnerów jest już zapełniona, przychodzi czas na proces krzyżowania, który przebiega w dwóch etapacli: I) ciągi kodowe zostają skojarzone w sposób losowy w'pary; 2) szczęśliwi part nerzy krzyżują się ze sobą, przy czym punkt krzyżowania jest wybierany również loso wo. Wracając do tabl. l.2, widzimy, że drugi ciąg kodowy z puli rodzicielskiej został losowo skojarzony z pierwszym. Ciągi.tc, tj. 01101 i 11000 skrzyżowały się od pozycji 4, dając w wyniku dwa ciągi potomne 01100 i 11001. Dwa pozostałe ciągi z puli rodzi cielskiej zostaly skrzyżowane od pozycji 2; ciągi potomne można obejrzeć w tabelce. Operacja mutacji jest wykonywana losowo dla każdej pozycji ciągu z osobna. Przyjęliśmy, że prawdopodobieństwo mutacji w tym eksperymencie wynosi 0,001. Ma jąc łącznie 20 pozycji (bitów), możemy oczekiwać, że zmiany dotkną 20 0,001=0,02 bitów w całej populacji. Praktycznie oznacza to, że żaden z bitów nie ulegnie mutacji w naszym doświadczeniu. Po zakończeniu reprodukcji, krzyżowania i mutacji, nowe pokolenie ciągów musi zostać poddane ocenie. W tym celu dekodujemy otrzymane ciągi i obliczamy dla nich wartości wskaźnika przystosowania. Odpowiednie wyniki dla jednego przebiegu algoryt mu są zamieszczone w prawej części tabl. 1.2. Chociaż wyciąganie ogólniejszych wnios ków na podstawie realizacji jednego kroku procesu stochastycznego jest - najoględniej mówiąc - ryzykowne, możemy jednak zaobserwować istotę mechanizmu lączenia „traf nych poglądów” w poszukiwaniu lepszych wyników. Z tablicy widać, jak zmieniły się wskaźniki przystosowania w nowej populacji. Średni wskaźnik przystosowania wzrósł z 293 do 439, a maksymalny - z 576 do 729 w jednym tylko pokoleniu. Mimo że procesy losowe dopomagają w stworzeniu sprzyjających okoliczności, sama poprawa wyników nie jest po prostu szczęśliwym trafem. Najlepszy ciąg kodowy z pierwszego pokolenia (11000) otrzymal dwie kopie dzięki wysokiej, ponadprzeciętnej ocenie. Kiedy jedna z nich zostala losowo skojarzona z drugim pod względem wyników partnerem (10011), krzyżując się z nim od (również losowej) pozycji 2, jeden z otrzymanych w ten sposób potomków (1101 I) okazał się być naprawdę dobrym rozwiązaniem. Opisane zdarzenia stanowią dobrą ilustrację rozwiniętej w poprzednim paragrafie analogii dotyczącej idei i poglądów. A mianowicie, dobra idea zostala otrzymana jako kombinacja dwóch trafnych poglądów, czyli podciągów 1 1 ---- i ------ 11. Choć argu mentacja ta zawiera wciąż element heurystyki, odkrywajednak istotę uniwersalnej meto dy, którą poslugują się algorytmy genetyczne w poszukiwaniu optymalnych rozwiązań. W następnym punkcie przeanalizujemy tę metodę w kategoriach tzw. schematów lub wzorców podobieństwa, pogłębiając w ten sposób rozurpienio problemu. Intuicyjne objaśnienie, którego się dopracowtiliśi^y do tej pory, wydaje się dość przekonujące. Porównaliśmy mianowicie dzialanie algorytmu genetycznego do pewnych procesów umysłowych cztowieka, określanych powszechniejako innowacyjne lub twór cze. Odręczna symulacja elementarnego algorytmu genetycznego utwierdziła nas w prze konaniu, że istotnie coś za tym się kryje. Odczuwamy jednak ciągle pewien niedosyt: nie wiemy jeszcze czym jest to, co przetwarzają algorytmy genetyczne ani czy ów proces przetwarzania prowadzi do znalezienia optymalnego lub niemal optymalnego rozwiąza nia konkretnego problemu. A jako naukowcy, inżynierowie czy menedżerowie musimy przecież rozumieć caly mechanizm działania algorytmu genetycznego.
1.7.Ziarno optymalizacyjnego mlyna - podobieństwa strukturalne
35
Aby osiągnąć takie zrozumienie, dokonamy strukturalnej analizy danych dostępnych każdej procedurze poszukiwania i wyciągniemy stąd wniosek, że wykorzystując Istotne podobieństwa reprezentacji kodowych można osiągnąć poprawę efektywności procesu poszukiwań. Doprowadzi nas to do sformułowania pojęcia wzorca podobieństwa lub inaczej. schematu. Stąd już prosta droga do kluczowej dla zrozumienia algorytmów genetycznych tzw. hipotezy cegiełek [building block hypothesis].
1.7. Ziarno optymalizacyjnego mtyna - podobieństwa strukturalne Nie możemy już dłużej odwlekać postawienia zasadniczego pytania:,Jaki rodzaj infor macji, zawartej w populacji ciągów kodowych i odpowiadających im wartościach funkcji Celu, przyczynia się do nadania korzystnego kierunku procesowi poszukiwań? Aby zadać to pytanie w sposób konkretny, posłużmy się danymi z tabl. 1.1 dotyczącymi problemu czarnej skrzynki, które dla wygody zostały zebrane w poniższej tabelce: Ciąg
Przystosowanie
01101
169
1 1 000 01000 10011
576 64 361
Jaka zatem informacja zawarta w powyższej populacji przyczynia się do nadania ko rzystnego kierunku procesowi poszukiwań? Na pierwszy rzut oka nie widać tam zbyt dużo: cztery niezależnie wylosowane ciągi kodowe oraz ich wskaźniki przystosowania. W miarę jak zaczynamy się uważniej wpatrywać, przebiegając oczami kolumnę za wierającą ciągi kodowe, zauważamy między nimi pewne podobieństwa. Badając zaś ówe podobieństwa odkrywamy, że pewne wzorce występujące w ciągach wydają się być ściśle związane z wysokim przystosowaniem. Im dłużej wpatrujemy się w tabelkę, tym większą odczuwamy pokusę, aby poeksperymentować z wykrytymi korelacjami. Wydaje się calkiem rozsądne wypróbować kombinacje podciągów, które dały dobre wyniki w przeszłości. Na przykład, w rozważanej populacji ciągi zaczynające się od 1 należą, jak się zdaje, do najlepszych. Czy to może być istotny składnik optymalnego rozwiązania? W przypadku naszej funkcji {f(x) =x2) i wybranego sposobu kodowania (pięciopozycyjny kod dwójkowy), wiemy oczywiście, że tak w rzeczy samej jest (dla czego?). Przeanalizujmy nasze postępowanie. Trzeba tu odróżnić dwie sprawy. Po pierwsze, szukaliśmy podobieństw strukturalnych między ciągami wchodzącymi w skład populacji. Po drugie, próbowaliśmy wykryć związek przyczynowy między strukturą ciągu a wysokim przystosowaniem. Czyniąc tak, wzięliśmy pod uwagę cały zasób 'nowej informacji, pomocnej w ukierunkowaniu poszukiwań. Aby przekonać się iIe i jakiej dokladnie informacji uzyskaliśmy, rozpatrzymy terazważnąkoncepcję schematu, czyli wzorca podobieństwa.
3 6 _____________
1. Wprowadzenie dla niewtajemniczonych
1.8. Schematy W gruncie rzeczy nie interesują nas ciągi kodowe jako takie. Ponieważ podobieństwa w strukturze dobrze przystosowanych ciągów mogą być pomocne w ukierunkowaniu procesu poszukiwań, musimy podjąć próbę scharakteryzowania podobieństwa między ciągami kodowymi. W szczególności interesuje nas pytanie, jakie klasy ciągów podob nych ze względu na ustalone pozycje reprezentuje dany ciąg. Narzędziem ułatwiają cym rozwiązanie tych problemów jest koncepcja schematu. Schemat (Holland, 1968, 1975) jest to wzorzec opisujący podzbiór ciągów podobnych ze względu na ustalone pozycje. W poniższej dyskusji ograniczymy się raz jeszcze, nie tracąc jednak ogólno ści, do alfabetu dwójkowego. Pojęcie schematu najłatwiej wyrazić, dołączając do tego alfabetu specjalny symbol; użyjemy do tego celu znaku *, czyli symbolu uniwersal nego. Możemy teraz tworzyć ciągi (słowa) w alfabecie trójkowym {0,1,*}, nazywając je schematami; sens takiego schematu stanie się oczywisty, jeśli spojrzeć nań jako na szablon przykładany do ciągów dwójkowych: schemat pasuje do zadanego ciągu, jeżeli na każdej pozycji w obu porównywanych obiektach jedynce (1) w pierwszym odpo wiada jedynka w drugim, zeru (0) w pierwszym odpowiada zero w drugim oraz gwiaz dce (*) w pierwszym odpowiada dowolna z cyfr dwójkowych w drugim. Rozważmy dla przykładu ciągi i schematy o długości 5. Schemat *0000 pasuje do dwóch ciągów, tworzących podzbiór {10000,-00000}. Natomiast schemat *111* określa podzbiór zło żony z czterech elementów: {01110, 01111, 11110, 11111}. Wreszcie, schemat 0*i** pasuje .do każdego z' ośmiu ciągów zaczynających się od 0 i zawierających 1 na trze ciej pozycji. Tak więc widzimy, że posługując się pojęciem schematu można łatwo wyrażać w zwartej postaci dobrze określone podobieństwa między słowami w danym alfabecie. Należy tu podkreślić, że gwiazdka jest jedynie metasymbolem (tj. symbolem do oznaczania innych symboli); nie jest ona nigdy bezpośrednio obiektem przetwarza nym przez algorytm genetyczny. Jest to po prostu rodzaj zapisu, który umożliwia opisywanie wszystkich podobieństw między słowami określonej długości w określo nym alfabecie. Wyznaczenie liczby wszystkich możliwych schematów jest pouczającym ćwicze niem. Dla 1=5 liczba ta wynosi 3 -3 -3 -3 -3 - = 3S= 243, ponieważ na każdej z pięciu pozycji może wystąpićjeden z symboli 0, 1 i *. Ogólnie, dla alfabetu złożonego z k sym boli istnieje (k+ 1)' schematów. Na pierwszy rzut oka może się wydawać, że schematy utrudniają proces poszukiwania. Dla /t-eIementowego alfabetu mamy przecież tylko (tyl ko?) k1 słów długości 1. Po co więc rozważać (k+ t)1 siiiematów, powiększając w ten sposób przestrzeń, z którą mamy do czynienia? Mówiąc bardziej konkretnie, dla przy kładowej długości 5 istnieje tylko 25= 32 różnych ciągów dwójkowych. Dlaczego więc mamy sobie utrudniać zadanie, rozpatrując 35= 243 schematy? Otóż rozważania prze prowadzone w poprzednim paragrafie znacznie upraszczają całą sprawę. Przypomnijmy sobie, jak wpatrywaliśmy się w tabelkę zawierającą cztery ciągi i ich wskaźniki przy stosowania, chcąc wydedukować, co robić dalej. Stwierdziliśmy, że rozpatrując osobno każdy z ciągów mamy do czynienia po prostu z czterema porcjami informacji. Jeśli jednak weźmiemy pod uwagęjednocześnie wszystkie ciągi, ich wskaźniki przystosowa-
1.8. Schematy___________________________________________________________________ 37
nia oraz podobieństwa strukturalne, to uzyskujemy cały zasób nowej informacji pomoc nej w dalszych poszukiwaniach. Ile informacji otrzymujemy, biorąc pod uwagę podo bieństwa strukturalne? Odpowiedź na to pytanie jest związana z liczbą schematów obec nych (reprezentowanych) w danej populacji. Chcąc dokładnie obliczyć tę wielkość, mu sielibyśmy znać ciągi wchodzące w skład populacji. Znajdziemy więc oszacowanie Iiczjby schematów reprezentowanych w populacji, wyznaczając najpierw liczbę schematów jręprezentowanych przez jeden ciąg, a następnie górne ograniczenie liczby wszystkich ■'tych schematów. W tym celu rozważmy pojedynczy ciąg długości 5, np. ciąg 11111. Istnieje 25 schematów pasujących do tego ciągu, gdyż mogą one zawierać na każdej swojej po zycji albo taki sam symbol (1), albo gwiazdkę. Ogólnie, jeden ciąg kodowy repre zentuje 2' schematów. Wynika stąd, że n-elementowa populacja może „zawierać” od '2' do n ■21 schematów, zależnie od jej różnorodności. Fakt ten potwierdza naszą wcze śniejszą intuicję. Naszym pierwotnym motywem rozważania podobieństw struktural nych było zdobycie dodatkowej informacji w celu ukierunkowania procesu poszuki wań. Przeprowadzone właśnie obliczenia wykazują, że nawet populacje o umiarko wanej wielkości istotnie zawierają cale bogactwo informacji o podobieństwach stru kturalnych. Zbadamy następnie, w jaki sposób algorytmy genetyczne skutecznie wy zyskują tę informację. W świetle powyższego wydaje się, że aby nadążyć ze skon sumowaniem całej tej informacji, niezbędne jest użycie jakiejś formy przetwarzania równoległego. Bardzo pięknie, ale co z tego wszystkiego wynika? Ile mianowicie spośród wszyst kich schematów reprezentowanych w populacji zostaje w użyteczny sposób przetworzo ne przez algorytm genetyczny? Aby znaleźć odpowiedź na powyższe pytanie, zbadamy wplyw reprodukcji, krzyżowania i mutacji na propagację schematów z pokolenia na pokolenie. Efekt reprodukcji nietrudno określić; ponieważ lepiej przystosowanym cią gom odpowiadają większe prawdopodobieństwa reprodukcji, zatem średnio biorąc liczba reprezentantów najlepszych z obserwowanych schematów stale wzrasta (i, jak przekona my się o tym w następnym punkcie, tak właśnie powinno być). Sama przez się reproduk cja nie wnosi jednak do populacji żadnych nowych elementów. Co zatem dzieje się z poszczególnymi schematami po wprowadzeniu krzyżowania? Schemat pozostanie nie tknięty, jeśli operacja krzyżowania nie doprowadza do jego przecięcia, w przeciwnym razie może ulec zniszczeniu. Weźmy na przykład pod uwagę dwa schematy: l***0 i **11*. Pierwszy z nichjest łatwo podatny na rozerwanie, natomiast drugi - stosunkowo trudny do zniszczenia w wyniku krzyżowania. Wnioskujemy stąd, że krzyżowanie nie narusza schematów o malej „rozpiętości” , a reprodukcja zapewnia im przyzwoite tempo propagacji. Mutacja o normalnym, niedużym natężeniu rzadko powoduje zniszczenie konkretnego schematu - i tak dochodzimy do uderzającej konkluzji. Schematy o wysokimprzystosowaniu i małej rozpiętości (będziemyje nazywać „cegiełkami” ) propagują się z pokolenia na pokolenie w rosnących wykładniczo por cjach; wszystko to odbywa się równolegle, nie wymagając żadnej specjalnej organizacji programu ani dodatkowej pamięci - prócz tej, która mieści populację zlożoną z n ciągów kodowych. W następnym rozdziale wyznaczymy liczbę schematów przetwarzanych efe ktywnie w każdym pokoleniu. Jak się okaże, jest to wielkość porównywalna z » ' - wynik
38
1. Wprowadzenie dla niewtajemniczonych
bardzo korzystny w stosunku do liczby wartościowań funkcji ceiu («). Ze względu na wielkie znaczenie tego potęgującego efektu (występującego, jak się zdaje, tylko w al gorytmach genetycznych), nadamy mu specjalną nazwę: ukryta równoległość.
1.9. Nieco żargonu Skuteczność prostych operacji składających się na nasz algorytm genetyczny staje się - przynajmniej intuicyjnie - bardziej zrozumiała, jeśli pomyślimy o schematach-cegielkach. Trzebajednak wyjaśnić pewne kwestie: Skąd wiadomo, że cegiełki składają się w coraz lepsze rozwiązania? Dlaczego strategia polegająca na reprodukcji najle pszych egzemplarzy w rosnących wykładniczo porcjach jest prawie optymalna? Jak wyznaczyć liczbę schematów biorących efektywny udziat w przetwarzaniu? Na pytania te odpowiemy wyczerpująco w następnym rozdziale, przedtem jednak musimy opa nować terminologię używaną przez badaczy zajmujących się algorytmami genetycz nymi. Ponieważ problematyka algorytmów genetycznych wywodzi się jednocześnie z genetyki i informatyki, terminologia spotykana w literaturze przedmiotu jest nie prawdopodobną mieszaniną słownictwa używanego w obu tych dziedzinach. Do tej pory skupialiśmy się na informatycznej części dziedzictwa, mówiąc o ciągach, alfa betach, pozycjach w ciągu itp. Dokonamy obecnie przeglądu „naturalnych” odpowie dników tych terminów, by włączyć się w nurt rosnąccj literatury na temat algorytmów genetycznych. Nasz termin ciąg kodowy odpowiada mniej więcej pojęciu chromosomu w naukach biologicznych. W Swiecie ożywionym material genetyczny określający budowę i funk cjonowanie organizmu składa się zazwyczaj z jednego lub więcej chromosomów. Zespół taki zwany jest w języku biologicznym genotypem. Jego algorytmiczny odpowiednik nazywamy strukturą (w początkowych rozdziałach tej książki rozważamy struktury zło żone z jednego ciągu kodowego, używamy więc zamiennie terminów „ciąg kodowy” i „struktura” , póki nie ma potrzeby wyraźnego rozróżnienia). Organizmy żywe ukształ towane w wyniku interakcji pełnego zespolu genetycznego ze środowiskiem określane są jako fenotypy. Natomiast struktura koduje zbiór parametrów, rozwiązanie, albo punkt (w przestrzeni rozwiązań). Projektant sztucznego systemu genetycznego ma do wyboru wiele sposobów zakodowania parametrów (zarówno numerycznych, jak nienumerycznych); o zasadach kodowania i rodzajach kodów będfeien^f jeszcze mówić w później szych rozdziałach. W terminologii biologicznej chromosom sklada się z genów, które mogą występo wać w pewnej liczbie odmian, zwanych allelami. W genetyce wyodrębnia się umiej scowienie genu (locus) orazjego funkcję. Możemy więc mówić o określonym genie (np. genie warunkującym barwę oczu zwierzęcia), jego pozycji w chromosomie (np. 10) i odmianie (np. barwa niebieska). W badaniach związanych ze sztucznymi systemami genetycznymi mówimy, że ciąg kodowy składa się z cech y:eatures\ lub detektorów [detectors], które mogą przyjmować różne wartości. Cechy mogą być umiejscowione na
1.10. Podsumowanie _______________________ _— ,—........ ......... ........................................ 39
różnych pozycjach ciągu kodowego. W tablicy 1.3 zestawiono odpowiadające sobie poję cia w obu omawianych terminologiach. Tablica 1.3. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych Gcnctyka
Algorytmy genetyczne
chromosom gen allel tocus genotyp fenotyp epistnza
cing kodowy cecha, znak, detektor wariant cecliy pozycja struktura zliiór parametrów, rozwky/.unic, punkt nieliniowość
Do tej poty nie czyniliśmy różnicy między genem (czyli symbolem alfabetu) a jego pozycją (locus)- pozycja bitu w ciągu kodowym wyznaczała jego rolę podczas dekodowania-niezależnie od ciągu i pokolenia. Naprzykład ciąg 10000reprezentuje liczbę 16 (w układzie dziesiętnym), gdyż 1 zajmuje tu pozycję „szesnastek” . Nie majednak po trzeby ograniczać się do kodów tego typu. W jednym z późniejszych rozdziałów przed stawimy bardziej rozwinięte struktury, w których odróżnia się gcn,i jego locus.
1.10. Podsumowanie W rozdziale tym zostały zbudowane podstawy niezbędne do zrozumienia algorytmów genetycznych - mechanizmu ich działania oraz ich możliwości. Do algorytmów tych doszliśmy poszukując odporności - systemy biologiczne przejawiają odporność, tj. efek tywność i skuteczność zarazem, adaptując się do różnorodnych środowisk. Naśladując wybrany przez przyrodę algorytm adaptacji, spodziewamy się osiągnąć podobny stopień uniwersalności. W rzeczy samej, liczne badania teoretyczne i empiryczne potwierdzają szerokie możliwości algorytmów genetycznych. Przedstawiliśmy tu szczegółowy mechanizm działania elementarnego algorytmu genetycznego, opartego na trzech operacjach. Algorytmy genetyczne operują na popula cjach ciągów kodowych, reprezentujących oryginalne parametry zadania. Nowe popula cje ciągów kodowych otrzymuje się sukcesywnie przez reprodukcję, krzyżowanie t mu tację ciągów z aktualnych populacji. Same te operacje są niezwykle proste: obejmują zaledwie generowanie liczb pseudolosowych oraz powielanie ciągów kodowych i zamia nę ich fragmentów. Mimo tej prostoty zakres stosowalności i skuteczność algorytmów genetycznych są imponujące. Istota ich działania, polegająca na wymianie „innowacyj nych pomysłów” zawartych w ciągach kodowych, przypomina mechanizmy umysłowe leżące, jak się zdaje, u podstaw odkrywczości i zdolności rozwiązywania problemów. Przeprowadzona tu symulacja jednego cyklu algorytmu pomogła zrozumieć szczegóły i możliwości tej metody.
40
1. Wprowadzenie dla niewtajemniczonych
Cztery następujące cechy odróżniają algorytmy genetyczne pd konwencjonalnych technik optymalizacji: 1) 2) 3) 4)
operowanie na ciągach kodowych; działanie na populacjach, a nie pojedynczych punktach; poszukiwanie metodą próbkowania („ślepe” poszukiwanie); losowe reguly wyboru.
W przeciwieństwie do innych metod, które przeważnie mają do czynienia bezpo średnio ze zmiennymi decyzyjnymi (parametrami zadania), algorytmy genetyczne operu ją na ich reprezentacjach w postaci ciągów kodowych, wykorzystując podobieństwa mię dzy ciągami odpowiadającymi dobrym rozwiązaniom. Dzięki temu algorytmy genetycz ne zachowują skuteczność nawet w przypadku funkcji celu sprawiających trudności tra dycyjnym metodom. Algorytmy genetyczne pracują na całych populacjach, podczas gdy wiele innych metod operuje na pojedynczych punktach. Mając do dyspozycji populację zlożoną z ponadprzeciętnych punktów próbnych, redukujemy szanse „utknięcia” na lokalnym maksimum. Szeroki zakres stosowalności algorytmów genetycznych wynika w dużej mierze z faktu, że wykorzystują onejedynie informację o „wygranej” , przekazywaną poprzez funkcję celu. Inne metody są w znacznym stopniu uzależnione od dodatkowych infor macji, i załamują siętam, gdzie takie informacje są niedostępne lub trudne do uzyskania. AG zachowują uniwersalność dzięki korzystaniu z informacji dostępnej w każdym zada niu - biorą mianowicie pod uwagę podobieństwa ciągów kodowych wraz z oceną ich „zdolności przeżycia” w bieżącym „środowisku” . Reguły wyboru stosowane w algoryt mach genetycznych mają charakter stochastyczny; większość innych metod opiera się na regułach deterministycznych. Istnieje jednak różnica między zrandomizowanymi opera cjami algorytmu genetycznego a zwykłym błądzeniem przypadkowym stosowanym w niektórych innych metodach. Algorytmy genetyczne posługują się wyborem losowym do prowadzenia wydajnego procesu poszukiwań. Może się to wydawać niezwykłe, ale przyroda dostarcza nam wielu precedensów. W celu umożliwienia ściślejszej oceny wydajności algorytmów genetycznych wprowadziliśmy pojęcie schematu (wzorca podobieństwa). Schemat jest to słowo w roz szerzonym alfabecie {0, 1, *}, przy czym symbole 0 Ul zachowują swoją normalną interpretację, a * jest symbolem uniwersalnym. Taka*.not<$ja znacznie upraszcza analizę algorytmu, gdyż umożliwia wyrażenie w sposób bezpośredni wszystkich możliwych po dobieństw między ciągami kodowymi w danej populacji. Poruszyliśmy także sprawę „składania” ciągów odpowiadających coraz lepszym rozwiązaniom z cegiełek, czyli schematów o małej rozpiętości i wysokim przystosowaniu. Zjawisko to zachodzi dzięki temu, że schematy-cegiełki reprodukowane są z niemal optymalną częstością oraz pod legają rekombinacji podczas krzyżowania. Mutacja prawie nie wplywa na cegiełki; jej celem jest zapobiec nieodwracalnej utracie potencjalnie wartościowego materialu genetycznego.
•1:11. Zadania ______________________________________________________________ __ 41
| fl,v. Elementarny algorytm genetyczny, omawiany w tym rozdziale, zasługuje zatem na ijuwagę. W następnym rozdziale zajmiemy się jego dokładniejszą analizą. Następnie fprzedstawimy krótki program komputerowy, będący jego realizacją, i omówimy kilka praktycznych zastosowań.
1.11. Zadania 1 .1 .
1 .2 .
1 .3 .
1 .4 .
1 .5 .
1 .6 .
1 .7 .
Rozważmy czarną skrzynkę o ośmiu przełącznikach wielopozyęyjnych. Przełącz niki 1 i 2 mogą być ustawione najednej z 16pozycji. Przełączniki 3, 4 i 5 mają po cztery pozycje, a przełączniki 6, 7 i 8 - tylko po dwie. Oblicz, na ile różnych sposobów można ustawić przełączniki tego urządzenia. Obmyśl dla czarnej skrzynki z poprzedniego zadania naturalny sposób kodowania, w którym każdemu przełącznikowi odpowiada jedna pozycja ciągu kodowego. Wyznacz liczbę ustawień przełączników reprezentowanych przez wybrany kod oraz liczbę schematów możliwych d0 zdefiniowania dla tego kodu. Dla czarnej skrzynki z zadania l.l opracuj minimalny kod dwójkowy dla ośmiu przełączników i porównaj liczbę schematów możliwych do zdefiniowania w tym kodzie z analogicznym wynikiem z zadania 1.2. Rozważmy l l-pozycyjne ciągi dwójkowe oraz schemat |*********]. Oblicz dol ne ograniczenie prawdopodobieństwa przeżycia tego schematu przy krzyżowaniu, jeżeli punkt krzyżowania wybiera się losowo, z jednakowym prawdopodobień stwem dla wszystkich możliwych pozycji. Oblicz przy tych samych założeniach prawdopodobieństwa przeżycia dla następujących schematów: ****1 0 **«*, ■] j*********, ***] ] i*-****, **** i *o* ***, **i***i**o*. Nazwijmy odległość dwóch skrajnych alleli danego schematu jego rozpiętością. Wyprowadź przybliżony wzór na prawdopodobieństwo przeżycia przy krzyżowa niu prostym określonego schematu o całkowitej dlugości 1 i rozpiętości 8. Sześć ciągów kodowych ma następujące wskaźniki przystosowania: 5, l0, 15, 25, 50, 100. Znajdź oczekiwaną liczbę kopii każdego z tych ciągów w puli rodzicielskiej, jeśli populacja ma stalą wielkość /i = 6, a reprodukcja przebiega wg reguly ruletki. Przypuśćmy, że zamiast reguły ruletki przyjmujemy następującą metodę okre ślania liczby kopii w procesie reprodukcji: Dla ciągu kodowego / zdefiniuj my licznik kopii ncount =fJ^j, gdzie /, jest wskaźnikiem przystosowania cią gu, a 7 jest średnim wskaźnikiem przystosowania dla calej populacji. Umie szczamy w puli rodzicielskiej tyle kopii każdego ciągu, ile wynosi część cał kowita jego licznika kopii, a ewentualną dodatkową kopię każdego ciągu umie szczamy tam z prawdopodobieństwem równym części ułamkowej odpowiedniegoIicznika. Na przykład dla,j^=100 i / = 8 0 wartość ncount, wynosi l,25, wobec czego ciąg i otrzyma jedną kopię na pewno, a drugą z. prawdopodo bieństwem 0,25. Zakladąjąc, że wskaźniki przystosowania są takie, jak w za daniu l.6, oblicz oczekiwaną liczbę kopii dla każdego z sześciu ciągów ko-
42
1. Wprowadzenie dla niewtajemniczonych
clowych. Oblicz oczekiwaną wielkość puli rodzicielskiej przy takiej ■metodzie reprodukcji. 1.8. Wskaż podobieństwa i różnice między metodą reprodukcji wg reguły ruletki a me todą reprodukcji opisaną w zadaniu 1.7. 1 .9 . Zalóżmy, że prawdopodobieństwo zajścia mutacji na pojedynczej pozycji ciągu kodowego wynosi 0,1. Oblicz prawdopodobieństwo, że operacja mutacji pozo stawi ciąg kodowy o długości 10 bez zmian (prawdopodobieństwo przeżycia przy mutacji). Oblicz to samo prawdopodobieństwo dla ciągu o długości 20. Wykonaj oba obliczenia przy prawdopodobieństwie mutacji równym 0,01. 1.10. Rozważmy ciągi kodowe i schematy o długości 11. Dla następujących schematów oblicz prawdopodobieństwa przeżycia przy mutacji, jeśli prawdopodobieństwo mutacji na pojedynczej pozycji wynosi 0,1: **$l**0****, l********.+o, ***l 11*****, *l000010*ll. Wykonaj te same obliczenia przy prawdopodobień stwie mutacji pm—0,01.
1.12. Ćwiczenia komputerowe
1_________________________
A. Jedną z najprostszych umiejętności, koniecznych do wykonywania algorytmów gene tycznych przy użyeiu komputera, jest generowanie liczb pseudolosowych. Liczby te są zwane pseudolosowymi, gdyż jak powiedział kiedyś von Neumann: „Każdy, kto stosuje metody arytmetyczne w celu wytwarzania cyfr losowych, żyje, oczywiście, w stanie grzechu” . Wykonując to ćwiczenie pójdź dalej i dopuść sięjeszcze większe go grzechu. Napisz program generujący 1000 liczb losowych z przedziału [0,1], korzystając z generatora liczb losowych zamieszczonego w dodatku B. Zarejestruj, ile z wygenerowanych liczb znalazło się w każdym z czterech przedziałów 0-0,25, 0,25-0,5, 0,5-0,75, 0,75-1,0 i porównaj te wyniki z odpowiednimi wartościami ocze kiwanymi. Czy różnice mieszczą się w rozsądnych granicach? N;i jakiej podstawie można stwierdzić, żc granice są rozsądne? B. Przypuśćmy, że dane jest 10 ciągów kodowych o następujących prawdopodobień stwach selekcji do następnego pokolenia: 0,1,0,2, 0,05, 0,15, 0,11, 0,07, 0,04, 0,00, 0,12, 0,16. Przyjmując, że stanowią one całą populację, sprawdź, czy powyższy układ prawdopodobieństw jest niesprzeczny. Napisz prograimkomputcrowy symulujący re produkcję wg reguły ruletki dla tych 10 ciągóv6. Pąsć w ruch ruletkę 1000 razy i zarejestruj liczby trafień dla każdego ciągu. Porównaj otrzymane wyńiki z wartoś ciami oczekiwanymi. C. Zaprogramuj w Pascalu funkcję do generowania pseudolosowych liczb całkowitych z pewnego zadanego przedziału. Przetestuj program generując 1000 liczb między 3 a 12. Zarejestruj, ile razy wypadla każda wylosowana liczba i porównaj wyniki z wartościami oczekiwanymi. D. Napisz procedurę, która dla danych dwóch ciągów kodowych i punktu krzyżowania wykonuje operację krzyżowania i produkuje dwa potomne ciągi kodowe. Przetestuj
§|42. ćwiczenia komputerowe________________________________________ ______________ 43
program na następujących ciągach o długości 10: 1011101011, 0000110100, Wybierz punkty krzyżowania o wartościach - 3 , 1, 6 i 20. E. Zaprogramuj funkcję mutation, która zmienia wartość danego bitii iia jej dopełnienie z zadanym prawdopodobieństwem /;„,. Przetestuj funkcję wywołując ją 1000 razy przy prawdopodobieństwach mutacji pm=0,001, 0,01, 0,1. Porównaj zrealizowane liczby mutacji z ich wartościami oczekiwanymi, |fj. Posługując się procedurą krzyżowania z ćwiczenia D wykonaj cykl operacji krzyżo wania dla populacji liczącej « = 200 ciągów kodowych o długości /= 5, o następują cym składzie początkowym: 100 kopii ciągu 11100 100 kopii ciągu 00011 Dokonaj procesu krzyżowania przy pc= 1,0 w 50 kolejnych pokoleniach, nie stosując reprodukcji. Porównaj początkowy i końcowy rozkład ciągów w populacji. Porównaj oczekiwaną liczbę kopii każdego ciągu z faktyczną liczbą kopii w pokoleniu 50.
Rozdział
2
Podstawy matematyczne algorytmów genetycznych
W rozdziale 1 nakreśliliśmy wierny, choć cokolwiek nie wykończony wizerunek algoryt mu genetycznego. Być może jest to obraz apelujący do wyobrażeń Czytelnika o naturze odkrycia i procesu badawczego. To, żeby mechaniczna, choć zawierająca elementy loso we, procedura mogła osiągnąć coś z rozległości i zmysłu odkrywczego charakteryzują cych proces badawczy wydaje się zbyt piękne, aby było prawdziwe. Stwierdzenie, że taka procedura odkrywania powinna być odbiciem naturalnych procesów doprowadzają cych do powstania gatunku, który ją posiadł, jest przykładem rekurencji godnym Godła, Eschera i Bacha (Hofstadter, 1979). Mimojednak ich intuicyjnej atrakcyjności i narzuca jącej się Symetrii rozstrzygające znaczenie będzie miało uzasadnienie owych mglistych odczuć i spekulacji na podstawie chłodnej analizy za pomocą narzędzi matematycznych. W samej rzeczy, zdążyliśmy już przystąpić do ściślejszej oceny algorytmów gene tycznych. Pod koniec poprzedniego rozdziału wprowadziliśmy podstawowe pojęcie sche matu albo wzorca podobieństwa. Pod względem ilościowym stwierdziliśmy, że popula cja ciągów kodowych zawiera istotnie wielką liczbę podobieństw nadających się do wykorzystania. Zrozumieliśmy też, na poziomie intuicyjnym, działający współbieżnie mechanizm, za pomocą którego algorytmy genetyczne wyzyskują liczne podobieństwa kryjące się w wąskich, dobrze przystosowanych scheniątach (cegiełkach). W tym roz dziale uściślimy nieco te obserwacje, zajmując sięłkilk^ zagadnieniami. Przede wszystkim wyznaczymy liczbę schematów reprezentowanych w danej populacji ciągów kodo wych i rozważymy, które z nich rozprzestrzeniają się, a które zanikają w obrębie jednego pokolenia. W tym celu zbadamy wpływ reprodukcji, krzyżowania i mutacji na określony schemat. Analiza tego problemu doprowadzi nas do podstawowego twierdzenia algoryt mów genetycznych, które określa owe prawa wzrostu i spadku w sposób ilościowy oraz wskazuje matematyczną postać procesu wzrostu. Postać ta jest związana z ważnym prob lemem klasycznej teorii decyzji, tzw. zagadnieniem dwuramiennego bandyty (i jego uogólnioną wersją - zagadnieniem /c-ramiennego bandyty). Matematyczne podobieństwo
2.1.' Kto przetrwa, a kto zginie? Podstawowe twierdzenie
45
■optymalnych (w sensie minimalnej straty) rozwiązań obu tych problemów i równania opisującego liczbę realizacji danego schematu w kolejnych populacjach generowanych ’zapomocą elementarnego algorytmu genetycznegojest uderzające. Policzenie schematów biorących efektywny udział w przetwarzaniu populacji ujawnia istnienie czynnika iwdstotny sposób potęgującego wyzyskiwanie cegiełek. Na koniec, rozważymy doniosłą kwestię: Skąd wiadomo, że składanie cegiełek jest efektywną metodą w przypadku do wolnych zagadnień? Pytanie -to skieruje naszą uwagę na stosunkowo nowe narzędzie analizy algorytmów genetycznych, jakim są transformaty schematów, a także na tzw. minimalny problem zwodniczy.
2.1. ^
Kto p Podstawowe twierdzenie
Działanie algorytmu genetycznego jest niezwykle proste. W końcu zaczynamy od loso wej populacji n ciągów kodowych, dokonujemy ich replikacji uprzywilejowując nieco najlepsze, kojarzymy je, wymieniając fragmenty ciągów, i na dodatek mutujemy od czasu do czasu jakiś bit. Chociaż algorytmy genetyczne operują na populacji ciągów kodowych w taki właśnie prosty sposób, zdążyliśmy zauważyć już pod koniec rozdziału l.rże z tą bezpośrednio widoczną aktywnością wiąże się ukryte przetwarzanie wielkiej liczby schematów w jednym pokoleniu. Aby zanalizować w sposób ścisły zjawisko roz przestrzeniania się i wymierania schematów obecnych w populacji, musimy wprowadzić pewne proste oznaczenia. Rozważmy zatem wpływ reprodukcji, krzyżowania i mutacji na schematy reprezentowane w populacji. Nie tracąc ogólności zakładamy, że ciągi kodowe składają się z symboli alfabetu dwójkowego V={0, 1}. Umówimy się dla wygody oznaczać ciągi kodowe wielkimi, a ich elementy - odpowiednimi małymi literami z dolnymi indeksami określającymi pozycję w ciągu. Na przykład siedmiobitowy ciąg A=0111000 można symbolicznie przedstawić następująco: A = a^a^a^a^fflj Każde a, reprezentuje tu pojedynczą cechę binarną (detektor) albo - w terminologii biologicznej - gen. Każda taka cecha może przyjmować wartość 1 lub 0 (nazywamy je niekiedy allelaini). W konkretnym przypadku ciągu 0111000 at jest równe 0, a2 jest równe 1, «., jest równe 1, itd. Można także rozważać detektory, których elementy nie są uporządkowane zgodnie z numerami indeksów, jak w przypadku ciągu A. Na przykład ciąg A' mógłby być uporządkowany następująco: A' = fl2afitJ4fl3a7a|a5 W jednym z późniejszych rozdziałów zbadamy konsekwencje takiego rozszerzenia re prezentacji, aby poszczególne cechy nie byly zależne od ich umiejscowienia; na razie przyjmijmy, że rodzaj cechy jest wyznaczony przez jej pozycję.
4 6 _________________________________2. Podstawy matematyczne algorytmów genetycznych
Algorytmy genetyczne pracują na populacjach ciągów kodowych, będziemy więc rozważać populację A(t) złożoną z ciągów Ajt j = 1, 2 , ..., /t, w ehwili (pokoleniu) t (popu lacje będziemy oznaczać pogrubioną czcionką). Oprócz oznaczeń dIa populacji, ciągów kodowych, pozycji i .alleIi potrzeba nam jeszcze dogodnej notacji do opisu schematów reprezentowanych przez poszczególne cią gi. Rozważmy schemat H złożony z symboli alfabetu V' ={0, 1, *}. Jak powjedziano w poprzednim rozdziale, dodatkowy symbol * (gwiazdka) to symbol uniwersalny, re prezentujący 0 lub 1 na określonej pozycji. Na przykład ciąg kodowy 0111000 jest reprezentantem schematu /7=*1 l*0** o długości, 7, gdyż allele a, pokrywają się z ele mentami schematu na pozycjach ustalonych 2, 3 i 5. Przypomnijmy, że dla ciągów dwójkowych o dlugości / można określić 31schema tów. Ogólnie, dla alfabetu złożonego z k symboli istnieje (/c+l)' schematów. Stwier dziliśmy też, żc populacja złożona z n elementów może reprezentować co najwyżej n !|: 2' schematów, gdyż każdy ciąg z osobna jest reprezentantem 2' schematów. Te proste obliczenia dają pewne wyobrażenie o ogromie informacji przetwarzanej przez algorytmy genetyczne; aby jednak zrozumieć do końca czym są schematy-cegiełki, z których po wstają przyszłe rozwiązania, musimy wyodrębnić różne typy schematów. Schematy nie „rodzą się równymi” . Pewne schematy są bardziej określone niż inne. Na przykład schemat 011*l** jest bardziej szczegółowym wzorcem podobieństwa niż schemat o******. Ponadto,jedne schematy (jak np. l*#**1*) „rozciągają się” na dłuższych odcinkach niż drugie (np. l*i****), Aby scharakteryzować liczbowo te włas ności, wprowadzimy dwa nowe pojęcia; rzędu i rozpiętości schematu. Rzędem schematu H, który oznaczamy przez o(H), będziemy nazywać liczbę ustalonych pozycji (w przypadku alfabetu dwójkowego jest to po prostu liczba zer i jedynek) we wzorcu. Dla podanych wyżej przykładów mamy o(01l*l**)=4 oraz o(0******)=i, Rozpiętością schematu H, którą oznaczamy przez 5(/7), nazywamy odległość mię dzy dwiema skrajnymi pozycjami ustalonymi. Tak więc, schemat 01 1*1#* ma rozpiętość 5=4, gdyż jego ostatnia pozycja ustalona ma numer 5, a pierwsza - numer 1, zatem odległość między nimi wynosi 5 -1 = 4 . DIa drugiego przykładu (schemat 0******) rozpiętość wyznacza się szczególnie latwo: ponieważ mamy tylko jedną pozycję ustalo ną, pierwsza pokrywa się z ostatnią, a więc odległość wynosi 0. Schematy stanowią interesujące narzędzie notacyjne do ścisłego badania i klasyfi kowania podobieństw ciągów kodowych. Co więcej, są one podstawowym środkiem analizy wpływu reprodukcji i pozostałych operacji genetycznych na rozprzestrzenianie się „cegielek” w danej populacji. Zbadamy teraz indywidualne i łączne skutki działania wspomnianych operacji na schematy reprezentowane w populacji ciągóW kodowych. Najłatwiej określić wplyw reprodukcji na oczekiwaną łiczbę reprezentantów okreś lonego schematu. Załóżmy, żc w chwili t w populacji A(t) znajduje się rn=m(H, t) reprezentantów danego schematu II (podkreślamy zależność tej liczby od schematu H i chwili i). Podczas reprodukcji ciągi podlegają replikacji z prawdopodobieństwem proporcjonalnym do wskaźnika przystosowania, dokładniej, z prawdopodobieństwem /z,=/i/X,/|. Po skompletowaniu nowej populacji złożonej z n ciągów wybranych z poptilacji A(/), możemy oczekiwać obecności in(H, t+ I) reprezentantów schematu H w chwi-
2.1. Kto przetrwa, a kto zginie? Podstawowe twierdzenie
47
li t + 1, przy czym zachodzi wzór m(H, t+ 1) = m(ff, t) ■n -f(H) / X,/y °. Liczba/(H) okreś la średnie przystosowanie ciągów będących reprezentantami schematu H w chwili t. Jeśli uwzględnimy. że średnie przystosowanie calej populacji można wyrazić jakof= ^ L fjl«, to powyższy związek możemy też zapisać w postaci m(H,'r + 1) = m(f7, t) ^ p pznacza to, że liczebność reprezentacji danego schematu (w następnym pokoleniu) zmienia się proporcjonalnie do stosunku średniego przystosowania schematu i średniego przystosowania całej populacji. Mówiąc jeszcze inaczej, schematy o przystosowaniu wyższym niż średnie z populacji będą miały większą liczbę reprezentantów w następnym pokoleniu, podczas gdy schematy o przystosowaniu niższym niż średnie z populacji otrzymają mniej reprezentantów niż miały dotychczas. Warto zauważyć, że wniosek tcn iPdnosi się w równym stopniu do każdego schematu H reprezentowanego w populacji A. .Można zatem powiedzieć, że - biorąc pod uwagę samą tylko reprodukcję - wszystkie schematy w populacji rozprzestrzeniają sięflub zanikają) odpowiednio do swego śred niego przystosowania. Wkrótce przekonamy się, dlaczego takie zachowanie wydaje się być pożądane. Chwilowo odnotujmy, że dzieje się lu wiele rzeczy równocześnie, choć wykonujemy tylko proste operacje na n ciągach kodowych. Pod względem jakościowym wplyw reprodukcji na schematy jest oczywisty: sche maty „lepsze” od przeciętnej rozprzestrzeniają się, a „gorsze” - zanikają. Czy możemy jednak z otrzymanej wyżej zależności rekurencyjnej wywnioskować coś na temat mate matycznej postaci tego wzrostu (zaniku)? Zalóżmy zatem, że pewien schemat H prze wyższa średnią o wielkość c/, gdzie c jest stalą. Przy takim założeniu możemy zapisać równanie schematów następująco: in(H, t + 1) = m(H, t){f+ cJ)/f= (1 + c) ■in(H, t) Startując od 1 = 0 i zakładając, że c nie zmienia się w czasie, otrzymujemy zależność m (H , 0 = in(H, 0) ■ (1 + c)'
Czytelnicy obeznani z finansami rozpoznają w powyższym związku wzór na procent składany, natomiast czytelnicy zorientowani matematycznie - postęp geometryczny, dys kretny odpowiednik funkcji wykładniczej. Otrzymaliśmy zatem ocenę ilościową efektu
0 Aulor pomija tu symbol wartości oczekiwanej po lewej stronie n5wnnnia. Ścisle sformułowanie omawianej zależności wyglątln więc następująco E(m(//, /+ I)] = m(H, t) ■n - f { H ) / 2 f, Wzór rekurcncyjny podany w książce można uważać zti aproksymację rzeczywistego procesu sluszmi dlu dużych populacji. Uwaga la odnosi się również do dalszych wywodów na lemat dynamiki populacji
(pnyi>. ilwn.).
4 8 _________________________________2. Podstawy matematyczne algorytmów genetycznych
■reprodukcji: w procesie reprodukcji schematy lepsze (gorsze) od przeciętnej są wybiera ne w liczbie przypadków rosnącej (malejącej) wykładniczo w czasie. Wkrótce powiąże my ten wynik z problemem wieloramiennego bandyty, ale przedtem zbadajmy jeszcze, jaki wpływ na propagację schematów wywierają operacje krzyżowania i mutacji. Fakt, że mechanizm reprodukcji może przekazywać do następnych pokoleń ros nące lub malejące wykładniczo liczby schematów jednocześnie, jest do pewnego stopnia niezwykły; dzięki n prostym replikacjom bardzo wiele różnych schematów zostaje wy branych równolegle według tej samej reguły. Jednakże sama reprodukcja nie przyczynia się w żaden sposób do eksploracji nowych obszarów przestrzeni rozwiązań, gdyż nie wprowadza żadnych nowych punktów; jeśli kopiujemy tylko stare struktury bez zmian, to w jaki sposób możemy kiedykolwiek wypróbować coś nowego? W tym właśnie miejs cu ujawnia się rola krzyżowania. Operacja krzyżowania dokonuje uporządkowanej, choć zawierającej element przypadku wymiany informacji między dwoma ciągami kodowymi. Za pomocą krzyżowania tworzy się nowe struktury w sposób minimalnie zaburzający wzorzec propagacji dyktowany przez samą reprodukcję. W efekcie końcowym frekwen cje różnych schematów reprezentowanych w populacji rosną lub maleją wykładniczo w kolejnych pokoleniach. Aby przekonać się, które schematy są Wrażliwe na krzyżowanie, a które nie, roz ważmy przykładowy ciąg kodowy o długości /= 7 oraz dwa reprezentatywne schematy, pasujące do tego ciągu: A = 0111000 /7, = *l****0 / / . ---■
-:: -i: ;i: j Q ;l- :i:
Ciąg A jest reprezentantem obydwu schematów Ht i H2 jednocześnie; chcąc zbadać skutek działania operacji krzyżowania na oba schematy, przypomnijmy sobie najpierw, że krzyżowanie proste obejmuje losowy wybór partnera, losowy wybór punktu krzyżo wania oraz wymianę segmentu początkowego (od pierwszej pozycji do punktu krzyżo wania włącznie) z odpowiednim segmentem wybranego partnera. Przypuśćmy, że ciąg A został wybrany do krzyżowania. Aby wybrać punkt krzyżowania, możemy rzucić kostką do gry (w ciągu o długości 7 jest 6 możliwych punktów krzyżowania). Przypuść my następnie, że w efekcie takiego rzutu wypadła nam liczba 3, co oznacza, że ciąg A zostanie rozcięty między pozycjami 3 a 4. Skutki takiego rozcięcia dla obu naszych schematów H t i H2 są widoczne poniżej (miejsce podzjpłu zaznaczone jest przy użyciu symbolu I): A = 01111000 Ht = *1*I***0 H2 - ***H0*# Jeśli partner ciągu A niejest identyczny z A na pozycjach ustalonych schematu (przypa dek, który jesteśmy skłonni zaniedbać), to schemat Ht ulegnie zniszczeniu, ponieważ symbole 1 na pozycji 2 oraz 0 na pozycji 7 znajdą się w dwóch różnych ciągach potom-
■2 . 1 . Kto przetrwa, a kto zginie? Podstawowe twierdzenie
49
•nycli (zajmują bowiem miejsca po przeciwnych stronach punktu krzyżowania). Jest rów nież oczywiste, że przy tym samym miejscu podziału (między pozycjami 3 a 4) schemat /7j,pozostanie nie naruszony, gdyż zarówno symbol 1 na pozycji 4, jak i 0 na pozycji 5,zostaną przeniesione bez zmian dojednego ciągu potomnego. Chociaż w tym przykładziewybraliśmy arbitralnie punkt podziału, widaćjasno, że schemat H, ma mniejsze szanse przeżycia operacji krzyżowania niż schemat ff2, ponieważ, średnio biorąc, punkt krzyżowania będzie częściej .wypadać między odległymi pozycjami ustalonymi. Aby scharakteryzować tę obserwację liczbowo, zauważmy, że schemat H, ma rozpiętOŚć równą 5. Jeżeli punkt krzyżowania zostaje wybrany losowozjednakowym praw dopodobieństwem spośród 1- 1=-7- 1 =6 możliwych położeń, tojest rzeczą oczywistą, że schemat f/, będzie zniszczony z prawdopodobieństwem p,,=8(/7,)/(/-1) = 5/6 (prze żyje z prawdopodobieństwem px= 1- p d= 1/6). Podobnie, schemat H2 ma rozpiętość 5(/72) = 1 i będzie zniszczony tylko w jednym przypadku na sześć, gdy miejsce podziału zostanie wybrane między pozycjami 4 a 5; tak więc pd= 1/6, a prawdopodobieństwo przeżycia jest równe p = 1 —pd=5/6. , , Ogólnie widzimy, że dla każdego schematu można podać dolne oszacowanie praw dopodobieństwa przeżycia podczas krzyżowania. Ponieważ w przypadku, gdy punkt krzyżowania wypada poza „wnętrzem” schematu, schemat przeżywa krzyżowanie, więc prawdopodobieństwo przeżycia ps wynosi co najmniej 1 —S(//)/(/ —1) (punkt krzyżowania wybieramy spośród / - 1 możliwych położeń). Jeśli dla określonej pary ciągów sama. operacja krzyżowania jest wykonywana z pewnym prawdopodobieństwem pc, to praw dopodobieństwo przeżycia schematu H spełnia nierówność
która sprowadza się do poprzedniego oszacowania, gdy pc~ 1. Możemy teraz zbadać łączny efekt reprodukcji i krzyżowania. Talc jak w przypad ku samej reprodukcji, chcemy wyznaczyć średnią liczbę reprezentantów danego schema tu H w następnym pokoleniu. Zakładając niezależność operacji reprodukcji i krzyżowa nia, otrzymujemy oszacowanie:
Porównując to ze wzorem wyprowadzonym dla samej reprodukcji, widzimy, że łączny efekt krzyżowania i reprodukcji otrzymuje się mnożąc oczekiwaną liczbę reprezentantów schematu przy samej reprodukcji przez prawdopodobieństwo przeżycia podczas krzyżo wania ps. I znowu skutek obu operacji jest wyraźnie widoczny. Schemat H rozprze strzenia się lub zanika zależnie od wartości współczynnika liczbowego. Gdy mamy do czynienia jednocześnie z reprodukcją i krzyżowaniem, czynnik ten zależy od dwóch okoliczności: czy przystosowanie schematu wypada powyżej, czy poniżej średniej oraz czy schemat ma stosunkowo małą, czy dużą rozpiętość. Oczywiście, te schematy, które mają przystosowanie wyższe od średniej i małą rozpiętość będą rozprzestrzeniać się zgodnie z wykładniczym prawem wzrostu.
5 0 _________________________________2. Podstawy matematyczne algorytmów genetycznych
Ostatnią operacją, którą musimy zbadać, jest mutacja. Zgodnie z naszą wcześniej szą definicją, mutacja polega na losowej zmianiezaWartóśćipósżczególnychpozycji z prawdopodobieństwem pm. Aby schemat H przeżył mutację, muszą się zachować wszy stkie jego pozycjc ustalone. A zatem, ponieważ pojedynczy allel zachowuje się z praw dopodobieństwem (1 -p„) i ponieważ mutacje na poszczególnyćhpozycjach są statysty cznie niezależne, dany schemat H przeżyje mutację z prawdopodobieństwem (l —pnl)" m ( / / , t ) +
y
-
[l
-
p,. ~
8(//) ^
~
-
o(H)p,,,
Uwzględnienie mutacji zmienia nasze wcześniejsze wnioski w minimalnym stopniu. Wą skie, niskiego rzędu i dobrze przystosowane schematy rozprzestrzeniają się w kolejnych pokoleniach zgodnie z wykładniczym prawem wzrostu. Jest to ważna konkluzja, na tyle ważna, że otrzymala specjalne miano: Twierdzenie o schematach albo Podstawowe twierdzenie algorytmów genetycznych. Mimo że obliczenia prowadzące do dowodu twierdzenia o schematach nie były zbyt wymagające, jego implikacje są daleko idące i wyrafinowane. Aby się o tym przekonać, przeanalizujemy sposób oddziaływania al gorytmu genetycznego na schematy reprezentowane w populacji, powracając do odręcz nej symulacji algorytmu z rozdzialu 1.
2.2. Przetwarzanie schematów na żywo: symulacja odręczna po raz wtóry __ ____________ _ W rozdziale 1 zademonstrowaliśmy mechanizm działania elementarnego algorytmu ge netycznego na przykładzie odręcznej symulacji jednego cyklu. Powróćmy teraz do tego przykładu, obserwując tym razem przetwarzanie schematów - a nie indywidualnych ciągów kodowych - w obrębie danej populacji. W tablicy 2.1 zestawiliśmy ponownie wyniki odręcznych obliczeń wykonanych w rozdziale Imizupelniając je o dane dotyczą ce zachowania trzech schematów //,, ll, i W,, gdzieftf,4fl****, W2= *10**, f7, = 1***(). Zwróćmy uwagę na wpływ reprodukcji, krzyżowania i mutacji na'pierwszy sche mat /7,. W fazie reprodukcji wybrane losowo z prawdopodobieństwem proporcjonalnym do przystosowania ciągi kodowe podlegają replikacji. .Tak odnotowano w tablicy, ciągi o numerach 2 i 4 są reprezentantami schematu I****. Po zakończeniu reprodukcji schematjest reprezentowany przez trzy ciągi (o numerach 2, 3 i 4 w puli rodzicielskiej). Czy wynik ten jest zgodny z przewidywaniami twierdzenia o schematach? Na podstawie twierdzenia o schematach możemy oczekiwać m -f( H )/f reprezentantów. Obliczając średnie przystosowanie schematu /(flj), otrzymujemy (576 + 361)/2 = 468,5. Dzieląc tę
Tablica 2.1. Przetwarzanie schematów w algorytmie genetycznym - symulacja odręczna Ciągi kodowe Nr ciągu
Wartość x (Liczba całkowita)
01101 11000 01000 10011
13 24 8 19
1 2 3 4
pselect,
m ć
Suma Średnia Maksimum
fi_ l f
Oczekiwana
Liczba kopii
liczba kopii wylosowanych f (wg reguly ^j ruletki)
169 576 64 361
0,14 0,49 0,06 0,31
OO v^ o
Populacja początkowa (wygenerowana losowo)
1,97 ■ 0,22 1,23
1 2 0 1
1170 293 576
1,00 0,25 0,49
4,00 1,00 1,97
4,0 1,0 2,0
Pula rodzicielska po reprodukcji (zaznaczono punkty krzyżowania) 0 1 1 1
1 1 1 0
1 0 I 1 0 0 i 0 I 000 I0 11
Partner Punkt (wybrany krzyżowania losowo) (wybrany losowo)
2 1 4 3
4
4' 2 2
Nowa populacja
0 1 1 1
1 1 1 0
1 0 0 0
0 0 1 0
0 1 1 0
Wartość
x
f(x) :r
144 625 729 256
12 25 27 16
1754 439 729
Schematy
Reprezentanci
ff,
2_***#
H2 H,
*10** 1 ***Q
2, 4 2, 3 2
Stan końcowy
Po reprodukcji
Przed reprodukcją Średnie przystoso wanie schematu f(H )
469 320 576
Oczekiwana liczba reprezentantów
Faktyczna liczba reprezen tantów
Reprezentanci
Oczekiwana Uczba reprezentantów
Faktyczna liczba repre zentantów
Reprezentanci
3,20 2,18 1,97
3 2 2
2, 3, 4 2, 3 2, 3 .
3,20 1,64 0,0
3 2 1
2, 3, 4 2, 3 4
52
2. Podstawy matematyczne algorytmów genetycznych
liczbę przez średnie przystosowanie populacji/=293 i mnożąc przez liczbę reprezen tantów schematu Wj w chwili f, m(Ht, i) = 2, otrzymujemy oczekiwaną liczbę reprezen tantów tegoż schematu w chwili H-1, m(Ht, / + l ) = 2-468,5/293 = 3,20. Porównując to z faktycznym wynikiem (trzy) stwierdzamy, że otrzymaliśmy prawidłową reprezenta cję. Idąc o jeden krok dalej, zauważmy, że krzyżowanie nie może wprowadzić tu żadnej zmiany, gdyż rozpiętość 8(f/,) = 0 wyklucza rozerwanie schematu. Następ nie, przy natężeniu mutacji p,,, = 0,001, możemy oczekiwać, że dotknie ona m ■pm= 3 • 0,001= 0,003 bitów, tj. zawartość pozycji ustalonej w żadnym z trzech re prezentantów schematu nie ulegnie zmianie. Tak.więc dla schematu //, obserwujemy oczekiwany wykładniczy wzrost liczby reprezentantów, zgodnie z przewidywaniami twierdzenia o schematach. Jak dotąd wszystko się zgadza, ale schemat /7, ze swym pojedynczym bitem wyda je się jednak dość szczególnym przypadkiem. Co można więc powiedzieć o propagacji schematów o większej rozpiętości? Zbadajmy, na przykład, propagację dwóch schema tów, Hj = *IO** i H3= I***0. Stan będący wynikiem reprodukcji i poprzedzający krzyżo wanie jest zgodny z oczekiwaniami. W przypadku sohematu H2 zaczynamy od dwóch reprezentantów w populacji początkowej i kończymy z dwoma otrzymanymi podczas reprodukcji. Zgadza się to z wartością oczekiwaną m(H2) = 2- 320/293 = 2,18 (320 jest to średnie przystosowanie schematu, a 293 - średnie przystosowanie populacji). W przypa dku /7, startujemy odjednego reprezentanta (ciąg 2) i kończymy z dwoma po reprodukcji (ciągi 2 i 3 w puli rodzicielskiej). Wynik ten jest zbliżony do wartości oczekiwanej m(W,)=l -576/293=1,97 (576 jest to średnie przystosowanie schematu, 293 - średnie przystosowanie populacji). Sytuacja ukształtowana po operacji krzyżowania wygląda jednak w obu przypadkach zasadniczo odmiennie. W przypadku krótkiego schematu H2 zostaje zachowana liczba reprezentantów (2). Ponieważ rozpiętość schematu jest mała, spodziewamy się, że krzyżowanie naruszy schemat tylko w jednym przypadku na cztery ( / - I = 5 - 1=4). W efekcie, prawdopodobieństwo przeżycia schematu H2jest duże. War tość oczekiwana liczby reprezentantów schematu wynosi m(H2, t + 1) = 2,18 • 0,75 = 1,64 i nie odbiega wiele od rzeczywistego wyniku równego 2. Natomiast H3 jest schematem zupelnie innego typu. Wskutek dużej rozpiętości (8(/7j)=4), schemat ten najczęściej ulega zniszczeniu podczas krzyżowania. Odręczne obliczenia potwierdzają przewidywania teoretyczne wyprowadzone w pierwszej części rozdziału. Wąskie schematy niskiego rzędu rozprzestrzeniają się lub zanikają w kolejnych pokoleniach wykładniczo, w zależności od średniego przy stosowania schematu. Wkrótce spróbujemy oszacować liczbę schematów, które są w taki sposób przetwarzane, ale przedtem musim^ zafać i znaleźć odpowiedź na ro dzące się pytanie. Dlaczego powinniśmy wybierać najlepsze z obserWowanych sche matów z rosnącą wykładniczo częstością? Inaczej mówiąc, dlaczego ta szczególna strategia wyboru jest warta zachodu? Szukając odpowiedzi na to pytanie, odbiegniemy pozornie od tematu, podążając tropem hazardzisty pędzącego życie wśród automatów do gry w Las Vegas.
igadnienia dwu- i k-ramiennego bandyty
y,^______________ :
53
2.3._________________________ Zagadnienia dwu bandyty
^yjąśniliśmy więc, zarówno w aspekcie jakościowym, jak też ilościowym, skutki re produkcji, krzyżowania i mutacji. Schematy o malej rozpiętości, niskim rzędzie i ponad przeciętnym przystosowaniu- (czyli cegielki) propagują się w kolejnych pokoleniach w rosnących wykładniczo liczbach egzemplarzy. Jest to fakt poza dyskusją. Pozostaje ąąm jednak co najmniej jedno dręczące pytanie: dlaczego jest to korzystne? Mówiąc precyzyjniej, dlaczego najlepsze obserwowane schematy-cegielki powinny być wybierane z rosnącą wykładniczo częstością? Pytanie tojest związane z ważnymi zagadnieniami z dziedziny statystycznej teorii podejmowania decyzji, mianowicie z problemem dwuramiennego'bandyty ijego uogólnioną wersją-problemem /r-ramiennego bandyty. Cho ciaż może się wydawać, że odbiegamy w ten sposób od przedmiotu głównego zaintereso wania (chodzi nam przecież o zrozumienie działaniaalgorytmu genetycznego, a nie o minimalizację strat w grze hazardowej), wkrótce przekonamy się, że optymalne roz wiązanie zagadnienia bandyty ma postać bardzo podobną do omawianej własności nasze go trzyczęściowego algorytmu.
Rys. 2.1. Zagadnienie dwuramiennego bandyty rodzi dylemat: jak poszukiwać prawidtowej odpowiedzi (eksploracja), wykorzystując jednocześnie zdobytą informację (eksploatacja)?
Wyobraźmy sobie dwuramienny automat do gry, jak na rys. 2.l, którego ramiona są oznaczone jako LEWE i PRAWE. Przypuśćmy następnie, że wiadomo, iż jedno z ramion zapewnia średnią wygraną p, przy wariancji ay, a drugie - średnią wygraną
54
2. Podstawy matematyczne algorytmów genetycznych
P2 przy wariancji o|, przy czym p ,> p ,. Które zateni ramię powinniśmy wybierać? Jasne, że wolelibyśmy grać przy użyciu ramienia dającego większą wypłatę (p.,), ale w tym właśnie sęk. Ponieważ nie wiemy z góry, z którym z ramion jest związana większa średnia wygrana, stajemy tu wobec ciekawego dylematu. Musimy nię tylko podejmować decyzję (a właściwie serię decyzji), którym ramieniem zagrać, ale jednocześnie zbierać informacje o tym, które ramięjest lepsze. Konieczność zachowania kompromisu.między eksploracją w celu nabycia wiedzy a eksploatacją tej wiedzy jest stale powracającą, fundamentalną kwestią w teorii systemów adaptujących się. Sposób, w jaki odniesiemy się do tego dylematu, określi w znacznym stopniu szanse ostatecznego sukcesu za stosowanej metody. Jednym z możliwych rozwiązań jest oddzielenie eksploracji od eksploatacji pole gające na tym, że najpierw wykonamy eksperyment, a następnie podejmiemy nieodwra calną decyzję zależną od wyniku tego eksperymentu. Takie podejście, znane w tradycyj nej teorii decyzji, można opisać formalnie w następujący sposób. Przypuśćmy, że mamy do wykonania łącznie N prób, które należy podzielić między oba ramiona. Na początek, w fazie eksperymentalnej, wykonujemy po n prób (2n
e^*1'1 x
gdzie ,v
= .£ u i ^ .y „ V o i + <Ą
Z równań tych widać, że opisana procedurajest związana z dwoma rodzajami strat. Pierwszą stratę ponosimy, wykonując w fazie eksperymentalnej n prób ze zlym ramie niem. Druga strata wynika z decyzji wyboru, po zakończeniu eksperymentu, ramienia dającego niższą średnią wygraną (p2). Nie możemy mieć absolutnej pewności, że po wykonaniu eksperymentu wybierzemy właściwe ramię, musimy więc liczyć się z tym, że od czasu do czasu podejmiemy błędną decyzję, ponosząc w ten sposób stratę podczas pozostałych N -2 n prób w fazie eksploatacji. Można wyznaczyć optymalną wielkość eksperymentu n*, obliczając pochodną funkcji strat i przyrównując ją do zera. Na rysun ku 2.2 pokazano zależność optymalnej wielkości eksperymentu n* od łącznej liczby prób N oraz współczynnika f = (p.,-p,)/(O i-o5)"'5.
lfl9(vZagadnienia dwu- i /c-ramiennego bandyty
55
Rys. 2.2. Znormalizowana lączna liczba prób (c*N) rośnie szybciej niż wykładniczo w stosunku do znormalizowanej optymalnej wielkości eksperymentu (c 2n *) przyjednoetapowym modelu decyzyjnym dla zagadnienia dwuramiennego bandyty
Analiza lej prostej procedury nie sprawia większych trudności, ale bez wątpienja istnieją lepsze, być może optymalne rozwiązania. Holland (1975) wykonał obliczenia, z których wynika, jak należy podzielić próby między oba ramiona, aby zminimalizować Oczekiwaną stratę. Liczba prób przypadających na gorsze (empirycznie) ramię powinna wynieść n*, zaś na lepsze - N -n * , przy czym n* jest dane wzorem0 n*
b 1 ln
N* 8rc//lnW2
gdzie
b
= 0 ,/(p , - m)
Przekształcając powyższą równość dochodzimy do następującego związku określającego liczbę prób dla empirycznie lepszego ramienia: N - n* = N = V8rc// ln N2 • e'"1*1’2 Innymi słowy, optymalny podział prób (w sensie minimalnej oczekiwanej straty) wyma ga, aby liczba prób z lepszym empirycznie ramieniem rosla nieco szybciej niż wykład niczo. Niestety, strategia taka nie daje się praktycznie zrealizować, ponieważ wymaga znajomości wyników prób przed ich wykonaniem. Niemniej określa ona górną granicę
ł) W nowym (uzupełnionym) wydaniu Adaptation in Natural and Artificial Systems (MIT Press, 1992) Holland przyznaje się do błędu w dowodzie i podaje poprawioną wersję cytowanego wyżcj wzoru, wyprowa dzoną przcz D. FranUa; różnica dotyczy stałych występujących we wzorze (str. 183) {przyp. thnn.).
5 6 --------------------------------------------------------2. Podstawy matematyczne algorytmów genetycznych
efektywności, do której osiągnięcia powinny zdążać strategie realistyczne. Z pewnością wiele strategii może zbliżyć się do tego ideału. Widzieliśmy, że w przypadku analizowa nego uprzednio podejścia, liczba prób przypadających na gorsze ramię maleje wykład niczo wraz ze wzrostem liczby prób. Inną metodą zbliżającą się nawet bardziej do ideal nego podziału prób jest rozważany wcześniej trzyczęściowy algorytm genetyczny. Twierdzenie o schematach zapewnia empirycznie najlepszym cegiełkom co najmniej wykładniczo rosnącą liczbę reprezentantów. W ten sposób algorytm genetyczny okazuje się realistyczną, a przy tym niemal optymalną procedurą poszukiwania w zbiorze kon kurencyjnych rozwiązań (Holland, 1973a, 1975). Jednak w przypadku algorytmu genetycznego nie mamy już do czynienia z pros tym zagadnieniem dwuramiennego bandyty, ale rozpatrujemy w istocie jednoczesne roz wiązanie wielu zagadnień wieloramiennych bandytów. Aby się o tym upewnić, rozważy my najpierw postać rozwiązania pojedynczego zagadnienia fc-ramiennego bandyty, a na stępnie wykażemy, że zwykły algorytm genetyczny można ujmować w kategoriach zło żenia wielu takich /c-ramiennych bandytów. Postać rozwiązania w przypadku zbliżonego zagadnienia /<-ramiennego bandyty została podana również przez Hollanda (1973a). Reguła podziału prób między k kon kurencyjnych ramion zapewniająca minimalną' oczekiwaną stratę przypomina analogicz ną regułę dla dwóch ramion, stanowi bowiem, że liczba prób przypadających na em pirycznie najlepsze ramię powinna wzrastać szybciej niż wykładniczo. Wynik ten nie jest zaskakujący, ale dobrze zgadza się z naszymi wyobrażeniami na temat przetwarzania schematów, jeśli potraktujemy zbiór konkurujących schematów jako określonego k-ramiennego bandytę. Ten ostatni związek stanie się bardziej widoczny, gdy zdefiniujemy pojęcie zbioru konkurujących schematów, a następnie określimy liczbę i wymiary zagad nień „bandyckich” , rozwiązywanych równocześnie w trakcie wykonywania algorytmu genetycznego dla danej długości ciągów kodowych. Dwa schematy A i B o elementach odpowiednio «, i bi konkurują, jeżeli dla każdej pozycji 1=1, 2, ..., / albo a, = bf = *, albo a,^+, b,#*, n^b,- - przy czym ostatni przypa dek zachodzi przynajmniej dla jednego 1. Rozważmy, na przykład, zbiór następujących ośmiu schematów długości 7, konkurujących na pozycjach 2, 3 i 5: 0 0 * 0 * * 0 0 # 1 * * 0 I >i= 0 * * 0 1 # 1 * * 1 0 * 0 # ’!■ 1 0 * 1 * * 1 1 * 0 # * 1 I * 1 * S|!
Dla trzech pozycji ustalonych 2, 3 i 5 mamy osiem konkurujących schematów, gdyż każda z nich może zawierać albo I albo 0 (23= 8). Teraz nietrudno już dostrzec analogię do zagadnienia fc-ramiennego bandyty. Po nieważ powyższe schematy mają ten sam zestaw ustalonych pozycji, konkurują one
3.4.> lle schemalów bierze efektywny udział w przetwarzaniu?
57
ó;,,przydział” cennych miejsc w populacji. Prawidiowa strategia wymaga przydziału Wykładniczo rosnącej liczby miejsc najlepszym spośród obserwowanych schematów, analogicznie jak w przypadku prób przypadających na empirycznie najlepsze ramię k-rarńiennego bandyty. Istotną różnicę między interesującym nas przypadkiem algorytmu genetycznego a nieco egzotycznym zagadnieniem k-ramiennego bandyty stanowi okoli czność, że mamy tu do czynienia z rozwiązywaniem wielu takich zagadnień równocześ nie. Na przykład dla trzech ustalonych pozycji w ciągu długości 7 mamy ^ ) = 35 zagad nień ośmioramiennych (23= 8) bandytów. Ogólnie, dla schematów rzędu j i długości I istnieje | ( j różnych zagadnień A^-ramiennych bandytów, gdzie kj=2’. Nie wszystkie ż X |! j = 2' zagadnień są rozwiązywane zjednakową sprawnością, gdyż operacja krzyżowania ma tendencję do niszczenia „bandytów” o dużej rozpiętości, jak już uprzednio wskazywaliśmy. W następnym punkcie zajmiemy się wyznaczeniem liczby schematów biorących efektywny udział w przetwarzaniu.
2.4. Ile schematów bierze efektywny udział w przetwarzaniu? Nasze dotychczasowe oszacowania wskazywały, że w przetwarzaniu populacji n ciągów kodowych o długości 1 bierze udział od 2' do n ■2' schematów. Jak wiemy, nie wszystkie z nich mają dużą szansę na przetrwanie, gdyż operacja krzyżowania niszczy schematy ;o stosunkowo dużej rozpiętości. Obecnie zajmiemy się oszacowaniem z dołu liczby schematów biorących efektywny udział w przetwarzaniu - tojest tych, których reprezen tacja zwiększa się w pożądany wykładniczy sposób. Najczęściej cytowanym w literaturze wynikiem dotyczącym liczby efektywnie przetwarzanych schematówjest szeroko znane, choć błędnie interpretowane oszacowanie 0(n3), podane przez Hollanda (Goldberg, 1985d). Ujmując rzecz najprościej, oszacowa nie to mówi, że w algorytmie genetycznym działającym na n strukturach, w każdym pokoleniu ulega przetworzeniu jakieś n3 schematów. Jest to własność tak doniosła, że Holland nadał jej specjalne miano: ukryta równoległość [implicit parallelism]. Chociaż bowiem w każdym pokoleniu liczba wykonywanych działań jest proporcjonalna do wiel kości populacji, liczba schematów biorących efektywny udział w przetwarzaniu jest rzę du n \ Nie potrzeba przy tym żadnych ubocznych działań ani miejsca w pamięci innego niż dlą samej populacji. Aby zrozumieć przesłanki tego oszacowania i dojść do źródel efektu potęgującego proces przetwarzania, spróbujmy ponownie wyprowadzić wspo mniany wynik. Rozważmy populację złożoną z n ciągów dwójkowych o długości /. Interesują nas jedynie schematy o prawdopodobieństwie przeżycia (przetrwania) nie mniejszym od stałej p s. W konsekwencji, zakładając krzyżowanie proste i niewielkie tempo mutacji,
58
2. Podstawy matematyczne algorytmów genetycznych
będziemy uwzględniaćjedynie schematy o „współczynniku utraty” e < l —p s. Wynika stąd, że należy rozważyć schematy o rozmiarze0 lx< e([- 1)+ 1. Jesteśmy w stanie, dla danego rozmiaru schematu, oszacowaćz dołuliczbę róż nych schematów biorących udział w przetwarzaniu początkowo losowej populacji cią gów kodowych. Wyznaczymy najpierw liczbę pasujących do danego ciągu kodowego schematów o rozmiarze ls lub mniejszym. Przypuśćmy, że chcemy policzyć schematy o rozmiarze nie większym niż /,,=5 pasujące do następującego ciągu o długości /=10: 10 1 1 I 0 0 0 10 Znajdźmy najpierw liczbę takich schematów „zawartych” w początkowym segmencie o dlugości 5, 10 1 1 I o ustalonej wartości na ostatniej pozycji w segmencie. To znaczy, interesują nas schema ty postaci % % % % 1 * * ....... . gdzie gwiazdki (*) zachowują swoje zwykłe znaczenie, a znaki procentu (%) oznaczają pozycje mogące przyjmować wartość ustaloną (taką, jak odpowiednia pozycja w danym ciągu) albo nieustaloną (*)2), Takich schematów jest oczywiście 211*V‘~'\ gdyż / ,.- l= 4 pozycji może przyjąć wartości ustalone lub nieustalone. Aby znaleźć łączną liczbę poszu kiwanych schematów, będziemy przesuwać nasze „okienko” kolejno ojednąpozycję: 0 1 1 10 Powyższy chwyt można wykonać / - / ,+ 1 razy, co daje dolne oszacowanie łącznej liczby schematów o rozmiarze /, lub mniejszym równe 2a’~n- (l-l,+ 1). Obliczenia te dotyczą liczby schematów pasujących do określonego ciągu kodowego. Mnożąc to przez wiel kość populacji n, otrzymalibyśmy wynik n ■2C,«~0 • (/-/,+ 1 ), dający nadmiernie optymis tyczną ocenę łącznej liczby takich schematów dla calej populacji, gdyż z calą pewnością wiele schematów niskiego rzędu powtarza się w dużych populacjach. Aby poprawić to oszacowanie, wybierzmy wielkość populacji równą5' n = 2'‘n. Możemy wówczas oczeki wać, że dowolny schemat rzędu co najmniej /,7 2 wystąpi co najwyżej raz. Pamiętając, że liczby schematów wyrażają się współczynnikami dwumianowymi'0, wnioskujemy, że polowa z nich jest rzędu wyższego niż /,./2, a połowa -.rzędu niższego lub równego tej wielkości. Jeśli uwzględnimy tylko schematy wyżsźfcgojpędu, możemy podać następują ce dolne oszacowanie liczby różnych schematów:
11 Przez rozmiar schematu będziemy tu rozumieć liczbę elementów między skrajnymi pozycjami usta lonymi, włączając oba „końce” , czyli rozpiętość + I (prr.yp. rtimi.). 21 Nie są to wszystkie schematy o rozmiarze nic większym niż /, micszczące się w danym segmencie
(l>rzyi>. llum.). '1 Przyjmując, że /, jest liczbą parzystą (przyp. tlum.). '" Chodzi o schematy danego rzędu „zawarte” w jednym „okienku” {prz.yp. tlum.).
|,|.i*Hlpoteza cegielek____________________________________________________________ 59
ii, > n(l - /, -I- l)2'*"2 ^ y n ik ten różni się odpoprzedniego optymistycznego oszacowania czynnikiem 1/2. Uzwględniając wybraną szczególną wielkość populacji 2'>'2 otrzymujemy zależność ; , _ ( / - / ,+ l)/l3
Ponieważ ns= Cn3. stwierdzamy, że liczba schematów jest proporcjonalnado sześcianu wielkości populacji, a więc jest rzędu /z3, O(n3) °. p; Widzimy więc, że pomimo niszczącego dzialania operacji krzyżowania i mutacji ,na: "schematy wysokiego rzędu i o dużej rozpiętości, algorytmy genetyczne wyzyskują w ukryty sposób wielką liczbę schematów podczas przetwarzania stosunkowo niewiel kiej liczby ciągów kodowych.
___________________________________ 2.5. Hipoteza cegiełek Z perspektywy odsłoniętej dzięki schematom obraz zachowania się algorytmów genety cznych wygląda znacznie przejrzyściej. Dobrze przystosowane schematy niskiego rzędu i o malej rozpiętości są nieustannie wybierane, zestawiane i powielane, tworząc ciągi kodowe o potencjalnie wyższym przystosowaniu. Wyzyskując te specyficzne schematy, redukujemy w pewnym sensie złożoność problemu; zamiast bowiem próbować każdej możliwej kombinacji, budujemy coraz lepsze ciągi z najlepszych częściowych rozwiązań dotychczas znalezionych. Ponieważ dobrze przystosowane schematy niskiego rzędu i o malej rozpiętości odgrywają tak ważną rolę w działaniu algorytmów genetycznych, nadaliśmy im miano cegiełek. Tak jak dziecko buduje swoje imponujące fortece, układając i dopasowując drewniane klocki, algorytm genetyczny dochodzi do niemal optymalnej wydajności ze stawiając schematy-cegiełki. Jest tu jednak pewien problem. W rozdziale pierwszym powtarzaliśmy z uporem, że z kombinacji poglądów powstają lepsze idee. Przed chwilą wygłosiliśmy tezę, że schematy-cegielki łączą się tworząc lepsze ciągi kodowe. Jak jednak możemy się przeko nać, czy stwierdzenia te, choć wydają się w pełni uzasadnione, są w istocie prawdziwe czy też nie? Coraz większa liczba dowodów empirycznych świadczy na rzecz powyższej tezy dla szerokiego zakresu probIemów2). Począwszy od dwóch pionierskich dysertacji (Baglęy, 1967; Rosenberg, 1967) sprzed dwóch dziesięcioleci, aż po liczne zastosowania
11 Sformułowanie to zakłada dowolność parametru «! Jesl to zapewne przyczyna nieporozumień, o któ rych wspomina autor Qmyp. thtm .). 2> W ostatnich latach pojawily się pcwne wątpliwości co do słuszności hipotezy cegielck (priyp. tluin.).
60
2. Podstawy matematyczne algorytmów genetycznych
algorytmów genetycznych prezentowane na ostatnich konferencjach poświęconych tej tematyce (Grefenstette, 1985a, 1987a), hipoteza cegiełek znajdowała potwierdzenie w wielu różnych dziedzinach problemowych. Przy użyciu prawie takićh śamychalgorytmów opartych na reprodukcji, krzyżowaniu i mutacji pomyślnie rozwiązywano zadania należące do takich klas, jak problemy gładkie jednomodalne, problemy wielomodalne z szumem oraz problemy optymalizacji kombinatorycznej. Chociaż ta ograniczona liczba dowodów empirycznych nie przesądza o słuszności teorii, tojednak zdaje sięwskazywać, że algorytmy genetyczne nadają się do rozwiązywania wielu typów zadań, z który mi zazwyczaj można się spotkać. Niedawno Bethke (1981) rzucił nieco światła na tę sprawę. Stosując funkcje Walsha i umiejętne transformacje schematów, opracował efektywną metodę analityczną do wyznaczania średniego przystosowania schematów za pomocą współczynników Walsha. To z kolei daje nam możliwość określenia, czy przy danej funkcji przystosowania i spo sobie kodowania optymalne lub suboptymalne rozwiązania można otrzymać dzięki kom binacji schematów-cegiełek. Holland (1987b) uogólnił wynik Bethkego na przypadek populacji o niejednostajnym rozkładzie.
Rys. 2.3. Obszar odpowiadającyschematowi 1 »*»* na wykresie funkcji f(x) = x 2
Prace Bethkego i Hollanda na temat transformacjijWalsha wykraczają poza zakres naszych rozważań, lecz zainteresowany Czytelnik fnożq| skorzystać z dodatku D, gdzie zwięźle przedstawiono kilka najważniejszych wyników. Tym niemniej, idee leżące u podłoża tych odkryć są na tyle istotne, że musimy postarać się zrozumieć regularność związaną z przetwarzaniem schematów-cegiełek przynajmniej na intuicyjnym, obrazo wym poziomie. W tym celu powróćmy do przykładu z pięciobitowym kodem, który zaczęliśmy omawiać w rozdziale pierwszym. Jak pamiętamy, chodziło tam o maksymali zację funkcji f(x )= x 2, przy czym do zakodowania x był zastosowany pięciopozycyjny zapis dwójkowy. Chcemy zatem przekonać się.jak wyglądają w tym przypadku schematy-cegiełki i w jaki sposób mogą tworzyć lepsze rozwiązania mieszając się ze sobą?
'2.5; -Hipoteza cegielek___________________________________________________________ 61
-Rozważmy prosty schemat, Hi= l****. Jak taki schemat może „wyglądać” ? Odpowiedź znajdziemy na rys. 2.3 w postaci zacienionej części wykresu. Wygląda na to, że schemat odpowiadający jedynce na najstarszej pozycji pokrywa prawą polowę rozpatrywanej dziedziny. Podobnie schemat H2=0**** pokrywa lewą połowę. Pouczające okazują się ,jnne przykłady jednobitowe, na przykład schemat H3= ****l z rys. 2.4. Schemat ten .pokrywa połowę dziedziny odpowiadającą liczbom nieparzystym (00001 = 1, 00011 =3, 00101=5 itd). Schemat H ,,-#..... również pokrywa połowę dziedziny, ale w sposób pokazany na rys. 2.5. Wydaje się więc, że schematy jednobitowe pokrywają połowę dziedziny, choć częstość „oscylacji” zależy od pozycji zajmowanej przez ustalony bit.
-Rys. 2.4. Obszarodpowiadającyschematowi ****1
Rys. 2.5. Obszar odpowiadający schematowi *.....
62
2. Podstawy matematyczne algorytmów genetycznych
Rys. 2.6. Obszarodpowiadającyschematowi 10***
Schematy wyższego rzędu są z pewnośćią również interesujące. Rozważmy sche mat W,= 10*** z rys. 2.6. Schemat ten pokrywa lewą ćwiartkę w prawej połówce dzie dziny. Podobnie można zobrazować inne schematy dwubitowe, jak np. schemat W6=**1*1 pokazany na rys. 2.7. Takjak schemat Hs pokrywa on takżejednączwartą dziedziny (dlaczego?), ale w sposób bardziej rozproszony. Dla Czytelników znających szeregi Pouriera periodyczność rozmaitych schematów będzie ważną wskazówką. Istot nie, to właśnie ta periodyczność umożliwia przeprowadzenie analizy za pomocą funkcji Walsha. Tak jak za pomocą analizy harmonicznej można określić własności fizyczne, badając względne wielkości współczynników Fouriera, zastosowanie funkcji Walsha umożliwia określenie zachowania się algorytmu genetycznego ze „statycznego” punktu widzenia przez analizę względnych wielkości współczynników Walsha'l Chociaż metoda transformacji Walsha stanowi skuteczne narzędzie matematyczne do analizy zachowania algorytmu genetycznego w szczególnych przypadkach, uogólnieniejej na przypadek dowolnych funkcji kodujących i funkcji przystosowania okazało się zadaniem niełatwym. Bethke podał pewną liczbę testowych kombinacji, o których można dowieść, że kierują elementarny algorytm genetyczny na fałszywe tory (takie przypadki nazywamy problemami zwodniczymi). Wyniki te wskazują, że w problemach zwodniczych zdają się występować izolowane optirna<. punkty najlepsze są otoczone przez najgorsze. W zadaniach praktycznych, z jakirtii nifmiy na ogół do czynienia w rze czywistym świecie, nie musimy poszukiwać takiej „igły w stogu sialia” ; zazwyczaj w kombinacji funkcji przystosowania i funkcji kodującej występuje pewnego rodzaju regularność, która może być wykorzystana podczas rekombinacji schematów-cegiełek. Poza tym każdy się chyba zgodzi, że znalezienie igły w stogu siana niejest zadaniem latwym, niezależnie od zastosowanej techniki poszukiwania. Niemniej warto pamię-
0 Porównaj dodatek D (priyp. llmn.).
63
52s6/- Miriimalny problem zwodniczy
Rys. 2.7. Obszar odpowiadający schematowi **1*1
lać, żc skuteczność elementarnego algorytmu genetycznego zależy od wyników rekombiriacji schematów-cegiełek. Jeśli cegiełki prowadzą na manowce z powodu zastosowa nego kodu lub samej funkcji przystosowania, możemy potrzebować sporo czasu, zanim dojdziemy do rozwiązań zbliżonych do optymalnego.
.....
2.6. Minimalny problem zwodniczy
Graficzne przedstawienie schematów i transformacje Walsha dają wgląd w działanie algorytmów genetycznych. Jednak z praktycznego punktu widzenia techniki te są co najmniej tak samo uciążliwe, jak przeglądanie dyskretnej przestrzeni rozwiązań. W kon sekwencji nie są one szeroko stosowane do analizy zadań praktycznych. Niemniej jednak chcielibyśmy wciąż lepiej zrozumieć źródła trudności napotykanych przez elementarny algorytm genetyczny. W celu dokładniejszego zbadania tego problemu skonstruujemy najprostsze zadanie, dla którego algorytm genetyczny może rozminąć się z globalnym optimum (Goldberg, 1987b). Aby do tego doprowadzić, spróbujemy naruszyć w ma ksymalnym stopniu hipotezę cegiełek. Inaczej mówiąc, chcemy, aby małe cegiełki łączy ły się w niewłaściwe (nieoptymalne) większe bloki. Najprostszym zadaniem, w którym może wystąpić podobne zjawisko, jest problem rzędu 2 (dwubitowy). W tym punkcie przeprowadzimy zwięzłą analizę takiego minimalnego problemu zwodniczego (MDP, minimal deceptive problem). Pewnym zaskoczeniem może być fakt, że mimo naszych największych wysilków, aby wyprowadzić algorytm w pole, ten zwodniczy przypadek nie okazuje się na ogół AG-trudny (to znaczy, że algorytm genetyczny na ogół nie rozmija się z globalnym optimum). Przypuśćmy, że dane są następujące cztery schematy rzędu 2, ze współczynnikami przystosowania:
6 4 __________________________
*te ^ ł Q >^^ ł ^ <ł Q*N * * *0 * * * * * 1* $ :js * J %$ * * * Q# * -Ąi
* ] $ $
* #
:ł<
| H*
2. Podstawy matematyczne algorytmów genśtycznych
fm fm
/to /..
!«- 8{H)^> I Współczynniki przystosowania odpowiadają średnim dla schematów względem popu lacji. Zakładamy, że są one stałe, o zerowej wariancji °. Przyjmijmy, że /,, jest globalnym optimum: / n > fm<
/ n > fn\ I
J ii > fm
Ponieważ problem jest niezmienniczy względem obrotów i odbić w dwuwymiarowej przestrzeni Hamminga2’, taki szczególny wybór globalnego optimum nie zmniejsza ogól ności naszych wniosków. Wprowadźmy teraz element zwodniczości, któryjest konieczny, aby problem mógł przedstawiać trudności dla naszego algorytmu. Z taką sytuacją będziemy mieli do czy nienia, gdy jeden lub oba schematy rzędu 1 mające tylko suboptymalnych reprezentan tów okażą się lepsze niż odpowiednie schematy rzędu 1 mające optymalnego reprezen tanta. W sformułowaniu matematycznym chcemy, aby spełniona była co najmniej jedna z następujących nierówności: /(0*) > /(l* ); / ( * 0) > /(* l) W powyższych wyrażeniach pominęliśmy wszystkie pozycje oryginalnych schematów prócz dwóch pierwotnie ustalonych, a wyrażenia określające przystosowanie odnoszą się do średnich po wszystkich reprezentantach w danej klasie podobieństwa3’. Tak więc chcielibyśmy, aby zachodziły nierówności: /(0 0 )+ /(0 1 )
/(10)+/(11) .
2
2
/(0 0 )+ /(1 0 ) 2
/(01)+/(11)
>
2
Niestety, obie nierówności nie mogą być równocześnie spełnione (w przeciwnym przy padku punkt 11 nie mógłby być globalnym optirmjm).^ie zmniejszając ogólności, mo żemy założyć, że prawdziwa jest pierwsza z nich. A zatem problem zwodniczy rzędu 2jest wyznaczony przez warunek globalności (maksimum równe/,,) oraz jeden warunek zwodniczości (wybraliśmy tu przypadek/(0*)>/(l*)). 11 Tzn. t:ikie, jak średnie względem calej przestrzeni (przyp. ilum.). 2> Przestrzeń tę można utożsamiać z „przestrzenia” zlożona z wierzchoilców kwadratu jednostkowego na płaszczyźnie (przyp. tłum.). 31 Tj. względem catej przestrzeni Q>nyp. thtm.).
65
'2.6',' Minimalny problem zwodniczy
W celu uproszczenia dalszych rozważań, znormalizujmy wszystkie współczynniki przystosowania względem f m (tj. współczynnikaprzystosowania „dopełnienia” global nego optimum): f_n. fm '
■hifm ’
, fa_ 7()o
;iWarunek globalności w znormalizowanej postaci zapisuje się jako: r > c;
r > 1 ; r > c'
Podobnie możemy zapisać warunek zwodniczości: r < 1 + c - c' 7. nierówności tych wynikają interesujące konsekwencje: c' < 1 ; c' < c Możemy zatem wyróżnić dwa typy problemów zwodniczych rzędu 2: Typ I:/n, > f m (c> l). T ypII-,fw > fm (c< l). vjNa rysunkach 2.8 i 2.9 zamieszczono reprezentatywne szkice obu przypadków, przy czym przystosowanie przedstawione jest jako funkcja dwóch zmiennych boolowskich. Oba przypadki są zwodnicze i można wykazać, że w żadnym z nich funkcja przystosowania nie może hyć wyrażona jako kombinacja liniowa poszczególnych alIeli, tj. w postaci:
Rys. 2.8. Ilustracja geometryczna minimalnego problemu zwodniczego typu I (4, > 4o)
66
2. Podstawy matemalyczne algorytmów genetycznych A
CL
11
10
Rys. 2.9. Ilustracja geometryczna minimalnego problemu zwodniczego typu II {fpo>4i)
i=
Używając terminologii biologicznej, mamy tu do czynienia z epistazą. Ponieważ można podobnie dowieść, że żaden problem rzędu I nie może być zwodniczy, więc problem zwodniczy rzędu 2 jest najmniejszym możliwym, czyli minimalnym problemem zwod niczym (MDP). Mając już zdefiniowany MDP, możemy teraz przystąpić do wyczer pującej analizy jego własności.
2.6.1. MDP: analiza _______________________________________________________ Można przypuszczać, że skonstruowany właśnie uogólniony problem rzędu 2 okaże się zdolny wyprowadzić w pole nasz algorytm genetyczny, jeżeli dwie ustalone pozycje w rozważanych schematach będą znacznie oddalone od siebie. Twierdzenie o schema tach wydaje się wskazywać, że trudności pojawią się, gdy czynnik
się szczegółom operacji krzyżowania. W jednym z wcześniejszych punktów stwierdziliśmy, że obliczając w zwykly spo sób oczekiwaną liczbę reprezentantów schematu otrzymujemy w istocie dolne oszacowa nie. Dzieje się tak, gdyż w wyprowadzeniu nie uwzględniono wyrazów odpowiadających kreacji schematów (zniszczenie jednego schematu pociąga za sobą powstanie innego), przyjmując, że skrzyżowanie w punkcie leżącym między skrajnymi pozycjami ustalony mi schematu zawsze powoduje jego utratę. Jest to w tym przypadku założenie zbyt pesymistyczne, gdyż kojarzenie i krzyżowanie par niekomplementarnych zachowuje ma
ftfe
teriał genetyczny rodziców. Na przykład 00 skrzyżowanez 01 daje w wyniku 01 i 00. JJtrata materiału genetycznego następuje jedynie w przypadku skojarzenia i skrzyżowa' ńia par komplementarnych: Wówczas to 00 krzyżuje się z 11 dając 01 i 10 albo 01 krzyzuje się z 10 dając 11 i 00. Pełna tabela krzyżowania podana jest w tabl. 2.2, przy ’r .czym symbolu S użyto dla zaznaczenia, że potomstwo nie różni się od rodziców. ' Tablica 2.2. Tabela krzyżowania.dla problemu dwubitowego 00
01
10
11
00
s
s
s
01 10
01
s
s
00 II
s
10
s
00 11
s
s
,11
01 10
s
s
s
i.:.,.x
Z tablicy tej widać, jak pary komplementarne gubią materiał genetyczny, choć tstrata ta stanowi jednocześnie zysk dla konkurencyjnych par komplementarnych. Na ^podstawie tych danych możemy wypisać dokładniejsze zależności dIa oczekiwanych frekwencji P każdego z czterech współzawodniczących schematów. Musimy w tym celu uwzględnić w odpowiedni sposób oczekiwane straty i zyski schematów wynikające Hlz^krzyżowania. Zakładając reprodukcję proporcjonalną, krzyżowanie proste i łosowe : ' kqjarzenic produktów reprodukcji otrzymujemy następujący rekurencyjny układ równań lfijieliniowych: P 't' =
Pu
pn l „
p /
pH-l _
p t r 01
■^ r [
1 - P ' c j - P i ]
. / » > . [ 1_
. j ' -^il
n* Jmf111 p / Ot 72 1 ()i 1 10 f
+ Pc
p t 1 ,
/ fi*)fl I p t p t
* m“ 1M ) 7 I 1 Pc ^jT r [,| | + p,. / Ł / * 01 ”
. f ®\ 7
1_
n f fm p t P e ^ ^ 1 10
1
/ 1
' ‘ /
— p P' . -A|{I 1 _ p»+l nrł *“ 1 I
i
/ 1
1
,/ . ,/ + Pc
j 2- / oo/ ii
’Aw)^11 p t1 p1} tt U p 72 1 00 1 11 r
JWJ
n ' -^11 p t 1 . ,/ f i l l - f w p t p t P c ^ T 1 11 I + P c 72 * 0 1 1 l(
' ‘ /
W równaniach tych wskaźniki górne reprezentują czas, a dolne - schematy. Symbol / oznacza aktualne (w pokoleniu t) średnie przystosowanie populacji, które można ob liczyć ze wzoru: /
=
f*m fm +
P m fm
+
P iu fw +
P \\f\\
68
2. Podstawymatematyczne algorytmówgenetycznych
Parametr p[ określa prawdopodobieństwo, że krzyżowanie nastąpi w punkcie leżącym między dwoma skrajnymi pozycjami schematu: 8(H) P' , = P,: ■
/-1
Łącznie równania te wyznaczają oczekiwane frekwencje czterech schematów . w następnym pokoleniu. Mając zadane początkowe frekwencje, możemy więc prześle dzić przebieg trajektorii oczekiwanych frekwencji w kolejnych pokoleniach. Warunkiem koniecznym zbieżności algorytmu genetycznego jest, aby oczekiwany udzial schematu optymalnego dążył w granicy do jedności: lim PU = 1
/^oo
Aby poznać własności powyższych równań, przyjrzymy się kilku rozwiązaniom numery cznym dla problemów odpowiednio typu I i II. Przedstawione zostaną także - bez dowo du - pewne wyniki teoretyczne.
2.6.2.
M D P: w y n ik i s y m u la c y jn e ._______________________________________________________________
Na rysunku 2.10 pokazano rezultaty obliczeń reprezentatywne dla zagadnień typu I. W fazie początkowej frekwencja schematu optymalnego (11) maleje; w miaręjednak, jak zmniejsza się również udział schematów 10 i 00, ostateczna „bitwa” rozgrywa się między dwoma schematami 11 i 01, i w końcu 11 wygrywa. Można pokazać, że wynik ten pozostaje słuszny dla dowolnego problemu typu I, przy założeniu o niezerowych TYP I: F01>F00
Rys. 2.10. Rozwiązanie numeryczne dla minimalnego problemu zwodniczego typu I: r = 1,1, c = 1,05, c '= 0 ,0
69
;2,6: Minimalny problem zwodniczy
frekwencjach początkowych wszystkich czterech schematów. Jest to nieco zaskakujące, gdyż problem został pomyślany tak, aby spowodować rozminięcie się algorytmu z opflimum globalńym. Krótko mówiąc, analiza dynamiczna wykazuje, że minimalny prob lem zwodniczy typu I nie jest problemem AG-trudnym. i r ! Rysunki 2.11 i 2.12 obrazują rezultaty obliczeń dla MDP typu II. Na rysunku 2.11 .widzimy reprezentatywne wyniki, odpowiadające Qak w przypadku typu I) zbieżności rozwiązania do optimum mimo występującej zwodniczości. Jednak nie wszystkie prob lemy typu II zachowują się w taki sposób; jeśli komplementarny schemat 00 występuje inicjalnie w nadmiernej proporcji, to schemat 11 może ulec przewadze, co kończy się zbieżnością do rozwiązania suboptymalnego. Reprezentatywne wyniki odpowiadające
fRys. 2 il1 . Rozwiązanie numeryczne dla minimalnego problemu zwodniczego typu II (przypadek „zbieżny"): r=1,1, c=0,9, c'=0,5. Jednakowe frekwenc]e początkowe
TYPII:F00>FO1
Przypadekrozbieżny
Rys. 2.12. Rozwiązanie numeryczne dla minimalnego problemu zwodniczego typu II (przypadek „rozbieżny” ): r=1,1, c=0,9, c'=0,5. Niejednakowe frekwencje początkowe
70
2. Podstawy matematyczne algorytmów genetycznych
temu ostatniemuprzypadkowi pokazano na rys. 2.12. Można podaćprostewarunki do stateczne na to, by problemy typu n miały rozwiązania zbieżne do optimum (Goldberg, 1987b); co dziwniejsze, wszystkie problemy typu II mają tę własność dlawiększości warunków początkowych. W ostatnim czasie (Bridges, Goldberg, 1987; Goldberg, 1987a)przedstawioną tu metodę analizy udało się rozszerzyć na problemy wyższego rzędu. Dzięki innym pracom należącym do tego samego nurtu być może uda się podać konstruktywną definicję prob lemów AG-trudnych. Wszystko to odnosi się, oczywiście, do kodowania stałopozycyjnego. Operacje rekonfiguracji, takie jak inwersja, są być może odpowiedzią przyrody na problemy zbyt trudne dla elementarnego AG. Omówienie podobnych operacji oraz ich analizę odlożymy do rozdziału 5.
2.7. Jeszcze o schematach: wzorce podobieństwa jako hiperpłaszczyzny________________________________ W ostatnich dwóch punktach spoglądaliśmy ńa schematy z dwóch punktów widzenia: przedstawienie graficzne ukazało związek przetwarzania schematów z operacjami na funkcjach okresowych, natomiast minimalny problem zwodniczy pozwolił nam ujrzećje w kontekście współzawodnictwa ekologicznego. Jeszcze inne dogodne ujęcie uzyskamy, przyjmując bardziej geometryczny sposób patrzenia na leżącą u podstaw przestrzeń cią gów kodowych. W celu pobudzenia wyobraźni geometrycznej, rozważmy ciągi i schematy o długo ści / = 3. Przy tak krótkich ciągach nietrudno przedstawić naszą przestrzeń poszukiwań w postaci gralicznej (rys. 2.13), Punktami tej przestrzeni są ciągi kodowe lub schematy rzędu 3. Linie proste, jak widać na diagramie, odpowiadają schematom rzędu 2. Płasz czyzny są schematami rzędu I, a całej przestrzeni odpowiada schemat rzędu 0, czyli ***.
Rys. 2.13. Schematy jako hiperplaszczyznyw przestrzeni trójwymiarowej
flfal' Podsumowanie
71
Prawidłowości te przenoszą się na przypadek przestrzeni o większej liczbiewymiarów, musimy jednak porzucić przy tym proste wyobrażenia geometryczne ograniczone do przestrzeni trójwymiarowej. Punkty, proste i płaszczyzny odpowiadające schematom o długości 3 przechodzą w przestrzeni n-wymiarowej w hiperpłaszczyzny o różnych wymiarach. Możemy więc uważać, że w poszukiwaniu lepszych rozwiązań algorytm genetyczny „przenika podziały” tworzone przez różne hiperpłaszczyzny.
2.8. Podsumowanie W,niniejszym rozdziale dokonaliśmy bardziej rygorystycznej oceny zachowania się al gorytmu genetycznego za pomocą dokładnej analizy schematów (wzprców podobień stwa). Najważniejszy wynik, zawarty w podstawowym twierdzeniu algorytmów gene tycznych, stwierdza, że dobrze przystosowane schematy o małej rozpiętości i niskim rzędzie rozprzestrzeniają się w kolejnych pokoleniach w rosnących co najmniej wykład niczo porcjach. Dzieje się tak, ponieważ wskutek reprodukcji lepsze schematy otrzymują większą liczbę reprezentantów, a krzyżowanie proste nie narusza zbyt często schematów o malej rozpiętości. Mutacje występują stosunkowo rzadko, nie wywierają więc wiel kiego wpływu na te ważne schematy. Wykładniczy charakter propagacji znajduje swoje racjonalne uzasadnienie w związku z optymalnym rozwiązaniem zagadnienia dwuramiennego bandyty. Dzięki takiemu sposobowi wyzyskiwania podobieństw, zlożoność dowolnych pro blemów rozwiązywanych za pomocą algorytmu genetycznego ulega zmniejszeniu. Owe ponadprzeciętne, krótkie, niskiego rzędu schematy (zwane cegiełkami) stanowią w pew nym sensie rozwiązania częściowe, a algorytm genetyczny odkrywa nowe rozwiązania drogą rekombinacji najlepszych częściowych rozwiązań obecnych w bieżącej populacji. U podstaw elementarnego algorytmu genetycznego leży zalożenie, zwane hipotezą cegiełek, zgodnie z którym składanie schematów-cegiełek prowadzi istotnie do ulep szania rozwiązań. Transformacje Walsha dostarczają ważnego narzędzia służącego do rozstrzygania, czy określony problem nadaje się do rozwiązania za pomocą elementar nego algorytmu genetycznego. Wyniki prac prowadzonych na tym polu zdają się wska zywać, że funkcje AG-trudne (tzn. takie, które nie dają się łatwo optymalizować za pomocą elementarnego algorytmu genetycznego) zawierają izolowane optima, na podo bieństwo igły w stogu siana; takie przypadki sprawiają jednak klopot również innym technikom otymalizacji, nie tylko algorytmom genetycznym. Dzięki analizie minimalnego problemu zwodniczego (MDP) - najprostszego prob lemu, mogącego potencjalnie „zwieść na manowce” elementarny algorytm genetyczny - uzyskaliśmy dodatkowy wgląd w jego zachowanie. Wydaje się zaskakujące, że dla większości prawdopodobnych warunków początkowych MDP nie jest AG-trudny. Ina czej mówiąc, choć skonstruowaliśmy trudną i zwodniczą funkcję (z silną epistazą), al gorytm genetyczny najczęściej nie pozwala wyprowadzić się w pole. Jest to okoliczność zachęcająca i bez wątpienia w znacznym stopniu odpowiedzialna za sukcesy empiryczne algorytmów genetycznych w rozwiązywaniu zagadnień, w których występuje epistaza.
72
2. Podstawy matematyczne algorytmów genetycznych
Rozumiejąc już lepiej działanie algorytmów genetycznych, w następnym rozdziale zaprogramujemy elementarny algorytm genetyczny w Pascalu i zbadamy jego zachowa nie dla przykładowego zadania.
2.9. Zadania ________ _____________________________ . 2.1. Rozważmy trzy ciągi kodowe A,= 11101111, A2=000I0100 i A,=01000011 oraz sześć schematów Ht = l*******, H2=0*******, H3= ******ll, fl^ = ***0*00*, W,= 1*****1* i H( = 1110** 1*. Które schematy pasują do których ciągów? Podaj rząd i rozpiętość dla każdego z powyższych schematów. Oszacuj prawdopodobieńs two przeżycia przy mutacji każdego z tych schematów dia prawdopodobieństwa pojedynczej mutacji p,,, = 0,001. Oszacuj prawdopodobieństwo przeżycia schema tów przy krzyżowaniu dla prawdopodobieństwa krzyżowania p,.=0,85. 2.2. Populacja składa się z następujących ciągów kodowych w pokoleniu 0: Nr
Ciąg
Przystosowanie
1 2 3 4
10001 11100 00011 01000
20 10 5 15
Prawdopodobieństwo mutacji wynosi p,,, = 0,01, a prawdopodobieństwo krzyżowa nia pc= 1,0. Wyznacz oczekiwaną liczbę reprezentantów schematów 1**** i 0**1* w pokoleniu 1. 2.3. Obmyśl trzy metody dokonania reprodukcji i oszacuj oczekiwaną liczbę reprezen tantów schematów w następnym pokoleniu dla każdej z tych metod. 2.4. Przypuśćmy, że wykonujemy operację typu krzyżowania, w której wybiera się dwa punkty krzyżowania i wymienia segmenty ciągów zawartych między tymi dwoma punktami: xxxI xxI xx
xxxyyxx —
yyyi yyi yy
> y y y x x y y*
Wyznacz dolne ograniczenie prawdopodobieństwa przeżycia schematu o rozpięto ści 8 i rzędzie o dla tej operacji. Wykonaj analogiczne obliczenia dla przypadku, gdy traktujemy ciągi jak zamknięte pierścienie (tzn. zakładamy, że lewy koniec sąsiaduje z prawym). 2.5. Ile istnieje schematów dla ciągów kodowych o długości /= 10, 20, 30, jeśli używa my alfabetu dwójkowego? Ile istnieje takich schematów rzędu 3? Podaj rozsądne ograniczenia dolne i górne dla liczby schematów biorących udział w przetwarzaniu
2.10. ćwiczenia komputerowe
2.6.
2.7.
2.8.
2.9.
73
przy długości ciągów /= 10, 20, 30 i wielkości populacji /» = 50. Przyjmij, że roz miar znaczących schematów-cegiełek wynosi 10% pełnej długości ciągu. Przypuśćmy, że ciągikodowe pasujące do schematu H mają wskaźnik przysto sowania o 25% wyższy od średniej dla bieżącej populacji. Jeśli prawdopodobień stwa zniszczenia tego schematu podczas mutacji i krzyżowania są zaniedbywalne i jeśli w pokoleniu 0 występuje jeden reprezentant rozważanego schematu, to w którym pokoleniu sehęmat H zmonopolizuje populacje o wielkościach « = 20, 50, 100 i 200? Przypuśćmy, że ciągi kodowe pasujące do schematu H mają wskaźnik przystosowa nia o 10% niższy od średniej dla bieżącej populacji. Jeśli prawdopodobieństwa zniszczenia tego schematu podczas mutacji i krzyżowania są zaniedbywalne i jeśli 60% ciągów kodowych w pokoleniu 0 pasuje do rozważanego schematu, to w któ rym pókoleniu schemat H zniknie z populacji o wielkościach « = 20, 50, 100 i 200? Wyprowadź dokładniejszy wzór na liczbę schematów reprezentowanych w wyge nerowanej losowo populacji o wielkości /n, jeśli dlugość ciągów kodowych wynosi /. (Wskazówka: Wyznacz prawdopodobieństwo braku reprezentantów schematów danego rzędu i oblicz stąd prawdopodobieństwo wystąpienia schematów mających jednego lub więcej reprezentantów.) Zaznacz obszary odpowiadające schematom l****$*, ******o, 111111*, 10*+***, *****01, **H 1** w przestrzeni rozwiązań {0, 1 ,..., 127} przy zastosowaniu dwój kowego zapisu pozycyjnego.
______________________________2.10. Ćwiczenia komputerowe A. Funkcja przystosowania dlajednobitowych ciągów kodowych przyjmuje dwie warto-
sci/,=const i/o = const. Wyprowadź związki rekurencyjne dla oczekiwanych frek wencji jedynek w procesie reprodukcji, zakładając nieskończoną wielkość populacji. Napisz odpowiedni program i wyznacz zajego pomocą oczekiwane frekwencje jedy nek dla kolejnych pokoleń od 0 do 100, zakładając równe frekwencje początkowe zer i jedynek i przyjmując, że stosunek r=f\/f„ wynosi 1,1, 2, 10. B. Wykonaj ćwiczenie A dla przypadku reprodukcji połączonej z mutacją, przy praw dopodobieństwach mutacji pm= 0,001, 0,01, 0,1. C. Rozważmy następujące schematy rzędu 2 i odpowiadające im wskaźniki przysto sowania: ++l++*l**
/;,
....... .
/,„
**0***1** **0+**0**
fm fm
Zakładając stałość wskaźników przystosowania, wypisz związki rekurencyjne dla frekwencji każdego z czterech powyższych schematów (11, 10, 01, 00) w procesie
74
2. Podstawy matematyczne algorytmów genetycznych
reprodukcji połączonej z krzyżowaniem i mutacją. Upewnij się, że uwzględniłeś we właściwy sposób wyrazy określające „zyski” i „straty” z tytułu krzyżowania. Napisz odpowiedni program i dokonaj symulacji zachowania się dużej populacji dla danych z rys. 2.10. Porównaj wyniki otrzymane dlap,,, = 0,001, 0,01 i 0,l.z wynikami przed stawionymi na rys. 2.10. D. Oblicz średnie wskaźniki przystosowania dla wszystkich 35 schematów w przypadku funkcji przystosowaniaf(x)= x1 określonej dla liczb całkowitych z przedziału [0, 31] i kodowania przy użyciu pięciopozycyjnego zapisu dwójkowego. Stwierdź na pod stawie otrzymanych wyników, czy masz do czynienia z problemem zwodniczym. E. Obmyśl funkcję przystosowania i trzybitowy kod określające problem AG-zwodniczy. Dowiedź jego zwodniczości obliczając średnie wskaźniki przystosowania wszystkich 3;' schematów.
Rozdział
3
Implementacja komputerowa algorytmu genetycznego
Zetknąwszy się po raz pierwszy z algorytmami genetycznymi, wielu użytkowników wa ha się, nie wiedząc jak i od czego zacząć. Z jednej strony taka niechętna reakcja może dziwić. Przecież, jak widzieliśmy w dwóch pierwszych rozdziałach, algorytmy genetycz ne są technicznie całkiem proste, nie wymagają niczego prócz generowania liczb loso wych oraz kopiowania ciągów kodowych i wymiany ich fragmentów. Z drugiej strony ta absolutna prostota sama stanowi problem dla wielu użytkowników i programistów dzia łających w sferze biznesu, nauki lub techniki, są to bowiem ludzie nawykli do używania i pisania wysoce zaawansowanych programów, opartych na złożonych podstawach mate matycznych, korzystających z powiązanych wzajemnie baz danych i wykonujących za wiłe obliczenia. W dodatku ludzie ci czują się najpewniej, mając do czynienia z budzącą zaufanie powtarzalnością deterministycznych programów komputerowych. Bezpośrednie działania na ciągach bitów, projektowanie specjalnych programów, a nawet losowy cha rakter operacji wykonywanych przez algorytm genetyczny - wszystko to stanowi serię przeszkód trudnych do przebycia. Aby pokonać powyższe trudności, skonstruujemy w tym rozdziale struktury da nych i algorytmy niezbędne do implementacji opisanego wcześniej elementarnego al gorytmu genetycznego. W szczególności, napiszemy w Pascalu program o nazwie SGA '{śimple genetic algorithm), realizujący reprodukcję, krzyżowanie i mutację w ramach rozłącznych pokoleń ciągów kodowych - w zastosowaniu do optymalizacji prostej funk cji jednej zmiennej, zakodowanej w układzie dwójkowym. Przedyskutujemy także kilka zagadnień dotyczących implementacji, takich jak dyskretyzacja parametrów, rodzaje ko dów, wprowadzanie więzów i przekształcanie funkcji przystosowania, z którymi można się spotkać w rozmaitych zastosowaniach algorytmów genetycznych.
76
3. Implementacja komputerowa algorytmu genetycznego
i.
3.1. Strukturydanych___________________ Algorytmy genetyczne działają na populacjach złożonych z ciągówkodowych. Nic więc dziwnego, że podstawową strukturę danych dla algorytmu genetycznego stanowi popula cja ciągów. Istnieją rozmaite sposoby implementacji takich populacji. Dla potrzeb SGA wybierzemy najprostszą metodę: zrealizujemy populację w postaci tablicy osobników [individual], przy czym każdy osobnik składa się z fenotypu [phenotype], tj. odkodowanego parametru (parametrów), genotypu [genotype], tj. sztucznego chromosomu (ciągu kodowego), wskaźnika przystosowania (wartości funkcji celu) fitness] oraz pewnych pomocniczych informacji. Na rys. 3.1 przedstawiono schematyczną postać populacji. Fragment programu w Pascalu z wyd. 3.1 zawiera definicję typu reprezentującego popu lację [population] w omawianym modelu. Nawet bez formalnej znajomości Pascala, Czytelnik nie powinien mieć większych trudności z uchwyceniem istoty tej specyfikacji. __________Osobnlkl__________ Numer __ osobnika Ciąg kodowy x f(X> Inne ______1______ 01111 15 525 2 01001 9 81 3
*
____n_____
00111
7
49
Rys. 3.1. Struktura populacji ciągów kodowych w algorytmie genetycznym
Na wydruku 3.1 widzimy definicje dwóch stałych: maksymalnego rozmiaru popu lacji - maxpop i maksymalnej długości ciągu kodowego - maxstring. Narzucają one górne ograniczenia na wielkość populacji i dlugość ciągu. Po definicjach stałych na stępują definicje samej populacji i jej składowych Qso słowie kluczowym type). Jak widać, typ population stanowi tablicę elementovA typ® individual (o zakresie od 1 do maxpop). Typ individual stanowi rekord złożony z pól chrom (typu cluvmosome),fitness (typu real) oraz x (typu real). Reprezentują one odpowiednio sztuczny chromosom, wskaźnik przystosowania i odkodowany parametr *'. Z kolei typ chromosome sam jest tablicą (o zakresie od 1 do maxstring) elementów typu allele\ ten ostatni jest w tym przypadku synonimem typu hoolean (obejmującego jednobitowe wartości true i false).
0 Tj. wartość liczbową odpowiadającą chromosomowi (przyp. tliim.).
77
PP'?' Struktury danych c o n s t raaxpop m a x s t r in g
- 1Q0; - 3 0;
ty p e
- b o o le a n ; { A l l e l e - b i t p o s i t i o n } - a r r a y [l..m a x s tr in g ] o f a l le le ; { S tr in g - re c o rd
a lle le chrom osom e in d iv id u a l
ch ro m :ch ro m o so m e ; x :r e a l; t it n e s s :r e a l; - p a r e n t l, p a rc n t2 , end; p o p u la tio n
- a r r a y {l..m a x p o p )
( { { x
o f b its
}
G e n o ty p e - b i t s t r i n g ) p h e n o ty p e - u n s ig n e d i n t e g e r } O b je c t iv e fu n c t io n v a lu e } s it e :in t e g e r ; ( p a re n ts & c ro s s
pt
)
o f in d iv id u a l;
Wyd. 3.1. Elementarny algorytm genetyczny, SGA, definicje struktur danych w Pascalu
3 . W programie SGA operacje genetyczne stosujemy w każdym pokoleniu do całej populacji, jak widać na rys. 3.2. Aby uprościć tworzenie potomków i zastępowanie rodziców, program korzysta z dwóch tablic (oldpop i newpop) odpowiadających rozłącziiym populacjom. Ich deklaracje, wraz z deklaracjami innych zmiennych o zasięgu globalhym, podane są w wyd. 3.2. Mając do dyspozycji dwie tablice, możemy bez trudu 2 używając operacji genetycznych - utworzyć potomstwo elementów oldpop, umieścić je w newpop, a następnie, gdy już jesteśmy gotowi - skopiować newpop do oldpop. Istnieją inne, bardziej oszczędne pamięciowo metody operowania na populacjach. Moglibyśmy używać jednej tablicy z „mieszaną” populacją, zwracając pilną uwagę na to, kto za stępuje kogo w kolejnych pokoleniach. Nie ma też szczególnego powodu, aby utrzymy wać stałą wielkość populacji. Populacje występujące w przyrodzie z całą pewnością zmieniają swą wielkość. Także w przypadku zastosowania algorytmów genetycznych /miany rozmiaru populacji z pokolenia na pokolenie mogłyby okazać się korzystne. ecInak tutaj bardziej zależy nam na zachowaniu maksymalnej prostoty i dlatego wy;bfeliśmy rozłączne populacje o stałej wielkości. W późniejszych rozdziałach, poświęco nych tematyce maszyn uczących się, będziemy musieli jeszcze raz zmierzyć się z prob lemami dotyczącymi populacji. V' Mąjąc zaprojektowane i zaprogramowane struktury danych, powinniśmy teraz zająć się operacjami genetycznymi decydującymi o działaniu SGA - reprodukcją, krzyżowaniem Pokolenie
Pokolenie
T
T + 1 t
e
3 4
\ \
Reprodukcja Mutacja Krzyżowanie
\ ) / /
N
-
1 N
Rys. 3.2. Przejście od starego do nowego pokolenia w SGA
78
3. Implementacja komputerowa algorytmu genetycznego
o ld p o p , n e w p o p : p o p u l a t i o n ; p o p s i z e , lc h r o r a , g e n , in n x g e n : in t e g e r ; p c r o s s , p m u t a t io n , s u m f i t n e s s : r e a l ; n m u ta tio n , n c r o s s : i n t e g e r ; a v g , m ax, m i n : r e a l ;
( { { t I
Two n o n - o v e r la p p in g p o p u l a t i o n s In t e g e r g lo b a l v a r ia b l e s J R e a l g lo b a l v a r ia b l e s } In t e g e r s t a t i s t i c s ) Real s ta tis tic s }
}
Wyd. 3.2. SGA, deklaracje zmiennych globalnych w Pascalu
i mutacją. Przedtemjednak musimy omówić kiika ważniejszych zmiennych o charakterze globalnym wpływających na przebieg wykonania całego programu. Patrząc raz jeszcze na wyd. 3.2, możemy zauważyć pewną liczbę zmiennych typu integer. Są wśród nich zmienne popsize, lchrom i gen. Reprezentują one odpowiednio wielkość populacji (którą oznaczaliśmy //.), dlugość ciągu kodowego (/) oraz numer pokolenia (/). Prócz tego, zmienna nmxgen określa górną granicę liczby pokoleń. Na wydruku 3.2 widać także kilka zmiennych typu real: pcross, pmutation, swnfitness, avg, max i min. Zmienne pcross i pmutation określają prawdopodobieństwa krzyżowania i mutacji (pc i pn). Zmienna sumfltness reprezentuje sumę wskaźników przystosowania w populacji (£j0- Odgrywa ona ważną rolę w selekcji proporcjonalnej (wg reguły ruletki). Paru zmiennych globalnych jeszcze nie omówiliśmy; pelny wydruk programu zostal zamieszczony w dodatku B.
3.2. Reprodukcja, krzyżowanie, mutacja Każda z trzech operacji prostego trzyczęściowego algorytmu może być zrealizowana w postaci nieskomplikowanej procedury. Nie ma w tym nic dziwnego, wszak głośno i zachwalaliśmy prostotę mechanizmu działania tych operacji. Nim zajrzymy w głąb każ dej procedury, przypomnijmy sobie wspólną cechę wszystkich trzech operacji: zależność od losowego wyboru. W podanych niżej podprogramach zakłada się istnienie trzech ’ następujących funkcji: random flip
-
nul
-
przyjmuje jako wartość liczbę pseudoiosową z przedziału [0,1 ] (zmienna loso wa o rozkładzie jednostajnym na [0,1]); przyjmuje z zadanym prawdopodobieństwem wartość boolowską true (model próby Bernoulliego); przyjmuje zjednakowym prawdopodobieństwem wartości całkowite między zadanymi liczbami.
Operacja reprodukcji została zaimplementowana w SGA w postaci funkcji select, realizującej wyszukiwanie liniowe na tarczy ruletki wykalibrowanej proporcjonalnie do wskaźników przystosowania ciągów kodowych. W wyniku wywołania funkcja select (wyd. 3.3) przyjmuje wartość indeksu odpowiadającego wybranemu osobnikowi. Zmienna rzeczywista partsum sluży do akumulacji sum częściowych wskaźników przystosowania, wykorzystywanych w tym procesie. Zmienna rzeczywista rand wskazuje położenie, w któ rym tarcza zatrzymała się po wykonaniu losowego obrotu wokót osi, określonego przez instrukcję
v3.2 Reprodukcja, krzyżowanie, mutacja f u n c t io n s e l e c t ( p o p s i z e : i n t e g e r ; s u r a f lt n e s s : r e a l ; v a r p o p :p o p u la tio n ):in te g e r ; { S e le c t a s in g le in d iv id u a l v i a r o u le t t e w h ee l s e le c t io n ) v a r r a n d , p a r t s u m : r e a l ; ( Random p o i n t o n w h e e l, p a r t i a l sum } j:in te g e r ; { p o p u la t io n in d e x } b e g in p a rts u m :~ 0 . 0 ; j : — 0 ; { Z e r o o u t c o u n t e r a n d a c c u m u la t o r ) r a n d : - random * s u m f i t n e s s ; { W h e e l p o i n t c a l c , u s e s rando m num ber [ 0 , 1 ] re p e a t { F in d w h e e l s l o t ) j :- j + 1; p a r ts u m : - p a r ts u m + p o p [ j ] . f i t n e s s ; u n t i l (p a r t s u m >- r a n d ) o r ( j — p o p s i z e ) ; { R e t u r n i n d i v i d u a l num ber ) s e le c t :— j ; en d ;
79
)
Wyd. 3.3. Funkcja paskalowa s e le c t implementuje selekcję wg reguly ruletki *
rand := randoro * sumfitness
Suma wszystkich wskaźników przystosowania (obliczona w procedurze statistics) zo staje tu pomnożona przez znormalizowaną-liczbę pseudolosową wygenerowaną przez random. Następnie w pętli repeat-untił poszukuje się pierwszej sumy częściowej nie •mniejszej od krytycznej wartości rand. Wywolanie kończy się przypisaniem funkcji select wartości bieżącego indeksu osobnika j. Jest to zapewne najprostsza metoda implementacji wyboru z populacji. Istnieją bardziej efektywne sposoby urzeczywistnienia tej operacji (wyszukiwanie binarne z pew nością przyspieszy bieg spraw), a także wiele innych metod tendencyjnego wyboru za kładających uprzywilejowanie najlepszych osobników. Z niektórymi z nich zapoznamy |się w następnych rozdziałach, na razie jednak poprzestaniemy na tym podstawowym mechanizmie. Podprogram select dostarcza nam prostego narzędzia wyboru osobników do na stępnego pokolenia0. Jak pamiętamy z wcześniejszego opisu, następnym krokiem jest krzyżowanie. W SGA operacja krzyżowania została zrealizowana w postaci procedury ^,nazwie crossover (wyd. 3.4). Podprogram ten pobiera dwa rodzicielskie ciągi kodowe parentl oraz parent2 i wytwarza dwa ciągi potomne childl oraz child2, Do procedury są przekazywane prawdopodobieństwa krzyżowania pcross i mutacji pmutation, a także [długość ciągu kodowego lchrom, licznik krzyżowań .ncross i licznik mutacji nnmtation. Instrukcje wewnątrz procedury crossover odzwierciedlają opis operacji krzyżowa nia podany w rozdziale 1. Na wstępie podejmujemy decyzję, czy będziemy dokonywać skrzyżowania danej pary chromosomów rodzicielskich. Konkretniej, wykonujemy rzut tendencyjną monetą, dla której órzeł {true) wypada z prawdopodobieństwem pcross. Doświadczenie tojest symulowane za pomocą wywołania funkcji boolowskiej//;p, która z kolei wywołuje generator liczb pseudolosowych random. Jeżeli decyzja jest pozytyw na, trzeba wybrać punkt krzyżowania między 1 a ostatnim możliwym miejscem. Punkt krzyżowania zostaje wylosowany za pomocą wywótania funkcji nul, która generuje
11 Wlaściwie do puli rodzicielskiej Qirzyp. tlum.).
8 0 ---------------------------------------------------- 3. Implementacja komputerowa algorytmu genetycznego
l; pseudolosową liczbę całkowitą zawartą między dwiemawskazanymi liczbami (tj. 1 i lchrom- 1). Jeżeli decyzja w sprawie krzyżowaniajest negatywna, punkt krzyżowania otrzymuje wartość lchrom (czyli leży za chromosomem), dziękiczemurównoległa ope racja mutacji zostanie wykonana mimo braku krzyżowania. W końcii, w dwóch pętlach for-do stanowiących zakończenie procedury, dokonuje się częściowa wymiana genów związana z operacją krzyżowania. W pierwszej pętli część materiału genetycznego zo staje skopiowana z parentl do childI oraz z parent2 do child2. W drugiej pętli pozostały materiał genetyczny zostaje skopiowany z parentl do child2 oraz z parent2 do childl. W obu przypadkach kopiowane geny mogą ulegać mutacji realizowanej za pomocą wy wołania boolowskiej (czy też „allelicznej” ) funkcji mutation. p r o c e d u r e c r o s s o v e r ( v a r p a r e n t l , p a r e n t 2 , c h i l d l , c h ild 2 ;c h r o m o s o m e ; v a r lc h r o m , n c r o s s , n m u t a t io n , j c r o s s : i n t e g e r ; v a r p c ro s s , p m u ta tio n :r e a l); ( C ro s s 2 p a r e n t s t r i n g s , p l a c e i n 2 c h i l d s t r i n g s } v a r j : in te g e r; b e g in i f f l i p ( p c r o s s ) th e n b e g in { Do c r o s s o v e r w i t h p ( c r o s s ) ) jc r o s s :- r n d (l, lc h r o m - l) { C r o s s b e tw e e n 1 a n d 1-1 ) n c r o s s : - n c r o s s + 1; { In c r e m e n t c r o s s o v e r c o u n t e r ) en d e l s e ( O t h e r w is e s e t c r o s s s i t e t o f o r c e m u t a t i o n j c r o s s : - lc h r o m ; { 1 s t e x c h a n g e , 1 t o 1 a n d 2 to 2 f o r j :*• 1 t o j c r o s s do b e g i n c h i l d l [ j ] :- m u t a t io n (p a r e n t l(j] p m u t a t io n , n m u t a t i o n ) ; c h ild 2 [ j] :- m u t a tio n (p a r e n t 2 [jJ p m u t a t io n , n m u t a t i o n ) ; en d ; ( 2nd e x c h a n g e , 1 t o 2 a n d 2 t o 1 ] i f jc r o s s O lc h r o r a th e n { S k i p i f c r o s s s i t e i s lc h ro m - - n o c r o s s o v e r } f o r j : - jc r o s s + 1 t o lc h r o m do b e g i n c h i l d l ( j J : - m u t a t i o n ( p a r e n t 2 [ j ] , p m u t a t io n , n m u t a t i o n ) ; c h i l d 2 [ j ] : — m u t a t i o n ( p a r e n t l ( j j , p m u t a t io n , n m u t a t i o n ) ; end; en d ;
)
)
Wyd. 3.4. Procedura
c ro s s o v e r
implementuje krzyżowanie proste flednopunktowe)
Funkcja mutation (wyd. 3.5) decyduje o mutacji poszczególnych genów. Korzysta ona z funkcji flip (rzut tendencyjną monetą) w celu określenia, czy należy zmienić tnie na false (1 na 0) lub odwrotnie - czy też nie należy. Oczywiście flip - w rezultacie wywołania generatora liczb pseudolosowych random - da orła (tj. wartość true) przeciętf u n c t i o n m u t a t i o n ( a l l e l e v a l : a l l e l e ; p m u t a t io f o ;r e a l ; v a r n m u t a t io n :in t c g e r $ :a l^ le ; ( M u t a t e a n a l l e l e w / p m u t a t io n , c o u n t num ber o f m u t a t io n s v n r m u t a t e : b o o le a n ; bogŁn m u ta te : « f l i p ( p m u t a t i o n ) ; { F l i p th o b i a s e d c o i n ) i f m u ta te t h e n b e g i n n m u t a t io n :~ n m u t a t io n + 1; m u t a t io n : - n o t a l l e l e v a l ; { Chang e b i t v a l u e ) end e ls e m u t a t io n : - a l l e l e v a l ; ( No c h a n g e } end;
Wyd. 3.5. Funkcja paskalowa
m u ta tio n
)(
implementuje mutację punktową (jednobitową)
3,3;'Gzas reprodukcji, czas krzyżowania_____________________________________________ 81
niejedynie w pmutation ■100 procentach przypadków. Podprogram rejestruje także liczhę.dokonanych mutacji, zwiększając za każdym razem wartość licznika nmutationo 1. Podobniejak w przypadku reprodukcji jest możliwe ulepszenie implementacji. Na przy kład wielu wywołań generatora liczb losowych można by uniknąć, decydując, kiedy ma nastąpić kolejna mutacja, zamiast wywoływać za każdym razem funkcję flip. I znów, jak poprzednio w tym rozdziale, zrezygnujemy z zawiłych udoskonaleń, zadowalając się podstawowym mechanizmem. |;r I tak oto trzy główne elementy naszej układanki algorytmicznej okazały się nie takie znów trudne do złożenia. W punkcie tym pokazaliśmy, że każdy z nich można łatwo zaprógramować i zrozumieć. W następnym punkcie będziemy kontynuować skła danie jeszcze większego „obrazka” algorytmu genetycznego, koordynując wzajemnie reprodukcję, krzyżowanie i mutację w ramach jednego pokolenia.
^ ___________________ 3.3. Czas reprodukcji, czas krzyżowania Z laką Wielką Trójką - zaprojektowaną i zaprogramowaną - utworzenie nowej populacji ize starej nie przedstawia już wielkiej trudności. Odpowiedni ciąg instrukcji jest podany ;lWwyd. 3.6, w procedurze generation. Zaczynając od indeksu j= 1 i kontynuując pop ro ce d u re g e n e r a tio n ; ( C r e a t e a new g e n e r a t i o n t h r o u g h s e l e c t , c r o s s o v e r , { N o t e : g e n e r a t i o n a ssu m es a n e v e n - n u m b e re d p o p s iz e v a r j , m a t e l , m a te 2 , j c r o s s : i n t e g e r ; b e g in
and m u ta tio n
) )
j : - 1; re p e a t { s e l e c t , c r o s s o v e r , a n d m u t a t io n u n t i l newpop i s f i l l e d } m a t e l : - s e l e c t ( p o p s i z e , s u m f i t n e s s , o ld p o p ) ; { p i c k p a i r o f m a te s ) m ate2 : - s e l e c t ( p o p s i z e , s u m f i t n e s s , o ld p o p ) ; ( C ro sso v e r a n d m u t a t i o n - m u t a t io n em bedded w i t h i n c r o s s o v e r ) c r o s s o v e r ( o l d p o p [ m a t e l ] . c h r o m , o ld p o p [m a t e 2 ] .c h r o m , n e w p o p [j ] . c h r o m , n e w p o p [j + l ] . c h r o m , lc h r o m , n c r o s s , n m u t a t io n , j c r o s s , p c r o s s , p m u t a t i o n ) ; { D e co d e s t r i n g , e v a l u a t e f i t n e s s , & r e c o r d p a r e n t a g e d a t a o n b o t h c h i l d r e n w i t h n e w p o p [j ] do b e g i n x : - d e c o d e (c h r o m , l c h r o m ) ; f i t n e s s :- o b jf u n c (x ) ; p a r e n t l :- m a t e l; p a r e n t 2 : - m a te 2 ; x s it e :- jc r o s s ; end; w i t h n e w p o p [ j + l] do b e g i n x : - d e c o d e (c h r o m , lc h r o m ) ; f it n e s s :- o b jf u n c (x ); p a r e n t l ' :*» m a t e l ; p a r e n t 2 : - m a te 2 ; x s it e :- j c r o s s ; end; { I n c r e m e n t p o p u l a t i o n in d e x ) j : - j + 2; u n t i l j> p o p s iz e en d ;
Wyd. 3.6. Procedura
g e n e ra tio n
tworzy nową populację z poprzedniej
)
82
3. Implementacja komputerowa algorytmu genetycznego
stępowanie aż do przekroczenia wielkości populacji popsize, wybieramy parę partnerów matel i mate2 za pomocą dwukrotnego wywołania funkcji select. Następnie przeprowa dzamy krzyżowanie chromosomów połączone z mutacją, używając do tego procedury crossover (która z kolei zawiera niezbędne wywołania funkcji mutation). W ostatnim porywie dzikiej aktywności dekodujemy parę chromosomów, oblicżamy wskaźniki przy stosowania (wartości funkcji celu) i zwiększamy indeks osobników j o 2. Zapoznawszy się szczegółowo z podprogramami select, crossover i mutalion, mo żemy teraz skupić się na dwóch dalszych, zasygnalizowanych wyżej. Są to podprogramy związane z zastosowaniami. Dla każdego zadania musimy napisać procedurę dekodującą ciągi (chromosomy), służącą do odtwarzania wartości parametru (czy też parametrów) charakteryzującego (charakteryzujących) to zadanie. Musimy mieć także procedurę,} która wyznacza na podstawie wartości tego parametru (parametrów) wartość funkcji celu związanej z danym zbiorem parametrów. Te dwie procedury, o nazwach decoile i objfunc, to jedyne miejsca, w których koła algorytmu genetycznego dotykają szosy zastosowań. Dla różnych zastosowań będą niekiedy potrzebne różne procedury dekodu jące (chociaż pod koniec tego punktu omówimy pewne standardowe procedury, której okazały się użyteczne w szerszym zakresie), a w każdym razie - różne procedury ewalu-l acji funkcji przystosowania. Powiedziawszy, to wszystko, warto by jednak skupić się naj konkretnej procedurze dekodującej i konkretnej funkcji przystosowania. Aby zachować j ciąglość z wcześniejszym materiałem, pozostaniemy przy użyciu zwykłego kodu dwój kowego oraz prostej funkcji potęgowej jako funkcji przystosowania, zwiększając jednak j wartość wykładnika do 10 ^'(.v)=.v"1).
'
f u n c t i o n d e c o d e (c h ro m :c h ro m o s o m e ; l b i t s : i n t e g e r ) : r e a l ; ( D ecode s t r i n g a s u n s ig n e d b i n a r y i n t e g e r - t r u e - 1 , f a l s e - 0 v a r j : in t e g e r ; a ccu m , p o w e r o f 2 : r e a l ; b e g in accum : - 0 , 0 ; p o w e ro f2 :**» 1; f o r j :** 1 t o l b i t s do b e g in i f c h r o m ( j ) th e n accum : - accum + p o w e r o f 2 ; p o w e ro f2 : - p o w e ro f2 * 2; en d ; d e co d e :«• accum ; en d ;
Wyd. 3.7. Funkcja paskalowa
decode
)
dekoduje ciąg dwójkowy do postaci liczbowej
W programie SGA używa się podprogramu dekodującego zrealizowanego w po staci funkcji paskalowej decode (wyd. 3.7). Chrpmd^óm jest dekodowany bit po bicie począwszy od najmłodszego (pozycja 1), przeż sumowanie kolejnych potęg dwójki (zmienna poweroftwo) odpowiadających pozycjom zawierającym wartość true. Wywo łanie kończy się przypisaniem funkcji decode końcowej sumy, zakumulowanej w zmien nej accum. Funkcja celu użyta w SGA to prosta funkcja potęgowa, podobna do tej, z którą mieliśmy do czynienia w rozdziale 1. W programie obliczamy wartość funkcji f (x) = (.v/ coeff)"’. Wartość współczynnika coeff została wybrana tak, aby znormalizo wać parametr .r w przypadku ciągu kodowego o długości lchrom=30. Mamy więc
^.|,.' Program główny ________________________________ „ ________ !_________________ h
fu n c tio n o b j f u n c ( x : r e a l ) : r e a l ; ( F i t n e s s f u n c t i o n - f< x ) - x * * n ) c o n s t c o e f - 1 0 7 3 7 4 1 8 2 3 .0 ; ( C o e f f i c i e n t to n o r m a liz e do m a in n - 10; { Pow er o f x ) b e g in o b jf u n c ; - p o w e r ( x / c o e f , n ) en d ;
83
}
Wyd. 3.8. Funkcja paskalowa o b jfu n c oblicza wartość funkcji przystosowania /(x) = cx10 dla zdekodoWanego parametru x
icoeJf=2**-l = 1073741823. Po znormalizowaniu wartości x maksimum funkcji/(x) wy'Jpada w punkcie * = 2 3" - l i wynosi 1 (dla lchroni = 30). Na wydruku 3.8 jest podana przejrzysta implementacja funkcji celu w postaci funkcji paskalowej objfunc.
!_______'
.................................
i... 3.4. Program główny
Zaprojektowaliśmy struktury danych. Zaprogramowaliśmy operacje genetyczne. Umierpy, dekodować ciągi i obliczać wskaźniki przystosowania. Teraz nadszedl czas, aby okleić ten pakunek taśmą, sprawdzić wytrzymałość i przekazać do dalszego użytku. Wydruk 3.9 przedstawia program główny dla SGA. Zaczyna się on dość niewinnie, od {(Ustawienia licznika pokoleń na 0, gen :- 0. Stopniowo dodajemy, pary, wczytując para,metry programu, generując losową populację, obliczając statystyki dla populacji począt kowej i drukując specjalny raport początkowy - za pomocą procedury initialize. Nie będziemy się tu zatrzymywać nad szczegółami inicjalizacji. Zainteresowany Czytelnik , może odwołać się do dodatku B, gdzie jest zamieszczona pełna treść programu SGA. b e g in { M a ln p ro g ra m ) g en : - 0 ; ( S e t t h i n g s up ) in it ia liz e ; re p e a t 1 M a in i t e r a t i v e lo o p ) g en :«■ g en + 1; g e n e r a t io n ; s t a t i s t i c s ( p o p s i z e , max, a v g , m in , s u m f i t n e s s , n e w p o p ); re p o rt(g e n ); o ld p o p : - new p op; ( a d v a n c e th e g e n e r a t i o n } u n t i l (g e n >- m axgen) end. ( E n d m a in p ro g ra m }
Wyd. 3.9. Program glówny w SGA
Po długich przygotowaniach docieramy wreszcie do głównej pętli programu (in strukcja repeat-until). Teraz raz za razem zwiększamy licznik pokoleń, tworzymy nowe pokolenie za pomocą procedury generation, obliczamy aktualne statystyki w procedurze statistics, drukujemy raport o bieżącym pokoleniu za pomocą procedury report i jednym zamachem dokonujemy wymiany pokolenia: o ld p o p
:= n e w p o p ;
Proces ten jest kontynuowany nieustająco, krok po kroku, do chwili, gdy lieznik pokoleń przekroczy maksimum, zmuszając maszynerię do gwałtownego zatrzymania.
84
3. Implementacja komputerowa algorytmu genetycznego
p ro ced u re s t a t i s t i c s ( p o p s l z e : in t e g e r ; v a r m a x ,a v g ,m in ,s u m v a r p o p :p o p u la C io n ); { C a lc u la t e p o p u la tio n s t a t i s t i c s ) v a r j : in t e g e r ; b e g in ( In itia liz e } s u m fitn e s s :- p o p [ l ] . f i t n e s s ; m in :- p o p [ l ] . f i t n e s s ; max :~ p o p [ l } . f i t n e s s ; ( L o o p f o r max, m in , s u m f i t n e s s } f o r j : — 2 t o p o p s iz e do w i t h p o p ( j ] do s u m fitn e s s :- s u m fitn e s s + f i t n e s s ; { i f fit n e s s > m a x t h e n max ; — f i t n e s s ; ( i f f i t n e s s < r a i n t h e n ra in : — f i t n e s s ; { end; { C a lc u la te a v e ra g e ) a v g : — s u m fitn e s s / p o p s iz e ; end;
fitn e s s : r e a X ;
b e g in A c c u m u la te New max ) New m in )
fitn e s s
sum )
Wyd, 3.10. Procedura s ta tis tic s wyznacza ważne statystyki populacyjne
W pogoni za ogólnym obrazem zapomnieliśmy o kilku istotnych szczegółach. Podprogram statystyczny statistics (wyd. 3.10) oblicza średni, maksymalny i minimalny wskaźnik przystosowania, a także wartość zmiennej sumfitness potrzebną w procedurze selekcji. Przedstawiona wersja procedury statistics może być uznana za minimalne ak ceptowalne rozwiązanie. Moglibyśmy (i zapewne powinniśmy) śledzić wiele innych inte resujących statystyk populacyjnych. Często, na przykład, praktykuje się zbieranie statys tyk dotyczących zbieżności poszczególnych alleli. Można także rejestrować najlepszy zaobserwowany ciąg kodowy albo k najlepszych ciągów. Do bardziej szczegółowych analiz mogą być przydatne odchylenia standardowe lub nawet histogramy populacji. Dzięki zgrupowaniu wszystkich funkcji statystycznych w obrębie jednej procedury moż na łatwo uzupełnić ją o dowolne z wymienionych obliczeń. Procedura report (wyd. 3.11) drukuje pełny raport na temat populacji, włączając w to ciągi kodpwe, wskaźniki przystosowania i wartości parametru x I znowu nie ulega wątpliwości, że w pracy z'algorytmem genetycznym przydałby się bogaty zestaw opcji do tworzenia tabel i wykresów. Prosta procedura report jest wygodnym narzędziem, gdyż umożliwia porównanie - wiersz po wierszu - następujących po sobie pokoleń. To z kolei daje możliwość sprawdzenia operacji genetycznych i analizy zdarzeń prowadzą cych do konstrukcji najlepszych osobników.
3.5. Czy wszystko działa jak należy?______
■ __________
Odbyliśmy mozolny marsz, krok po kroku, centymetr po centymetrze, przez instrukcje programu SGA, zdobywając w ten sposób lepsze pojęcie o tajnikach programowania algorytmu genetycznego. Oczywiście, niejedna droga prowadzi do celu; istnieją publicznie dostępne i działające efektywnie programy optymalizacyjne dla różnych dziedzin proble mowych, wyposażone w rozliczne „wodotryski” (Booker i De Jong, 1985; De Jong, 1982; Grefenstette, 1984a, I984b). My również będziemy stopniowo dodawali różne ważne
85
3,5. Czy wszystko dziata jak należy?
{ re p o rt.s g a :
c o n t a in s w r lte c h r o r a ,
re p o rt
)
p r o c e d u r o w r i t o c h r o m ( v a r o u t : t e x t ; ch ro m :ch ro ra o so ra e; l c h r o m : l n t e g e r ) ; ( W r i t o a chromosome* a s a s t r i n g o f l ' s ( t r u c ' s ) a n d 0 ' s ( f a l s o ' s ) ) v a r J : in te g e r ; b e g in f o r . j :«■ lc h r o m d o w n to 1 do i f c h r o m [J] th e n w r i t e ( o u t , ' l ' ) e ls e w r it e < o u t ,* O i); en d ; p ro ce d u re r e p o r t ( g e n : in t e g e r ) ; { W t lt o th e p o p u la t io n r e p o r t ) c o n s t l i n e l e n g t h — 132; va r J:in te g e r ; b e g in r e p c h a r ( ls t , '- ' , lin e le n g t h ) ; w r i t e l n ( l s t ) ; r e p c h a r ( l s t , ' ', 5 0 ) ; w r i t e l n ( l s t , 'P o p u l a t i o n R e p o r t ') ; r e p c h a r ( ls t ,' ', 2 3 ) ; w r i t e ( l s t , 'G e n e r a t i o n ', g e n - l : 2 ) ; r e p c h a r ( l s t , ' ' , 5 7 ) ; w r l t c l n ( l s t , 'G e n e r a t l o n ', g e n : 2 ) ; w r ite ln (ls t); w r ite (ls t,' # s tr in g x w r ite (ls t,' # p a re n tą x s i t e ') ; w r ite ln (ls t, ' s tr in g x r e p c h a r (ls t ,' - ' ,lin e le n g t h ); w r i t e l n ( l s t ) ; f o r j : - 1 t o p o p s iz e do b e g i n w r it e (ls t ,j:2 , ') ') ; { O ld s t r i n g ) w i t h o l d p o p [ j ] do b e g i n w r ite c h r o r a (ls t,c h r o m ,lc h r o m ); w r i t e ( l s t , ' ' , x :1 0 , ' ' , f i t n e s s : 6 : A , ' ['); end;
f l t n e s s ') ; f i t n e s s ') ;
( New s t r i n g } w i t h n e w p o p [ j ] do b e g i n w r ite (ls t,' ' , j : 2 , ' ) ( ' , p n r e n t l:2 , ' , ' , p a re n t2 :2 , ' ) ', x s it e :2 ,' ') ; w r it e c h r o m (ls t ,c h r o m ,lc h r o m ); w r i t e l n ( l s t , ' ', x : 1 0 , ' ' ; f it n c s s : 6 :A ) ; end; end; r e p c h a r ( l s t , '- * , l i n e l e n g t h ) ; w r i t e l n ( l s t ) ; ( G e n e r a t i o n s t a t i s t i c s and a c c u m u la t e d v a l u e s ) w r i t e l n ( l s t , ' N o t e : G e n e r a t i o n ' , g e n : 2 , ' & A c c u m u la te d S t a t i s t i c s : , ' m a x - ', m a x : 6 : A , ' , m i n - ', m in : 6 : A , ' , avg^-' , a v g : 6 : A , ,s u in f it n e s s :6 :A , ' , n m u t a t i o n - ', n m u t a t io n , ' , n c ro ss- ' r e p c h a r (ls t ,' - ' ,lin e le n g t h ); w r i t e l n ( l s t ) ; p a g e (ls t ); end;
Wyd. 3.11. Proceduryreporti
w rite c h ro m
sum-' n cro ss);
przygotowująraportyostaniepopulacji
uzupełnienia, w tym i w następnych rozdziałach. Odrzućmy więc pokusę i powstrzymajmy się na razie od wprowadzania fantazyjnych ulepszeń. W tym punkcie chcemy się zająć samym szkieletem algorytmu genetycznego i zbadać, czy działa on jak należy. Określiliśmy już proste zadanie kontrolne. Ciąg kodowy reprezentuje 30-bitową liczbę całkowitą. Funkcja przystosowania / m a postać funkcji potęgowej/(x) = C*/c)", gdzie c jest stałą normalizującą x, a jako n wybraliśmy l0. Niektórzy Czytelnicy mo gą zaprotestować, dziwiąc się dlaczego zmieniliśmy funkcję przystosowania (w po przednich rozdziałach rozpatrywaliśmy funkcję/(*)=Jt2). W rzeczy samej, zmiana ta ma
86
3. Implementacja komputerowa algorytmu genetycznego
utrudnić zadanie algorytmu genetycznego, jak pokazuje rys, 3.3. Przy większym wykład niku, średnia wartość funkcji jest mniejsza, a zatem mniejsza część dziedziny funkcji odpowiada wartościom większym od pewnej ustalonej wielkości. W konsekwencji loso wa populacja początkowa nie będzie zawierać zbyt dobrych punktówstartowych; jest to więc mocniejszy test sprawności algorytmu.
Rys. 3.3. Wykresy funkcji x2 i x 10 na odcinku jednostkowym
Aby określić precyzyjnie warunki symulacji, wybierzmy eksperymentalne wartości parametrów programu. Studium De Jonga (1975) poświęcone optymalizacji funkcji przy użyciu algorytmów genetycznych sugeruje, na podstawie szeregu badań parametrycz nych wykonanych dla zestawu pięciu funkcji różnych typów, że w celu zapewnienia wysokiej sprawności algorytmu genetycznego należy dobierać duże prawdopodobień stwo krzyżowania, małe prawdopodobieństwo mutacji (odwrotnie proporcjonalne do wielkości populacji) oraz umiarkowaną wielkość populacji. Idąc za tymi wskazówkami ustalamy następujące wartości parametrów w pierwszych symulacjach komputerowych: pnmtation - 0,0333 (prawdopodobieństwo mutacji) pcross = 0,6 (prawdopodobieństwo krzyżowania) popsize = 30 (wielkość populacji, n) W rozdziale 1 do odręcznej symulacji algorytńm JLietycznego wybraliśmy krótkie ciągi kodowe (krótkie, jak na standardy przyjęte dla algorytmów genetycżnych) o długo ści /= 5. Wynikła stąd śmiesznie mała przestrzeń poszukiwań licząca tylko 25= 32 punk ty, dla której zastosowanie algorytmu genetycznego praktycznie mija się z celem. Jaka kolwiek metoda przeglądu czy poszukiwania losowego szybko znalazłaby dobre roz wiązania. Oczywiście chodziło nam wówczas o osiągnięcie pedagogicznej przejrzystości, a rozmiar przestrzeni poszukiwań nie był przedmiotem zainteresowania. Obecnie jednak, kiedy zamierzamy wykonać ostrzejszy test sprawności algorytmu, długość ciągu została zwiększona, podobnie jak wykładnik funkcji przystosowania. Przy długości ciągu
87
3 5. Czy wszystko dzia)a jak należy?
Ichrom = 30 mamy do czynienia ze znacznie większą przestrzenią poszukiwań i ani błądze nie pizypadkowe, ani przeglądanie nie okazałyby się już tak korzystne. Dla lchrom = 30 matńy 230= 1,07- 10'; punktów. Przy ponad miliardzie punktów w przestrzeni rozwiązań żadna z metod posZukiwania punkt-po-punkcie nie wydaje się mieć szans na szybkie osiągnięcie dobrego wyniku. Ponadto, zwiększenie wykładnika powoduje, że tylko 1,05% ■punktów osiąga wskaźnik przystosowania powyżej 0,9 (por. rys. 3.3). Wprowadzenie otyydwu modyfikacji umożliwi zatem lepsze przetestowanie sprawności algorytmu. SCA Parnmeters
Population aśie (popsize) Chromosome length (lchrom ) Maximum # o f generation {moxgen) Crossover p ro b a b ility (pcross) H utntion p r o b a b ility (pm utatlon)
30 30 10 6.0000000000E*01 3 . 3300000000E•02
I n i t i a l Generation S ta tis tic s
I n it ia l I n it ia l I n it ia l I n it ia l
population population population population
maximum fitn e s s average fitn e s s minimum fitn e s s sum o f fitn e s s
» * *> «
2.0241322532E*01 3.4715B32788E*02 1 . 1406151375E-10 1.04K749037E+00
Wyd. 3.12. Raport początkowy z przykładowego przebiegu programu SGA
Utuchamiamy program i pozwalamy mu działać przez siedem pokoleń. Raport *■'inicjalny dla przebiegu jest podany w wyd. 3.l2, a wyd. 3.l3 ukazuje pokolenie począt-
Rys. 3.4. Test kontrolny SGA. Maksymalne (max) i średnie (avg) wskaźniki przystosowania ciągów kodowych w kolejnych pokoleniach
3. Implementacja komputerowa algorytmu genetycznego
88
Population Report Generation
Generation
0 #
s trin g n 111000011001100000101111110100 9.4621E+08 0.2024 2) 110011001011010111000Q00100001 8.5862E+08 0.1069 3) 010101111001011110000010001101 3.6739E+0B 0.0000 4) 011001111000011101101111011010 4.3423E+08 0.0001 5) 011111111010010101011010110110 5.3539E+08 0.0009 4) 101101111001000011000101101101 7.6993E+0B 0.03S9 7) 000110101111100001001011111000 1.13l2E+08 0.0000 B) 0101001110101110100011111000103.5G99E+0fl 0.0000 9) 011011001110001010011110001011 4.5670E+08 0.0002 10) 010011010110101000001101011011 3.2470E+08 0.0000 11) 010111011010101011001101000010 3.92S7E*08 0.0000 12) 010011010011001010110010001110 3.2379E+OB 0.0000 13) 1100001001011011101lOOOO100111 8.t520E+0B 0.0636 14) 010110001001111101000100110001 3.7171E+Oa 0.0000 15) 010110111110000101101110011010 3.853BE+08 0.0000 16) 17) 18) 19)
| | | |
porents x s ito
| | | | | | | | I |
111000011001100000101101110100 9.4621E*0B 0 ;i^ | 110101011110001110010011000101 0.9712E*08 0 | $ | 110101011100000011010110000001 8 .9 6 5 5 E » 0 8 o ||i 111111001000000010010011000101 1.0591E*09 O .M 1ll000011001100000110011000t019.6621E*000,»§ 110101011110000010001111110100 8.9707E*08 0 . 8 i 111000011001100000101111100100 9.4621E*08 0 . 8 | 110011010101101100011001110100 B.6132E*08 O . S 101111001000010011110110010001 7,9071E*08 0 . 3 1100111010010001000111Q1100011 B.6640E*08 0 . { j l 101101110001000011000101101101 7.6783E*08 O.0])| 110010000101010100110110011110 B.4026E*08 O.OMjl 110101011110100010010000100001 B.9720E*08 O.l6(S 110011011011010111000011000101 B.62B1E»OBO,j> 1)| 110011111001000100011100100011 8.7060E*08 0 f l | |
| | |
16) 17) 18) 19)
26 30 30 24
1100101111010001000111001000118.5487E*080.ltt 110101011110000010010011000111 0.9707E*08 0 . 2 110011111101080000011101000011 8.7163E*08 O .l;i| 110101011110000010010011000101 8.9707E*00 O .lS
|
2 0 )(1 9 ,1 9 )
24
11010101111000001001001100010ia.9707E *O B O .uI
| |
2 1 )(2 6 ,1 7 ) 22) (26,17) 2 3 ) ( 2 3 , 1)
30 30 3
1100l0000101010100110111011110 B.4026E*OBO.QRp 110000111101000100011100100011 8.2132E*08 O.Oty' 111000011001100000001111110001 9.4621E*08 0.2#,':‘
3
101111001000000011110100010100 7.9064E*08 0.0(^
|
24)
011101100001100010100101-100111 4.9533E+08
0.0004
|
2 4 )(2 3 ,1 >
25)
010110111010001101010001010010 3.8436E*08
0.0000
|
25)
(27, 1)
10
26) 27) 28) 29) 30)
11001000010.1010100110110011110 8.4026E+00 0.0861 10100110Q101110101001001100011 6.9778E+00 0.0134 1000111101110100001000Q0110010 6.0169E+08 0..0031 010010100010000100001101100011 3.1092E+08 0.0000 0010110011110011100101011000111.0054E*080.0000
| | | |
26) (27, 1) 27» ( 1,17) 2 8 ) ( 1 ,1 7 ) 2 9 ) ( 1 ,1 9 ) 30) ( 1,19)
10 25 25 23 23
1 & A c c u n u la tc d S to tie tic s :
f*tja
30 30 19 19 11 11 6 6 30 30 30 30 10 10 26
21) 22) 23)
Hoto: Generation
string
1) < 1,1») 2 ) ( 1,19) 3 )< 2 3 ,1 9 ) «> (23,19) 5 ) (1 9 ,1 ) 6 ) (1 9 ,1 ) 7) (16, 1) S> (16, 1) 9> (23,17) 10) (23,17) 11) ( 6,26) 12) ( 6,26) 13) ( 2,19) 14) ( 2,19) 15) (17,17)
110011010101100100011001100000 8.6129E*08 0.1103 110011111101000100011100100011 8.7165E+0B 0.1243 100000000100010111100101011100 5.3B02E+0B 0.0010 110101011110000010010011000101 8.9707E+08 0.1657 010011111000010001000011011101 3.3352E+08 0.0 0 00 001101011100110111010010000011 2.2567E+08 0.0000 000110011111000001100100110110 1.0880E+08 0.0000 101111001000000011110110010001 7.9064E+08.0.0469
20)
1
|
|
max»0.0715,
(17,17) (19,17) (19,17) (19,19)
min=0.0132,
110000011001100000101001110011 8.I199E+08 O.oJj 101001100001010101001101110100 110010001001100000101111110100 111001111101000100011100100011 110101010001100000101111110100 111000011110000000010011000101
ovg=0.1732,
sum“ 5.1967,
rmutot1on=35,
6.9660E+08 0.4135E+08 9.7231E*00 0.9378E*08 9.4739E*00
O.Olj 0.01S a.Vi' O.ISlS 0.!«!;
ncro$s= 10
Wyd. 3.13. SGA, raport o pokoleniach 0 i 1
kowe (gen = O) i pierwsze pokólenie potomne zestawione obok siebie. Średni wskaźnik przystosowania dla pokolenia początkowego wyniósł 0,0347. Nietrudno obliczyć, że taki sam średni wskaźnik dla całego przedziału (przestrzeni rozwiązań) wynosi 0,0909. W pe wnym sensie mieliśmy więc pecha (choć nie przesadnie wielkiego) z wyborem populacji początkowej. Biorąc ponadto pod uwagę, że najlepszyJwskaźnik przystosowania wyniósł ./;,„„.=0,2824, moglibyśmy oczekiwać średnio 30(t--0^824"'') = 3,56, lj. w zaokrągleniu czterech ciągów w 30-elementowej losowej populacji o wyższym wskaźniku przystoso wania. Mieliśmy więc nie tylko ogólnego pecha, mieliśmy także pecha z maksimum. Mimo tych niepomyślnych początków, algorytm szybko dochodzi do dobrych wyników, co wyraźnie widać po pierwszej turze reprodukcji, krzyżowania i mutacji. W pierwszym pokoleniu potomnym znajdujemy bardzo dobry ciąg o wskaźniku przystosowania 0,8715. W kolejnych turach następuje dalsza poprawa wyników zarówno pod względem maksymalnego, jak i średniego przystosowania populacji, co widać na rys. 3.4. Pod koniec przebiegu obserwujemy coś w rodzaju zbieżności (wyd. 3.14). Gdybyśmy prze-
I | j f ; Czy wszystko działa jak należy?-------------------------------------------------------------------------------- 89
■śledzili zawartości poszczególnych pozycji ciągów kodowych należących do siódmego "pokolenia, moglibyśmy zauważyć w większości przypadków znaczną zgodność. Zjawis'ko lo wystąpiło, mimo że nie znaleźliśmy optymalnego rozwiązania; tym niemniej zblii żyliśmy się do niego. W szóstym pokoleniu wystąpił osobnik o wskaźniku przystosowa,'nja 0,9807. Jest to wynik bliski optymalnemu, choć nie optymalny (wspomniany punkt ^zalicza się do czołowych 0,19% punktów całej przestrzeni). Zbieżność, ale bez gwarancji oplymalności niepokoi wiele- osób, które podchodzą do algorytmów genetycznych z do; świadczeniem wyniesionym ze stosowania innych, tradycyjnych metod optymalizacji. Istnieją sposoby, aby spowolnić tę tak zwaną przedwczesną zbieżność \premature con1vergence)\ niektóre z nich omówimy w tym i następnych rozdziałach. Pozostaje jednak faktem, że algorytmy genetyczne nie dają żadnej gwarancji zbieżności dla zadań dowol- nego typu. Potrafią one szybko odszukać interesujące obszary przestrzeni rozwiązań, ale "należą do nietod słabych, pozbawionych gwarancji charakterystycznych dla algorytmów zbieżnych. Nie zmniejsza to jednak ich użyteczności. Przeciwnie, metody gwarantujące
Hf
Populotion Report
■ i f ................................... ................... Generation
Generation
6
s trin g
p110Q011010010010101111110001 1.0135E+09 0.5615
1)
(
2)
<
6) 6)
3) < 4) <
24) 24)
4
1
11^110011110000000101111100100 1.0481E+09 0.7849 f e l1 0 0 1 101100001101111010110 tl111l0010110000001011l1101100 ij V l 11001001100000101111101100 ftl1,10010Q0000010011011000100 sl^111l01t)00000010000011100111 il^il1001100000010011111110111 |,l'il11001000000010011111110111 ftV l11l101000000010011111110001 lilpltQ11000Q0001000Q01100G101
1.0Ó05E+09 1.0599E+09 1.0595E+G9 1.0591E+Q9 1.0675E+09 1.0601E+09 1.0591E+09 1.0675E+09 9.9616E+08
0.8834 0.8779 0.8747 0.8715 0.9430 0.8801 0.8715 0.9430 0.4724
A fłV l 1'001001110000101111110000 1.0595E+09 0.8752 Sl1001101000Q010011111110001 1.0470E+09 0.7772 li,1111001010000010101111100100 Ml110011110000010110011101111 V l il il 0 1 1000001110101111100100 19) ^111111001000Q00010011111110000 )111111001000000010010011000101 111110011110000010101111110000 ?2) 10111001111001001G101111100100 )111111101000000010011111110001
") 21)
t<) 24)
1.0596E+09 1.0481E+09 1.0633E+09 1.0591G+09 1.0591E+09 1.0481E+09 7.7969E+08 1.0675E+09
0.8758 0.7850 0.9070 0.8715 0.8715 0.7850 0.0408 0.9430
^ 1 1111001000000010011111110111 1.0591E+09 0.8715
25)
ilim i1l000000010D11111100100 111110010110000000101111110111 '■ 27) i11111100100111000110111l110000 bl1110011000010010000011000101 29) 111111001100000010011011110001 30) 111111001001100000101111100100
i26)j. cC)
l.0717E+09 1.0460E+09 1.0595E+09 5.0968E+0B 1.0601E+09 1.0595E+09
0.9807 0.7694 0.8752 0.0006 0.8801 0.8747
5) (
6)
(
18)
6, 1B)
7) <10, 22) 8 ) < 10 , 22) 9) <15, 15) 10) <15, 15) 12 )
11 ) 12 )
< 12 ,
13) 14) 15) 16) 17) 18) 19) 20) 21 ) 22 ) 23)
<26, 16) <26, 16) <20, 1> <20, 1) < 9, 10 ) < 9, , 10) < 3, , 8 ) < 3,, < 1 ,26) < 1 26) <18 , 20 )
24) 25) 26) 27) 28) 29) 30)
<18 , 20 ) <14 ,30) <14 ,30) <23 , 3) <23 , 3) <24 , 2) <24 , 2 )
< 12 , 12 )
8)
..................................................................................
'/Notcs Generation
7 £ AccunuUted S ta t is t ic s :
msx=0.9807,
Wyd. 3.14. SGA, raport o pokoleniach 6 i 7
s tr in g
U parents x s ite
1.0592E+09 0.8726 i ! :^11111^1001000100010011111110011 $ l j l 1001000000010011111110100 1.0591E+Q9 0.8715
min=0.040S,
7 x
fitn e s s
7
111111001011000000101111000100 1.0599E+09 0.8779
7 9 9
111111001000000010011011101100 1.0591E+09 0.8715 111111001000000010011010100111 1.0591E+09 0.8715 111111101000000010000111110111 1.0675E+09 0.9430
3 3
111111011000001110101111100100 1.0633E+09 0.9070
22 22 30 30 5 5 15 15 30 30 30 30 14 14 8
8 30 30 3 3 18 18 30 30
111110001011000000111111101100 101110011100000010011111110111 111111001111010000101111100100 111110011010000010011111110001 111110011010000010011111111001 111111111000000000011111010001 111111101000000010011111110001 111111001010000000101101110111 11111001011000001G1011111001GO
1.0431E+09 7.7910E+08 1.0610E+09 1.0470E+Q9 1.0470E+09 1.0716E+Q9 1.0675E+Q9 1.05966+09 1.0460E+09
0.7484 0.0405 0.8872 0.7772 0.7772 0.9807 0.9430 0.8757 0.7694
111111001000G00010010011000101 111100011010010010101111110001 111111101000000010011011100111 111111001100000010011111110111 111111011000000010011111110100 111111001000000010011011000100 111110010110000000001110110001
1.0591E+09 1.0135E+09 1.0675E+09 1.0601E+09 1.0633E+09 1.0591E+09 1.0460E+09
0.8715 0.5615 0.9430 0.8801 0.9066 0.8715 0.7694
111100011010010010101111111111 1.0135E+09 0.5615 111011011000001110101111110100 9.96216+08 0.4726 111111001000000010010010000101 111111001001100000101111100000 111111001001110000101111010100 111111001001000010011111110001 111111101100000010011111110100 111111001000010010001111110111 111111001000100010011111110011
nvg=0.B100,
nutF24.2997,
1,05916+09 1.0595E+09 1.0595E+09 1.0593E+09 1.0685E+09 1.059lE+09 1.0592E+09
nm utatlon.20t,
0.8715 0.8747 0.8752 0.8736 0.9523 0.8720 0.8726
ncross*71
90
3. Implemenlacja komputerowa algorytmu genetycznego
L zbieżność płacą za to utratą globalności i giętkości. Wiele z tych metod ma ograniczone pole zastosowań. W konsekwencji algorytmy genetyczne nadają się do stosowania tam, gdzie metody zbieżne nie odważą się nawet stąpnąć. Co więcej, w przypadku rozwiązy wania zadań, dIa których są znane zbieżne, ale lokalne algorytmy,.można w naturalny sposób myśleć o hybrydyzacji. Należy rozpocząć poszukiwania przy użyciu algorytmu genetycznego, aby odszukać interesujące wzniesienia terenu. Gdy algorytm genetyczny wywęszy już, które rejony zapowiadają się najlepiej, należy wyciągnąć lokalny zbieżny algorytm i wykonać wspinaczkę na miejscowe wierzchołki. W ten sposób można połą czyć globalność i równoległość algorytmu genetycznego ze zbieżnością techniki lokal nej. Za chwilę zajmiemy się jednym z praktycznych sposobów redukcji przedwczesnej zbieżności za pomocą skalowania funkcji przystosowania. Najpierw jednak musimy obinyśleć technikę przekształcania dowolnej funkcji celu do postaci wymaganej dIa funkcji przystosowania.
3.6. Przekształcenie funkcji celu w funkcję przystosowania _ i ___________________________ Wiele zadań wyraża się w bardziej naturalny sposób w kategoriach minimalizacji pewnej funkcji kosztu g(jc) niż maksymalizacji pewnej funkcji użyteczności lub zysku u(x). Nawet w przypadku, gdy mamy w naturalny sposób do czynienia z zadaniem maksymali zacji, nie gwarantuje to, że funkcja użyteczności będzie przyjmowała wartości nieujemne dla wszystkich x, co musi zachodzić dla funkcji przystosowania (jak pamiętamy, funkcja przystosowania jest nieujemnym kryterium jakości). Wskutek tego często zachodzi po trzeba przekształcenia oryginalnej funkcji celu w funkcję przystosowania, czego można dokonać w jednym lub kilku krokach. Dualność zadań minimalizacji kosztu i maksymalizacji zysku jest dobrze znana. W badaniach operacyjnych, chcąc przejść od zadania minimalizacji do zadania maksy malizacji, mnożymy po prostu funkcję kosztu przez minusjeden. W naszym przypadku sama taka operacja jest niewystarczająca, gdyż otrzymany miernik nie musi być zawsze nieujemny. Na użytek algorytmów genetycznych stosuje się więc powszechnie następu jące przekształcenie kosztu w przystosowanie: _ | C,,,,,< - ,<,'(-0, jeżeli g(.r) < C„wr [0
wprzcciwnymprzypaclku'
Współczynnik CMIIVmożna wybierać na różne sposoby. Może on być wczytany z wejścia, może być równy największej napotkanej do tej pory wartości funkcji g, albo największej wartości g w populacji bieżącej lub w k ostatnich populacjach. Być może właściwiej byłoby, żeby C,„„t wahał się w zależności od wariancji populacji. Tę ostatnią możliwość rozważymy w rozdziale czwartym. Kiedy w zadaniu występuje w naturalny sposób funkcja zysku lub użyteczności, nie mamy kłopotów z „kierunkiem” funkcji: maksymalizacja zysku lub użyteczności
3.ǤSRalowanie przystosowania
91
mowadzi do pożądanego celu. Możemy mieć jednak problemy z ujemnymi wartościami i'unkcji użyteczności u(x). Trudności te łatwo można pokonać za pomocą przekształcenia f(x) =
u(x) + .c„,„„ jeżeli u(x) + Cmin > 0 0
w przeciwnym przypadku
Współczynnik Clllln może być wczytany z wejścia, może być równy modułowi najmniejs/ejiwartości u w populacji bieżącej lub ostatnich k populacjach, wreszcie może być .funkcją- wariancji populacji. Dalszą dyskusję tych możliwości odłożymy do następnego rozdziału. Wszystkie te manipulacje z funkcjami celu mogą zrodzić podejrzenia co do istoty /wiązku między funkcjami celu a funkcjami przystosowania. W przyrodzie przystosowa nie (liczba potomstwa dorastającego do wieku reprodukcyjnego) jest tautologią. Wiele jtoiomstwa przeżywa, gdyż rodzice są dobrze przystosowani, a rodzice są dobrze przy stosowani, gdyż wiele potomstwa przeżywa0. W naturalnych populacjach przeżyciejest ostatecznym i jedynym kryterium oceny wszelkich nowinek. W przeciwieństwie do tego, podczas działania algorytmu genetycznego mamy możliwość, a może i obowiązek reguloWania poziomu współzawodnictwa między członkami populacji w celu osiągnięcia pożądanego zachowania w fazach przejściowej i końcowej procesu. Dokładnie o to właś nie chodzi, gdy dokonujemy skalowania przystosowania.
*___________________________ 3.7. Skalowanie przystosowania Regulacja liczby kopii ma szczególne znaczenie dla algorytmów genetycznych pracują cych na małych populacjach. Często się zdarza, że na początku przebiegu w populacji Vvystępuje kilku ponadprzeciętnych osobników, podczas gdy reszta zalicza się do pośledhiej kategorii. Gdyby zastosować normalną regułę selekcji (pselect^ = j]/ X /) , te ponad przeciętne osobniki uzyskałyby znaczący udział w skończonej populacji w ciągu jednego pokolenia, a to jest zjawisko niepożądane, główna przyczyna przedwczesnej zbieżności. W późniejszej fazie mamy do czynienia z zupełnie odmiennym problemem. Może się zdarzyć, że pod koniec przebiegu populacja zachowała znaczną różnorodność, ale średni wskaźnik przystosowania niewiele odbiega od maksymalnego. Jeśli na to nie zareaguje my, to osobniki przeciętne i osobniki najlepsze będą otrzymywać prawie tę samą liczbę potomstwa w następnych pokoleniach, co sprowadzi zasadę przeżycia najlepiej przy stosowanych - silę sprawczą ulepszeń - do poziomu błądzenia przypadkowego wśród przeciętniaków. Skalowanie przystosowania może być pomocne w obu sytuacjach - na początku i w fazie dojrzałości.
'> Pojęcie „najlepiej przystosowanego" (pochodzące od Spencera) natrafiało wielokrotnie na trudności interpretacyjne. Współczesne naświetlenie tego zagadnienia można znaleźć np. w książce E. Mayra Populacje, gatunki i ewolucja, WP, Warszawa 1974, str. 151) Q>rzyp. thim.).
9 2 ---------------------------------------------------- 3. Implementacja komputerowa algorytmu genetycznego)
Ł Jedną z użytecznych metod skalowania jest skalowanie liniowe. Niech / oznacza przystosowanie pierwotne, a / ' - przystosowanie po skalowaniu. W przypadku skalowanialiniow ego,zw iązekm iędzy/a/'m usim iećpostać f
=
af+
b
Współczynniki a i b można wybrać na wiele sposobów; w każdym razie chcemy jednak, aby średnie przystosowanie po skalowaniu /',,s było równe pierwotnemu, tj. / , gdyz zapewnia to, że osobnik o przeciętnym przystosowaniu będzie miał średnio jednego potomka wnastępnym pokoleniu. Średnią liczbę potomków osobnika o maksymalnymi (pierwotnym) przystosowaniu możemy kontrolować za pomocą drugiego warunku j fm ax
^imilt
ftv g
gdzie Cmh (współczynnik zwielokrotnienia) jest właśnie żądaną liczbą kopii. W typo wych, małych populacjach (od 50 do 100 osobników) dobre wyniki otrzymywano, wy bierając wartość C,,,,,,, między 1,2 a 2,0.
1
Rys. 3.5. Skalowanie liniowe w typowym przypadku
Taki dobór CnmU powoduje znaczne rozciągnięte funkcji przystosowania pod ko-; niec przebiegu. Może to spowodować pewne kłopoty z zastosowaniem'reguly skalowania \ liniowego, zilustrowanej na rys. 3.5. Początkowo nie ma problemów z przekształceniem, gdyż kilku ponadprzeciętnych osobników spada w dół, a gorsi osobnicy wędrują nieco3 w górę. Z trudniejszym przypadkiem mamy do czynienia na rys. 3.6. Takie sytuacje sąl typowe w dojrzałych populacjach, w których nieliczni „degeneraci” (ciągi o kiepskimi przystosowaniu) wypadają znacznie poniżej średniej, niewiele odbiegającej od maksi- • mum. Gdy zastosujemy w takim przypadku regułę skalowania liniowego, rozciągając w wymaganym stopniu funkcję przystosowania, małe wartości funkcji stają się ujemne.
3 7 Skalowanie przystosowania
93
Rys.3.6. Efekty skalowania liniowego w dojrzalej populacji. Punkty o malym przystosowaniu mogą przejść w obszar wartości ujemnych
Możemy sobie z tym różnie radzić; tutaj przyjmujemy, żejeśli skalowanie ze współczyn nikiem zwielokrotnienia Cmull okazuje się niewykonalne, zachowujemy nadal równość .obu średnich, ajako drugi warunek wybieramy równość/'„„=0 (minimalne przystosowa nie pierwotne przy skalowaniu staje się równe zeru). Program będący implementacją elementarnego algorytmu genetycznego można :^ez trudu uzupełnić o skalowanie, korzystając z trzech prostych podprogramów prescale, 'sccile oraz scalepop (wyd. 3.15). Procedura prescale oblicza na podstawie wskaźników przystosowania średniego, maksymalnego i minimalnego (nazwanych odpowiednio uavg, wnax i urnin) współczynniki przekształcenia liniowego, a i b, zgodnie z opisanymi wyżej regułami. Najpierw sprawdza się, czy wykonalne jest skalowanie z pożądanym \\ spółczynnikiem zwielokrotnienia Clmt, (występującym w programie pod nazwą finultiple)\ jeśli tak, to obliczenia idą odpowiednim torem. W przeciwnym przypadku ska lowanie wykonuje się, zachowując średnią i „rozciągając” przystosowanie w obie strony - tak by minimum przeszło na zero. Po wywolaniu przygotowawczej procedury ptrscale przychodzi kolej na procedurę scalepop, która, za pośrednictwem prostej funk cji paskalowej scale, dokonuje przeskalowania wskaźników przystosowania wszystkich osobników w populacji. Zakładamy tu, że pierwotne wskaźniki przystosowania są zaj:hane w polu objective rekordów typu individual, reprezentujących osobników (zmienne pG>jj].objective). Zmodyfikowane wskaźniki przystosowania zostają umieszczone w poYiljitness tych samych rekordów, a przy okazji wyznacza się nową wartość łącznej Śumy. wskaźników sumfitness. Instalację i przetestowanie procedur skalowania pozo stawiamy jako ćwiczenie. j W taki oto sposób proste skalowanie pomaga zapobiegać przedwczesnej dominacji nadmiernie wybijających się osobników, następnie zaś pobudza do zdrowej konkurencji tyćlńo wyrównanych szansach. Nie zamykamy jeszcze naszej dyskusji na temat możliwych oi/ekształceń funkcji celu; wrócimy do niej w rozdziale czwartym, podając kilka nowych pi/ykładów. A teraz zajmiemy się kilku sposobami kodowania, które nadają się do /:Nosowania w algorytmach genetycznych - innymi niż używany do tej pory prosty kod.
3. Implementacja komputerowa algorytmu genetycznegHj
94
t. { s c a le .s g a :
c o n ta in s p r e s c a le ,
s c a le ,
s c a le p o p
fo r s c a lin g
fitn e s s e s
}
p r o c e d u r e p r e s c a le ( u m a x , u a v g , u m i n : r e a l ; v a r a , b : r e a l ) ; ( C a lc u la te s c a lin g c o e f f ic ie n t s f o r lin e a r s c a lin g } c o n s t fm u lt ip le - 2 .0 ; ( F it n e s s m u lt ip le l s 2 } var d e lt a :r e a l; { D iv is o r ) b e g in I f u m in > ( f r a u l t i p l e * u a v g - um ax) / ( f m u l t i p l e - 1 . 0 ) ( N o n - n e g a t iv e t e s t jl;S th e n b e g in { N o rm a l S c a l i n g } r d e l t a : - umax - u a v g ; a :- ( f m u l t i p l e - 1 .0 ) * u a vg / d e lt a ; b : - u a v g * (um ax - f m u l t i p l e * u a v g ) / d e l t a ; en d e l s e b e g i n { S c a l e a s much a s p o s s i b l e ) d e l t a : — u a v g - u m in ; a :— uavg / d e lt a ; b : ~ -um in * u a v g / d e l t a ; end; en d ; fu n c tio n s c a le ( u , a , b : r e a l ) : r e a l ; { S c a le an o b je c t i v e f u n c t io n v a lu e b e g in s c a le :- a * u + b en d;
)
p ro ce d u re
s c a l e p o p ( p o p s i z e : i n t e g e r ; v a r m ax, a v g , r a in , s u r a f i t n e s s : r e a l ; v a r p o p :p o p u la tio n ); ( S c a le e n t ir e p o p u la tio n } ' v a r j:in t e g e r ; a, b ;r e a l; ( s l o p e & i n t e r c e p t f o r l i n e a r e q u a t io n } b e g in p r e s c a le ( m a x , a v g , m in , a , b ) ; { G e t s lo p e and i n t e r c e p t f o r f u n c t io n s u r a f it n e s s : - 0 . 0 ; f o r j : - 1 to p o p s iz e do w i t h p o p [ j ] do b e g i n f i t n e s s :~ s c a l e ( o b j e c t i v e , a , b ) ; s u m f it n e s s : - s u m f i t n e s s + f i t n e s s ; en d ; en d ;
)
Wyd. 3.15. Podprogramy skalowania: procedura prescale, funkcja scale i procedura scalepop
3.8. Metody kodowania
Jak dotąd mieliśmy do czynienia z bardzo ograniczonym repertuarem sposobów odwzo rowania ciągów kodowych na parametry zadańoptymalizacyjnych. W zadaniu o przełą cznikach użyliśmy prostej metody kodowania binarnego, w której zera lub jedynki na poszczególnych pozycjach ciągu kodowego Odpowiadały położeniom odpowiednich przełączników (wylączony/włączony). W drugim przypadku interpretowaliśmy ciąg zer i jedynek jako nieujemną liczbę całkowitą, przy czym ciągowi A = a, ci,_, ... a2a, od powiadała wartość parametru x = X « ,'2 M (zapis odwrócony!). Chociaż kody te dają pewną swobodę, nie są wystarczająco giętkie, aby poradzić sobie z całym spektrum problemów, z którymi spotykamy się w nauce, technice i interesach. W tym punkcie omówimy dwie podstawowe zasady kodowania na użytek algorytmów genetycznych, co powinno w przyszłości ułatwić projektowanie kodów dla różnych typów zadań. Nieco później przedstawimy standardową metodę kodowania binarnego dla zadań wielopara-,
3 8 Metody kodowania --------------------------------------------------------------------------------------- ---------- 95
apiotrycznych, która dowiodła - i powinna nadał dowodzić - swej użyteczności na przyjićłaęhńe rozmaitych zadań. W pewnym sensie wybór kodu dla zadania rozwiązywanego przy.użyciu algorytmu 'genetycznego nie stanowi żadnego problemu, gdyż programistajest ograniczony głównie 'swóją własną wyobraźnią. Z poprzedniego rozdziału wiemy, że algorytmy genetyczne 'potrafią wyzyskać podobieństwa ciągów kodowych - niezależnie od metody kodowania - ’jeśli tylko ze schematów-cegiełek (tj. wąskich schematów o wysokim przystosowaniu) iinożna budować niemal optymalne rozwiązania. Patrząc z innego punktu widzenia, ta )swoboda wyboru stanowi wątpliwe błogosławieństwo dla niedoświadczonego użytkow;'nika; widok Całych szeregów możliwych sposobów kodowania może zarówno dodawać ()i:ichy, jak i oszałamiać. Mając taką wolność wyboru - jak nowy użytkownik będzie w stanie znaleźć dobry kod? Na szczęście, algorytmy genetyczne są pod tym względem idośćwyrozumiałe, ponieważ są odporne; dlatego na ogół nie ma sensu dręczyć się problemem wyboru metody kodowania. Na dodatek, proponujemy kiefować się dwiema podstawowymi zasadami konstrukcji kodów dla algorytmów genetycznych. Są to; zasaS'.(la znaczących cegiełek i zasada minimalnego alfabetu. Zasada znaczących cegiełek stwierdza, co następuje; Kod należy dobierać w taki sposób, żeby schematy niskiego rzędu i o małej rozpiętości wyrażały własności zadania oraz pozostawaty względnie niezależne od schematów o innych pozycjach ustalonych. Choć dzięki analizie Walsha, o której wspomnieliśmy w rozdziale drugim, można spraw|tlzić, czy dany kod czyni zadość powyższej zasadzie, podejście to jest niezbyt praktyczme, tak więc projektowanie kodu zapewniającego znaczące cegiełki jest czymś w rodzaju szluki.,Niemniej jednak projektując kod powinniśmy zwrócić uwagę nadystans między .powiązanymi logicznie pozycjami. W rozdziale piątym omawiamy sposoby rekonfiguracji ciągów kodowych, jak również kilka operacji, dla których poszukiwanie dobrych rozwiązań sprowadza się do poszukiwania dobrych kodów. Druga zasada projektowania kodów, zasada minimalnego alfabetu, mówi |ipo prostu: Należy wybrać najmniejszy alfabet, w którym dane zadanie wyraża się w spo sób naturalny. i, Do tej pory trzymaliśmy się niemal obsesyjnie idei kodu dwójkowego. Czy był to tylko pi;zypadek, czy też w naszym kodowym szaleństwie była metoda? Że była to jednak J;metoda, najlepiej możemy się przekonać na wyeksploatowanym już, ale pouczającym przykładzie kodu pięciopozycyjnego, który wprowadziliśmy w rozdziale pierwszym, ^itablicy 3.1 widzimy cztery znajome dwójkowe ciągi kodowe o tych samych wskaź;>njkach przystosowania, co poprzednio. Jak pamiętamy, jednym z naszych pierwotnych .motywów wprowadzenia pojęcia schematu była zrozumiała chęć powiązania wysokiego przystosowania ze strukturą schematów występujących w populacji. We wspomnianej tablicy zamieściliśmy też pewien kod niedwójkowy. W istocie, chodziło tu o przypadek
9 6 _______________________________ 3. Implementacja komputerowa algorytmu genetycznego-,
L krańcowy. Rozważmy wzajemnie jednoznaczne przyporządkowanie pięcioelementowych ciągów zerojedynkowych i symboli alfabetu złożonego z 26 liter A-Z oraz sześciu cylV' 1-6, jak pokazano w tabl. 3.2. Tablica 3.1. Porównanie ciągów kodowych dla kodu dwójkowego i niedwójkowego Ciąg dwójkowy
Wartość X
Ciąg niedwójkowy
Przystosowanie
01101 11000 01000 10011
13 24 8 19
N Y I T
169 576 64 361
Przeglądająclistę ciągów (tabl. 3.1) możemy zauważyć, że w przypadku zerojedyn-* kowym wykrycie podobieństw strukturalnych stało się możliwe dzięki małemu alfabetowi. Natomiast w drugim przypadku mamy do czynienia z czterema pojedynczymi literami (ciągami jednoeIementowymi) i odpowiadającymi im wskaźnikami przystosowania; nie widać tu żadnych podobieństw, które moglibyśmy wykorzystać. Prawda, przykład jest krańcowy, ale ta sama zasada obowiązuje w mniej jaskrawych przypadkach. Tablica 3.2. Tabela odpowiedniości dla kodu dwójkowego i niedwójkowego Tabela odpowiedniości kodów dwójkowy
niedwójkowy
00000 00001
A B
11001 iio lo 11011
Z I 2
11111
_____________6
Patrząc na to od strony matematycznej, śpról^ijmy porównać liczbę schematów,, występujących w przypadku kodów dwójkowych iniedwójkowych. Oczywiście, w obu przypadkach powinniśmy mieć tę samą liczbę ciągów kodowych; jednakże różnica wiel kości alfabetów pociąga zą sobą różną długość ciągów kodowych. Aby liczba punktów w obu przestrzeniach była jednakowa, musi zachodzić warunek 2'= k1', gdzie /jest dhi-, gością ciągu zerojedynkowego, a 1' - długością słowa w alfabecie /c-elementowym.' Liczbę schematów dla obu kodów można wyznaczyć na podstawie długości ciągu: dląr alfabetu dwuelementowego wynosi ona 3', dla /c-elementowego zaś (k+ l) r . Nietrudno udowodnić, że alfabet dwuelementowy charakteryzuje się największą ze wszystkich licz-
S3t^pdardowa metoda kodowania dla zadań wieloparametrycznych
97
ba schematów przypadających na bit informacji. Ponieważ owe schematy leżą u sedna proecMi poszukiwań, więc projektując kod powinniśmy starać się zmaksymalizować ich lic/hę 'i,w ten sposób algorytm genetyczny będzie mial więcej materiału do eksploatacji.
3.9.________________ Standardowa metoda kodowania dla z __f*________________' __________ wieloparametrycznych Sformułowane w p. 3.8 dwie zasady dostarczają ogólnych wskazówek na temat projekto wania efektywnych kodów dIa algorytmu genetycznego, nie określają jednak praktycz nych sposobów doboru kodu dla konkretnego zadania. Jedną ze skutecznych metod ko dowania zadań optymalizacyjnych z wieloma parametrami jest użycie blokowego zapisu pozycyjnego ze standaryzacją parametrów. Mieliśmy już do czynienia z kodowaniem nieujemnych liczb całkowitych z prz.edzjału [0, 2 '- l ] , cojednak zrobić w innych przypadkach? Jednym ze sposobów pozbycia się tego ograniczenia jest liniowe odwzorowanie zdekodowanej liczby z przedziału [0, 2 '- l ] w zadany przedzial [Umilt, Ulmlx]. Dzięki temu jesteśmy w stanie starannie kontrolować zakres i precyzję zmiennych decyzyjnych. Dokładność opisanego kodu jest równa „
__ ^tm x
^tnlii
2'-l
|Kliy skonstruować kod w przypadku wieloparametrycznym, wystarczy po prostu skon^atenować bloki kodowe reprezentujące poszczególne parametry. Każdy blok może pięć, oczywiście, inną długość i reprezentować inny przedział [t/„„„, £?„„„.] (rys. 3.7). Zestaw podprogramów implementujących blokowy zapis pozycyjny ze standaryza cją parametrów został podany w wyd. 3.16. Korzystają one z opisanej wcześniej funkcji decode w celu zdekodowania do postaci standaryzowanej pojedynczego bloku kodowego reprezentującego jeden parametr. Procedura extract-parm wydobywa pojedynczy blok Jeden parametr, przedział U, (/, = 4) 0 0 0 0 --------► Umln 1 1 1 1
-----► U n a x
Pozostałe ciągi przechodzą liniowo na wartości pośrednie
Kod blokowy (10 parametrów)
o 1 o i
o o o i
u
I
U=
I
I
1 1 0 0 j
1 1 1 1 j
U0
u.10
I
"
I I
Rys. 3.7. Blokowy zapis pozycyjny ze standaryzacją dla zadań wieloparametrycznych
3. Implementacja komputerowa algorytmu genetycznego'
98
z pełnego ciągu kodowego, funkcja paskalowa map-parm dokonuje przekształcenia wap tości standaryzowanej na liczbę z przedziału [minparm, maxparni[, a procedura deco(le-parms koordynuje proces dekodowania wszystkich nparms parametrów. Instalację; i testowanie tych podprogramów pozostawiamy jako ćwiczenie.
ty p e
parm pnrm
p a rm sp ec8 var
- re c o rd { p a ra m e te rs o f th e p a ra m e te r } l p a r r a ; i n t e g e r ; { l e n g t h o f th e p a r a m e t e r ) p a r a m e t e r , m axparm , m in p a r m : r e a l ; ( p a r a m e t e r & r a n g e end; - a r r a y [ l . . m a x p a r m s j o f parm parm ;
\
5 ^ i
p a r m s :p a r m s p e c s ;
p r o c e d u r e e x t r a c t _ p a r m ( v a r c h ro in fro m , ch ro in to :c h ro m o s o m e ; v a r j p o s l t i o n , lc h r o m , l p a r i n : i n t e g e r ) ; { E x t r a c t a s u b s t r i n g fro m a f u l l s t r i n g ) v a r j , jt a r g e t :in t e g e r ; b e g in j :- l ; J t a r g e t : - j p o s i t i o n + lp a r m - 1; i f j t a r g e t > lc h r o m t h e n j t a r g e t ? : - lc h r o m ; w h i l e ( j p o s i t i o n <- j t a r g e t ) do b e g i n c h r o m t o ( j ) :~ c h r o m f r o m [ j p o s i t i o n ) ; j p o s i t i o n : - j p o s i t i o n + 1; j :~ j en d ; end;
( Clam p i f
e x c e s s iv e
)
+ 1;
f u n c t i o n m ap__parm (x, m axparm , m in p a rm , f u l l s c a l e : r e a l ) : r e a l ; ( Map a n u n s ig n e d b i n a r y i n t e g e r t o r a n g e [m in p a rm ,m ax p a rm J ) b e g i n raap_parm *.~ m in p a rm + (m axparm - m l n p a r m ) / f u l l s c a l e * x e n d ; p r o c e d u r e d e c o d e _ p a r m s (v a r n p a rm s , l c h r o m : i n t e g e r ; v a r ch ro m :ch ro m o so m e ; v a r p a rm s :p a rm s p e c s ); v a r j , jp o s it io n :in t e g e r ; ch ro m tem p :ch ro m o so m e; ( T e m p o r a r y s t r i n g b u f f e r } b e g in j :- 1; ( P a ra m e te r c o u n te r ) jp o s i t i o n :— 1; [ S t r i n g p o s it io n c o u n te r ) re p e a t w i t h p a r m s [ j J do i f lparm > 0 t h e n b e g in e x t r a c t _ p a r r a ( c h r o r a , ch ro m tem p , j p o s i t i o n , lc h r o m , l p a r m ) ; p a r a m e t e r : - map__parm( d e c o d e (c h r o m te m p , l p a r m ) , m axparm , m in p a rra , p o w e r ( 2 , 0 , l p a n n ) - 1 . 0 end e l s e p a ra m e te r : — 0 .0 ; j :- j u n t il j en d ;
);
+ 1; > n p a rm s;
Wyd. 3.16. Podprogramy dekodujące do zastosowania w SGA: procedura extracLparm, funkcja map_pami i procedura decode~parm$
f lf p ! . Dyskretyzacja
_____________________ 99
3.10. Dyskretyzacja Dyskretyzacja parametrycznego zadania optymalizacji z parametrami rzeczywistymi nie jcstjedynym rodzajem dyskretyzacji, która może być konieczna w celu zastosowania algorytmu genetycznego. Wiele zadań optymalizacyjnych, a właściwiezadań z dziedziny optymalnego sterowania, charakteryzuje się nie pojedynczym parametrem decyzyjnym, ale.funkcją decyzyjną (zwaną sterowaniem), której wartość musi być określona w każ dym punkcie pewnego kontinuum. Zastosowanie algorytmów genetycznych do rozwią zywania tego typu problemów jest możliwe po uprzednim sprowadzeniu ich do postaci fparąmetrycznej (skończenie wymiarowej). ,ff, Taką formę dyskretyzacji można prosto zilustrować następującym przykładem: Przypuśćmy, że naszym celem jest minimalizacja czasu przejazdu rowerem danego !;oc|cinka drogi. Załóżmy dalej, że możemy przykładać siłę / jako funkcję czasu f(t), 'pfey, ograniczeniu I f(t)\< ,fmax. Jest to ciągłe zadanie optymalnego sterowania, w którym ch$dzi o znalezienie wielkości przykładanej siły, wyrażonej jako ciągła funkcja czasu f;(ppr. rys. 3.8). Ponieważ stosowanie algorytmu genetycznego jest możłiwe tylko dla /ądań dających się opisać za pomocą struktur skończonych, musimy najpierw spro wadzić problem ciągły do skończonej liczby parametrów, a następnie zredukować te parametry do postaci skończonych ciągów kodowych przy użyciu pewnego procesu )k0dowania.
Czas
t
Rys. 3.8. Dyskretyzacjaciąglejfunkcji decyzyjnej
Dyskretyzacja kontinuum, o której tu mówimy, kojarzy się najczęściej z takimi tematami, jak sterowanie dyskretne, interpolacja i metoda elementu skończonego. W za daniu sterowania rowerem pierwszy etap dyskretyzacji mógłby polegać na zastąpieniu funkcji ciągłej ciągiem jej wartości /j, wziętych w równych odstępach czasu. Następnie możemy wybrać pewną postać funkcyjną, np. schodkową, przedziałami liniową, prze działami kwadratową albo spląjn trzeciego stopnia i przeprowadzić interpolację na pod stawie wartości f . Na rysunku 3.8 pokazano przybliżone rozwiązanie zadania sterowania rowerem będące interpolacją liniową rozwiązania dokładnego.
1 0 0 __________________________
3. Implementacja komputerowa algorytmu genetycznego
L
3.11. Problem więzów Do chwili obecnej ograniczyliśmy sięjedynie do rozpatrywania bezwarunkowych zadań optymalizacyjnych. W praktycznych problemach często występujejedno lub więcej ogra niczeń, które muszą być spełnione. W tym punkcie zajmiemy się sprawą uwzględnienia takich warunków (zwanych więzami) w kontekście zastosowania algorytmu genetycznego. Więzy mogą przybierać postać równości lub nierówności. Ponieważ więzy o chara kterze równości można włączyć do modelu systemu - czarnej skrzynki - pozostaje nam rozpatrzyć tylko więzy wyrażone w postaci nierówności. Na pozór wydaje się, że takie ograniczenia nie powinny przedstawiać szczególnego problemu. Algorytm genetyczny generuje ciąg parametrów, które są poddawane ocenie, biorąc pod uwagę model systemu, funkcję celu i więzy. Należy więc każdorazowo obliczyć wartość funkcji celu i spraw dzić, czy nie zostaly naruszone któreś z więzów. Jeśli nie, to przypisujemy danemu zbiorowi parametrów wskaźnik przystosowania odpowiadający wyznaczonej wartości funkcji celu. Jeśli natomiast więzy zostaly naruszone, to dane rozwiązaniejest niedopu szczalne, nie można mu więc przypisać przystosowania. Byłaby to dobra regula po stępowania, gdyby nie to, że sporo zadań spotykanych w praktyce to zadania z silnymi więzami; znalezienie rozwiązania dopuszczalnego może być dla nich niemal tak samo trudne, jak znalezienie rozwiązania optymalnego. W rezultacie często zmuszeni jesteśmy wydobywać jakąś informację z rozwiązań niedopuszczalnych, być może obniżając ich wskaźnik przystosowania w stopniu odpowiadającym naruszeniu więzów. Tak postępuje się, stosując metodę kar [penalty method]. W metodzie kar zadanie optymalizacyjne z więzami przekształcamy do postaci bezwarunkowej, obciążając każde naruszenie więzów kosztem lub karą. Koszt ten zo staje włączony do funkcji celu. Rozważmy dla przykładu następujące warunkowe zada nie minimalizacji: zminimalizować g(x) przy warunku /;,(x) > 0, i= l, 2, ..., n gdzie x jest wektorem /n:wymiarowym. Po przekształceniu do postaci bezwarunkowej: n zminimalizować g(x) + r X® [/i,(x)l i=i gdzie można wybrać na wiele sposobów. W tej książce najczęściej używamy funkcji kwadratowej [/i,(jc)j=/i;(jc), dIa wszystkich naruszonych więzów i. Pod pew nymi warunkami ciąg rozwiązań zadania bezwarunkowego jest zbieżny do rozwiązania zadania warunkowego, gdy współczynnik kary r dąży do nieskończoności. W praktyce algorytmów genetycznych wartości r ustala się odrębnie dla każdego typu więzów, tak aby umiarkowane przekroczenia więzów były obciążone karą stanowiącą ustalony, zna czący ułamek kosztu nominalnego.
PJi>2:' Podsumowanie
101
3.12. Podsumowanie W,; rozdziale tym uchyliśmy nieco zasłonę tajemnicy algorytmów genetycznych, dzięki lpyaznemu zbadaniu struktur danych, procedur i rozmaitych szczegółów niezbędnych do fifnplemenfacji prostego, ale dającego się praktycznie stosować algorytmu. W szczególności zaprogramowaliśmy w Pascalu szkielet algorytmu genetycznego w postaci pro gramu SGA, który nadaje się do wykonania przy użyciu powszechnie dostępnych mikrottomputerów. .Tak można się było spodziewać, podstawową strukturą danych dla elementarnego tjdgorytmu genetycznego jest populacja ciągów kodowych. W programie SGA używa się Jd^óch identycznych struktur, aby w maksymalnym stopniu ułatwić tworzenie i wymianę jpppulacji. Sama populacja jest zrealizowana w postaci tablicy osobników, złożonych szrciągu kodowego, zdekodowanego parametru, wskaźnika przystosowania i pewnych .ważnych informacji pomocniczych. Zasadnicza część pracy programu przypada na trzy podprogramy: select, crossover imutation. Pierwszy z nich dokonuje wyboru losowego z powtórzeniami zgodnie z zasa dą zwaną regułą ruletki. Dwa następne realizują, zgodnie ze swymi nazwami, operacje ■„opisane w rozdziale pierwszym. Wszystkie działania są koordynowane przez procedurę o nazwie generation, która w każdym kolejnym pokoleniu generuje nową populację. Po skonstruowaniu SGA przetestowaliśmy program w krótkim przebiegu, dla nie skomplikowanej funkcji/(*) = cv10. Chociaż nie można wyciągać ogólnych wniosków na ■podstawie jednej realizacji procesu stochastycznego, algorytm znalazł rozwiązanie blis: kic optymalnemu w krótkim czasie i po przeszukaniu drobnej cząstki przestrzeni po szukiwań. Omówiliśmy również rozmaite szczegóły implementacyjne, w tym przekształcenie funkcji celu do postaci funkcji przystosowania, które trzeba niekiedy wykonać dla trady cyjnie sformułowanych zadań optymalizacyjnych (np. w przypadku zadań miiiimaliza,,pji), aby nadawały się do rozwiązania za pomocą algorytmu genetycznego. Ponadto ■•zaproponowaliśmy skalowanie wskaźników przystosowania w celu dokładniejszej konlroli tempa reprodukcji najlepszych ciągów kodowych. Przedyskutowaliśmy też pewne podstawowe kwestie dotyczące problemu kodo wania. Zostały sformułowane zasady minimalnego alfabetu i znaczących cegielek, okre ślające kryteria projektowania efektywnych kodów. Zaprezentowaliśmy zaprogramo waną w Pascalu metodę kodowania, przydatną w rozmaitych zadaniach optymaliza cyjnych. W metodzie tej używa się blokowego zapisu pozycyjnego ze standaryzowaniem parametrów. Kodowanie pociąga za sobą dyskretyzację parametrów, ale często niejest to jedyny fodząj dyskretyzacji, zjakim możemy się spotkać. W licznych zadaniach optymalizacji mamy do czynienia z ciąglą funkcją decyzyjną. Takie zadania optymalizacji - ściślej, zadania optymalnego sterowania - trzeba najpierw sprowadzić do postaci skończenie wymiarowej. Otrzymane w ten sposób parametry mogą być następnie zakodowane metodą opisaną w tym rozdziale. Dyskretyzację tego typu wykonuje się wybierając odpowiednie funkcje interpolacyjne (zazwyczaj wystarcza interpolacja liniowa); parametry związane
102
3. Implementacja komputerowa algorytmu genetycznego
z wybraną postacią funkcji interpolacyjnej po zakodowaniu przy użyciu kodu blokowego tworzą następnie skończony dwójkowy ciąg kodowy. Na zakończenie uznaliśmy potrzebę zastosowania specjalnych metod w celu uwzględnienia więzów wyrażonych w postaci nierówności. Naturalną dziedziną zastoso wania algorytmów genetycznych są problemy bezwarunkowe. Wszak przyroda bezustan nie eksperymentuje, a jedynym rodzajem więzów, jakie napotyka w swym środowisku jest kryterium przetrwania jej wytworów. Także w przypadku algorytmów genetycznych funkcja przystosowania musi odzwierciedlać zarówno jakość, jak i dopuszczalność roz wiązania. W licznych przypadkach skuteczna okazala się tu metoda kar. Przy użyciu tej metody każdc naruszenie więzów jest karane przez obciążenie pierwotnej funkcji celu kosztem zależnym od miary przekroczenia. Analiza konkretnej implementacji i dyskusja niektórych zagadnień implementacyj nych zbliżyły nas do praktycznego zastosowania algorytmów genetycznych w nauce, technice i interesach. W następnym rozdziale przyjrzymy się wcześniejszym i obecnym przykładom takich zastosowań.
3.13. Zadania 3.1. Rozważmy funkcję przystosowania f(x)= x" w przedziale fG, l]. Oblicz wartość oczekiwaną średniego przystosowania dla populacji losowo wygenerowanych pun któw. Oblicz prawdopodobieństwo wygenerowania punktu x, dla którego f(x) >f. Porównaj wartości liczbowe średnich z populacji dla /i=2 i n - 10. Porównaj praw dopodobieństwa wygenerowania punktu o wskaźniku przystosowania/>0,9 w obu tych przypadkach. 3 .2 . Przestrzeń rozwiązań zawiera 2097152 punkty. Chcemy porównać dwie wersje algorytmu genetycznego, jedną z kodem dwójkowym i drugą z kodem ósemko wym. Oblicz i porównaj następujące wielkości dla obu wersji algorytmu: a) b) c) d)
całkowita liczba schematów; całkowita liczba ciągów kodowych; liczba schematów przypadających na jeden ciąg kodowy; ograniczenie dolne i górne liczby schematów reprezentowanych w populacji liczącej 50 elementów.
3 .3 . Chcemy zminimalizować funkcję trzech zmiennych,/(.v,y,z). Zmienna x może przy
bierać wartości z przedziału [—20,0, 125,0j, zmienna y - z przedziału [0, l,2x 10r’j, a zmienna z - z przedziału [-1,0, l,0]. Wymagana dokładność dla x, y i z wynosi odpowiednio 0,5, 10'' i 0,001. Dobierz odpowiedni dla tego zadania blokowy zapis pozycyjny ze standaryzacją parametrów, .lakajest minimalna liczba bilów niezbęd na do osiągnięcia żądanej doldadności? Podaj ciągi kodowe reprezentujące następu jące punkty: (-20, 0, - I), (125,0, l,2x 10", 1,0), (50, 100000, 0,597).
ą|'^. Gwiczenia komputerowe
____________________________________ 103
3.14. Ćwiczenia komputerowe A. Włącz do programu SGA podprogamy skalujące z wyd. 3.15 i powtórz eksperyment z funkcją f(x) = cxt0. Porównaj ł omów wyniki otrzymane w obu wariantach (bez skalowania i ze skalowaniem). B. Przetestuj podprogramy realizujące blokowy zapis pozycyjny ze standaryzacją para metrów z wyd. 3.16 dla następującego zadania z trzema parametrami (podane ma ksymalne i minimalne wartości parametrów oraz długości podciągów kodowych): max,: 20, 100, 300 0 min,: -10, -5, 15 10, 5, . lr Wykonaj testy dla ciągu złożonego z samych zer, ciągu złożonego z samych jedynek oraz ciągu 010101 ... 0101. Porównaj wyniki komputerowe z obliczeniami odręcz nymi. Określ także dokładność każdego z bloków składowych. Po przetestowaniu włącz rozważane podprogramy do programu SGA, pamiętając o procedurach inicjalizacji. p i Zminimalizuj funkcję j'(x,y,z.)=xl +y2+zl, gdzie .v, y, z mogą zmieniać się w zakresie od -512 do 512. Zastosuj kod 10-bitowy dIa każdego parametru (jest to furikcja F\ De Jonga). D, Zaimplementuj algorytm poszukiwania binarnego woparciu o skumulowane prawiidopodobieństwa selekcji w celu zwiększenia efektywności procedury reprodukcji. Ei, Zaimplemcntuj i przetestuj podprogram zegara mutacyjnego do przeprowadzania mu tacji. (Wskazówka: Posłuż się rozkładem geometrycznym; generuj „czas” do następnej>mutacji). fF. Napisz podprogram realizujący kodowanie zmiennopozycyjne o zadanej wielkości :mantysy i cechy. •G. Porównaj efektywność algorytmu genetycznego z kodem dwójkowym i niedwójkowym. W szczególności, porównaj efektywność AG z kodem dwójkowym i z kodem ósemkowym dla funkcji przystosowania f{x)= x'0. Zastosuj 30-pozycyjny zapis dwójkowy i 10-pozycyjny zapis ósemkowy. Porównaj i omów tempo zbieżności i końcowy poziom zbieżności dla obu metod kodowania.
Rozdział
4
Niektóre zastosowania algorytmów genetycznych
Parafrazując znany żart: „Jeśli algorytmy genetyczne są takie sprytne, to dlaczego nie są bogate?’’ W istocie, algorytmy genetyczne są bogate - bogate w zastosowania w wiel kiej i wziąż rosnącej liczbie dyscyplin. W tym rozdziale zaprezentujemy przekrój za stosowań algorytmów genetycznych - od dawnych do najnowszych, od czystych do stosowanych - w* dziedzinach tak różnorodnych, jak matematyka, medycyna, technika i politologia. Nasz cel jest trojaki. Po pierwsze, potrzebujemy perspektywy historycznej, aby lepiej zrozumieć.jakim sposobem „sztuka” algorytmów genetycznych rozwinęłasię do obecnego poziomu. Po drugie, liznąwszy w poprzednim rozdziale nieco programowa nia, teraz musimy przekopać się przez prace innych, aby poznać praktyczną stronę za stosowań. I w końcu, studiując rozmaite zastosowania algorytmów genetycznych, kon tynuujemy gromadzenie dowodów na rzecz sformułowanej wcześniej tezy o odporności tychże algorytmów; wśród porównywalnych metod nie mają one sobie równych pod względem różnorodności zastosowań i efektywności działania. Przegląd zastosowań rozpoczynamy od zapoznania się z wczesnymi symulacjami komputerowymi naturalnych procesów genetycznych oraz innymi prehistorycznymi śla dami algorytmów genetycznych. Po omówieniu kilku dawniejszych zastosowań, począw szy od pionierskiej rozprawy Bagleya, aż po przełopową pracę De Jonga z zakresu optymalizacji funkcji, czeka nas potpourri aktutflnycf zastosowań, zaczerpniętych z te chniki, medycyny i nauk społecznych.
4.1. Powstanie algorytmów genetycznych Zanim zaczęto stosować algorytmy genetyczne jako algorytmy wyszukiwania w dowol nego typu problemach, pewna liczba biologów używała komputerów do symulacji proce-
1. 1. i'owstanie algorytmów genetycznych
105
M')w genetycznych (Barricelli, 1957, 1962; Fraser, 1960,. 1962; Martin i Cockerham, ;96()).Chociaż celem tych badań było wyjaśnienie zjawisk naturalnych, praca Frasera nic była zbytodległa od współczesnego rozumienia algorytmu genetycznego. W swej ^cyrozpatryw aFon funkcję fenotypową postaci Fenotyp = a + qa 1a\ + ca3 'Ę, piętnastobitowego ciągu reprezentującego genotyp pięć bitów przeznaczone było na parametr a, pięć na parametr b i dalsze pięć na parametr c. Fraser wykazał za pomocą >'serii wykresów (zreprodukowanych tu na rys. 4.1) istnienie interakcji między różnymi
Rys. 4.1. Funkcja epistatyczna Frasera dla różnych wartości parametrów. Przedruk za zezwoleniem z Journal o f Theoretical Biology, vol. 2, 1962, Academic Press London Ltd.
paiametrami. W przeprowadzonych przez niego symulacjach selekcja polegała na wyborźejako rodziców tych genotypów, dla których funkcja fenotypowa przybierała wartości w określonych granicach (od - l do +1). Fraser symulował ewolucję populacji genotypów i wyznaczał dla kolejnych pokoleń stosunek procentowy osobników o akceptowalnych genotypach. Wyniki tych komputerowych symulacji pokazane są na rys. 4.2. Chociaż wspomniane wyniki przypominają nieco optymalizację funkcji, w pracy Frasera nie ma wzmianki o możliwości zastosowania algorytmu wyszukiwania wybrane go przez przyrodę w niebiologicznym kontekście. Dopiero Hollandowi i jego studentom przypadło w udziale po raz pierwszy użyć operacji guusi-genetycznych w zagadnieniach sztucznej adaptacji. Holland położył podwaliny pod te zastosowania w swych pracach na temat teorii systemów adaptacyjnych (Holland, 1962a-c). .Tak można się przekonać z na stępującego cytatu (Holland, 1962c, str. 298), stawiał on sobie dość rozległy cel: S tu d iu m ad ap tacji o b ejm u je zaró w n o ad ap tu jący się sy stem , ja k i je g o śro d o w isk o . M ów iąc o g ó ln ie .je s t to stu d iu m d o ty czące sposobów , dzięk i k tó ry m sy stem y m ogą w ytw arzać proce-
106
4. Niektóre zastosowania algorytmów genetycznych Ł.
Rys. 4.2. Wyniki symulacji genetycznych dla funkcji epistatycznej Frasera przy różnych wielkościach populacji. Przedruk za zezwoleniem z Journal of Theoretical Biology, vol. 2, 1962, Acade mic Press London Ltd. du ry u m o żliw iające im skulecz,ne d o p aso w an ie się do sw ych środow isk. Jeśli w p u n k cie w y jśc ia n ie zaw ę zim y arb itraln ie p o jęcia ad ap tacji, system ad aptacyjny m usi b y ć z d o ln y do w y tw o rzen ia d o w o ln ej m etody lub p rocedury d ającej się efek ty w n ie zd efin io w ać.
Nie są to slowa człowieka, który najzwyczajniej w Swiecie szuka jeszcze jednej metody rozwiązania tego czy innego zadania optymalizacji. Celem Hollanda było i nadal pozo staje stworzenie teorii oraz reguł, według których można będzie tworzyć ogólne pro gramy i maszyny o nieograniczonych zdolnościach adaptacji do dowolnych środowisk. Jednocześnie Holland dostrzega fundamentalne znaczenie sztucznej selekcji - mechani cznego odpowiednika zasady przetrwania najlepiej przystosowanych - we wszelkich możliwych do pomyślenia programach lub maszynach (str. 300): A zatem a d a p ta c ja zasad za się na se lek cji różn icu jącej p rogram ów zarząd zający ch . T o je s t, im w ię k sz e „ p o w o d z e n ie ” odnosi program z a rz ą c ^ a ją ra T w s e n s ie zdolności k iero w an y ch p rzez sie b ie p ro g ram ó w w y k o n aw cz y ch do zn ajd o w an iaT o zw iąza ń , tym b ard ziej d o m in u ją c ą (w liczb ie kopii) p o zy cję zd o b y w a on so b ie w populacji program ów zarząd zający ch .
Holland nie tylko dostrzegł potrzebę selekcji, ale w sposób nie budzący wątpliwości poparł podejście populacyjne do zadań poszukiwania, wbrew panującemu podówczas w literaturze podejściu punkt-za-punktem. Warto zauważyć, że w tych najwcześniej szych pracach Holland wspomniał jedynie pośrednio o znaczeniu krzyżowania lub in nych rekombinacyjnych operacji genetycznych. Pierwsza bezpośrednia uwaga na ten temat pojawia się trzy lata później (Holland, 1965, str. 216):
4 2 Przegląd historyczny ważniejszych zastosowań algorytmów genetycznych____________ 107 iJstnieją je d n a k tech n ik i p ró b k o w an ia funkcji na zb iorze b azow ym o g ó ln iejsze od m etody >Sanuieia. D la d an eg o zbioru bazo w eg o techniki te, blisko zw iązan e z e znanym i w g en ety ce ■współzależnym i zjaw isk am i' crossing-over , sp rzęż en ia [linkage] i d o m in o w a n ia , z ap ew n ia ją o siąg n ięcie ścislej su b o p ty m aln o ści [strict near optimality] w zn acz n ie sz erszej k la sie śro d o wisk.
r,W'czasie, gdy jego idee dojrzewały, Holland wykładal systemy adaptacyjne na Uniwer^sytfcćie Michigan. Jego słuchacze dokonywali podówczas symulacji adaptacyjnych algoiytmów genetycznych w odniesieniu tak do ukladów biologicznych, jak i pozabiologir/nych; niestety świadectwa pisane większości tych usilowań nie zachowały się. Wiemy z pewnością, że używano w tym czasie operacji reprodukcji, krzyżowania i mutacji niemal w tej samej postaci,jak czyni się to dzisiaj. Niebawem zapoznamy się z tą częścią dojrzewającego miodego pokolenia, której udało się dorosnąć do rozprawy doktorskiej. Sam Holland, kontynuując wcześniejsze prace o bardziej spekuIatywnym charakterze, przeniósł teorię adaptacyjnych systemów genetycznych na twardy grunt matematyki (Holland, l966, 1967, 1969a, l969c). Mająca duże znaczenie teoria schematów była gotowa mniej więcej pod koniec dekady (Holland, l968, 1971), a zaraz potem zostały optiblikowane wyniki dotyczące związków między planami reprodukcji a zagadnieniem /<-r;imiennego bandyty (Holland, 1973a, 1975).
4.2. .*r
Przegląd historyczny ważniejszych zastoso algorytmów genetycznych
~ ~ - _________________________________ 4.2.1. B agley i adaptacyjny program g ry w sze ść pionków
Pierwsza wzmianka o algorytmach genetycznych i pierwsze opublikowane doniesienie ‘na temat zastosowania algorytmu genetycznego pojawiły się w pionierskiej rozprawie doktorskiej Bagleya (1967). Panowało wówczas wielkie zainteresowanie komputerami ffirającymi w gry strategiczne i w tym duchu Bagley opracował kontrolowane środowisko doświadczalne do badania programów grających, zaprojektowane dla gry w sześć pion. ków. Gra w sześć pionków jest rozgrywana na szachownicy zredukowanej do dziewięciu ti(3x3) pól (por. rys. 4.3). Każdy z graczy ma początkowo do dyspozycji trzy pionki Ijpróbuje dostać się na stronę przeciwnika. Dostosowując odpowiednio poziom gry przeiciwnika, Bagley był w stanie kontrolować stopień nieliniowości procesu (zwany przez Jiiego „głębokością procesu” ). j Bagley zaprojektował algorytmy genetyczne służące do określania zbioru para metrów używanych w liinkcjach oceniających i porównywalje z algorytmami korelacyj nymi - procedurami uczącymi się, opartymi na ówczesnych algorytmach zmiany wag (por. Friedberg, 1958; Samuel, 1959; Uhr i Vossler, 1961). Nie jest zaskoczeniem, że Bagley stwierdził potrzebę daleko idącej zgodności między nieliniowością gry, a nieliJtiowością algorytmu korelacyjnego. Natomiast algorytm genetyczny Bagleya okazał się jlięwrażiiwy na nieliniowość gry i dawał dobre wyniki dla całego zakresu środowisk (gtębokości procesów).
4. Niektóre zastosowania algorytmów genetycznych t
10 8
'^jjj^^^^^'
£ ~ 3
1 ^ ^ ^ ^ ^ ^ B i Ł
J
Rys. 4.3. Plansza gry w sześć pionków
Algorytm genetyczny BagIeya wykazuje duże podobieństwo do algorytmów iiżJ wanych dzisiaj. Zaprojektował on operacje reprodukcji, krzyżowania i mutacji zbliżone do tych, które opisaliśmy w poprzednim rozdziale; ponadto zastosował reprezentację diploidalną, mechanizm dominowania oraz inwersję. (O tych ostatnich powiemy więcej1 w następnym rozdziale.) -Bagley używał do kodowania alfabetów niedwójkowych. Jaj wiemy z wcześniejszych rozważań na temat schematów, istnieją poważne przesłanki, b | stosować alfabety minimalne. Bagley nie znał jednak teorii schematów Hollanda, ni| mógł więc kierować się nią w swej pracy. f Na polu reprodukcji i selekcji praca Bagleya stanowiła zapowiedź przyszłych roz-< wiązań. Bagley miał jasną świadomość, że tempo selekcji musi być odpowiednio dobie rane w początkowej i końcowej fazie wykonywania algorytmu. Wprowadził więc mecha nizm skalowania, aby osiągnąć dwie rzeczy: zmniejszyć presję selekcyjną we wczesnej fazie przebjegu, zapobiegając w ten sposób zdominowaniu populacji przez jednego siiperosobnika oraz zwiększyć presję w późniejszej fazie, aby utrzymać odpowiedni po ziom konkurencji wśród wysoko przystosowanych i podobnych do siebie osobników przed ujednoliceniem się populacji. W podobny sposób postępują dzisiejsi badacze. Bagley przedstawił również jako pierwszy pomysł samoregulacji algorytmu gene'j tycznego. Zaproponował mianowicie kodowanie prawdopodobieństw krzyżowania i mu tacji w samych chromosomach; nie podał jednak ^idnych wyników eksperymentaInyoh dotyczących tego mechanizmu.
4.2.2.
R o senberg i sym ulacja żyw ej kom órki _______________________________________________ ^
W tym samym czasie co Bagley, również Rosenberg (1967) pracował nad rozprawr doktorską poświęconą algorytmom genetycznym. Jednak jego wktad w tę gałąź wiedz) bywa niekiedy niezauważany, gdyż podkreślał on głównie stronę biologiczną i stron; symulacyjną swej pracy. W rozprawie Rosenberg zajął się symulacją populacji jcdno’
rżegląd historyczny ważniejszych zastosowań algorytmów genetycznych .
10 9
Komórkowych organizmów o nieskomplikowanej, ale dobrze określonej biochemii, wy posażonych w przepuszczalną błonę komórkową i klasyczną strukturę genetyczną (jeden gbh, jeden enzym). Pomimo nacisku na stronę biologiczną, praca Rosenberga miała rjstótne znaczenie dla przyszłego rozwoju pozabiologicznych zastosowań algorytmów genetycznych, ze względu na podobieństwo do zagadnień optymalizacji i wyznaczania ,-jpi'ejsc zerowych funkcji. Nie będziemy tu wchodzić w szczegóły jego modeli kinetyki (chemicznej, jednak pewne aspekty modelu genetycznego są interesujące. Rosenberg poJ&giwat się dwuchromosomowym ciągiem kodowym (reprezentacja diploidalna). Dluigbść ciągu.była ograniczona do 20 genów, przy czym każdy gen mógł mieć do 16 alleli. Rownberg rozważał stężenia składników chemicznych Xj oraz pożądane stężenia tychże składników x}. Układ pożądanych stężeń nazwał właściwością [property], Jako kryterium (przy kojarzeniu par i selekcji brana była pod uwagę wartość funkcji „antyprzystosowajiia” (dla i-tej właściwości): fl = ^ ( X j - X j ) 2 j
ftcjfci® sumowanie rozciąga się na wszystkie składniki chemiczne wchodzące do i-tej fwiaściwości. Rosenberg obliczał odwrotności wielkości f i przeprowadzał kojarzenie, afnastępnie reprodukcję stosownie do tego odwrotnego antyprzystosowania. W eksperyppńtach symulacyjnych ograniczył się jednak tylko do jednej właściwości i w rezultacie fpfjtepuścil szansę wykonania pierwszej próby z wielokryterialnym algorytmem genetyczpnjJm,.czego dokonał dopiero SchafFer (1984). Niemniej jednakjego eksperymenty były pferwszym przypadkiem zastosowania algorytmu genetycznego do wyznaczania pierwia stków równań; jeśli spojrzeć na to z odpowiedniego punktu widzenia, znalezienie komó rek minimalizujących funkcję antyprzystosowaniajest równoważne rozwiązaniu wysoce ‘nieliniowego równania (wyznaczonego przez chromosomy i biochemię komórki), okreś lającego daną właściwość. Podobnie jak w przypadku Bagleya, praca Rosenberga poprzedziła teorię schema•tów Hollanda, wskutek czego zastosował on również alfabet niedwójkowy. Tak jak Baglpy, Rosenberg starał się wymyślić sposób na zapewnienie dostatecznie dużej presji 'V procesie selekcji. Użył w tym celu funkcji, którą nazwał funkcją generacyjną potomst wa (offspring generation function, OGF). Określił mianowicie wielkość s, związaną ze znormalizowanym antyprzystosowaniem osobników rodzicielskich (f]/f). Opierając się na tej wielkości, określał liczbę potomków zgodnie z funkcją OGF, której wykres poka zano na rys. 4.4. Innym ciekawym aspektem jego pracy jest mechanizm krzyżowania adaptacyjne go. Każdemu genowi został przyporządkowany tzw. współczynnik sprzężenia x,, dziedzi czony wraz z alleIem. Współczynniki sprzężenia, przyjmujące wartości całkowite od 0 do 7, ulegały replikacji podczas selekcji, a następnie były poddawane krzyżowaniu Wraz ze swymi alielami. Rosenberg nie stosował całkowicie losowego wyboru punktów krzyżowania, aIe wybierał je zgodnie z rozkładem prawdopodobieństwa określonym jgrźez współczynniki sprzężenia: Pi = x , / J i x j
110
4. Niektóre zastosowania algorytmów genetycznych
f Rys. 4.4. Funkcja generacyjna potomstwa (OGF). Za Rosenbergiem (1967)
■■m Wielkość p, oznacza tu prawdopodobieństwo skrzyżowania w punkcie i. Rosenberg poJ dal przyklad demonstrujący, że krótkodystansowość sprzężeń wywiera znaczny wplyw na otrzymywanie dobrych wyników; istotnie, w trakcie symulacji wsj)6lczynniki sprzężej nia ewoluowały w kierunku „skracania” sprzężeń.
4.2.3.
C a vicchio i rozpoznaw anie postaci _______ _ _ _ _ _ _ _ _ _ ^ _ _ _ ________ ^
Po przygotowaniu gruntu przez Bagleya i Rosenberga nie trzeba już bylo długo czekać, na następne zastosowania algorytmów genetycznych. W swym studium z 1970 r. pl. „Adaptive Search Using Simulated Evolution” (Poszukiwanie adaptacyjne na drodze, symulowanej ewolucji), Cavicchio użył algorytmu genetycznego do rozwiązania dwóch problemów poszukiwania: zadania wyboru podprogramu i zadania rozpoznawania po-: staci. Ze względu na złożoność i związek z aktualną problematyką zajmiemy się bliżej rozważanym przez niego problemem rozpoznawania postaci. W rzeczywistości Cavicchio nie zmierzył się bezpośrednio z problemem rozpo znawania postaci. Zastosował zamiast tego algorytm genetyczny do zaprojektowania zestawu detektorów dht urządzenia rozpoznającego o znanej architekturze. Aby dobrze zrozumieć, co oznacza „zaprojektowanie zestawu detektorów” , musimy wpierw zapoz nać się z konstrukcją urządzenia rozpoznającegfe, oWórym mowa. i Cavicchio przyjął metodę rozpoznawania postaci, podaną przez Bledsoe’a i Bro:. wninga (1959). W metodzie tej obraz zostaje przetworzony do postaci cyfrowej, tworząc siatkę o rozmiarach 25x25 złożoną z 625 elementów (pikseli), przy czym każdy piksel jest pikselem binarnym, zdolnym do odróżnienia tylko dwóch odcieni, jasnego i cie mnego. Wybiera się zestaw określonych „detektorów cech” ; każdy detektorjest przy tym tożsamy z pewnym podzbiorem pikseli. Podczas fazy treningowej urządzeniu roz poznającemu prezentuje się znane obrazy należące do zarejestrowanych klas, a listy stanów detektorów zostają skojarzone z nazwami klas t zapamiętane. W fazie roz-
4.2. Przegląd historyczny ważniejszych zastosowań algorytmów genetycznych____________ 111
poznawania urządzenie otrzymuje nieznany obraz i określa stopnie podobieństwa. Naslępnieurządzenie generuje listę klas uporządkowaną wedługstopnia podobieństwado nieznanego obrazu. Chociaż mechanizm ten jest sam w sobie całkiem prosty, metoda daje dobre wyniki tylko pod warunkiem, że wybrano odpowiedni dla danego zadania (w danym przypadku chodzi o rozpoznawanie znaków graficznych) zestaw detektorów. Takiwięc pfoblem skutecznego działania maszyny Bledsoe’a i Browninga sprowadza się do znalezienia dobrego zestawu detektorów. Cavicchio zastosował algorytm genetyczny do lego właśnie zadania. W tym celu Cavicchio dopuścił średnio 110 detektorów na urządzenie Qeden projekl) i od dwóch do sześciu pikseli na detektor. Chromosomy (ciągi kodowe) składały się z naprzemiennych grup dodatnich i ujemnych liczb całkowitych. Przykładowo, następu jący; fragment chromosomu +5 + 3 7 2 +9 - 5 1 8 - 2 1 3 - 3 5 - 7 6 +44 + 3 4 8 . . .
pr/.y takim sposobie kodowania przyporządkowuje pierwszemu detektorowi piksele 5, 372ii ;9, drugiemu - piksele 518, 213, 35 i 76, i tak dalej. Odnotujmy mimochodem użycie dużego alfabetu i nietypową strukturę chromosomu z genami zmiennej dlugości. Mnzemy także wywnioskować, że z rozważanym zadaniem jest związana bardzo wielka przestrzeń rozwiązań. Aby dokonać porównania z zadaniami kodowanymi dwójkowo, ■spróbujmy oszacować liczbę bitów niezbędnych do zakodowania-jcclnego rozwiązania v. alfabecie dwójkowym. Przyjmując średnio 1lOdetektorów i cztery piksele na detektor, v,>iiiagana liczba bitów będzie wynosić / = 110 •
= 3581
wciąż jedno z największych pod względem rozmiaru zadań, jakie kiedykolwiek ' ptobu ł ‘,bowano ' rozwiązać przy użyciu algorytmu genetycznego. W swoim algorytmie genetycznym Cavicchio posługiwał się reprodukcją i krzyżo waniem w sposób podobny do tego, jak to robimy dzisiaj. Wykonał on próby z kilkoma iantami operacji selekcji (reprodukcji) i ostatecznie wybrał taki, który nagradzał wysc5ko przystosowane osobniki, nie pozwalając im jednak zawładnąć zbyt wielką częścią ulacji. Zastosowana przezeń operacja krzyżowania prostego przypomina podobną rację opisaną we wcześniejszych rozdziałach, z tą różnicą, że punkt krzyżowania może tam wypadać jedynie na styku detektorów (tj. między naprzemiennymi grupami |dodntnich i ujemnych liczb całkowitych). Z powodu zmiennej długości genu oraz dużego alfabetu Cavicchio był zmuszony wymyślić trzy warianty mutacji;
K
Mutacja 1 - zmiana jednego piksela w detektorze. Mufacja 2 - zmiana wszystkich pikseli w detektorze. Mutacja 3 - wymiana pikseli w sąsiadujących detektorach. mszczał on również inwersję, krzyżowanie dwupunktowe i duplikacje wewnątrzchroomowe, ale o tych zaawansowanych mechanizmach opowiemy szerzej dopiero w na stępnym rozdziale.
B
1 1 2 _________________________________ 4. Niektórezastosowania algorytmów gehetycznych t
Jedną z innowacji, które Cavicchio wprowadził w swych badaniach, był mecha nizm tzw. preselekcji. Polegał on na tym, że osobnik potomny o dobrym przystosowaniu zastępował jednego ze swoich rodziców w nadziei utrzymania różnorodności populacp Zachowanie różnorodności stanowiło problem z powodu niewielkich populacji (zazwy czaj 12-20 osobników), którymi Cavicchio był zmuszony posługiwać się. Preselekcją zdawała się w tym pomagać. Podobne rozwiązanie przyjął później z dobrym śkutkierii De Jong (1975) w swym studium na temat optymalizacji. Cavicchio, podobnie jak Bagley, był zafascynowany ideą adaptacji parametrów swego adaptacyjnego algorytmu; zamiast jednak wkodować prawdopodobieństwa krzy żowania i mutacji do chromosomów, jak sugerował Bagley, wybrał on metodę centralnej" regulacji parametrów na podstawie danych o globalnym tempie poprawy wyników. Nie odbiegała ona zbytnio od innych, popularnych w owym czasie algorytmów zmiany wag( i nie będziemy tu wchodzić w jej szczegóły. Musimy natomiast zatrzymać się na chwilę w tym miejscu i postawić kwestię stosowności użycia scentralizowanych danych wjakimkolwiek algorytmie adaptacyjnym'; zapożyczonym z naturalnej genetyki. Gdzie mianowicie w populacji biologicznej znaj-j dują się przewody, wszechwiedząca inteligencja czy bóstwo, niezbędne do centralnegó| manipulowania parametrami? Jeśli nawet uznamy istnienie władzy centralnej, to jaki algorytm reguluje parametry sterujące głównego sternika? Na obie te wątpliwości znaj dujemy w świecie biologicznym elegancką odpowiedź w postaci wkodowania parame trów sterujących do samych chromosomów. Jeśli pójdziemy za przykładem przyrody; i zrobimy to samo w naszych sztucznych modelach, za jednym pociągnięciem wyelimi nujemy potrzebę tentralnego sterowania, unikając jednocześnie dylematu regressus ad mfinitum. Mimo filozoficznej niespójności koncepcji procesu genetycznego z centralnym ste rowaniem, Cavicchio był w stanie eksperymentalnie wykazać pewną przewagę scen-' traIizowanej adaptacji parametrów adaptacyjnych nad wyborem stałych parametrów. Do-
Rys. 4.5. Porównanie trzech mechanizmów adaptacyjnych dla zadania selekcji detektorów obrazóvi| Za Cavicchi'em (1970)
4 2 Pizcgląd historyczny ważniejszych zastosowań algorytmów genetycznych .
113
'konał on porównania efektywności swego podstawowego algorytmu („Wstępny plan repiodukcyjny” ), jego ulepszonej wersji z mechanizmem adaptacji parametrów i róż;jhymir„wodotryskami” („Ulepszony plan reprodukcyjny” ), schematu adaptacyjnego ,Krpartego na metodzie Klopfa (1965) („Eksperyment kontrolny” ) oraz poszukiwania losowego(,,3 odchylenia standardowe” ). Otrzymane wyniki zostaly podsumowane na rys. fi;5; 'Na wykresie pokazano zależność wydajności (maksymalna wydajność=100) od •liczby przetestowanych urządzeń (liczby wypróbowanych kombinacji detektorów). Obie je algorytmu genetycznego wyprzedziły niegenetyczną metodę adaptacyjną oraz idę przeglądu losowego.
S
4.2.4.____________________________________________________ W einb v ,___________ :
genetyczny z m etapoziom u
■'Współcześnie z Cavicchiem, Weinberg kończył swoją rozprawę (1970), zatytułowaną (;Computer Simulation of a Living Cell” (Symulacja komputerowa żywej komórki). Tak iak i w przypadku wcześniejszej pracy Rosenberga, wkład Weinberga w rozwój algorytfmów genetycznych jest często zapoznawany z powodu nacisku położonego na symulację jjiologiczną. Jednakże Weinberg postawił - choć nie zbadal symulacyjnie - ciekawy jfcrablem optymalizacji algorytmu genetycznego. W rozdziale szóstym, pod tytułem „Sy:mulacja komputerowa ewolucji DNA” , Weinberg zaproponował użycie wielowarstwo,Wggo algorytmu genetycznego w celu dobrania odpowiedniego zestawu 15 stałych wpły wających na funkcjonowanie różnych symulowanych komórek bakterii Escherichia coli. ppódobnie jak Rosenberg, Weinberg pragnął doprowadzić do takiej adaptacji chromofśotnóW, aby skład chemiczny komórek odpowiadał dostępnym składnikom. A,,i> Weinberg zaproponował w tym celu zakodowanie 15 stałych w postaci jednego pągUżprzy czym każda ze stałych mogłaby przyjmować wartości z zakresu od 10^'1do ,J 0ń. Krzyżowanie i inwersja nie mogły naruszać „wnętrza” parametrów, a użycie dużego lalfabelu kodowego - jak w innych ówczesnych pracach - spowodowało konieczność zaprojektowania złożonej operacji mutowania (Weinberg nazwał ją mutacją kierowaną). Podobnie jak Bagley i Cavicchio, Weinberg nie potrafił się oprzeć pokusie samoadaptacji parametrów algorytmu genetycznego. Jednak Weinberg zaproponował w tym iCelu metodę diametralnie różną od pomysłów zarówno BagIeya, jak i Cavicchia. Wszczególności poddał on myśl, aby zastosować algorytm genetyczny w celu adaptacji parametrów algorytmu genetycznego niższego rzędu. Weinberg nazwal algorytm genety czny wyższego poziomu nieadaptacyjnym programem genetycznym, a algorytm genety czny nizszego poziomu - adaptacyjnym programem genetycznym (jego parametry ulega ją adaptacji). Związki między obydwoma algorytmami a procesem symulacji komórki są uwidocznione w postaci schematu blokowego na rys. 4.6. Zgodnie z tym populacja złożona z 10 ciągów kodowych reprezentujących prawdopodobieństwa krzyżowania, inwersp i mutacji podlega selekcji, krzyżowaniu i mutacji. Otrzymane w ten sposób para metry zostają przekazane do adaptacyjnego programu genetycznego, który z kolei geneiruje i ocenia populacje (40-elementowe) stałych używanych następnie do symulacji ko mórek. Z kolei dane o tempie poprawy wyników symulacji zostają zwrotnie przekazane
4. Niektóre zastosowania algorytmów genetycznych
114
Rys. 4.6. Schemat wielowarstwowego algorytmu genetycznego wg propozycji Weinberga (1970)
do algorytmu genetycznego wyższego poziomu w celu dokonania oceny populacji para metrów, co umożliwia dalszą ich adaptację. Weinberg byl świadom faktu, że wprowa dzenie do jego metody scentralizowanej informacji jest równoważne z postulowaniem interwencji wszechwiedzącej, wszechpotężnej instancji (1970, str. 101): Użyteczność adaptacyjnego programu genetycznego określamy w sposób pośredni, korzys tając z pomocy „nadprzyrodzonego” sędziego - nieadaptacyjnego programu genetycznego. Nieadaptacyjny program genetyczny oblicza użyteczność adaptacyjnego programu genety cznego na podstawie oceny populacji, która wyewoluowała pod nadzorem adaptacyjnego programu genetycznego. Oblicza on użyteczność najlepszego ciągu kodowego w populacji adaptacyjnego programu genetycznego. Taka jest użyteczność przyznana adaptacyjnemu programowi genetycznemu. Gdy każdemu adaptacyjnemu programowi zostala ju ż przyzna na użyteczność, wtedy nieadaptacyjny program genetyczny kieruje ewolucją populacji adap tacyjnych programów genetycznych.
Jako biolog, Weinberg byl prawdopodobnie zaniepokojony potrzebą „nadprzyrodzonej” interwencji w swojej metodzie. Chociaż opisał on procedurę symulacji ze wszystkimi szczegółami, tojednak nie przedstawił wyników symulacji tego modelu w swej roz prawie. Na implementacje algorytmu genetycznego z i$etapoziomu trzeba było poczekać aż do prac Mercera (1977) i Grel'enstette’a (1986).
4.2.5.
H ollstien i optym alizacja fu n k c ji____________ _ _ _ _ _ _ _ ^ _ _ _ _ ________________
Praca doktorska Hollstiena (1971) byla pierwszą rozprawą poświęconą zastosowaniu, algorytmów genetycznych w naukach czystych. Tytul rozprawy, „Artificial Genetic Ada ptation in Computer Control Systems” (Sztuczna adaptacja genetyczna w komputero-
'4,2. Rrzegląd historyczny ważniejszych zastosowań algorytmów genetycznych
11S
wyćli systemach sterowania)jest niecomylący, gdyż sugeruje, że chodzitu o zastosowa!nie,algorytmówgenelycznych do sterowania procesami technologicznymi wjakiejś fab ryce. Chociaż Hollstien wspominał o takiej możliwości, przedmiotem pracy byla op tymalizacji funkcji dwóch zmiennych przy zastosowaniu mechanizmów dominowania, ■krzyżowania, mutacji oraz przeróżnych metod reprodukcji wzorowanych na tradycyjnycli praktykach hodowlanych i ogrodniczych. Hollstien zbadał pięćróżnych metod selekcji: Na podstawie potomstwa Osobnicza Rodzinowa Wcwnątrzrodzinowa Mieszana
Przystosowanie potomstwa decyduje o użyciu rodzi. ców do dalszej reprodukcji. Przystosowanie osobnika decyduje o użyciu go do dalszej reprodukcji. Przystosowanie rodziny, decyduje o użyciu jej człon ków do reprodukcji. Przystosowanie członków rodziny decyduje o icIi użyciu do reprodukcji wewnątrz rodziny. Kombinacja dwóch lub więcej innych metod.
Oprócz tego rozważał on osiem typów preferencji przy kojarzeniu partnerów: Kojarzenie losowe Kojarzenie krewniacze (endogamia) Kojarzenie wg linii
Kojarzenie niekrewniacze (egzogamia) Samozapłodnienie Klonowanie Kojarzenie selektywne dodatnie Kojarzenie selektywne ujemne
Jednakowe prawdopodobieństwo dla wszystkich par. Kojarzenie osobników, pokrewnych. Szczególnie wartościowy osobnik zostaje skojarzony ze wszystkimi członkami populacji podstawowej, ,a jego potomstwo użyte do dalszej reprodukcji. Kojarzenie osobników o istotnie różnych cechach ge notypowych. Osobnik kojarzy się sam ze sobą. Tworzenie dokładnej repliki osobnika. Kojarzenie podobnych z podobnymi. Kojarzenie osobników niepodobnych.
Hollstien wykonal symulacje różnych kombinacji tych pięciu strategii selekcji i ośiniu typów preferencji w zastosowaniu do 14 funkcji dwóch zmiennych. We wszyst kich eksperymentach używał on l6-bitowych ciągów kodowych, po osiem bitów na ikażdy z dwóch parametrów. Wartości parametrów były kodowane jako liczby całkowite Wdwójkowym zapisie pozycyjnym bądź w kodzie Graya. Tabela czterobitowego kodu Graya podana zostala w tabl. 4.1; zauważmy, że sąsiednie liczby całkowite różnią się tam tylkojednym bitem (tj. ich odległość Hamminga wynosi 1). Ta własność sąsiadowania jest ogólną cechą kodów Graya. Hollstien rozważał także możliwość użycia kodów mieszających (chodzi o wybórjednej z (2')! możliwych permutacji kodu podstawowego),
4. Niektóre zastosowania algorytmów genetycznych
11 6
ale nie zademonstrował tego praktycznie. Niezależnie od rodzaju użytego kodu Hollstieii odzworowywał otrzymane liczby całkowite w przedział liczb rzeczywistych [0, l00]. Tablica 4.1. Dwójkowy zapis pozycyjny i kod Graya dla liczb całkowitych 0-15 Liczba
Zapis dwójkowy
Kod Graya
0 I 2
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000
3 4 5 6 7 8 9 10 II 12 13 14 15
•
We wszystkich przebiegach algorytmu genetycznego Hollstien używat populacji złożonych z 16 ciągów kodowych. Po przebadaniu różnych kombinacji metod selekcji i kojarzenia, ostatecznie zdecydował się na kojarzenie krewniacze połączone ze sporady cznym przekrzyżowywaniem linii, gdyż metoda ta okazala się najbardziej odporna. Twierdził również, że kody Graya wykazują pewną przewagę nad zapisem pozycyjnym i przypisywał to ich własności sąsiadowania oraz malym zaburzeniom ze strony licznych pojedynczych mutacji. Wyciągając wnioski z przeprowadzonych badań przyznal on, że miał pewne problemy w związku z użyciem małych populacji (n = 16) i zalecał na przy szłość wybór większego rozmiaru populacji.
4.2.6.
F rantz i e fekt p o zycyjny _______________________________________________________________
Frantz (1972) skorzystał z tej rady i użył większych nopulacji (n=100) oraz dłuższych ciągów kodowych (/=25) w badaniach efektu pozfycyjpej nieliniowości (epistazy) w op tymalizacji za pomocą algorytmu genetycznego. Skonstruował on kombinacje funkcji liniowych i nieliniowych określonych dla binarnych chromosomów haploidalnych i ba dał efekty pozycyjne (sprzężenia) dla szeregu takich funkcji, zmieniając porządek genów wewnątrz chromosomów, aby wpłynąć na rozpiętość wybranych grup genów. W począt kowej fazie badań zastosował on regułę ruletki, krzyżowanie proste i zwykłą mutację, porównując skutki dobrego i złego uporządkowania ciągów kodowych. Udało mu się wykazać istnienie korelacji między występowaniem krótkodystansowych sprzężeń a tem pem poprawy wyników. W jego eksperymentach z dobrymi i złymi uporządkowaniami
M.2, i Przegląd historyczny ważniejszych zastosowań algorytmów genetycznych____________ 117
hie daio się jednak zaobserwować istotniejszych różnic w wydajności od chwili ujed nolicenia się populacji. Przyczyną tego byl fakt, że wybrane przez niego funkcje nie były jdostatecznie „trudne” , aby móc skutecznie przetestować hipotezę sprzężeń - co bylo jwynikiem zbyt małej długości ciągów i słabej nieliniowości tablicowo określonych funkicji. Rzecz w tym, że to nie hipoteza sprzężeń okazała się fałszywa, ale że funkcje FTantza inie były dbstatecznie mocne, aby móc dostarczyć jej potwierdzenie. W świetle obecnej iwiedzy na temat zwodniczości nie dziwi, że miał on trudności ze skonstruowaniem >'AG-trudnych funkcji. Jak wskazano w rozdziale drugim, nie wystarczy do tego występo wanie długodystansowych nieliniowości będących łącznym efektem kombinacji funkcji ii kodu; muszą oprócz nich występować zwodnicze schematy-cegiełki niskiego rzędu. Zarówno teoria, jak i matematyczne narzędzia niezbędne do konstrukcji takich zadań nie .były jeszcze w tym czasie wypracowane. Frantz kontynuuował badania, włączając dodatkowo inwersję - operację zmienia jącą uporządkowanie chromosomu - do swego algorytmu genetycznego, w nadziei wy,tworzenia lepszych, bardziej zwartych bloków. Nie powinno dziwić, że jego ekspery menty z inwersją nie przyniosły rozstrzygnięć (operacją tą zajmiemy się w następnym rozdziale). Aby wykazać różnicującą przewagę inwersji, trzeba mieć do czynienia z za,,daniem o cechach zwodniczej nieliniowości, a jego wcześniejsze próby bez inwersji pokazały, że to nie miało miejsca. Frantz zastosował także analizę statystyczną w celu wykazania, że pewne kom binacje alleli pojawiały się w procesie przetwarzania znacznie częściej, niż można by ęczekiwać w przypadku losowym. Wprowadził również dwie nowe operacje - operację nopelnienia częściowego oraz operację krzyżowania wielopunktowego. Dopełnienie częś ciowe (które nazywał migracją) polega na zastąpieniu w wybranych osobnikach około jednej trzeciej bitów wartościami przeciwnymi (dopełnieniami). Te osobniki, zwane imijgrantami, mogły potem przechodzić do następnego pokolenia. Dopełnienie częściowe miało na celu zachowanie różnorodności populacji. Frantz stwierdził, że operacja ta istotnie zwiększa różnorodność, ale za wysoką cenę zmniejszenia wydajności. Krzyżoi,wanie wielopunktowe w jego wydaniu polegalo na wymianie podciągów utworzonych W wyniku losowego (z pewnym zadanym prawdopodobieństwem) wyboru punktów po działu (idąc z prawa na lewo). Mimo że autorstwo pomysłu należy do Frantza, dopiero fpe Jong w późniejszej pracy (1975) zbadał mocne i słabe punkty tej operacji.
;
_______________ ________ ____________ 4.2.7. Bosworth, Foo i Zeigler - geny „rze czyw iste "
lj^Vezbrany potok działalności badawczej związanej z algorytmami genetycznymi zdaje śgię około 1972 r. dzielić na dwa nurty, różniące się wyborem strategii kodowania. Obóz .(.minimalistów” skłonny jest przyjąć teorię schematów Hollanda i wynikające z niej ,zalecenie stosowania malych alfabetów. Z kolei obóz alfabetycznych „maksymalistów” wydaje się preferować wzajemnie jednoznaczną odpowiedniość między genami a parametrami, niezależnie od liczby alleli przypadających najeden gen. Z krańcowym przypa dkiem tego ostatniego podejścia spotykamy się w pracy Boswortha, Foo i Zeiglera (1972). (Patrz także: Foo i Bosworth, 1972; Zeigler, Bosworlh i Belhke, 1973). We
1 1 8 _________________________________4. Niektórezastosowania algorytmówgenetycznych|
wspomnianej pracy operacje inwersji zostały zastosowane rzeczywistych. Podobnie jak było zaproponować naturalną tego typu: 1) 2) 3) 4) 5)
k | " noszące nazwy reprodukcji, krzyżowania, mutacji orazl do „ciągów kodowych” złożonych z 4-40 parametrów,’ w poprzednich badaniach z dużymi alfabetami, trudn$ postać mutacji i w rezultacie użyto pięć różnych operacjj| "'
mutacja Fletchera-Reevesa (FR); mutacja losowa jednostajna; przybliżenie gaussowskie drugiego stopnia; przybliżenie gaussowskie trzeciego stopnia;' mutacja zerowa.
Czytelnicy znający tradycyjne procedury optymalizacji rozpoznają w pierwszej z tych „mutacji” całkiem zaawansowany algorytm wspinaczki. W tej tak zwanej operacji muta cji używa się przybliżonej wartości gradientu (trzeba przy tym obliczyć 2r wartości innych funkcji, gdzie ; jest liczbą parametrów rzeczywistych) w celu określenia kierunku wspinaczki, aby następnie zastosować metodę złotego podziału (dokonując dalszych wartościowań funkcji). Daleko odbiegliśmy tu od zwykłej mutacji objaśnionej w pierwszych trzech roz działach książki. Co istotniejsze, trudno byłoby się tu oprzeć na jakimkolwiek rozsądnym precedensie biologicznym. Gdyby taka operacja istniała w przyrodzie, skąd brałyby się te wszystkie dodatkowe wartościowania funkcji? Co więcej, gdyby nawet istotnie przyroda stosowala taką metodę poszukiwania, to jaką moglibyśmy mieć pewność, że wartości pochodnych zachowają jakiś sens w ziarnistych, nieciągłych środowiskach poszukiwań, z którymi sami mamy do czynienia? Nie chodzi tu o to, aby kwestionować użyteczność tego typu technik. Zastosowanie reprodukcji, równoległych poszukiwań w populacji i zlożonych procedur lokalnego poszukiwania może stanowić mocne narzędzie optymali zacji dla ograniczonej klasy; jednak w ogólnym przypadku posługiwanie się dużymi alfabetami do tego stopnia redukuje ukrytą równoległość, że nie jest już rzeczą właściwą nazywać taką metodę algorytmem genetycznym w sensie, w jakim rozumiał to Holland.
4.2.8.
B ox i planow anie ew olucyjne _________________________________________________________
Nie pierwszy to raz różne techniki otrzymywały miano „genetycznych” lub „ewolucyj nych” , chociaż ich rzeczywiste podobieństwo do naturalnych mechanizmów genetycz nych byIo minimalne. Jedną z pierwszych tego typit propozycji była metoda planowania ewolucyjnego [evolutionary operationj Boxa (l957). Byt to nie tyle algorytm, co metoda zarządzania mająca umożliwić pracownikom przemysłowym o mniej technicznym na stawieniu realizację systematycznego planu eksperymentów decyzyjnych. Chodziło tu o wykorzystanie eksperymentów w celu poprawy pewnych parametrów procesu techno logicznego. W celu zilustrowania metody Box przedstawił przykład procesu zależnego od trzech zmiennych; nawęglenia, wdmuc.hu powietrza i szybkości wzrostu temperatu ry. Wychodząc z bieżącego „punktu operacyjnego” tworzono hiperkostkę wariantów (rys. 4.7) i przyjmowano systematyczny harmonogram „wizyt” w poszczególnych
f 2 f Przegląd historyczny ważniejszych zastosowań algorytmów genetycznych
119
P S I 4.7. Hiperkostka wariantów w metodzie planowania ewolucyjnego Boxa (Box, 1957). Przedruk za zezwoleniem z Journal of the Royal Statistical Society, C.
wierzchołkach hiperkostki. Jeśli wizyta w jednym z sąsiednich wierzchołków przynosiła .gńacżącą poprawę, komitet planowania ewolucyjnego podejmował decyzję o zmianie jniriktii operacyjnego, tworzono nową hiperkostkę i eksperymentowanie biegło dalej, ©fidciaż pomysł wydaje się dość rozsądny, a późniejsze, bardziej automatyczne metody pleksowe zdały egzamin w zagadnieniach lokalnego poszukiwania (Nelder i Mead, i; Spendley, Hext i Himsworth, 1962), czy można uznać tę metodę za w jakimś sensie ewolucyjną? Box (str. 83) ujmuje to w ten sposób:
■
Istoty żywe rozwijają się na skutek dzialania dwóch mechanizmów: i(t) Zmienności genetycznej będącej skutkiem różnych czynników, takich jak mutacja. (ii) Doboru naturalnego. Procesy chemiczne rozwijają się w podobny sposób. Odkrycie nowej ścieżki technolo gicznej odpowiada mutacji. Dostrojenie parametrów procesu do optymalnych wartości dla uprzednio wybranej ścieżki jest związane z procesem naturalnego doboru, w którym inaio obiecujące kombinacje wartości parametrów procesu są odrzucane na rzecz bardziej obiecujących. Możemy się spierać, czy istotnie zachodzi tu analogia z procesem doboru naturalnego, gdyż według tej definicji prawie wszystko, co zmienia w jakiś sposób istniejącą stru kturę, kwalifikuje się jako mutacja. Jest to stanowczo zbyt pojemna definicja, i musimy bardzo uważać, czy zachowane są tu istotne elementy analogii. Sposób użycia przez Boxa hiperkostki ma charakter o tyle „biologiczny” , że proces poszukiwania wychodżi żpewnej populacji punktów (chociaż przyroda nie ogranicza się do poszukiwań w lo kalnym otoczeniu danej jednostki, a populacje biologiczne rzadko kiedy bywają tak uporządkowane czy regularne), jednak brak ustalonego sposobu kodowania wyklucza przetwarzanie schematów, które leży u podłoża genetycznych procesów poszukiwania;
1 2 0 _________________________________ 4. Niektóre zastosowania algorytmów genetycznych
r brak rekombinacji przekreśla natomiast innowacyjną wymianę informacji między struk turami, co uznaliśmy za tak pożyteczne we wcześniejszych rozdziałach. Musimy zatem uznać, że metoda ewolucyjnego planowania, choć wartościowa i będąca prekursorem innych lokalnych technik poszukiwania, nie stanowi algorytmu genetycznego w nowo czesnym znaczeniu.
4.2.9. Inne ewolucyjne techniki optymalizacji __________________________________
__4
Po propozycji Boxa pojawiło się kilka nowych technik optymalizacji inspirowanych ewolucją (Bledsoe, 1961; Bremermann, 1962; Friedman, 1959). Prace Bledsoe’a i Bremermanna są najbliższe nowoczesnemu pojmowaniu algorytmu genetycznego. Obydwaj wypowiedzieli się za użyciem kodu dwójkowego. Bledsoe przedstawił metodę łączącą sukcesywne tworzenie pojedynczych osobników, mutowanie i selekcję przez zachowanie najlepszego osobnika. Zaproponował również (ale bez przedstawienia wyników) metodę opartą na populacjach. Bremermann rozszerzył pracę Bledsoe’a o generowanie kolejnych populacji ciągów kodowych z zastosowaniem selekcji i mutacji. Zaproponował takżę wprowadzenie rekombinacji, ale nie przedstawił wyników eksperymentalnych, żadna z tych wczesnych prac nie miala podstaw teoretycznych analogicznych do twierdzenia o schematach. Na Politechnice Berlińskiej (Rechenberg, 1965; Schwefel, 1981) niezależnie opraco wano techniki pod nazwą Evolutionstrategie (strategia ewolucyjna). Pierwotne ekspery menty Rechenberga dotyczyły określenia profilu płatów lotniczych, przy użyciu urządzenia' fizycznego do wytwarzania lokalnych zaburzeń geometrii płata. Później zaczęto dokony^ wać symulacji komputerowych podobnych procesów. Użycie parametrów rzeczywistych ogranicza zakres przetwarzania schematów, będącego nieodłączną cechą tych metod. Tym niemniej strategie ewolucyjne znalazły gorących zwolenników w pewnych kręgach nauko wych i inżynierskich, szczególnie na terenie Niemiec (Rechenberg, 1986).
4.2.10. Fogel, Owens i WaIsh - Programowanie ewolucyjne ________________
j
Po planowaniu ewolucyjnym i ewolucyjnych technikach optymalizacji pojawiły się tech niki programowania ewolucyjnego (Fogel, Owens i Walsh, 1966). Odrzucenie tej pracy, przez środowisko naukowe zajmujące się sztuczną iftteligencją bardziej niż cokolwie| innego wpłynęło na upowszechnienie się w koTicu ^at sześćdziesiątych i w pierwszej połowie siedemdziesiątych sceptycyzmu wobec algorytmów genetycznych bliskich idei schematów. Omawiana praca dotyczyła zadania poszukiwania w przestrzeni automatów skoń czonych o niewielkiej liczbie stanów. Aby lepiej zrozumieć naturę tej przestrzeni, roz ważmy diagram przejść trzystanowego automatu, pokazany na rys. 4.8. Literami grec kimi oznaczono symbole wyjściowe, cyframi 0 i 1 - symbole wejściowe, a literami łacińskimi - stany automatu. Na przykład, jeżeli automat z rys. 4.8 znajduje się w stanie /1 i otrzyma na wejściu I, to wypisze na wyjściu p i pozostanie w stanie A. Jeśli nato-
.A2. Przegląd historyczny ważniejszych zastosowań algorytmów genetycznych
121
$ys. 4.8. Diagram przejść automatu skończonego trenowanego metodąprogramowaniaewolucyjnego (Fogel, Owens i Walsh, 1966). Adaptacja za zezwoleniem wydawcy z Artificial Intelligence Through Simulated Evolution, L.J. Fogel, A.J. Owens, M.J. Walsh, copyright © 1966 John Wiley & Sons, Inc.
rr){ast>automat jest w stanie A i otrzyma 0 na wejściu, to wypisze [1 i przejdzie do stanu R. Petny opis przejść i wyjść automatu podano w tabl. 4.2. Tablica 4.2. Tablica przejść automatu skończonego (Fogel, Owens i Walsh, 1967) Stan bicżący
Symbol na wejściu
Stan następny
C B C A A
0 I 1 1 0 1
B C A A B C
B
Symbol na wyjściu P
a y
p p a
\ ft*tiicja za zezwoleniem wydawcy na podstawie: L.J. Fogel, A.J. Owens, M.J. Walsh, Artificial Intelligence
rrti'otigh Sinmlaleil Evolution. Copyright © 1966 John Wiley & Sons, lnc.
Takie automaty były uczone przewidywania powtarzających się cykli symboli wyj ściowych metodą programowania ewolucyjnego. Metoda ta polegała głównie na selekcji i mutacji. W najprostszej postaci operacja selekcji wybierała jeden z dwóch automatów: automat rodzicielski lub zmutowany automat potomny. W pracy rozważano także popu lacje o rozmiarze większym niż n = 2; niezależnie jednak od liczby zapamiętanych auto matów rodzicielskich, jedynym mechanizmem modyfikacji strukturalnej byly mutacje. Dla Fogela, Owensa i Walsha mutacja polegała na pojedynczej modyfikacji dia gramu stanów automatu w następującym sensie (str. 14-15): Następnie tworzy się potomka tego automatu w wyniku mutacji, tj. w wyniku pojedynczej modyfikacji automatu rodzicielskiego zgodnie z pewnym rozkładem szumu mulaeyjnego.
1 2 2 ________________________________ 4. Niektóre zastosowania algorytmów genetycznych i. T ry b m utacji zależy od przedziału, do któ reg o należy liczba w y b ran a z tab licy liczb loso w ych. P rz ed ziały te zostaly w ybrane zg o d n ie z ro zk ład em p raw d o p o d o b ień stw a o k reślo n y m d Ia d o zw o lo n y ch trybów m utacji. N astęp n ie w y b iera się d o d atk o w e liczby w celu ok reślen ia sz czeg ó łó w charakterystycznych dla danej m utacji. W ten sposób zo staje utw o rzo n y au to m at p o tom ny, który różni się od sw ojego p rzo d k a albo sym bolem w y jścio w y m , albo p rzejś ciem m ięd zy stan o w y m , albo stanem pocztttkow ym .
Programowanie ewolucyjne FogeIa, Owensa i Walsha, oparte na losowych modyfikacjach diagramu stanów automatu skończonego i wyborze najlepszego osobnika, okazało się narzędziem nie dość silnym na to, by dostarczać szybkich rozwiązań - prócz przypadku malych przestrzeni problemowych. Teraz odłożymy na bok te i podobne prace badawcze, w których nie zwrócono uwagi na zasadnicze znaczenie strukturalnej rekombinacji i zaj miemy się przełomowym studium algorytmów genetycznych, łączącym w sobie solidną analizę teoretyczną ze starannie zaplanowanymi eksperymentami obliczeniowymi.
4.3. De Jong i optymalizacja fun kcji________________________ Rok 1975 był szczególnie udany dla algorytmów genetycznych. Holland opublikował znane dzieło Adaptation in Natural and Artificial Systems i w tym samym roku De Jong ukończył swą ważną i stanowiącą punkt zwrotny badań rozprawę doktorską pt. „An Analysis of the Behavior of a Class ofGenetic Adaptive Systems” (Analiza zachowania pewnej klasy genetycznych systemów adaptacyjnych). Studium De Jonga do tej pory stanowi kamień milowy w rozwoju algorytmów genetycznych, a to dzięki połączeniu teorii schematów Hollanda z jego własnymi, starannie zaplanowanymi eksperymentami. Ze względu na wptyw tej pracy na późniejszy kierunek rozwoju algorytmów gene tycznych oraz na dobrze przemyślane wnioski, poświęcimy jej tu więcej miejsca niż poprzedniczkom. Podobnie jak Hollstien (197l) De Jong zajął się algorytmami genetycznymi w kon tekście optymalizacji funkcji, chociaż był całkowicie świadom potencjału, jaki przed stawiają one w innych dziedzinach; byt on szczególnie zainteresowany zastosowaniem algorytmów genetycznych do projektowania struktur danych, algorytmów oraz adaptar cyjnych systemów operacyjnych dla komputerów. Mimo żc pociągały go te bardziej ezoteryczne tematy, De Jong zdał sobie sprawę z tego, jak ważną rzeczą jest przeprowa dzenie starannie zaprojektowanych eksperymetfów w przyzwoitej dziedzinie problemo wej. Rozłożył zatem algorytm genetyczny,-śroabwisko i kryteria oceny na czynniki pier wsze. Właśnie uproszczenia, letóre wprowadził, umożliwiły m'u przeprowadzenie fun damentalnych eksperymentów, wyznaczających standardy dla wszystkich późniejszych studiów i zastosowań algorytmów genetycznych. De Jong zaprojektował „środowisko pomiarowe” składające się z pięciu zadań z zakresu minimalizacji funkcji. Wziął on pod uwagę funkcje o następujących charak terystykach: ciągłe/nieciągłe; wypukłe/niewypukłe;
#S,' DeUóng i optymalizacja funkcji
123
jednomodalne/wielomodalne; ;kwadratowe/niekwadratowe; niskiego wymiaru/wysokicgo wymiaru; 'deterministyczne/stochastyczne. M fcje ’ ich dziedziny zostały przedstawione w tabl. 4.3. Odwrócone wykresy funkcji fląfjjrzypadku dwóch zmiennych są pokazane ńa rys. 4.9-4.l 1. :Jrablica 4.3. Pięć funkcji testowych De Jonga m W r -------------------Ńr funkcji I 2
.
Funkcja
Zakresy
3
/ , (-v-) = I . v j
- 5 , 12 <, xt < 5 ,12
f 2(x) = 1()()Cvf - ,V2)2 + (1 - ,V,)J
-2,048 < x, < 2,048
5
3
/ j M = X l.T ,J
-5,12 < x, < 5,12
4
.U) fAx) = Z /.vj + Gm<.w(0,l)
-1,28 S x, <, 1,28
5"
' 25 1 l//,C*) = 0.002 + X -----2------------
-65,536 < .r, < 65,536
'" i + X ( .v - o / M
z<*^mtti -
........... n Macierz współczynników (n,j) jcsl przy tym zdefiniowana następująco: _ ( -3 2 -1 6 0 16 32 -3 2 ... -3 2 -1 6 0 16 3 2 \ h V ^ ^ - 3 2 _32 -3 2 -3 2 -3 2 -1 6 ... 32 32 32 32 32 j
Q>rzyi>. tlum.).
Rys. 4.9. DwuwymiarowewersjefunkcjitestowychF1 iF2DeJonga(wykresyodwr0cone).Przedrukza zezwoleniem
124
4. Niektóre zastosowania algorytmów genetycznych
F3
Rys. 4.1Q. Dwuwymiarowe wersje funkcji testowych F3 i F4 De Jonga (wykresy odwrócone). Przedruk| za zezwoleniem
Aby móc scharakteryzować ilościowo efektywność różnych algorytmów gene tycznych, De .Tong zaproponował dwa mierniki, jeden do oceny poziomu zbieżności i drugi do oceny efektywności bieżącej. Używał on przy tym terminów off-line per formance (dla poziomu zbieżności) i on-line performance (dla efektywności bieżącej).,' Nazwy on-line i off-line nawiązują do różnicy miadzy zastosowaniami typu off-line (wsadowego) oraz on-line (interakcyjnego). W*pie$vszym przypadku możemy doko nywać wielu symulacji i zapamiętywać najlepszy wynik otrzymany' po spełnieniu pe wnego warunku stopu. W drugim nie możemy pozwolić sobie na taki luksus, gdyż wszystkie wyniki otrzymuje się na bieżąco; wobec tego premia należy się za szybkie dojście do akceptowalnego wyniku. Jak już kiedyś wspominaliśmy, spotykany zazwyczaj, nacisk na osiągnięcie zbieżności stanowi główny niedostatek we współczesnym po: dejściu do procedur poszukiwania. De Jong następująco zdefiniował efektywność on-line .v.(.v) strategii s dla śro dowiska e:
4.3. De Jong i optymalizacja funkcji
125
'Rys. 4:11. Funkcja testowa F5 De Jonga (wykres odwrócony). Przedruk za zezwoleniem
*«(*) = “
2,/;,(0
I '*pzie/j(O.jest wartością funkcji celu dla środowiska e w próbie /. Słowami: efektywność on-line jest to średnia wartość funkcji celu ze wszystkich prób włącznie z bieżącą. rzeczywistości De Jong podał nieco ogólniejszą postać tego kryterium, dopuszczając ypadek niejednakowych wag w poszczególnych próbach, jednak w badaniach trzymał się wersji z jednakowymi wagami. **T Efektywność off-line **(j) strategii i dla środowiska e De .long zdefiniował na stępująco: 1
R
*,*.(.v) = ™X/,xo 1 i
gdzie f'.(t) = opt {/,',(I), /)(2), ..., f.(i)}. Słowami: efektywność off-line jest to średnia naj lepszych aktualnych (tzn. do danej próby włącznie) wartości funkcji celu ze wszystkich prób. Także i w tym przypadku zaproponowano ogólną definicję (z niejednakowymi wagami), ale badania ograniczyły się do jednakowych wag. Przygotowawszy zestaw pięciu funkcji testowych i określiwszy kryteria porów nawcze, De Jong przystąpił do rozważenia wariantów tego, co nazwaliśmy tu elementar nym algórytmem genetycznym. Rozpoczął od wersji, którą nazwał R 1 (plan reprodukcyj ny 1), obejmującej trzy operacje omówione w rozdziale trzecim: .1)'(selekcja wg reguły ruletki; '2)vkrzyZowanie proste (z kojarzeniem losowym); .3) mutacja prosta.
1 2 6 _________________________________4. Niektóre zastosowania algorytmów genetycznych; i.
Wszystkie operacje są tu wykonywane na kolejnych populacjach dwójkowych ciągów kodowych (kod blokowy ze standaryzacją parametrów, dwójkowy zapis pozycyjny ; w blokach). De Jong zdal sobie sprawę, że plan R\ jest właściwie rodziną planów zależnych od czterech parametrów: n pc Pm ~ G -
wielkość populacji; prawdopodobieństwo krzyżowania; prawdopodobieństwo mutacji; współczynnik wymiany [generation gap].
Pierwsze trzy parametry są już nam dobrze znane.Współczynnik wymiany G zostal wprowadzony przez Dc Jonga, by umożliwić mieszanie pokoleń. Może on przybierać wartości z przedziału |(), lj, przy czym dla G=1 mamy do czynienia z populacjami rozłącznymi, a dla U
Rys. 4.12. Wplywwielkościpopulacjlnautratęallelidlaplanuf?1 ifunkcjiF1 (DeJong,1975).Przedruh za zezwoleniem
o
P.
Rys. 4.13. Wplyw wielkości populacji na efektywność off-line dla planu fl1 i funkcji F1 (De Jong, 1975). Przedruk za zezwoleniem
Rys. 4.14. Wplyw wielkości populacji na efektywność on-//nedla planu fl1 ifunkcjiF1 (DeJong, 1975). Przedruk za zezwoleniem
128
4. Niektóre zastosowania algorytmów genetycznych
patrując ograniczoną liczbę kombinacji. Następnie przeprowadził ograniczone badania parametryczne dla wszystkich pięciu funkcji. Na rysunkach 4.12-4.14 przedstawiono wyniki eksperymentówz wielkością popula cji dla funkcji F1. Jak można było przypuszczać, większe populacje prowadządo większej końcowej efektywności off-line dzięki dysponowaniu większą pulą różnorodnych schema tów. Bezwładność dużej populacji pozwala z kolei oczekiwać gorszej efektywności on-line na początku (por. rys. 4.14). Z drugiej strony niewielkie populacje mogą ulegać znacznie szybszym zmianom i dzięki temu wykazują lepszą inicjalną efektywność on-line. Często sugerowano, że w celu zapobieżenia przedwczesnej utracie alleli i utrzyma nia dostatecznej różnorodności populacji należy zwiększać tempo mutacji. Badania De Jongajasno wykazały, że niejest to panaceum, co wynika niezbicie z rys. 4.15-4.17. W rozważanych przebiegach (przy /t = 50, pc= l,0, G = 1,0) intensywniejsze mutacje: zmniejszyły wprawdzie liczbę utraconych alleli, ale stało się to kosztem pogorszenia obii wskaźników efektywności. Gdy tempo mutacji zaczyna dochodzić do poziomu pm=0,1’ plan FI przypomina coraz bardziej poszukiwanie losowe pod względem efektywności off-line. (Oczywiście, przy pm=0,5 mamy do czynienia z poszukiwaniem losowym nieza leżnie od wartości pc i n.) Co więcej, zwiększenie prawdopodobieństwa mutacji zmniej sza również efektywność on-line. De .Tong eksperymentował także z prawdopodobieństwem krzyżowania i współ-.i czynnikiem wymiany. W wyniku tych badań zalecił on dobór prawdopodobieństwa krzy§
Rys. 4.15. Wptyw tempa mutacji na utratę alleli dla planu fl1 i funkcji F1 (De Jong, 1975). Przedrukza zezwoleniem
Rys. 4.16. Wplyw tempa mutacji na efektywność off-line dia planu R1 i funkcji F1 (De Jong, 1975). Przedruk za zezwoleniem o
Rys. 4.17. Wplyw tempa mutacji na efektywność Przedruk za zezwoleniem
o r i- lin e
dla planu fl1 i funkcji F1 (De Jong, 1975).
130
4. Niektóre zastosowania algorytmów genetycznych;
żowania na poziomie pc= 0,6jako rozsądny kompromis w celu osiągnięcia dobrej efek tywności on-line i ujf-line. Późniejsze studia (Mercer, 1977; Grefenstette, 1986) sugeio waty, że w przypadku zastosowania metod selekcji o mniejszym rozrzucie losowym lepiej jest przyjąć wyższe prawdopodobieństwo krzyżowania (p,,- 1,0). Eksperymenty zc współczynnikiem wymiany wykazaly, że model rozłącznych populacji był najwłaściw szy dla większości zadań optymalizacji, w których liczyła się efektywność ojf-line', tym niemniej efektywność on-line nie ulegała dramatycznemu pogorszeniu dlamniejszych': wartości współczynnika. W celu ulepszenia podstawowej wersji algorytmu genetycznego De Jong przebadał pięć następujących wariantów planu R I: R2 A'3 R4 R5 R6
model elitarystycziiy model wartości oczekiwanej elitarystyczny model wartości oczekiwanej model ze ściskiem [crowding model) model uogólnionego krzyżowania
W modelu elitarystycznym szczególną wagę przywiązywało się do zachowania najlepszego dotychczasowego osobnika (D'c Jong, 1975, str. 102):
Niech a*(t) będzie najlepszym osobnikiem wygenerowanym do chwili t. Jeżeli po utworze- V niu A(H-1) w zwykly sposób, a*(t) nie należy do A(r+ 1), to wIącz a*(t) to A(/ + 1) jako g element(AG-l). ^M 3§
W eksperymentach z R2 De Jong stwierdził, że plan elitarystyczny w znaczący sposób' zwiększa zarówno efektywność on-line, jak i off-line dla funkcji jednomodalnych; jednak w przypadku wielomodalnej funkcji F5 oba te wskaźniki spadły. Zdaniem De Jongąj może to oznaczać, że elitaryzm poprawia efektywność lokalnego poszukiwania kosztem| perspektywy globalnej. Ą Chcąc zredukować rozrzut losowy przy selekcji wg reguly ruletki, Dc Jong opracop wal model wartości, oczekiwanej R3. Jak pamiętamy, naszym pragnieniem jest, aby schć| maty rozprzestrzeniały się w populacji zgodnie z wykładniczym prawem wzrostuj W przypadku planu A’l dokonujemy tego, dobierając prawdopodobieństwa wyboi'tlf w sposób proporcjonalny do wskaźników przystosowania, a następnie wylosowując n osobników według tego rozkladu prawdopodobieństwa. Ta procedura, stwierdza^ De Jong, wprowadza dwa źródła odchyleń. Po pierwrae, ponieważ nie możemy praktycz^ nie obliczyć rzeczywistych wskaźników przystośowąpia schematów0,jesteśmy zmuszeni1 estymować je drogą losowania sekwencyjnego. Po drugie, sama selekcja (wg reguly3 ruletki) jest procesem charakteryzującym się dużą wariancją, a więc dającym spory roz-| rzut faktycznej liczby kopii wolcół wartości oczekiwanej. W modelu R3 De Jong spróbo^ wał zmniejszyć wielkość odchyleń tego drugiego rodzaju. W tym celu obliczał oczeki-
________
!‘
11 Chodzi lii o średnin ze wsknźnikówjjrzyslosowmiia wszystkich możliwych reprezentantów dimcg0 schematu ((j. „slatyczmi” , por. dodatek D) (i>nyi>. ilum.).
' 4 .3 De Jong i optymalizacja funkcji
131
waną liczbę kopii j ] / f dla każdego ciągu kodowego / (przy założeniu, że w każdym pokoleniu reprodukcji podlega cała populacja). Następnie, za każdym razem, gdy pewien §ią£.*zostal wylosowany do'kojarzenia i krzyżowania, jego „kredyt” ulegał zmniejszeniu o 0,5 (w modelu De Jonga - inaczej niż przyjęliśmy w rozdziale trzecim - zachowywano tyUo jednego potomka uzyskanego z krzyżowania). Jeśli natomiast dany ciąg kodowy podlegal samej replikacji, bez krzyżowania, jego kredyt zostawał zmniejszony o 1,0. W obu przypadkach osobniki którego kredyt spadł poniżej zera, nie mógł już dalej brać udzialu w procesie reprodukcji. Dzięki temu mechanizmowi, faktyczna liczba potomków musiała być zawsze mniejsza o d f / f + 1, a na ogół nie przekraczała fi// + 0,5. Na rysunku 4.18 porównano plan Rh z planami R2 i J?1 dla funkcji F1 pod względem utraty alleli. DIa planu Rh obserwuje się znacznie mniejszy stopień utraty, niż w przypadku planu podstawowego i elitarystycznego. Na rysunkach 4.19 i 4.20 porównano te same plany odpowiednio pod względem efektywności on-line i off-line. Plan Rh, wykazuje w obu przypadkach wyraźną przewagę nad planem podstawowym R\. Wreszcie, chociaż plan (elitarystyczny ft2jest pod tym względem nieco lepszy niż Rh dlajednomodalnej funkcji niewielu zmiennych F\ , plan Rh przewyższa oba pozostałe, jeśli wziąć pod uwagę cały /.cstaw funkcji F\-F5. Na podstawie dodatkowych, ograniczonych eksperymentów z pra wdopodobieństwem krzyżowania p,., De Jong stwierdził, że przy swoim ograniczonym i.vrzucie losowym plan Rh mógłby „wytrzymać” zwiększoną intensywność krzyżowa nia/ Późniejsze badania z użyciem innych procedur losowania redukujących fluktuacje losowe (Booker, 1982; Brindle, 1981; Grefenstette, 1986) potwierdziły tę obserwację. 8
Rys. 4.18. Straly alleli dla planów f71, R 2 i R 3 i funkcji F1 (DeJong,1975). Przedrukzazezwoleniem
Rys. 4.19. Efektywność off-line dla planów fl1, R2 i H3 i funkoji F1 (De Jong, 1975). Przedruk za,I' zezwoleniem
8
Rys. 4.20. Efektywność on-line dla planów ff1, R2 i R3 i funkcji F^ (De Jong, 1975). Przedruk za, zezwoleniem
■
gl
133
1 1 ,: ( ■W planie R4 De Jong połączył cechy planów R2 i R3, tworząc elitarystyczny model \.cirtości oczekiwanej. Wyniki, które otrzymał, były zgodne z oczekiwaniami: dla funkcji jcduomodalnych (Fl-F4) obserwowano istotną poprawę, podczas gdy w przypadku trudI ‘hej. pełnej „lisichjam” funkcji F 5 efektywność, w porównaniu z planem opartym tylko “ ftmodelu wartości oczekiwanej, spadła. Niemniej z uwagi na wzrost efektywności dIa f}nti, j .'pierwszych n iftl czterech funkcji, ogólny wskaźnik odporności podniósł się. De Jonga niepokoił spadek efektywności dla funkcji wielomodalnej F5, w związku z czym podjął on kroki w celu zaradzenia tej sytuacji, kierując się przy tym pewnymi ną|ogiami przyrodniczymi. Powstał w ten sposób plan reprodukcyjny R5. Idąc śladem ■ pllanda (1975), De Jong rozumował, że wypełnienie niszy ekologicznej przez podobne psobniki powoduje wzrost konkurencji o dostęp do ograniczonych zasobów, co w kon sekwencji przyczynia się do spadku średniej długości życia oraz wskaźników rozrodczości. Mniej zatłoczone nisze odczuwają mniejszą presję i osiągają wskaźniki przeżywalno$qi,i rozrodczości znacznie bliższe pełnemu potencjałowi. Aby wymusić podobną presję ipodczas działania sztucznego algorytmu genetycznego, De Jong postanowił zastępować qpwo utworzonym potomstwem podobne do niego, starsze osobniki, w nadziei, że przy czyni się to do utrzymania większej różnorodności w populacji. W tym celu De .Jong zastosował model z populacją mieszaną, ustalając współczynrpk wymiany na poziomie G = 0,1. Wprowadził prócz tego nowy parametr, który nazwał oz.ynnikiem ścisku [crowding factor] {CF). Według nowego planu R5, zwanego modelem
8
Liczba prób ,Rys. 4.21. Wplyw czynnika ścisku na efektywność off-line dla planu R5 i funkcji F5 (De Jong, 1975). Przedruk za zezwoleniem
13 4
4. Niektóre zastosowania algorytmów genetycznych i.
ze ściskiem, za każdym razem, gdy powstawał nowy osobnik, wybierano innego do usunięcia. Osobnik przeznaczony do usunięcia był wybierany spośród podzbioru CF osobników wylosowanych z całej populacji. Kryterium tego wyboru było maksymalne podobieństwo do nowo powstałego osobnika (w sensie minimaIpej liczby różnic na!, poszczególnych pozycjach ciągu). Procedura ta nie odbiega wiele od mechanizmu prese-i lekcji Cavicchia (1970), o którym wspominaliśmy wcześniej. t' Z rysunku 4.21 widać, że dla przypadku funkcji F5 czynnik ścisku CF=2 zapewnil prawie optymalną efektywność w przedziale obserwacyjnym. Koncepcje ścisku (stłocze nia) oraz nisz ekologicznych zostaly wykorzystane przez innych badaczy (Goldberg i Richardson, 1987; Perry, 1984) w dalszych studiach. Są one istotne w zadaniach op-1 tymalizacji funkcji wielomodalnych oraz w problematyce maszyn uczących się, poświę cimy więc im więcej uwagi w następnych rozdziałach. Ostatni z rozważanych przez De Jonga modeli to model uogólnionego krzyiowa4 nia R6. Wprowadzono w nim dodatkowy parametr CP, określający liczbę punktów krzyżowania. Dla CP= 1 krzyżowanie uogólnione sprowadza się do krzyżowania pros tego. Przy parzystych wartościach parametru CP ciąg kodowy traktuje się jak pierścień bez początku i końca, a CP punktów podzialu wybiera się z jednakowym prawdopodobieństwem wzdłuż okręgu. Sposób wymiany podciągów między dwoma ciągami kodowymi (narysowanymi teraz w postaci pierścieni) dla CP = 4 zostal zilustrowany na rys. 4.22. W przypadku nieparzystych wartości CP zaklada się, że dodatkowy punkt krzyżowania wypada zawsze na pozycji 0 (tj. na początku ciągu), jak zilustrowano na rys. 4.23 dla CP = 3. ' } De Jong nie był pierwszym, który rozważał bardziej złożone warianty operacji krzyżowania. Już wcześniej Cavicchio (1970) wprowadzi! krzyżowanie dwupunktowe, a Frantz (1972) zdefiniował uogólnioną, jednoparametrową operację krzyżowania) Wybierz losowo cztery punkty krzyżowania
O W wyniku krzyżowania czteropunktowego powstają dwa nowe pierścienie
Rys. 4.22. Krzyżowanie wielopunktowe przy parzystej liczbie punktów krzyżowania (CP=4)
Ą%
De Jong i optymalizacja funkcji
13 5
Wybierz losowo trzy punkty krzyżowania
W wyniku krzyżowania trzypunktowego powstają 2 nowe ciągI
Rys. 4.23. Krzyżowanie wielopunktowe przy nieparzystej liczbie punktów krzyżowania (CP=3)
B ' ^fłwiązku z badaniami pozycyjnej nieliniowości. W badaniach De Jonga krzyżowanie wielopunktowe powodowało obniżenie obu wskaźników‘efektywności, tym większe im ;w|ęcej punktów krzyżowania wchodziło w grę. De Jong objaśniał to zjawisko, obliczając prawdopodobieństwa przeżycia schematów rzędu 2. Bardziej intuicyjne wyjaśnienie mo żna znaleźć, rozważając liczbę różnych operacji danego typu. W przypadku krzyżowania próstego mamy wlaściwie do czynienia niezjedną operacją, ale ze zbiorem 1- 1 operacji -(gdzie 1 jest długością ciągu). Wybierając punkt krzyżowania, dokonujemy losowego wyborujednej z tych / - 1 operacji. Przy krzyżowaniu dwupunktowym (CP = 2) liczba !Sp|bsobów wyboru dwóch punktów krzyżowania wynosi (M. W ogólnym przypadku \2/ :namy | ^j operacji krzyżowania wielopunktowego z parametrem CP. W konsekwencji, igdy CP wzrasta, prawdopodobieństwo wyboru każdej określonej operacji podczas dane go krzyżowania maleje, przez co struktura ciągów w większym stopniu narażona jest na tmruszenie. Złożone operacje krzyżowania upodabniają się więc do mieszania losowego : mniej znaczących schematów może się w ten sposób zachować. Tę degradację zaobser'■'■ował De Jong w swoich badaniach. De .Tong porównał też pod względem efektywności pewne algorytmy poszukiwania lokalnego z planem /\4, m.in. algorytm PRAXIS (Brent 1973) oraz DFP, będący ule pszoną wersję algorytmu Fletchera i Powella (Fletcher i Powell, 1963). W łącznej qcpnie plan A’4 wypadl lepiej zarówno od DFP, jak i PRAXIS, przy czym szczególnie glębokie różnice uwidoczniły się w przypadku wielomodalnej funkcji F5. .Iak można ^bylo oczekiwać, algorytmy DFP i PRAXIS zachowywały się dobrze dla funkcji gladkich,
1 3 6 _________________________________ 4. Niektóre zastosowania algorytmów genetycznych
L jednomodalnych; natomiast nie wypadały dobrze w pozostałych przypadkach. Oczy wiście, jeśli interesują nas gładkie funkcje jednomodalne, to nie ma sensu zaczynać od algorytmów genetycznych; jeżeli jednak zależy nam na efektywności w szerokim przekroju funkcji, to wówczas pójście drogą algorytmów genetycznych przedstawia się obiecująco.
4.4. Udoskonalenia techniczne!_____________________________ Prace De Jonga postawiły algorytmy genetyczne i ich zastosowania na solidniejszych podstawach. Od tego czasu wielu badaczy proponowało i poddawało testom rozmaite udoskonalenia podstawowego algorytmu. W tym punkcie omówimy udoskonalenia na polu selekcji, skalowania i metod rankingowych. W rodziale piątym zajmiemy się bar dziej zaawansowanymi mechanizmami, takimi jak inwersja, dominowanie, bariery re produkcyjne oraz nisze.
4.4.1.
A lte rn a tyw ne m etody selekcji
_________________________________________________________
Po sukcesie De Jonga z modelem wartości oczekiwanej różni badacze zajęli się po szukiwaniem alternatywnych metod selekcji, próbując zredukować fluktuacje losowe związane z regułą ruletki. Brindle zbadała w swej rozprawie doktorskiej (1981) sześć następujących metod: 1) 2) 3) 4) 5) 6)
wybór deterministyczny; wybór losowy wg reszt bez powtórzeń; wybór losowy bez powtórzeń; wybór losowy wg reszt z powtórzeniami; wybór losowy z powtórzeniami; turnieje losowe (metoda rang Wetzela).
Wybór losowy z powtórzeniami to wyszukana nazwa dobrze nam znanej regulyJ ruletki; natomiast wybór losowy bez powtórzeń to inna nazwa modelu war tości oczeki-f wanej R3 De Jonga. Wybór deterministyczny odbywajsię następująco: najpierw oblicza my (jak zwylde) prawdopodobieństwa reprodul&ji ^e le c t =fj/Y,fj, następnie - liczby oczekiwanych kopii dla każdego osobnika ej= pselect, ■n. Każdy osobńik otrzymuje tyle kopii, iIe wynosi część całkowita ef, po czym populacja zostaje, uporządkowana wedlug części ułamkowych e„ a pozostałe wolne miejsca w nowej populacji zostają zapełnione; kopiami osobników wziętych z góry listy. '| Obie metody wyboru losowego wg reszt (z powtórzeniami i bez powtórzeń) rozpoczynająsię identycznie,jak wybórdeterministyczny. Obliczamy oczekiwaną liczbę kopii dla każdego osobnika i przydzielamy mu na początek część całkowitą tej liczby. Od tej chwili drogi metod losowych i metody deterministycznej rozchodzą się. W wariancie ;
,4.4. Udoskonalenia techniczne .
137
/ powtórzeniami, części ułamkowe oczekiwanych liczb kopii służą clo wykalibrowania tarczy ruletki, która następnie zostaje użyta w znany sposób do wypełnieniapozostałych wolnych miejsc w nowej populacji. W wariancie bez powtórzeń części ułamkowe ocze kiwanych liczb kopii zostają potraktowane jako prawdopodobieństwa. Następnie wykomjctny serię kolejnych prób Bernoulliego, w których wspomniane części ułamkowe ocgrywają 'rolę prawdopodobieństw sukcesu. Na przykład ciąg kodowy, dla którego oczekiwana liczba kopii wy.nosi 1,5, otrzyma jedną kopię na pewno i jedną z praw dopodobieństwem 0,5. Proces ten jest kontynuowany dopóty, dopóki wszystkie miejsca vripopulacji nie zostaną zapełnione. Użycie procedury turniejów losowych zostalo zasugerowane BrindIe przez Wetzela Wetzel, 1983). W metodzie tej (którą Brindle nazywała metodą rang), oblicza się v. zwykły sposób prawdopodobieństwa reprodukcji, po czym dokonuje się losowania par (osobników wg reguły ruletki. Po wylosowaniu pary, osobnik o wyższym przystosowaniu zostaje ogłoszony zwycięzcą i umieszczony w nowej populacji. Procesjest kontynuowajiyaż do całkowitego wypełnienia populacji. Brindle porównała opisane sześć metod selekcji używając zestawu siedmiu funkcji ytpsnego pomysłu. Późniejsze analizy (K.A. De Jong i L.B. Booker, doniesienie prywat ny 1985) zakwestionowały jej odejście od standardowego zestawu testowego. Pewna :liczba wybranych przez nią funkcji charakteryzowała się liczbą maksimów tego samego l/ędu, co rozmiar przestrzeni poszukiwań (2J0 punktów). Wynikl stąd tzw. problem aliaiśów: wskutek zbyt ubogiej próby losowej na zbiorze równoodległych punktów, algorytm wykrywał fałszywe periodyczności i nie był zdolny do poprawnego rozróżniania wierzjchółków na podstawie podobieństwa ciągów kodowych. Mimo tych trudności badania wykonane przez Brindle potwierdziły zasadniczą niższość selekcji wg reguly ruletki, (zaobserwowaną wcześniej przez De Jonga (1975). Różnice w efektywności między pozJStalymi pięcioma mechanizmami były nieznaczne i Brindle nie byla w stanie wykazać fzewagi któregokolwiek z nich, chociaż w pozostałej części rozprawy ograniczyła się o metody deterministycznej. Kolejne studia procesów poszukiwania genetycznego, wchodzące w skład badań ad maszynami uczącymi się prowadzonych przez Bookera (1982) wykazaly wyższość yborii losowego wg reszt bez powtórzeń nad modelem wartości oczekiwanej De Jonga fćzyli wyboru losowego bez powtórzeń). Wynik ten doprowadził do szerokiego upo‘ śzechnienia pierwszej z tych metod w późniejszych zastosowaniach algorytmów genecznych. Ze względu na popularność tej metody, podajemy tu jedną z jej implementacji ifwyd 4.1). Populacja pop zostaje tam poddana reprodukcji metodą wyboru losowego wg *Wzt bez powtórzeń, za pośrednictwem procedury preselect i funkcji select (w których Iwystępuje jako parametr formalny). Procedura preselect zajmuje się wyznaczeniem czępci całkowitych i utamkowych oraz zapisuje indeksy wybranych ciągów kodowych w ta blicy choices. Funkcja paskalowa select może być następnie użyta do sukcesywnego liosowania po jednej kopii z tablicy choices. Włączenie tego fragmentu do programu |SGA pozostawiamy jako ćwiczenie na zakończenie rozdziału.
K
138
4. Niektóre zastosowania algorytmów genetycznych
L ty p e c h o ic e a r r a y - a r r a y (l..m a x p o p ]
var
c h o ic e s :c h o ic e a r r a y ;
o f in te g e r ;
( A r r a y o f c h o ic e s
)
n r e in a in : i n t e g e r ;
p ro ced u re p r e s e le c t ( p o p s iz e : in t e g e r ; a v g : r e a l; v a r p o p ;p o p u la tio n ; v a r c h o ic e s :c h o ic e a r r a y ) ; { S e l e c t i o n b y s t o c h a s t i c r e m a in d e r m eth o d ) var j , ja s s ig n , k :in t e g e r ; e x p e c te d :r e a l; w i n n e r : b o o le a n ; f r a c t io n :a r r a y [ l..m a x p o p ] o f r e a l ; b e g in j : « 0 ; k :~ 0 ; rep ea t { A s s i g n w h o le n u m bers ) j : - j + 1; e x p e c te d : — p o p ( j J . f i t n e s s / a v g ; ja s s ig n :— tr u n c (e x p e c te d ); f r a c t i o n ( j J : — e x p e c te d - j a s s i g n ; w h i l e ( j a s s i g n > 0 ) do b e g i n k : — k + 1 ; j a s s i g n : — j a s s i g n - 1; c h o ic e s [k ] :- j end; u n t i l j - p o p s iz e ; j :- 0; w h i l e k < p o p s iz e do b e g i n { A s s ig n f r a c t i o n a l p a r t s } j : - j + 1 ; i f j > p o p s iz e t h e n j : - 1; i f f r a c t i o n [ j ] > 0 .0 t h e n b e g i n w in n e r : - f l i p ( f r a c t i o n [ j ) ) ; { A w i n n e r i f t r u e ) i f w in n e r t h e n b e g i n k : - k + 1; c h o ic e s (k ] :- j ; f r a c t i o n [ j ] : - f r a c t i o n [ j J - 1 .0 ; en d ; end; end; en d ; fu n c tio n
s e l e c t ( v a r p o p s iz e ,n r e m a in :in te g e r ; v a r c h o ic e s :c h o ic e a r r a y ; v a r p o p : p o p u la t io n ):in t e g e r ; { s e l e c t u s i n g r e m a in d e r m eth o d } v a r jp ic k :in t e g e r ; b e g in j p i c k :- r n d (l, n r e m a in ) ; s e le c t :- c h o i c e s ( j p i c k } ; w r i t e l n ( ' j p i c k - ' , j p i c k , ' c h o i c e s - ' , c h o i c e s [ j p i c k ] , ' n r e m a i n - ', n r e m a i n ) ; c h o i c e s { j p i c k ] :- c h o lc e s {n r e m a in ]; ^ j| n r e m a in : - n r e in a in - 1 ; *^ end; <
Wyd. 4.1. Podprogramy wyboru losowego wg reszt w Pascalu. Procedury preselecti select
4.4.2. Mechanizmy skalowania ________________________________________________ Od chwili, kiedy De Jong swoimi pracami wyznaczył ramy badań nad algorytmami]' genetycznymi, skalowanie funkcji celu stalo się powszechnie przyjętą praktyką. Robi się to w celu zapewnienia odpowiedniego poziomu konkurencji podczas wykonywania al-
({M^Woskonalenia techniczne
13 9
K
' , : f(M>lmu. Przy braku skalowania spotykamy się z tendencją do dominowania w procesie ^ifclękcji ze strony niewielkiej liczby superosobników. W takiej sytuacji wartości funkcji fcPlli muszą zostać „pomniejszone” , by zapobiec opanowaniu populacji przez te superf'cuigi7>W późniejszej fazie, gdy skład populacji jest bardziej jednorodny, poziom kon.kurcnćji między osobnikami spada i proces zaczynabezładnie błądzić. Tym razem warbi'funkcji celu muszą być „powiększone” , by uwydatnić różnice między członkami pulacji, dzięki czemu najlepsi z nich mogą zostać odpowiednio nagrodzeni. W rzeczy wistości mechanizmy skalowania nie są niczym nowym, datują się od najwcześniejszych en pirycznych studiów Bagleya (1967) i Rosenberga (1967). Przegląd aktualnych proce,$,ur skalowania można znaleźć u Forrest (1985a). Metody te obejmują:
S
fJ)^alow anie liniowe; ,2j skalowanie 0-obcinąjące [a-tnmcation]; !"' pkalowanie potęgowe. Skalowanie liniowe omówiliśmy już w rozdziale trzecim. Jak wskazuje sama naJI$aV zmodyfikowaną funkcję przystosowania f ' otrzymujemy tu z pierwotnej funkcji / fsfof>hjQG przekształcenie liniowe postaci: *
*
' . o
f ' = «/■+ b <’l^' : i■ ' Współczynniki a i b tego przekształcenia są na ogól dobierane w ten sposób, żeby Śjfclnić dwa warunki: zachować niezmienioną wartość średniego przystosowania oraz fiistalić maksymalną wartość wyskalowanego przystosowania na poziomie określonej • krotności (najczęściej dwu-) średniego przystosowania. Te dwa warunki łącznie zapew^hkją, że przeciętny członek populacji otrzymuje przeciętnie jednego potomka, a najlep;/;. - tylu, ile wynosi wspomniana krotność. Trzeba przy tym zachować ostrożność, aby skalowanie nie doprowadziło do pojawienia się ujemnych wskaźników przystosowania. Skalowanie liniowe dziala dobrze z wyjątkiem przypadków, gdy ujemne wartości zmodyfikowanej funkcji przystosowaniaprzekreślają możliwość jego użycia. Najczęściej |,zclarza się to w późnej fazie przebiegu, kiedy większość członków populacji charakf.tóryzuje się wysokim przystosowaniem, lecz kilku degeneratów ma bardzo niskie wskaź niki. Aby obejść tę trudność, Forrest (1985a) zaproponowała wstępne przetworzenie >,pierwotnej funkcji przystosowania uwzględniającejej wariancję w populacji. W proceduTze tej, którą nazywamy skalowaniem a-obcinąjącym ze względu na związek z odchyleyniem standardowym funkcji przystosowania a, od pierwotnego przystosowania odejmuje %ię stalą, zgodnie ze wzorem / = / - Q - co) '. przy czym krotność c dobiera się jako liczbę między 1 a 3. Wszystkie wartości ujemne H{f'<0) zostają arbitralnie zamienione na 0. Po takim obcięciu funkcji przystosowania inożna już bezpiecznie wykonać skalowanie liniowe, nie narażając się na ujemne wyniki. Gillies (1985) zaproponował przekształcenie typu potęgowego, przy którym ska cowanie polega na podniesieniu pierwotnej funkcji przystosowania do pewnej ustalonej i ‘Pólęgi:
140
4. Niektóre zastosowania algorytmów genetyczn
f =f
W swych badaniach (o ograniczonym zakresie) dotyczących widzenia maszynowe.>u Gillies wybrał k= l ,005; ogólnie jednak wartość k zależy od problemu i może wymagać * zmiany podczas przebiegu - aby doprowadzić do „rozciągnięcia” lub „ściągnięcia" zakresu, zależnie od potrzeby.
4.4.3.
N a daw anie rang ___________________ ;_______ __________________________________________.._
'
Fakt, że wszystkie opisane tu procedury skalowania mają w jakimś stopniu charakterki metod ad hoc, skłonił Bakera (1985) do rozważenia nieparametrycznej metody selekcji, (jPolega ona na uporządkowaniu populacji według wartości funkcji celu. Liczba kopii, . jaką otrzymuje dany osobnik, zależy wyłącznie od jego rangi0. Na rysunku 4.24 przed-', |' stawiono jeden ze stosowanych przez Bakera sposobów realizacji tego przyporządkowa nia. Przeprowadził on eksperymenty, porównując swoją metodę rang z innymi rodzajami , j;, selekcji. Wyniki były w ogólności niepewne, chociaż metoda Bakera wykazała tę sarną 1 odporność na tendencje do nadmiernej i niedostatecznej reprodukcji, co normalne proce- J.B dury selekcji w połączeniu ze skalowaniem. Metoda nadawania rang była poddana kryty- *■j ce, ponieważ osłabia ona w istotny sposób związek między przystosowaniem a funkcją ) celu. Bezpośredni związek funkcji przystosowania i funkcji celu nie ma jednak oparcu 1 w teorii, a procedura nadawania rang dostarcza konsekwentnego sposobu regulacji liczby j potomstwa. Potrzebujemy wciąż lepszej teorii reprodukcji, która określiłaby sposnb | przydziału liczby kopii elementom bieżącej populacji, bez szczegółowej wiedzy na temat {' funkcji celu i sposobu kodowania. ‘ ?f
Rys. 4.24. Liczba kopii w metodzie nadawania rang (Baker, 1985)
" Tj. miejsca w tym uszeregowaniu (pn.yp. thim.).
jS>jJ4.6;'Aktualne zastosowania algorytmów
genetycznych
141
4.5. Aktualne zastosowania algorytmów genetycznych \Y l.iblicy 4.4 podano zestawienie niektórych dawniejszych i obecnych zastosowań aigotjtinów genetycznych. Na resztę rozdziału składa się wybór aktualnych zastosowań . AG w nauce, technice i przemyśle. W tej chwili skoncentrujemy się na tych zastosowa';! njaph, w których posłużono się jakąś odmianą elementarnego algorytmu genetycznego. \Y lastępnym rozdziale rozszerzymy nasze pole widzenia na eksperymenty i doświadczer.ia związane z bardziej złożonymi mechanizmami genetycznymi. .Tablica 4.4. Zastosowania algorytmów genetycznych w zadaniach poszukiwania i optymalizacji
kTr -
B n d n cz(c)
O p is
R o se n b e rg
S y m u lo w a n a e w o lu c ja p o p u la c ji o rg a n iz m ó w je d n o k o m ó r
Uiolnt;iti /j/p 6 7
kow ych
': I U
W e in b e rg
///< • »
;
P ro je k t s y m u la c ji p o p u la c ji k o m ó re k z z a s to s o w a n ie m a l g o ry tm u g e n e ty c z n e g o z n ie ta p o z io m u
f l h f t’ ;1984
P erry
B ad a n ia nad teo riii n isz i s p e c ja c ju p rz y u ż y ciu a lg o ry tm ó w g e n ety cz n y c h
• .
$Jm
G ro s so
S y m u la c ja d ip Io id a ln c g o A G z ja w n y m i p o d p o p u la c ja m i i m ig ra c ją
S a n n ie r i G o o d m a n
A d a p ta c ja m e c h a n iz m ó w re a g o w a n ia n a d o s tę p n o ś ć p o k a r
H » r .i. M fc )t.
m u w p rz e strz e n i i c z a s ie za p o m o c ą A G
In ln rn iti(y k a B ag ley / ?
-
i0Sa
%gH k
R a g h a v a n i B irc h a rd G e ra rd y
A lg o ry tm g n ip o w n n ia o p a rty na a lg o ry tm ie g e n e ty c z n y m P ró b a id e n ty fik a c ji a u to m a tu p ro b a b ilis ty c z n e g o za p o m o ca AG
G o rd o n
A d a p ta c y jn a m e to d a o p is u d o k u m e n tó w p rz y u ż y ciu A G
R ciidcll
Z a s to so w a n ie A G d o p o s z u k iw a n ia fu n k c ji o c e n y stra le g ii
R ag h a v n n i A g a rw al
g ry A d a p ta c y jn a m e to d a g ru p o w a n ia d o k u m e n tó w p rz y u ży ciu
' ' l
k% 87
A d a p tac y jn y a lg o ry tm g ry w s z e ś ć p io n k ó w z. z a s to s o w a n ie m A G
'
AG t'c h n ik a i b a d a n i a o p e r a c y j n e : S Ć>8ic
G o ld b c rg
I 1^
E tter, H ic k s i C h o
P ro je k to w a n ie filtru a d a p ta c y jn e g o za p o m o c ą e le m e n ta r
G o ld b e rg
O p ty m a liz a c ja p ra c y g a z o c h ig u w r e ż y m a c h s ta c jo n a rn y m
D av is
Z a s to s o w a n ie a lg o ry tm u g e n e ty c z n e g o w z a d a n ia c h u p a k o
Id e n ty fik a c ja in o d e lu a m o rty z a to ra za p o m o c n e le m e n ta r nego A G nego AG i n ie u sta lo n y m z a p o m o cii A G w a n ia i k o lo ro w a n ia g ra fu
D iivis
P ro je k t z a s to s o w a n ia a lg o ry tm u g e n e ty c z n e g o w z n d an iach s z e re g o w a n ia ty p u j n b sh o p
1 4 2 __________
4. Niektóre zastosowania algorytmów genetycznych,'
Tablica 4.4. (cd.) K ok
B aclacz(e)
Opis
1985 1985 1985
Davis i Smith Fourman Goldberg i Kuo
1986 1986
Glovcr Goldberg i Samtani
1986
Goldberg i Smith
Projektowanie układów VLSI za pomocą AG Kompaktyfikacja uktadów VSLI za pomocą AG Optymalizacja rurociągu do przesylu ropy w reżimie stącI jonarnym za pomocą AG Projektowanie ukladu klawiatury za pomocą AG ^] Optymalizacja konstrukcji (kratownica plaska) za pom odp AG Zastosowanie AG w ślepej wersji zagadnienia plecakowe
1986
Minga
go Optymalizacja elementów podwozia samolotów za pomocą' ,
1987
Davis i Coombs
1987
Diivis i Ritter
AG
J|
Optymalizacja wielkości lączy w sieci łącznościowej zi pomocą AG z operacjami zaawansowanymi Ukladanic planu lekcji metodą symulowanego wyżnrzaniir. z algorytmem genetycznym na mctapoziomie
Algorylmy genetyczne l962c 1968 1971
Holland Holland Hollslien
1972
Bosworlh, Foo i Zcigler
1972
Frantz
1973a
Holland
1973
Martin
1975
De Jong
1975 1977
Holland Mcrccr
1981
Bcthkc
1981 1983
Brindle Pettit i Swigger
1983 1984
Wetzel Mauklin
1985 1985
Baker Booker
1985
Goldberg i Lingle
Projekt samoadaptującego się komputera komórkowego | Opracowanie teorii schematów Optymalizacja funkcji dwóch zmiennych przy zastosowa niu icgul kojarzenia i selekcji , 4^ Operacje „AG-podobne” n:t gcnach „rzeczywistych” za skomplikowanymi wariantami mutacji Badania efektów nieliniowości pozycyjnej i opcracji inwer
sji Problem optymalnego wyboru w AG a zagadnienie dwoJj rumicnnego bandyty ,,1 Badania teoretyczne „AG-podobnych” algorytmów piobahilistycznych -J| Fundamentalne badania parametryczne elementarnego al-,s gorytmu genetycznego w środowisku pięciu funkcji testo-ą wych ,s | Publikacja ANAS Algorytm genetyczny sterowany algorytmem genetycznym z metapoziomu Zastosowanie funkcji Walsha do analizy wartości przystoJ sowawczcj schematów Badania metadai|a możliwości zastosowania AG w nicstncjo-. nnrnych zadaniach poszukiwania ' Zastosowanie AG w zagadnieniu komiwojażera (TSP) Poszukiwanie metod heurystycznych zapewniaj utrzymanie różnorodności populacji w elementarnym ,\G Eksperymenty z metodą selekcji przez nadawanie rang Koncepcje zgodności częściowej, podzialu zasobów i ba-j rier reprodukcyjnych Zastosowanie operacji PMX w zagadnieniu komiwojażeril i analiza o-schcniatów
■ • Aktua)ne zastosowania algorytmów
genetycznych
143
■" Tablica 4 .4. (cd.)
—
Badacz(c)
Opis
Grcfenstettc i Fitzpatrick
Badania elementarnego algorytmu genetycznego w zasto sowaniu do funkcji przybliżonych Optymalizacja wiclokry(erialna za pomocą AG z podpopulacjami Oszacowanie optymalnej wielkości populacji ze względu na liczbę efektywnie przetwarzanych schematów Algorytm genetyczny sterowany algorytmem genetycznym z melapoziomu Redukcja odchyleń losowych w procedurach selekcji Pogłębiona analiza reprodukcji i krzyżowania w /-bitowym AG Minimalny problem.zwodniczy (MDP) przy reprodukcji i krzyżowaniu ‘ Formowanie się nisz i powstawanie gatunków jako efekt zastosowania funkcji wspóludzialu Analiza reprodukcji i mutacji za pomocą łańcuchów Mar kowa Optymalizacja funkcji niestacjonarnych za pomocą diploidalnego AG Symulacja i analiza permutacyjnych opcracji rekombinacji Analiza wplywu procedur selekcji na propagację schema tów Adaptacyjny mcclutnizm krzyżowania Zastosowanie sclckcji na podstawie potomstwa w AG
Schaffer Goldberg
s'ią86
Grefenslette Baker Bridges i Goldbcrg Goldberg Goldberg i Richardson Goldberg i Sogrest Goldbcrg i Smith
fl 987 h 987
Oliver, Smith i I-Iolland Schaffer
4987
Schaffer i Morishima Whitley
ft 987
Trcliniki hybrydowe 19X5
l 985 l 9S5 -:1987
l 987h 1987
l 987 :l987
1987a
AckIey
Doniesienie o algorytmie konckcyjnyin o własnościach zbliżonych do AG Brady Zastosowanie operacji quasi-genetycznych w zagadnieniu komiwojażera Grefenstette i in. Ziistosowanic opcracji genetycznych wspomaganych wie dzą w zagadnieniu komiwojażera Dolan i Dyer Propozycja użycia AG do adaptacji topologii sieci konekcyjncj Grefenstette Zastosowanie informacji specyficznej dla zadania w poszu kiwaniu genetycznym Licpins, Hilliard, Palmer i Morrow Porównanie ślepych i zachłannych mclod poszukiwania dla zagadnień kombinatorycznych Shaefer Technika globalnie modyfikowanej reprezentacji adapta cyjnej (ARGOT) Sirag i Weisser Sterowanie częstością operacji genetycznych w zagadnie niu komiwojażera za pomocą metody typu symulowanego wyżarzania Suh i Van Giicht Operacje genetyczne wspomagane wiedzą w zagadnieniu komiwojażera
Przetwarzanie obrazów i rozpoznawanie wzorców 1970
Cavicchio
Dobór detektorów w zadaniu rozpoznawania wzorców bi narnych
4. Niektóre zastosowania algorytmów genetycznych '
144
Tablica 4.4. (cd.) Rok'
Badacz(e)
Opis
1984
Fitzpatrick, Grefenstetle i Van Guchl Englander Gillies Stadnyk
Obróbka obrazów za pomocą AG w celu minimalizacji ró| | żnic ; |« | Dobór detektorów przy zadanej klasyfikacji obrazów j,,* Poszukiwanie detektorów cech obrazów za pomocą AG Rozpoznawanie klas wzorców przy użyciu częściowego* dopasowania ni
1985 I985 1987
Współbieżne implementacje algorytmów genetycznych 1976 l98l 1987 1987 l987 l987b 1987
-.Jj3
;f
Betlike
Wstępne rozważania teoretyczne na temat możliwych im plementacji współbieżnych s‘ Grefenstette Wstępne rozważania teoretyczne na temat różnych imple-,-, mentacji współbieżnych >j9 C o lio on,H egde,M artiniR ichards Symulowana implementacja współbieżna optymalnego^ rozmieszczenia liniowego iM Jog i Van Guciu Algorytm genetyczny wspomagany wiedzą, z elementami współbieżności Pettey, Letize i Grefenstette Implementacja współbieżna AG na sprzęcie firmy Intel Suh i Van Gucht Selekcja lokalna we współbieżnym algorytmie genetycz- nym dla zagadnienia komiwojażera Tanese Implementacja współbieżna algorytmu genetycznego w ar--* • chitekturze HyperCiibe
Nauki fizyczne I985b
Shaeler
Zastosowanie AG do rozwiązywania równań nieliniowych ■ związanych z powierzchniami potencjału
N auki spplecznc 1979
Reynolds
l9 8 l 1985a l985b
Sęlith i Dc Jong Axelrod Axelrod
4.5.1.
Zastosowanie metod adaptacyjnych typu AG do modelo wania zachowań prehistorycznych myśliwych-zbieraczy Kalibracja modelu migracji populacyjnych za pomocą AG ' Symulacja ewolucji norm behawioralnych za pomocą AG Zastosowanie AG do poszukiwania rozwiązań itcrowanegd| dylematu więźnia
O p tym a liza cja rurociągu gazo w e go _____________ j , .
________________________________ |
Moja własne prace koncentrowały się wokół inżynierskich zastosowań 'algorytmów gene tycznych. Po wysłuchaniu wykładówJohna Hollanda z algorytmów genetycznych na Uniwersytecie Michigan, rozpocząłem studia doktoranckie, w czasie których użyłemj algorytmów genetycznych do rozwiązania problemów optymalizacji i samoadaptacji związanych z regulacją pracy gazociągu (Goldberg, 1985). W przypadku pierwszego problemu zastosowałem model Wonga i Larsona (1968) stacjonarnego przepływu w rurociągu złożonym z 10 kompresorów i 10 przewodów rurowych. Schemat tego systemu został pokazany na rys. 4.25. Zachowanie systemu jesj
4.f>,' Aktualne zastosowania algorytmów
145
genetycznych
Kompresor Dostawa
0=C
Przewód rurowy Odbiór L-1
! 4.25. Schemat gazociągu. Za Goldbergiem (1983)
yznaczone przez układ równań nieliniowych określających spadki ciśnienia w rurach ‘ j,*'przyrosty ciśnienia w kompresorach. Różnica kwadratów ciśnień zmienia się tak jak 'adrat objętościowego natężenia przepływu: P Si
K ,ftlg ,l
gdzie PS - ciśnienie wlotowe, PD - ciśnienie wylotowe, Q - objętościowe natężenie pi/cpływu, K - współczynnik oporu przewodów rurowych oraz / - numer rury/komjpresora. Ciśnienia wlotowe i wylotowe, objętościościowe natężenie przepływu oraz moc jfpóbierana przez stację kompresorową są związane z kolei zależnością HP, = Q,[A,{PD,/PS,f> - flJ ^gdzie HP - pobierana moc, A, B, C - stałe charakteryzujące stację kompresorową. Palido zasilania kompresora jest pobierane bezpośrednio z rurociągu ze stałym natężem, co daje następujący związek:
■
Qin ~ 0
I
n)Q i
gdżie /■- współczynnik poboru paliwa. Zadanie polega tu na zminimalizowaniu całkowitego poboru mocy przy zadanym ńimalnym i maksymalnym ciśnieniu oraz stosunku ciśnień:
\
min Z HP,
W :noim modelu więzy zostały uwzględnione przez wprowadzenie kwadratowych lunk^ji;.kar, tak jak to opisano w poprzednim rozdziale. Współczynniki kar zostaly dobrane ■% taki sposób, aby nakładać znaczące obciążenia w przypadku naruszenia ograniczeń ^ripminalnych. Wong i Larson zdecydowali się wybrać w charakterze parametru sterującego różr.icę kwadratów ciśnień u wlotu i wylotu każdego kompresora, U,= PD2,- P S j, chociaż v iizycznego punktu widzenia moc stacji czy też stosunek ciśnień wydawałyby się bar;. 'd^iej przekonujące. W celu zachowania zgodności przyjąłem ich rozwiązanie i zako■fdowałem standaryzowane wartości parametrów Ui poszczególnych stacji przy użyciu
1 4 6 ------------------------------------------------------- 4. Niektóre zastosowania algorytmów genetycznycfj
k
. I
czteropozycyjnego kodu dwójkowego. Pełny ciąg kodowy powstałjako konkatenacja lflS bloków, w porządku zgodnym z numeracją stacji. Parametry mogły się zmieniać w grani-',' cach od Ł/)njn= 0 psia2 do t/nmx= 7 ,5 x l0 5 psia2 °. || Wyniki trzech eksperymentów numerycznych zostały przedstawione na rys. 4.26 i 4.27. We wszystkich tych eksperymentach przyjęto następujące wartości parametrów" algorytmu genetycznego: | n = 50 (wielkość populacji); p,. = 1,0 (prawdopodobieństwo krzyżowania); pm = 0,001 (prawdopodobieństwo mutacji).
| ),l
Jako metodę selekcji zastosowano wybór losowy wg reszt bez powtórzeń. Na rysunkach ■ 4.26 i 4.27 pokazano odpowiednio najlepsze i średnie wyniki w kolejnych pokoleniachl Na rysunku 4.28 przedstawiono profil ciśnienia otrzymany w przebiegu 2 w porównaniu z optymalnym profilem, znalezionym przez Wonga i Larsona metodą programowania dynamicznego (1968). We wszystkich trzech przebiegach, po przeszukaniu nieznacznej, części dyskretnej przestrzeni rozwiązań, otrzymano prawie optymalne wyniki. ,1 W celu przetestowania elementarnego algorytmu genetycznego na przykładzie in-( nego, zupełnie odmiennego zadania optymalizacji gazociągu, zaprogramowałem model ’
Rys. 4.26. Najlepsze znalezione wyniki dla zadania optymalizacji gazociągu. Za Goldbergiem (1983)
*’ psia: funt na cal kwadratowy (jedn. ciśnienia bczwględnego); zakres ten odpowiada mniej więcejr 0^t95 at2 (l>nyp- thmi.).
.4 .5('i'Aktualne
zastosowania algorytmów
° '
genetycznych_______________________________ 147
°
‘
'
:
:■_
Rys. 4.28. Profile ciśnienia dla zadania optymalizacji gazociągu. Profil optymalny i otrzymany za pomocą algorytmu genetycznego. Za Goldbergiem (1983)
148 .
4. Niektóre zastosowania algorytmów geńetycznyS
Wonga i Larsona nieustalonego przepływu w pojedynczym przewodzie rurowym. W załl daniu tym chodzi o zminimalizowanie energii sprężania przy zadanych minimalnyńu i maksymalnym ciśnieniu oraz stosunku ciśnień. Szczegóty tego modelu wykraczajątl poza zakres książki; wystarczy powiedzieć, że uproszczone cząstkowe równania różnicz4s kowe ruchu i ciąglości zostaly przekształcone na uklad zwyklych równań różniczkowych^ za pomocą metody charakterystyk, te zaś z kolei równania zostały rozwiązane mimerycz-.t nie na regularnej siatce przestrzenno-czasowej przy użyciu metody różnicowej.Podobnie|j jak w przypadku stacjonarnym więzy zostały włączone do modelu za pośrednictwenji kwadratowych funkcji kar. Dalsze szczegóły tego modelu, funkcji celu i więzów można znaleźć w oryginalnym opracowaniu (Goldberg, 1983). Tutaj poprzestaniemy na omó- , wieniu metody kodowania i otrzymanych wyników. Ze względu na ciągły (w czasie) charakter zadania o przepływie nieustalonym, było konieczne wprowadzenie dodatkowego etapu dyskretyzacji. W zadaniu stacjonar-i nym parametry sterujące stacji kompresorowych U, mogły być zakodowane w postacio czterobitowych bloków i skonkatenowane wjeden ciąg kodowy. W zadaniu o przepływie, nieustalonym sterowanie ma postać funkcji opisującej dopływ gazu w czasie u wlotu przewodu rurowego. Aby umożliwić rozwiązanie zadania przy użyciu algorytmu genety-? cznego, przeprowadziłem dyskretyzację funkcji natężenia przepływu na zbiorze 15 rów noodległych punktów. Przyjęto, że między tymi punktami natężenie przepływu zmienia się liniowo (por. rys. 4.29). Taka metoda dyskretyzacji zostala dobrze rozwinięta w lite raturze na temat teorii interpolacji i elementu skończonego. Można by użyć innych funkcji interpolacyjnych (jak funkcje schodkowe, wielomiany wyższego stopnia, gładkie spląjny i inne), aleprzybliżenie liniowe okazało się wystarczająco dokładne dla zakłada nych celów.
Czas (w minutach) Rys. 4.29. Optymalizacja gazociągu w warunkach przepływu nieustalonego. Natężenie przepływu * u wylotu (zadane zapotrzebowanie) i natężenie przepływu u wlotu obliczone przez algorytrrrip genetyczny (przebieg TR.1). Za Goldbergiem (1983) "
5 Aktualne zastosowania algorytmów
genetycznych
149
iBP®'' l*o przeprowadzeniu dyskretyzacji wartości natężenia przepływu w 15 równoodlegi\vh chwilach wyznaczyły harmonogram przepływu. Do zakodowania tych 15 parame trów użyłem opisanego w rozdziale trzecim blokowego zapisu pozycyjnego ze standaryfźheją.parametrów: Wartości Q,, zmieniające się od Qmil, = 100 MMCFD do g lllax= 200 CFD1’ zostały zakodowane przy użyciu trzech pozycji binarnych każda. Sposób >wania' ilustruje poniższy przykład (dla podkreślenia poszczególne podciągi oddzie
■ |
c i ą g kodowy: p aram etr: w artość:
000 111 000 000 111 Q.
Q,
Qj
Q,
Qs
100 200 100 100 200
... . . ■ • . . .
111 000 Ql4 Q l5 200 100
Wyniki dwóch eksperymentów numerycznych są przedstawione na rys. 4.30 i 4.31 ^jdpowiednio najlepsze i średnie wyniki w poszczególnych pokoleniach). Podobniejak w przypadku stacjonarnym, prawie optymalne rozwiązania zostały znalezione bardzo szybko, po przeszukaniu nieznacznego ułamka całej przestrzeni. Więcej mówiący wy kres można zobaczyć na rys. 4.32. Porównano tam najlepszy harmonogram otrzymany v. drugim przebiegu z wynikiem optymalnym ze względu naciśnienie wylotowe. W swej
Rys. 4.30. Najlepsze znalezione wyniki dla zadania optymalizacji gazociągu w warunkach przepływu nieustalonego. Za Goldbergiem (1983)
11 MMCFD = milion slóp sześciennych dziennie; zakres ten odpowiada ok. 2,8-5,7 min m;l (przyp.
Ęum.).
R y s. 4 .3 1 . Ś re d n ie wyniki dla zad an ia optym alizacji g azo ciąg u w w arunkach przepływ u nieustalonego. Z a G oldbergiem (1983)
R y s. 4 .3 2 . W ykresy zm ian ciśnienia dla z a d a n ia optym alizacji g azo ciąg u w w arunkach przepływu n ieu stalo n eg o . P orów nanie w artości optym alnych i obliczonych p rzez algorytm genetyczny. Z a G oldbergiem (1983)
oryginalnej pracy Wang i Larson stwierdzili, że strategia optymalna polega na utrzymy waniu ciśnienia wylotowego na najniższym dopuszczalnym poziomie przez cały okres objęty harmonogramem. Jak pokazuje rys. 4.32, znaleziony za pomocą algorytmu gene tycznego harmonogram przestrzega dość ściśle tej zasady.
■Aktualne zastosowania algorytmów
genetycznych 4.5.2.
—
O ptym alizacja struktu ra ln a konstrukcji p rzy użyciu
- ___________________________________ :_________ :________________
.
151
a lgorytm u
genetycznego
''fRurociągi nie sti jedynym przykładem systemów technicznych, w których z powodze: fucm zastosowano algorytmy genetyczne. Obecnie jednym z obszarów cieszących się zainteresowaniem jest optymalizacja strukturalna konstrukcji [structural optimization]. / S^ niedawnej pracy (Goldberg i Samtani, 1986), mój magistrant i ja użyliśmy algorytmu rgohetycznego do optymalizacji 10-członowej plaskiej kratownicy. Geometria kratownicy /0stala pokazana na rys. 4.33. To samo zadanie optymalizacji rozwiązywano innymi metodami; chodzilo nam jednak- o zbadanie zachowania się algorytmu genetycznego :ivlf różnego typu sytuacjach. Obecnie przedmiotem badań jest możliwość zastosowania ( AS do trudniejszego zadania z zakresu optymalizacji strukturalnej, gdzie standardowe .iteChniki nie są odpowiednie z racji rozmiaru zadania, wielomodalnośc.i i innego rodzaju u'udnosei (Minga, 1986, 1987). Ś W omawianym zadaniu chodzi o zminimalizowanie ciężaru całkowitego struktury, przy zachowaniu więzów określających maksymalne i minimalne naprężenia każdego /.^elementów. Szczegóły modelu matematycznego można znaleźć w oryginalnej pracy. Wmaszych badaniach używaliśmy standardowego programu komputerowego do analizy s każdego projektu kratownicy wygenerowanego za pomocą AG. Zastosowany algorytm l'opieral się na trzech operacjach: selekcji metodą ruletki, krzyżowaniu prostym i mutacji, mtyięzy zostaly wprowadzone za pomocą kwadratowej funkcji kary. Parametrami było tu Jp,pol elementów składowych A,, które zostaly zakodowńne za pomocą blokowego zapi* su pozycyjnego ze standaryzacją parametrów, przy czym każdy z 10-bitowych podcią)j;g6w reprezentował wartości z zakresu od Amin= 0,l do Alllilx=10cali kwadratowych”.
Rys. 4.33. Schemat 1 0 -czlonowej kratownicy plaskiej w zadaniu optymalizacji konstrukcji (Goldberg i Samtani, 1986). Przedruk za zezwoleniem (9th Conference on Electronic Computation ASCE, February, 1986)
” Ok. 0,6-57,6 end (przyp. tłum.).
1 5 2 _________________________________ 4. Niektóre zastosowania algorytmów genetycznychj i.
Wyniki z kilku niezależnych przebiegów algorytmu genetycznego są pokazane nąl rys. 4.34 i 4.35 (odpowiednio najlepsze i średnie w kolejnych pokoleniach). CharakterS zbieżności nie odbiega od zachowania obserwowanego w innych badaniach.
Pokolenie o Przebieg 1
. + Przebieg 2
o Przebieg 3
------- Optymalny
Rys. 4.34. Najlepsze znalezione wyniki w zadaniu optymalizacji konstrukcji (Goldberg i Samtani, 1986). Przedruk za zezwoleniem (9th Conference on Electronic Computation ASCE, Feb ruary, 1986)
Rys. 4.35. Średnie (dia populacji) wyniki w zadaniu optymalizacji konstrukcji (Goldberg i Samtani, 1986). Przedruk za zezwoleniem (9th Conference on Electronic Computation ASCE, Feb ruary, 1986)
>'..5 Aktualna zastosowania algorytmów
1
genetycznych
153
4.5.3. O bróbka m edycznych obrazów rentgenow skich za po m o cą _ _ ________________________________
algorytm u
genetycznego
’ Dotychczasowe przykłady zastosowań algorytmów genetycznych pochodziły z obszaru :Iiniki (projektowanie techniczne i regulacja). Następny przykład dotyczy medycznego ,%stemu analizy obrazów (Fitzpatrick, Grefenstette i Van Gucht, 1984; Grefenstette iflJitzpatrick, 1985). Zadanie
i ł
I
fc ®
J T
J L
2
Przed przekształceniem
Po przekształceniu
Rys. 4.36. Cyfrowe obrazy rentgenowskie przed i po obróbce. Wektory zaznaczone na diagramie ukazują przemieszczenie wierzchołków (Grefenstette i Fitzpatrick, 1985). Przedruk za zezwoleniem
154
4. Niektóre zastosowania algorytmów genetycznych)
siatkę lO O x l()O punktów). Współczynniki przekształcenia dwuliniowego (w liczbie ośmiu) są jednoznacznie wyznaczone przez wektory przesunięć czterech wierzchołków <' t)brazu. Algorytm genetyczny działający na pełnych 64-bitowych ciągach kodowych poszukiwał następnie dobrych przekształceń. Eksperymenty numeryczne z użyciem zarówno sztucznych, jak i rzeczywistych obrazów rentgenowskich wypadły pomyślne. Jednym z ważnych czynników wziętych pod uwagę w tych pracach był koszt jednokrotnego obliczenia wartości funkcji przystosowania. W przypadku siatki 1 0 0 x 100, aby wyznaczyć średnią bezwzględną różnicę obrazów, trzeba wykonać okoln 10000 przekształceń oraz operacji odęjmowania.dla poszczególnych punktów. Grefeiistette i Fitzpatrick (1985) uświadomili sobie, że przy ustalonej liczbie operacji ode jmowania pikseli powinno być możliwe osiągnięcie lepszego ogólnego dopasowania obrazów na podstawie wyrywkowego obliczania różnic. W celu sprawdzenia tej hipo tezy przeprowadzili oni eksperymenty numeryczne, w których wykonywano 200000 operacji odejmowania pikseli, zmieniając przy tym liczbę pikseli wybranych do ob liczenia jednej wartości funkcji. Rezultaty tych eksperymentów zostaly przedstawione na rys. 4.37. Ten godny uwagi wykres pokazuje, że optymalna liczba pikseli w próbie wyniosła okolo 10 (na 10000). Badania te wydają się wskazywać, że algorytmy genety czne w pewnym sensie „wolą” korzystać z niedokładnych i zakłóconych wartości funkcji przystosowania, jeśli tylko w zamian mogą dokonywać eksploracji (nawet przy bliżonej) większej liczby punktów w przestrzeni rozwiązań. Niejest to wynik nieocze kiwany, ponieważ zgodnie z teorią algorytmy genetyczne są w stanie tolerować wyjąt kowo zaburzone wartościowania funkcji - dzięki temu, że to schematy, a nie indywidu alne ciągi kodowe, propagują się i podlegają ocenie w przyszłych pokoleniach. Ta zdolność do tolerancji może przynosić wymierne korzyści w sytuacjach, gdzie musimy dokonywać wyboru między dokładnymi i kosztownymi obliczeniami a zgrubnymi i szy bkimi szacunkami.
R y s. 4 .3 7 . D okładność algorytm u w zależn o ści od wielkości próby użytej do w yznaczenia f u n k c j i p rzystosow ania w zad an iu obróbki obrazów (G refen stette i Fitzpatrick, 1985). P rzedruk z a j l zezw oleniem '
■ 5; ’Aktualne
zastosowania algorytmów
genetycznych
155 4.5.4.
Iterow any dylem at więźnia
m Jakoostatni w tym rozdzialeprzykład zastosowania algorytmów genetycznych wybraliśt;rity' zagadnienie zaczerpnięte z politologii i teorii gier - iterowany dylemat więźnia, problem ten był studiowany przez Axelroda (l985b, 1987), a Forrest (1985a) napisala ,;pcli)owiedniprogram symulacyjny. Iterowany dylemat więźnia przybliża nas do tematyki ^maszyn uczących się, którą będziemy się zajmować w rozdziałach szóstym i siódmym. Dylemat więźniajest klasycznym, można by rzec prototypowym przykładem problei:r.t konfliktu i kooperacji. W najprostszym sformułowaniu każdy z dwóch uczestników Afipże wybierać między „współpracą” a „zdradą” . W zależności od decyzji obu graczy b/i:y z nich otrzymuje „wypłatę” , zgodnie z macierzą wyplat w rodzaju pokazanej na rys. tjk*38.JeSli obydwaj gracze współpracują, każdy z nich otrzymuje taką samą, umiarkowaną /na|rodę (J?).' Jeśli tylkojeden z nicli zdradzi, otrzymuje wtedy najwyższą wypłatę (7), j*ppdczas gdy drugi dostaje to, co należy się naiwniakowi (S). Jeśli obydwaj zdradzą, każdy otrzymuje minimalną wyplatę (umiarkowaną „karę” , P). Dylemat więźnia był często jptidnwany jako prosty, aIe realistyczny model istotnej trudności w uzyskaniu zachowań ?|oopevatywnych w sytuacji, gdy niegodziwość może popłacać. Zagadnienie to otrzymało r.jzwę dylematu więźnia, gdyż stanowi abstrakcyjny odpowiednik sytuacji więźnia, który l-irfei do wyboru albo pójść na ugodę z prokuratorem i w ten sposób wydać swego wspólnika (z.irada), albo zachować milczenie na temat przestępstwa (współpraca).
G racz 2 Decyzja
G r 1 a c z
W spó łpraca
Zd rad a
W sp ó łp ra ca
( R - 6 . R - e ) (s-0 . T - lo )
Zdrada
( t - 10. s» o ) (P>2. P - ź )
’ Rys. 4.38. Typowa macierz wyplat w zadaniu o dylemacie więźnia
mu ^f Problem robi się ciekawszy, gdy grę będziemy wielokrotnie powtarzać z udziałem Kęgo samego gracza lub graczy, dzięki czemu przy podejmowaniu decyzji o współpracy |ądź zdradzie mogą się oni kierować historią przeszłych zachowań. Ten tak zwany :rowany dylemat więźnia przyciągał od lat uwagę badaczy zajmujących się teorią gier. ,iedawno rozegrano nawet dwa turnieje, w których przeciwnikami byly programy komlluterowe (AxeJrod, 1985b). W obydwu zawodach ogólnym zwycięzcą pośród 76 konfeirentów okazała się bardzo prosta strategia, znana pod nazwą „wet-za-wet” . Zgodnie ze swą nazwą, strategia ta nakazuje współpracować w pierwszym ruchu, a następnie fciśladować ostatnie posunięcia przeciwnika. Stanowi więc ona w pewnym sensie sforfnułowaną na opak „złotą zasadę” postępowania wobec bliźniego, glosząc otwarcie •„Odpłacaj pięknym za nadobne” .
g
156
4. Niektóre zastosowania algorytmów genetycznyotj'
Fakt, że tak prosta strategia okazała się zdolna do pokonania bardziej wyrafinowa- . nych przeciwników (pod względem wielkości programu), wydawal się, mówiąc oslroż-,. nie, dość niezwykły, i Axelrod podjął kroki w celu znalezienia innych prostych strategii -: deterministycznych o tej samej lub większej sile. Użył on w swych poszukiwaniach: algorytmu genetycznego, stosując sprytny sposób kodowania. Axelrod przyjął, że reguly decyzyjne mogą opierać się na posunięciach obu stron w trzech ostatnich ruchach. Dhr każdego ruchu istnieją, oczywiście, cztery możliwości: obaj gracze współpracują (CC lub inaczej R), drugi gracz zdradza (CD lub S), pierwszy gracz zdradza (DC lub T), albo obydwaj zdradzają (DD lub P). W celu zakodowania określonej strategii Axelrod przy# porządkował najpierw każdemu z możliwych zachowań ciąg złożony z trzech liter. Na przykład ciąg RRR reprezentuje sytuację, w której obie strony współpracowały w ostat-, nich trzech ruchach, a SSP - sytuację, w której pierwszy z uczestników grał naiwniaka w pierwszych dwóch ruchach, a ostatecznie zdecydował się na zdradę. Każdy taki ciągi był następnie zamieniany na liczbę całkowitą z zakresu 0-63 (kody poszczególnych ruchów można traktować jako cyfry w ukladzie czwórkowym: CC = R = 0, D C = T - \ \ CD=S = 2, DD=P=3', zgodnie z tą zasadą trzy wzajemne zdrady, czyli PPP, odpowia dają liczbie 63). Axelrod mógl teraz zapisać określoną strategię (zależną od trzech oslalnich ruchów) za pomocą 64-bitowego słowa reprezentującego ciąg symboli C (współ praca) i D (zdrada), gdzie /-ta pozycja określa reakcję gracza na /-tą sytuację. I tak np..' symbol D na pozycji nr 0 jest zapisem reguły mającej postać RRR ^> D, a symbol C na pozycji nr 3 określa regułę RRP—^C. W rzeczywistości sytuacja jest nieco bardziej złożona, niż to przedstawi liśmy. PonieważTeguły określone przez słowo 64-bitowe wymagają znajomości po sunięć w trzech ostatnich ruchach, zachowanie w początkowej fazie gry pozost.i|o nieokreślone. Axelrod dolączył więc jeszcze sześć bitów (sześć symboli C lub D) w celu określenia przesłanek strategii, czyli założeń o sytuacji początkowej. Te sześć bitów ópisywało po prostu kolejne posunięcia graczy przed rozpoczęciem gry. Dzięki temu normalne reguły w połączeniu z przesłankami mogły być użyte zarówno w fazie ; otwarcia, jak i w dalszym toku gry. (We wcześniejszej wersji Axelrod zakładał wstępną j wzajemną współpracę, ale przekonat się, że wstępne zachowania mają istotny wplyvv na wypracowanie strategii zdolnych do pobicia reguły wet-za-wet.) 'Ostatecznie więc, każdy z 70-bitowych ciągów reprezentował określoną strategię (64 bity) i przesłanki gry (6 bitów). Po rozwiązaniu problemu kodowania Axelrod przystąpił do poszukiwania lepszyclv strategii gry. Aby zapewnić każdej strategii reprezentatywny sprawdzian, Axelrod utwo rzył grupę złożoną z ośmiu „zawodników” wybfanyfh z jego wcześniejszych turniejov komputerowych. Grupa ta reprezentowała łącznie 98% zachowań obsei wowanych w roz-, grywkach komputerowych. Następnie, każda ze strategii-ciągów kodowych w 20-ele-f mentowej populacji rozgrywała pojedynek złożony ze 15l ruchów z każdym z ośmiu przeciwników. .Wskaźniki przystosowania obliczano, biorąc średnią ważoną punktów zdobytych w pojedynkach z przeciwnikami, przy czym wagi odzwierciedlały możliwie I dokładnie warunki panujące podczas turnieju. Startując od losowej populacji, aIgorytmf genetyczny odkrył strategie, które bily regulę wet-za-wet w ogólnej klasyfikacji. Cytując* własne słowa Axelroda (l985b, str. l3):
4.6. Podsumowanie
157
gfęst to godne, uwagi osiągnięcie, bowiem aby zdobyć tę dodatkową efektywność, regula lpusi posiąść trzy umiejętności. Po pierwsze, musi umieć rozróżniać jednego reprezentanta ffididrugiego wyłącznie na podstawie posunięć drugiego gracza, dokonywanych spontanicz||f|ie hib sprowokowanych. Po drugie, musi umieć dostosowywać wlasne zachowanie, aby Jwykorzystać reprezentanta, kl6ry został rozpoznany jako gracz podatny na wykorzystanie. ||o trzecie,'i to może najtrudniejsze, musi być zdolna do takiego rozróżniania i eksploatacji nic popadając w zbytnie kłopoty z innymi reprezentantami. Jest to coś, czego żadna z reguł Łbiorących pierwotnie udział w turnieju nie była w stanie dokonać. I'e wysoce efektywne reguly rozwinęły się z pogwałceniem najważniejszej zasady obowią zującej w turniejach komputerowych, mianowicie, aby być sympatycznym, czyli nigdy nie
S,
zdradzać jako pierwszy. Wspomniane efektywne reguly zawsze dopuszczają się zdrady już jv, pierwszym posunięciu, a niekiedy także w drugim, następnie zaś biorą pod uwagę działania dnigiego gracza, aby rozeznać się co do dalszego postępowania. Reguły te miały
?
ii swoim repertuarze reakcje odpowiadające „przeprosinom” i umożliwiające podjęcie wzajemnej współpracy z większością nie dających się wykorzystywać reprezentantów,
|
ąytakże inne reakcje, dzięki którym mogły eksploatować reprezentantów, którzy się do tego nadawali.
swne powinniśmy wątpić, czy politycy na Zachodzie poświęcają uwagę tym wyniBardziej do rzeczy, powinniśmy pewnie zauważyć, że algorytmy genetyczne poftą bardzo wydajnie eksploatować wielkie, nieciągłe i niedeterministyczne przestrze^ nie/Powinniśmy następnie stanąć nieco na uboczu i spojrzeć na ten problem z bardziej abstrakcyjnego punktu widzenia. Chociaż został on przedstawiony jako zadanie optyma||ąeji, w istocie rzeczy jest to przecież zagadnienie z dziedziny maszyn uczących się, |y ż strukturami podlegającymi modyfikacji sątu reguły zachowania. W rozdziale szós tym poznamy inne sposoby wykorzystania algorytmów genetycznych do uczenia się postępowania w złożonych środowiskach.
4.6. Podsumowanie W tym rozdziale przestudiowaliśmy zagadnienie powstania algorytmów genetycznych oraz ich ukształtowania się jako żywotnej metody rozwiązywania zadań poszukiwania I optymalizacji. Zajęliśmy się szczegółowo najbliższą prehistorią algorytmów genetycz nych, wczesnymi osiągnięciami teoretycznymi I-Iollanda, dawniejszymi zastosowaniami wprogramach grających, symulacji biologicznej i optymalizacji, jak również kilku now szymi zastosowaniami. c Prehistoria algorytmów genetycznych pełna jest komputerowych symulacji natural nych procesów genetycznych. Choć niektóre z nich miały posmak optymalizacji funkcji, trzeba było przebłysku intuicji widocznego w pracach Hollanda, by przenieść wzory zaczerpnięte z przyrody na grunt sztucznych zastosowań; zaraz za osiągnięciami Hollandibpostępowały pierwsze praktyczne implementacje algorytmu genetycznego dokonane rrzez Bagleya i Rosenberga.
1 5 8 _________________________________ 4. Niektóre zastosowania algorytmów genetyczn. ‘:
'
m
Te i inne wczesne wersje algorytmu genetycznego charakteryzowały się złożonoś- *' cią i powszeclimt obecnością zawiłych operacji. Zakres tematyczny ówczesnych badaii bywal zmienny, obejmował jednak tak różne zainteresowania, jak adaptacyjne strategie gry, symulacje biologiczne, rozpoznawanie postaci i optymalizacja funkcji. Jednym : wem, okres ten moglibyśmy scharakteryzowaćjako erę śrutówek w algorytmach gciuU cznych: symulacje były przeładowane rozmaitymi operacjami i złożonymi rhechani/ mami, w poszukiwaniu św. GraaIa efektywności. Staranne eksperymenty pomyślane, 1 w celu określenia wagi poszczególnych mechanizmów byly wówczas rzadkością. Jednak, w pewnym sensie, narzędzia teoretyczne i obliczeniowe nie były jcs/c/c dostępne owym pionierom. Rozwinięta przez Hollanda pod koniec dziesięciolecia teorui schematów po raz pierwszy uwypukliła fundamentalne znaczenie rekombinacji strukr ^ luraInej dla osiągnięcia ukrytej wspólbieżności. Do tego czasu nikt z badaczy nie zdawal sobie sprawy, co wfaściwie przetwarza jego algorytm genetyczny, tak więc wymyśIanoć, wciąż nowe operacje, nie troszcząc się o ich wplyw na wysokowydajne „cegiełki” . Ko/.wój teorii szybko doprowadził do przeprowadzenia starannie przemyślanych i zaplann- 4j wanych eksperymentów z zakresu optymalizacji funkcji, które rozpoczęły się rozprawą doktorską Hollstiena i osiągnęły punkt kulminacyjny w przełomowej pracy De Jonga. i De Jong oczyścił w swojej rozprawie wcześniejsze algorytmy genetyczne z większości komplikujących je elementów i dzięki temu byl w stanie udokumentować względne znaczenie reprodukcji i krzyżowania. Potrafil także wykazać drugorzędną rolę mulac|i w zadaniach poszukiwania genetycznego. Po pracach De .Ionga zastosowania algorytmów genetycznych uległy iipows/ecli nieniu. Mieliśmy tu przed chwilą do czynienia z powierzchownym przeglądem takich I zastosowań, zaczerpniętych z tak różnych dyscyplin, jak inżynieria, medycyna i poli tologia. Chociaż w dziedzinie teorii i zastosowań algorytmów genetycznych pozostąjćggj wciąż wiele do poznania, różnorodność i skuteczność istniejących algorytmów genetycz nych jest powodem do optymizmu. W następnym rozdziale zapoznamy się z pewnymi ; postępami w technice algorytmów genetycznych, które powinny doprowadzić do dal-.<,, szego wzrostu ich efektywności.
4.7. Z a d a n ia _______________________________________ 4.1. Opracuj kod dwójkowy dla zadania CavicchiaT.projektowanie zespołu detektoruv. dla urządzenia rozpoznającego wzorce)
fZadania
4.4.
, ^ BIK; i ^V $■
I ■ ■{i nj
4.5.
B r' j',(. >!■ Ł 4.6,
4.7.
4.8.
■
159
iwspólczynników sprzężenia jc,= I, 5, 6, 3, 2, 6, 7, 4, 5. Porównaj, szacunkowe prawdopodobieństwa przeżycia dla schematu *##01l**** przy krzyżowaniu adaptacyjnym i krzyżowaniu prostym. Rozważmy dużą populację złożoną z punktów wybranych losowo z przedziału [0, 2]. Oblicz średni wskaźnik przystosowania wpopulacji dla funkcji przystosowania/(*)=*2. Następnie oblicz średni wskaźnik przystosowania po wyskalowaniu, zakładając;, że zastosowano skalowanie potęgowe z wykładnikiem l<= l,005. Wyznacz także oczekiwaną liczbę kopii przy zwykłej reprodukcji dla przeciętnego (ze względu na pierwotne przystosowanie) osobnika przed i po skalowaniu. Załóżmy, że przy metodzie nadawania rang środkowy element populacji otrzymu je jedną kopię podczas reprodukcji. Przyjmując, że najwyżej usytuowany element otrzymuje MAX kopii, wyprowadź związek między wielkością populacji i para metrem MAX a liczbą kopii przyznawaną najniżej usytuowanemu elementowi populacji (MIN). Zakładamy liniową zależność liczby kopii od rangi. Jakie ograni czenia muszą spełniać wielkości MAX i MIN (jeśli muszą)? Przyjmując 40-bitowy blokowy zapis pozycyjny ze standaryzacją parametrów za stosowany w zadaniu regulacji pracy gazociągu (Goldberg, 1983), podaj ciąg ko dowy odpowiadający następującemu zestawowi 10 parametrów U:: 0, 7 ,5 x l0 5, 2x I05, 105, 0, 0, 7,5x 105, 5x 105, 0, 7,5x 10s. (Wartości parametrów U, mogąsię zmieniać w zakresie od t/,,,,,, = 0 do Ulmx= 7,5x 105 psia2; patrz przypis 1) str. 146). Rozważmy model gazociągu z przepływem nieustalonym (Goldberg, 1983). Przyj mując, że funkcja natężenia przepływu g jest reprezentowana przez 15 wartości Q, (zakodowanych za pomocą ciągów trzybitowych), podaj ciąg kodowy odpowiada jący fali sinusoidalnej o średniej 150 MMCFD i amplitudzie 50 MMCFD oraz okresie 140 minut. Wartośęi Q, zmieniają się w granicach od 2 mi„=100 do 2inax= 200 MMCFD i są obliczane w 10-minutowych odstępach czasu począwszy od chwili 0. W zadaniu obróbki obrazów rentgenowskich Grefenstette’a i Fitzpatricka obraz wykonany po wstrzyknięciu środka cieniującego (100x100 pikseli) zostaje prze kształcony za pomocą odwzorowania dwuliniowego o następującej postaci (.v, y - współrzędne pierwotne, x', y ' - współrzędne po przekształceniu): x ' = «,, + a,x + a^y + fl,.yy y ' = b„ + b,x + bTy + b,xy
Przekształcone obrazy są reprezentowane przez wartości przesunięć x i y każdego z czterech rogów obrazu (wyrażone w pikselach). Zakładając, że prawy dolny róg jest przesunięty o +3 jednostki wzdłuż osi x, a prawy górny róg jest przesunięty o +5 jednostek wzdłuż osi x i +8 jednostek wzdłuż osi y oraz że są to wszystkie niezerowe przesunięcia, oblicz współczynniki a, i b, przekształcenia dwuliniowe go. Przyjmujemy, że początek pierwotnego układu współrzędnych pokrywa się z lewym dolnym rogiem obrazu. 4.9. Wyprowadź związek między miernikiem efektywności on-line .v,,(0 De Jonga a średnim wskaźnikiem przystosowania populacji / ,(/).
1 6 0 -------------------------------------------------------- 4. Niektóre zastosowania algorytmów genetycznych
k 4 .1 0 . Zalóżmy, że w zadaniu o iterowanym dylemacie więźnia decyzje o współpracy
lub zdradzie są podejmowane na podstawie historii ostatnich pięciu ruchów. Opra cuj kod dla strategii gry analogiczny do 70-bitowego kodu Axelroda dla strategii opartych na trzech poprzednich ruchach.
4.8. Ćwiczenia komputerowe_______________________ ;______ A. Włącz metodę wyboru losowego wg reszt bez powtórzeń (wyd. 4.1) do programu SGA, B. Opracuj metodę selekcji wg rang, przy której osobnik przeciętny otrzymuje jedną kopię, a osobnik najlepszy - MAX kopii, a poza tym liczba kopii zależy liniowo od rangi. Zastosuj metodę wyboru losowego wg reszt po nadaniu rang i określeniu liczby kopii. C. Opracuj procedurę krzyżowania wielopunktowego wzorowaną na metodzie De Jonga, z parametrem CP (liczba punktów krzyżowania). D. Opracuj podprogram statystyczny do śledzenia odchylenia standardowego przystoso wania osobników w populacji, a następhie procedurę skalowania 0 -obcinąjącego. E. Opracuj wariant elementarnego algorytmu genetycznego z populacją mieszaną, zale/ny od współczynnika wymiany G. Zaimplementuj metodę ścisku wzorując się nu De Jongu. Przetestuj program na przykładzie funkcji wielomodalnej (jak F5) i po równaj wyniki otrzymane w eksperymentach z metodą ścisku i bez niej. F . Porównaj i omów alternatywne metody selekcji. G. Porównaj i omów alternatywne metody skalowania. H. Porównaj i omów alternatywne metody nadawania rang.
Rozdział
5
Techniki i operacje zaawansowane
W kilku początkowych rozdziałach tej książki zajmowaliśmy się tylko elementarnymi Wersjami algorytmu genetycznego, opierającymi się głównie na współdziałaniu trzech .opcr..tji: reprodukcji, krzyżowania i mutacji. Skupiając zainteresowanie na tych mecha-. :nach, byliśmy w stanie dostrzec, tak od strony teoretycznej jak i empirycznej, Iflenlralną rolę sztucznej selekcji i zrandomizowanej, uporządkowanej rekombinacji w- niebiologicznych procesach poszukiwania genetycznego. Jednak w zapale do za chowania prostoty zaniedbaliśmy kilka interesujących zjawisk i mechanizmów, które stępilją w przyrodzie. W tym rozdziale spróbujemy wydobyć i rozważyć ich rolę, ając na uwadze umocnienie odporności przejawianej przez elementarne algorytmy genetyczne. Zakres i głębokość tych rozważań będą z konieczności ograniczone aktualnym stanem wiedzy na temat mechanizmów naturalnych oraz tym, co udało się dotąd 1 -.wypraktykować. Mimo tych ograniczeń, rozpoznanie, analiza i implementacja zaawanppP^sowanych technik i operacji to najbardziej owocny kierunek dalszego udoskonalania j algorytmów genetycznych. p Ł ? ' Omówimy tu niskopoziomowe mechanizmy, takie jak dominowanie, inwersja, du; plikacja wewnątrzchromosomowa, delecja, translokacja i segregacja. Poprzez mechanij .. /.my działające na poziomie populacji, jak migracja, bariery reprodukcyjne i funkcje ^gyspóludziału uzyskamy efekty podobne do zjawisk wypełniania nisz ekologicznych L 'iiSpecjacji. Omówimy także związane z tym prace z dziedziny optymalizacji wielokryteTfc rlalnej. Prócz tego zajmiemy się operacjami genetycznymi wzbogaconymi wiedzą I ^ {knowledge-augmented] i innymi metodami wykorzystującymi informację specyficzną ^ Bla zadania. Na zakończenie wyliczymy niektóre spośród ostatnich usiłowań dostosowa| hia' algorytmów genetycznych do wyłaniającej się właśnie architektury równoległych xsystem6w komputerowych.
i
1 6 2 _____________________________________________ 5. Technikiioperacje zaawansowane' i
5.1. Diploidalny aparat genetyczny. Dominowanie i maskowanie_________________________ Czytelnicy oczytani nieco w genetyce głowią się zapewne, dlaczego do tej pory igno rowaliśmy kwestię diploidalności (podwójnego zestawu chromosomów) i dominowania', (ważnego rodzaju zależności fenotypu od genotypu). Czyż bowiem najbardziej elemen tarne podręczniki genetyki nie rozpoczynają się od omówienia doświadczeń Mendla z grochem i jakiegoś objaśnienia zjawiska dominowania? Otóż pominięcie to mialo na celu podkreślenie zasadniczego znaczenia selekcji i rekombinacji. Tym niemniej, fakt istnienia tylu odnoszących powodzenie diploidalnych i poliploidalnych organizmów suwia przed nami pytanie, czy mechanizmy te moglyby być skutecznie zastosowane w niebiologicznych zagadnieniach poszukiwania genetycznego. W tym punkcie zapoznamy' się z zasadami funkcjonowania genotypu diploidalnego i dominowania, w celu wyjaś nienia ich roli w osłanianiu alternatywnych rozwiązań przed zbyt niszczącym działaniem selekcji. Dotychczas rozważaliśmy jedynie najprostszy rodzaj genotypów spotykanych w przyrodzie - o haploidalnej liczbie chrbmosomów. W modelu tym pojedynczy ciąg kodowy zawiera całą informację istotną dla rozpatrywanego zagadnienia. Mimo że przyioda zna wiele organizmów haploidalnych, większość z nich reprezentuje raczej nieskompli kowane formy życia. Wydaje się, że ilekroć przyroda chciała wytworzyć wyższe postaci życia roślinnego lub zwierzęcego, musiałapolegać na bardziej skomplikowanej strukturze genetycznej - genotypach o dipIoidalnej liczbie chromosomów. Genotyp w postaci diploidalnęj sklada się zjednej lub więcej par chromosomów (zwanych chromosomami homolo gicznymi), każdy z których przenosi informację służącą tym samym funkcjom. Na poziii taka redundancja może się wydawać zbędna i trudna do pojęcia. Po co przechowywać paiy genów służących tej samej funkcji? A jeśli dwa geny z jednej pary wyznaczają różne „wartości” funkcji, to w jaki sposób przyroda decyduje, który z nich dopuścić do głosu?. Aby udzielić odpowiedzi na te pytania, rozważmy diploidalną strukturę chromosomową, w której poszczególne litery alfabetu reprezentują różne allele (warianty genów): AbCDe aB Cde
Każda litera na danej pozycji {locus) reprezentuje jeden allel; dwie odmiany tej samc| litery (wielka i mała) odpowiadają przeciwstawnym*allelom (odmianom genu). W przy rodzie każdy z alleli mógłby warunkować odĄiien|ą charakterystykę fenotypową (lub mieć pewien cząstkowy wpływ na jedną lub więcej charakterystyk). Na przykład allel B mógłby warunkować brązową barwę oczu, a allel b - niebieską. Choć opisana zasadą nie odbiega wiele od obowiązującej w przypadku haploidalnym, jedna różnica jest wyiaźnie widoczna. Ponieważ mamy teraz parę genów warunkujących tę samą cechę, musi istnieć mechanizm decydujący, który z dwóch wariantów wybrać, gdyż fenotyp nie mo/.e mieć - na przykład - jednocześnie brązowych i niebieskich oczu Qesli nie dopuszczamy, jak to się niekiedy dzieje w naturze, możliwości występowania form pośrednich; tym jednak nie będziemy się tu zajmować).
5.1 Diploidalny aparat genetyczny. Dominowanie i maskowanie
163
Podstawowy mechanizm służący do rozstrzygania takich konfliktów genetycy nazyw. | ^dominowaniem. Zauważono, żejeden z alieli (allel dominujący) zajmujących ten sam locns>ma pierwszeństwo przed odmianą alternatywną (allelem recesywńym). Dokładniej, #4Jany>alleI jest dominujący, jeżeli ulega ekspresji (przejawia się w fenotypie), występując ;^>parzez drugim allelem. Wracając do przykładu.jeżeli założymy, że wielkie litery są doninującć, a małe - recesywne, to ekspresję alleli można wyrazić następująco: ,
j $*
'A b C D e
m
ABCde
->
ABCDe
.H
| Geiii dominujący przejawia się w każdym przypadku, a gen recesywny - tylko gdy
v.ysiepuje w parze z drugim genem recesywnym. W języku genetyków mówi się, że gen ,'Mominujący-przejawia się zarówno w stanie heterozygotycznym (mieszanym, Aa^A), jak fipionioz.ygotyczjiym (czystym, CC->C), natomiast alIel recesywny przejawia się tylko i e ). Przedstawione reguły wydają się dość przejrzyste. Na bardziej abstrakcyjnym pozio mie możemy myśleć o dominowaniujako odwzorowaniu genotyp-fenotyp lubjako opera^ cj,i redukcji genotypu. Jeślijednak będziemy próbowali nadal zgtębiać sens tych rozwiązań, •ihuszą się one wydać nader dziwaczne. W jakim celu przyroda najpierw dubluje informagcję przenoszoną za pośrednictwem genotypu, aby ją potem zredukować do połowy, gdy ^przychodzi do jej wykorzystania? Wygląda to pozornie na rozrzutność i niepotrzebną ^żmudę; jednak przyroda nie jest utracjuszeni, ani nie ulega zachciankom czy kaprysom. (Muszą więc istnieć istotne powody nadmiarowości wynikającej ze struktury dipIoidalnej 5 genotypu oraz zjawiska maskowania czy osłony będącego rezultatem dominowania. Diploidalność oraz dominowanie od dawna były przedmiotem studiów genetycz(,nych; przedstawiono liczne teorie mające wyjaśnić ich rolę. Z naszego punktu widzenia najbardziej interesujące są hipotezy, według których podwójny zestaw chromosomów stanowi mechanizm do zapamiętywania tych alleli oraz ich kombinacji, które w przeszłoścl okazały się pożyteczne, a dominowanie osłaniaje przed szkodliwym oddziaływaniem .. selekcji w aktualnie niesprzyjającym środowisku. Z przyrodniczego punktu widzenia ' można zrozumieć potrzebę takiej rozproszonej, długoterminowej pamięci oraz środków chroniących tę pamięć przed naglym zniszczeniem. W toku ewolucji życia na Ziemi planeta nasza podlegała wielu zmianom środowiskowym. Od wysokich do niskich, i znów umiarkowanych temperatur, od ciemności do pełni światła ijakiegoś pośredniego oświetlenia - zmiany dokonywały się dramatycznie i gwałtownie. Najbardziej efektywne okazały się organizmy, które były zdolne do szybkiej adaptacji do zmieniających się warunków. Zwierzęta i rośliny o strukturze dipIoidalnej lub poliploidalnej były najbar dziej zdolne do przeżycia, gdyż ich aparat genetyczny nie zapominał łatwo lekcji ode, branych przed poprzednimi zmianami środowiska. Nadmiarowa pamięć genetyczna or• ganizmów dipłoidalnych umożliwiajednoczesne przechowywanie różnych rozwiązań te go samego problemu, podczas gdy ujawnia się tylko jedno określone rozwiązanie. Dzięki temu stare nauki nie ulegają na zawsze zapomnieniu, a dominowanie i jego przemiany umożliwiają okazjonalne przypomnienie i sprawdzenie przydatności dawno wyuczonych llękcji.
5. Techniki i operacje zaawansowane
164
V Znakomitym przykładem tej długoterminowej pamięci genetycznej mogą być prze miany w równowadze populacyjnej zaobserwowane w Wielkiej Brytanii w okresie rewo lucji przemysłowej u pewnego gatunku ćmy °. Pierwotnie dominująca forma tego motyla miała białe skrzydła z małymi czarnymi plamkami. Przed rewolucjąprzemysłową ubar wienie takie zapewniało skuteczny kamuflaż wobec ptaków i innych naturalnych wro gów w występujących w siedlisku ćmy, tj. wśród drzew pokrytych porostami. W połowie dziewiętnastego stulecia w okolicach miast przemysłowych zaczęto chwytać osobniki należące do odmiany ciemno ubarwionej. Staranne doświadczenia przeprowadzone przez Kettlewella (Berry, 1965) wykazały, że nakrapianą wersja ubarwienia zapewniata korzy ści w warunkach pierwotnych, podczas gdy odmiana melaniczna (ciemna) okazała się korzystna w środowisku przemysłowym, w którym porosty pokrywające pnie drzew wyginęły z powodu zanieczyszczeń. Okazało się, że ciemny kolor skrzydeł był warun kowany przez pojedynczy dominujący gen, co wskazuje, że nastąpiła zmiana w domino waniu. Kiedy równowaga przesunęła się w stronę odmiany ciemno ubarwionej, stała się ona formą dominującą, natomiast odmiana nakrapiana „przeszła do rezerwy” . Zwróćmy uwagę, że forma melaniczna nie była nowym wynalazkiem; nie nastąpiła tu żadna szczę śliwa mutacja, która w magiczny sposób wymyśliła potrzebną zmianę. Przeciwnie, forma ciemna powstałajuż wcześniej, być możejakd odpowiedź biologiczna na lasy, w których porosty w sposób naturalny nie występowały. Gdy produkty uboczne przemysłu spowo dowały zanik porostów, forma melaniczna uzyskała przewagę selekcyjną i stała się po stacią dominującą. Mając w.zanadrzu alternatywne rozwiązanie, ćma bez trudu zaadap towała się w krótkim czasie do nowych warunków zmieniającego się środowiska. Przykład ten pokazuje, w jaki sposób diploidalność i dominowanie stwarzają oslonę dla alternatywnych rozwiązań przed nadmierną selekcją. Widzimy także, że domino wanie nie jest stanem ustalonym raz na zawsze. Biolodzy wysunęli i udowodnili hipo tezę, że samo dominowanie podlega ewolucji. Inaczej mówiąc, dominowanie lub niedominowariie określonego alleIti jest również warunkowane genetycznie. Szczegółowe aspekty biologiczne tego zagadnienia można znaleźć w pracy Fishera (1958) na temat ewolucji dominowania. Tutaj omówimy niektóre modele tych mechanizmów używane do celów poszukiwania genetycznego, aby dowiedzieć się, jak rozwiązano tam problemy reprezentacji struktury genetycznej, operacji dominowania oraz ewolucji tej ostatniej.
5.1.1.
D iploidalność i dom inow anie w algorytm ach genetycznych. Z arys h is to ry c z n y ________________ ______________
,__________________________________
W niektórych najwcześniejszych zastosowaniach praktycznych algorytmów genetycz nych używanojuż struktury diploidalnej i posługiwano się mechanizmem dominowania. W rozprawie Bagleya para chromosomów homologicznych zostaje odwzorowana na określony fenotyp za pośrednictwem zmiennego wzorca dominacji, zakodowanego jako część samego chromosomu (Bagley, 1967, str. 136):
11 Ćma krępaka, Bisu>n beliitaria (pnyp. tlwn.).
Diploidalny aparat genetyczny. Dominowanie i maskowanie
165
fi-Każdy aktywny lo c u s zawiera prócz informacji określającej parametr, z którym jest on jzwiązany i konkretnej wartości tego parametru, również stopień dominowania \d o m in a n c e v n lu e \. Aigorytm po prostu wybiera w każdym z lo c i allele o największym stopniu domino wania. W przeciwieństwie do sytuacji spotykanych w przyrodzie, która dopuszcza niecał kowite dominowanie (czego wynikiem mog;t być np. plamiste oczy), wymagamy tu, aby
został wybrany dokładnie jeden z homologicznych alleli. Proces podejmowania decyzji i w sytuacjach remisowych jednakowe stopnie dominowania) uwzględnia efekty pozycyjne i jest cokolwiek złożony, trzeba go więc będzie naszkicować nieco dokładniej. Jeden z dwóch chromosomów zostaje arbitralnie wybrany jako „kluczowy” , po czym prze gląda się jego zawartość w kierunku od lewa na prawo. Przy każdorazowym napotkaniu aktywnego lo c u s bada się zawartość homologicznego lo c u s w drugim chromosomie. Na stępuje porównanie stopni dominowania i wybór aIlelu odpowiadaj;icemu wyższemu stop niowi dominowania. Jeżeli stopnie dominowania sti jednakowe, rozstrzygnięcie zależy od chromosomu kluczowego. To znaczy, sprawdza się najbliższy aktywny
lo c u s
położony na
lewo od rozpatrywanej pozycji w chromosomie kluczowym. Jeżeli jest on dominujący, to bieżący
lo c u s
w chromosomie kluczowym zostaje uznany za dominujący, w przeciwnym
razie dominuje homolog. Jeżeli badany lo c u ś zajmuje pierwszą aktywną pozycję w chromo somie kluczowym, to dominuje lo c u s kluczowy.
Wprowadzenie stopnia dominowania dla każdego genu umożliwiło adaptację tego mode lu w kolejnych pokoleniach. Niestety, jak stwierdził Bagley, stopnie dominowania oka zywały tendencję do wczesnej fiksacji, pozostawiając w ten sposób określanie domino wania w rękach cokolwiek skomplikowanego i dowolnego mechanizmu rozstrzygania remisów. Co gorsza, Bagley wyjąl stopnie dominowania spod działania mechanizmu mutacji, przyspieszając jeszcze w ten sposób ich przedwczesną zbieżność. W dodatku ,Bagley nie dokonal porównania wariantu haploidalnego z diploidalnym, a we wszystkich rozpatrywanych przez niego przypadkach środowisko pozostawało stacjonarne. W rezultacie fiksacja stopni dominowania na wszystkich pozycjach doprowadziła do ustalenia się arbitralnego, przypadkowego mechanizmu dominowania, uniemożliwiając wyciąg nięcie przekonywujących wniosków. Ukierunkowane biologicznie badania Rosenberga (1967) obejmowały diploidalny model aparatu genetycznego; jednak ze względu na szczegółowość, z jaką podszedł on do modelowania procesów biochemicznych, efekt dominowania nie był osobno rozpa trywany. Wszelkie efekty związane z dominowaniem wynikały u niego z obecności lub nieobecności określonego enzymu. Enzym mógł hamować lub ułatwiać zachodzenie re akcji biochemicznej, wpływając ten sposób na pewien wynik na poziomie fenotypu. Studium Hollstiena (1971) objęło model diploidalny oraz ewoluujący mechanizm dominowania. W istocie HolIstien opisał dwa proste, ewoluujące mechanizmy domino wania,. a następnie zastosował najprostszy z nich do badań nad optymalizacją funkcji. W pierwszym przypadku zamiast pojedynczego genu binarnego, używano dwóch: genu modyfikatora i genu funkcyjnego. Gen funkcyjny mógł przyjmować normalne wartości 0 i 1 i był używany w zwykły sposób do kodowania pewnego parametru. Gen modyfika tor przyjmował wartości M lub in. Przy tym rozwiązaniu aIleI 0 dominował, jeżeli w przynajmniej jednym z homologicznych loci modyfikatorowych występował alleI M.
1 6 6 _____________________________________________ 5. Technikiioperacje zaawansowana” ; U '7;i
W efekcie otrzymywało się wzorzec dominacji taki, jak na rys. 5.1. Hollsden zorientował się,, że cały mechanizm można uprościć, wprowadzając zamiast genów modyfikatorów1;' trzy allele dla każdego z loci. W takim modelu triallelicznym alfabet genetyczny składałj się z symboli 0, 1 i 2, przy czym 2 pełniło rolę „dominującego 1” , ą 1 - rolę „recesywnego 1” . Odpowiedni wzorzec dominacji został pokazany na rys. 5.2. Cały mechaniznt można podsumować stwierdzeniem, że zarówno 1 jak i 2 przejawiają się jako 1, ale' 2 dominuje nad 0 i 0 dominuje nad 1. Holland (1975) przeanalizował później zachowanie takiego samego modelu triallelicznego w warunkach stacjonarnych, choć wprowadził nieco bardziej przejrzyste oznaczenia {0, l,„ 1} w miejsce Hollstienowskich {0, 1, 2}. 1 OM
Om
OM
0
0
0
0
0m
0
0
O
1
1M
0
O
1
1
1m
0
1
1
1
1M
1m
Rys. 5.1. Wzorzec dominacji z genem modyfikatorem. Za Hollstienem (1971) o
I
2
o
i 2
Rys. 5.2. Wzorzec dominacji w modelu triallelicznym. Za Hollstienem (1971)
Model triaIleliczny Hollstiena-Hollaiida łącząc qba rodzaje informacji (o domino waniu i allelu) na pojedynczej pozycji jest najklrfrowiiejszą i najprostszą z metod za proponowanych do tej pory dla celów poszukiwania genetycznego. Pfzy tej metodzie alleI o wyższej wartości przystosowawczej staje się dominujący, osłaniając w ten sposób wariant recesywny. Potrzeba do tego minimum dodatkowej pamięci (pół bitu na locus), a co więcej zmiana dominowania może być bez trudu dokonywana z;i pośrednictwem operacji typu mutacyjnego, przekształcającej 2 w 1 (I w 1,, według notacji Hollanda) i odwrotnie. Mimo przejrzystości tego modelu wyniki otrzymane przez Hollstiena w związku z wprowadzeniem diploidalności i dominowania były niejednoznaczne. Cho ciaż w symulacjach oznaczonych Breed Type III różnorodność populacji (mierzona wa-
■Diploidalny aparat genetyczny. Dominowanie i maskowanie .
167
:riancją populacji) utrzymywała się na wyższym poziomie niż w przypadku symulacji haploidalnych, nic zaobserwowano jednak istotnej poprawy średniej czy końcowej efekitywności. Może się to wydaWać dziwne dopóty, dopóki nie zdamy śobie sprawy z faktu, [że Hollstien posługiwał się jedynie funkcjami stacjonarnymi. Jeśli sens diploidalnościiluominowania polega na osłonie, to istotnych różnic w zachowaniu haploidalnych i dipićidalnych algorytmów genetycznych powinniśmy się spodziewać wtedy, kiedy środowi sko ulega przemianom w czasie. W tym świetle jest rzeczą zastanawiającą, że nie prze studiowano takich zmian w związku z omawianym modelem. 'i] Brindle (1981) przeprowadziła eksperymenty z pewną liczbą wariantów domino wania w kontekście optymalizacji funkcji. Niestety, funkcje i kody, których używała |v^ badaniach, zostały później zakwestionowane. Co więcej, zignorowała ona poprzednie i^race na temat modeli dominacji i diploidalności, a pewne opracowane przez nią modele, pie miały podstaw teoretycznych ani precedensów biologicznych. | Brindle rozważała sześć następujących wariantów dominowania: P'': ' 4) dominowanie stałe, globalne, określone losowo; 2)dominowaniezmienne,globalne; ,8), dominowanie zmienne, globalne, określone deterministycznie; p9 wybór losowego chromosomu; 5) dominowanie lepszego chromosomu; 6) haploidalna kontrola dominowania adaptacyjnego diploidów. W przypadku dominowania stałego, globalnego, określonego losowo, dominowanie alleli zostaje określone na początku eksperymentu, raz na zawsze dla wszystkich loci. Wzorzec ;dominacji odpowiada serii rzutów rzetelną monetą. AIlel dominujący przejawia się »w stanie heterozygotycznym lub homozygotycznym, natomiast allel recesywny - tylko w stanie homozygotycznym. W przypadku dominowania zmiennego, globalnego, określa się prawdopodobień stwo dominowania danego allelu (0 lub 1) w określonym locus. Jest ono równe frekwen cji tego allelu w aktualnej populacji. Po obliczeniu frekwencji zer i jedynek w każdym z l.oci, o ekspresji allelu będącego w stanie heterozygotycznym decyduje wynik odpowie dniej próby Bernoulliego. W następnym wariancie (dominowanie zmienne, globalne, określone determinis tycznie) wyznacza się, tak jak poprzednio, frekwencje zer i jedynek dla każdego z loci; jednak tym razem o ekspresji decyduje większość i allel mający większą frekwencję w populacji zostaje uznany za dominujący. W wariancie z wyborem losowego chromosomu tworzy się (drogą kolejnych rzu tów beztendencyjną monetą) losowy genotyp, a wszystkie jego alłele zostają uznane za dominujące. W wariancie z dominowaniem lepszego chromosomu chromosom o wyższym wskaźniku przystosowania (w parze chromosomów homologicznych) zostaje uznany za dominujący. W ostatnim modelu trzeci dodatkowy chromosom (haploid) przenosi adaptacyjny wzorzec dominacji, określający ekspresję alleli w normalnej parze diploidalnej (Brindle, 1981, str. 115);
168
5. Techniki i operacje zaawansowani.
Model haploidalny Ś red n ia d la p okolen ia
Rys. 5.3. Niestacjonarna wersja zagadnienia plecakowego. Średnie wartości rozwiązań dla modelti haploidalnego. (Goldberg i Smith, 1987)
Model haploidalny Najlepsze rozwiązanie w pokoleniu
Rys. 5.4. Niestacjonarna wersja zagadnienia plecakowego. Najlepsze rozwiązania dla modelu haploidalnego. (Goldberg i Smith, 1987)
RS)*Diploidalny aparat genetyczny. Dominowanie i maskowanie _ _ _ _ _ ______________ 169 i |j
N ajlep szą m eto d ą u z y sk a n ia w zo rca d o m in acji, który p rzynosiłby najw ięk sze korzyści or-
1 1 j g an izm o w i, je s t p o zo staw ien ie algorytm ow i g enetycznem u zad an ia w y tw o rzen ia tego w zor'i
* p : c a w sp o só b ' d y n am iczn y . K ażdy o so b n ik w populacji je s t w ypo sażo n y w trzeci ch ro m o so m , f i j f który w fazie ew alu acji slu ż y ja k o w zorzec do m in acji d la teg o o so b n ik a . P o d czas cyklu B p ' rep ro d u k c y jn e g o c h ro m o so m ten zach o w u je się ja k o rg an izm h ap loidalny, rek o m b in u jąc s
•a
w fazie k o jarzen ia z a n alo g iczn y m ch ro m o so m em d ru g ieg o z ro dziców . P o d leg a on m utacji z ta k ą sa m ą często ścią, ja k ch ro m o so m y h o m o lo g iczn e, f...j D o b re w zo rce do m in acji p o w in ny ro zw ijać się ró w n o leg le z d o b ry m i organizm am i.
Jest to najbardziej naturalny spośród modeli przyjętych przez Brindle. Podobnie jak wcześniejsze propozycje Hollstiena (1971) i Bagleya (1967), metoda ta opiera się na adaptacyjnym wzorcu dominacji; jednak Brindle całkowicie oddzieliła wzorzec domina cji (geny modyfikatory) od normalnego chromosomu (genów funkcyjnych). Pod wzglę dem biologicznym jest to niezrozumiale. Genotypy występujące w przyrodzie nie są w połowie diploidalne, a w połowie haploidalne. Ponadto wydaje się, że gen modyfikują) cy powinien być dość ściśle związany z genem funkcyjnym, tworząc trudny do rozbicia ; (na skutek krzyżowania) błok. Separacja, którą narzuciła Brindle, skutecznie likwiduje sprzężenia między wzorcem dominacji a genami funkcyjnymi. Są także i inne zastrzeżenia dojej modeli. Dwa z nich wymagają użycia informacji globalnej do podejmowania decyzji na szczeblu lokalnym. Już wcześniej mieliśmy okażję kwestionować pomysł algorytmu genetycznego na metapoziomie, gdyż zakładał on jposługiwanie się informacją globalną. Te same zastrzeżenia należy zgłosić wobec uży wania informacji globalnej do lokalnego decydowania o dominowaniu. Musimy jeszcze raz postawić pytanie, w jaki sposób informacja taka miałaby być dostępna w przyrodzie, iphoć może się to wydawać puryzmem genetycznym, nie chodzi tu wcale o ślepe naffśladownictwo przyrody dla samego siebie. Główny urok naturalnych i sztucznych mechanizmów genetycznych polega na tym, że osiągają one globalne skutki poprzez działa nia czysto lokalne. Jeśli choć raz wprowadzimy tę czy inną operację globalną, utracimy bezpowrotnie tę pociągającą właściwość. A nie jest to bez znaczenia, jeśli ostatecznie zależy nam na uzyskaniu efektywnych implementacji tych metod dla komputerów o arlchitekturze równoległej. I W swej rozprawie Brindle porównała drogą symulacyjną sześć modeli; ponieważ ;''jednak użyła niewłaściwego materiału do badań oraz rozpatrywała jedynie funkcje stacjonarne, zjawiska diploidalności i dominacji nie zostały przez nią skutecznie zbadane, j W nieco nowszych pracach (Goldberg i Smith, 1987; R. E. Smith, 1987, 1988), |główną uwagę poświęcono roli dominowania i diploidalności jako struktur i mechaniz• mów maskowania. Smith ija porównaliśmy haploidalny AG, diploidalny AG ze stalym wzorcem dominacji (1 dominuje nad 0) oraz diploidalny trialleliczny AG Hollstiena-Hollanda pod względem efektywności, na przykładzie tzw. ślepego zagadnienia pleca kowego. W zwykłym zagadnieniu plecakowym chodzi o maksymalizację łącznej warto| ści przedmiotów załadowanych do plecaka, przy zachowaniu jednego lub więcej więzów wagowych. Matematycznie zadanie formułuje się w zwięzły sposób następująco: max Sv,A'(, gdziex,e {0, 1} pod warunkiem, że ^Lw,x,
. 5. Techniki i operacje zaawansowane
170
Model diploidalny prosty Średnia dla pokolenia
^ M
o
100
W
M
200
W
300
\
400
Nr pokolenia Rys. 5.5. Niestacjonarna wersja zagadnienia plecakowego. Średnie wartości rozwiązań dla modelua diploidalnego ze stalym wzorcem dominacji (1 dominuje nad 0). (Goldberg i Smith, 1987)
Model diploidalny prosty Najlepsze; rozwiązanie w pokoleniu
Rys. 5.6. Niestacjonarna wersja zagadnienia plecakowego. Najlepsze rozwiązania dla modelu diploidalnego ze stalym wzorcem dominacji. (Goldberg i Smith, 1987)
,. 5;1 ■ Diploidalny aparat genetyczny. Dominowanie i maskowanie
171
Model trialleliczny
Rys. 5.7. Niestacjonarna wersja zagadnienia plecakowego. Średnie wartości rozwiązań dla modelu diploidalnegotriallelicznego.(GoldbergiSmith,1987)
Model trialleliczny
Rys. 5.8. Niestacjonarna wersja zagadnienia plecakowego. Najlepsze rozwiązania dla modelu diploidalnegotriallelicznego. (Goldberg i Smith, 1987)
172
5. Techniki i operacje zaawansowan^*
i
W wersji „ślepej” algorytm nie zna, oczywiście, struktury zadania, wartości v, czy v,,i> w,. W tym przypadku zadanie zostało dodatkowo utrudnione przez wprowadzenie v* zów będących periodyczną funkcją czasu: W(t) e {W0, W,}, przy cźym co Tverlml pokolenij wartość funkcji zmienia się na przeciwną. Na rysunkach 5.3-5.6 porównano haploidalnyj AG z prostym diploidalnym AG. Haploidalny AG nie był w stanie dostosować oscylacji, natomiast prosta wersja diploidalna potrafiła za nimi do pewnego stopnia n..c, żyć. Wykonano również eksperymenty z algorytmem triallelicznym Hollstiena-Hollanday Jak można było się spodziewać, otrzymane wyniki przewyższyły w istotnym stopniu'J rezultaty osiągnięte przy użyciu stałego wzorca dominacji. Na rysunkach 5.7 i 5.8 poka zano średnie i najlepsze w pokoleniu rozwiązania omawianego zadania. Ponieważ model trialleliczny umożliwia ewolucję wzorca dominacji na każdej pozycji, populacja jest dzięki temu zdolną do szybszej i pełniejszej adaptacji niż w przypadku stałego wzorca j dominacji lub struktury haploidalnej.
5.1.2.
A n a liz a d ip lo id a ln ości i dom inow ania w a lg o ry lm a c h g enetycznych
____
Dowody empiryczne na rzecz struktury diploidalnej i mechanizmu dominowania w al gorytmach genetycznych zaczynają układać się w bardziej zrozumiałą całość. O ile daw-, niej uważano diploidalność i dominowanie za magiczne lekarstwo na wszystkie niedo-' magania algorytmów genetycznych, o tyle teraz główną uwagę kieruje się na ich rolę związaną z zabezpieczeniem niegdyś pożytecznych schematów przed niszczącym działa niem selekcji. Aktualnie zaczęto studiować te zagadnienia w kontekście zadań niesta cjonarnych i można przypuszczać, że przyszłe badania potwierdzą tę rolę. Za dowodamig empirycznymi powinna podążyć analiza teoretyczna. W tym punkcie pokażemy, jak1 działa mechanizm przedłużający życie aktualnie słabszych schematów, będący efektem współdziałania diploidalności i dominowania. Zobaczymy również, że dzięki takiemu rozwiązaniu, można zapewnić określony poziom różnorodności populacji przy mniejszej^ częstości mutacji. : Chcąc zrozumieć działanie wspomnianego mechanizmu, rozważmy najpierw, jaki t wpływ wywiera on na rozprzestrzenianie się schematów. W rozdziale drugim otrzymaliś my następujący związek między liczbą reprezentantów schematu H w następnym pokole niu (ni(H, t + 1)) a liczbą tychże w pokoleniu bieżącym (m(H, /)): J. in(H, f+1) > m(H, t)
,m . Pc _UH)L _ _ _ o(H)pm
m 1
W powyższej nierówności pc i pm oznaczają, odpowiednio, prawdopodobieństwa krzyżo wania i mutacji, f ( H ) - średni wskaźnik przystosowania schematu, / - średni wskaźnik przystosowania populacji, 5(H) - rozpiętość schematu (odległość między skrajnymi po zycjami ustalonymi) i o(H) - rząd schematu (liczbę ustalonych pozycji). Nierówność ta pozostanie w mocy po dodaniu diploidalności i dominowania, jeżeli uwzględnimy w niej wplyw dominowania i zjawiska ekspresji aileli na wielkość średniego przystosowania*
mm 5.1. Diploidalny aparat genetyczny. Dominowanie i maskowanie .
17 3
../-,$chcmatu f(H). Różnica będzie najlepiej widoczna, jeżeli rozróżnimy pojęcia schematu ^r7i't/ywistego H i schematu ujawnionego /7.. Innymi slowy, rzeczywisty schemat II moze się przejawiać lub nie, w zależności od swego statusu dominacyjnego oraz od aktual■«Jnego partnera homologicznego. Wymaga to wprowadzenia następującej modyfikacji do naszejnierówności: m(H, r+ l) > in(H, t) r m f
■P c
m i -1
o(H)p.
Wv/ystko pózostalo po staremu, z-wyjątkiem tego, że średni wslcaźnilc przystosowania ,."^ciK'ihatu H,f(H), został zastąpiony przez średni wskaźnik przystosowania schematu S$a>viiionego He, f ( H e). W przypadku schematu całkowicie dominującego średni współ czynnik przystosowania zawsze równa się średniemu współczynnikowi przystosowania Jchematu ujawnionego: f(H) = f (H, ) \V przypadku schematu dominowanego chcielibyśmy, oczywiście, aby średni współifcy.nnik schematu ujawnionego nie ustępował średniemu współczynnikowi schematu . ,ywistego: % t f(H,) >f(H) K |tjacja taka jest najbardziej prawdopodobna, kiedy wzorzec dominacji ma możliwość |luowania, jak sugerowaliśmy wcześniej. Jeśli to nastąpi, to aktualnie szkodliwy, zdominowany schemat nie będzie narażony na odsianie wskutek selekcji w takim stopk j a k w analogicznym przypadku haploidalnym. W ten właśnie sposób diploidalność pninowanie chronią schematy będące aktualnie w niełasce. Aby nadać naszemu rozumowaniu bardziej wymierny charakter, rozważmy prosty prŻykłacI, w którym mamy do czynienia z dwoma alternatywnymi, konkurującymi scheatami, jednym dominującym i jednym recesywnym. Odpowiada to realnie dwóm alij]om na tej samej pozycji lub dwóm schematom wielopozycyjnym, które „zmonopolizoffaly” określony podzbiór pozycji. W obu przypadkach zakładamy, że konkurent domiutjący przejawia się zarówno w stanie heterozygotycznym, jak i homozygotycznym, >| fflatomiast konkurent recesywny przejawia się tylko w stanie homozygotycznym. Prze',*f ^fcztałcąjąc równanie propagacji schematów0 możemy wyznaczyć frekwencje P' alleli !, ^r$cesywnych w kolejnych pokoleniach t. Jeśli założymy, że istnieją tylko dwa konkurują) |Vce schematy, przy czym forma dominująca charakteryzuje się stałym wskaźnikiem średgo przystosowania./;,, a forma recesywna - odpowiednio./;, to wówczas oczekiwana ickwencja recesywów w następnym pokoleniu wyniesie (Goldberg i Smith, 1987):
K Im
11 W celu uproszczenia dalszej analizy aulor zastępuje wyprowadzona wcześniej nierówność równa-
j ;niemQ>nyp. tlum.). łf K ; „iii
a
174
5. Techniki i operacje zaawansowane M
P'
P'K
P' + r ( l - P ' )
*
dl
(1 - r ) P ' ■P' + rl'
gdzie r= /rf/ / r, a /ćjest współczynnikiem strat związanych z krzyżowaniem i mutacją. $ , Analogiczny związek można wyprowadzić w przypadku haploidalnym, w który szkodliwy wariant (recesyw) nie jest nigdy maskowany: pi*i=p t _____ ^L_____ P' + r(l - P')
,lM ^ Na rysunku 5.9 wykreślono zależność stosunku frekwencji P '"/P ' od frekwencji P' dla yj wariantów haploidalnego idiploidalnego. Najważniejszym wnioskiem,jaki można w; ciągnąć z tych wykresów, jest to, że przy porównywalnych frekwencjach alleli wariant ;• haploidaIny odsiewa zawsze mocniej (mniejszy jest stosunek frekwencji) aniżeli wariant diploidalny. Oczywiście, nie oznacza to, że wariant diploidalny działa mniej efektywnie W istocie, w przypadku diploidalnym częstość wyboru recesywu podczas reprodukcp jest niewielka (proporcjonalna do P2) !). Dzięki temu przydatne niegdyś rozwiązania zo stają zachowane, aby pewnego dnia podjąć walkę, bez nadmiernej propagacji i bez nad miernego odsiewu. Podobne wnioski można wysnuć, badając historie frekwencji recesywów, zobrazowane na rys. 5.10. Analogiczne wyniki dla modelu triallelicznego podaje Smith (1988). Przeprowadzona wyżej analiza dowodzi jasno istnienia długoterminowej pamięu, będącej skutkiem diploidalności i dominowania. Z uwagi na to możemy się spodziewae, że mutacja będzie odgrywać jeszcze mniejszą rolę w przypadku algorytmów genetycz nych stosujących to rozwiązanie. Holland (1975) przedstawił analizę wymagań stawia nych wobec mutacji w warunkach populacji stacjonarnej, porównując przypadki struktur diploidainych i haploidalnych2’. Można pokazać, że dla struktur haploidalnych związek między frekwencją P,+1;:" określonego allelu w następnym pokoleniu ajego frekwencją P' w bieżącym pokoleniu jest dany wzorem P '" = (1 - e ) P '+ /;,,,( l -p >) - P" P > Występuje tu suma trzech wyrazów - skladnika wynikającego z reprodukcji, skl.idmku reprezentującego zysk z tytułu mutacji oraz skladrufct reprezentującego stratę z tytulu mutacji. Wielkość e(/) reprezentuje względne ^ratJibędące skutkiem działania innych operacji. W populacji stacjonarnej mamy P'*'=P’= Pxr Wyznaczając stąd P„ otrzymujenn P „,
2Pm + e
11 Chudzi o Ibmię homozygotycz.mt (przyp. ihim.). 21 Analiza ta dotyczy przypadku dwóch przeciwstawnych alIcli (pnyp-
tlum.).
5 .'
D ip lo id a ln y a p a ra tg e n e ty c z n y .D o m in o w a n ie im a s k o w a n ie _____________________________ 1 7 5
ns
'Rys. 5.9. Współczynnik zachowania P'"'/P' w zależności od frekwencji P' dta modelu haploidalnego (r=2), diploidalnego (r= 2 ) i granicznego diploldalnego (r=oo). Za<3oIdbergiem i Smithem (1987)
O
haploidalny R=2
10
20
30
Numer Dokolenia + diploidalny R=2 *
40
BO
graniczny diploidalny
pyś. ,5.10. Frekwencja P w zależności od pokolenia t dla modelu haploidalnego (r= 2), diploidalnego l-M (r= 2 ) i granicznego diploidalnego (r = oo). Za Goldbergiem i Smithem (1987)
5. Techniki i operacje zaawansowapc
176
Z równości tej wynika (dla e dużego w stosunku do pm), że końcowa stacjonarna frek wencja allelu jest wprost proporcjonalna do tempa mutacji. Z kolei dla struktur diploidalnych można pokazać, że zależność między frekwencją allelu recesywnego w następnym pokoleniu a jego frekwencją w pokoleniu bieżącymjest określona wzorem P'łl = (1 - 2eP')P' + 2pm(l - 2P') W warunkach stacjonarności otrzymujemy następujący związek między wymaganym tempem mutacji a frekwencją allelu recesywnego: Pm - ef**/(1 - 2PJ Przy niewielkiej frekwencji recesywnego allelu (P(r« 1) z równości tej wynika, że tem po mutacji niezbędne do utrzymania tejże frekwecji na stałym poziomie jest propoicjonalne do kwadratu frekwencji. Oczywiście, występowanie tych samych frekwein |i allelu w wariantach haploidalnym i diploidalnym nie oznacza, że jest on w obu przypad kach w równym stopniu wystawiony na selekcję.. Mimo tych samych frekwencji, w przy padku diploidalnym jest on poddawany próbie ze znacznie mniejszą częstością (propoicjonalną do kwadratu frekwencji). Wskazuje to na konieczność dokonywania sporadycz nych zmian wzorca dominacji, aby umożliwić tak zmagazynowanym allelom sprawdzeąg nie swojej wartości przystosowawczej w aktualnych warunkach.
5 .1 .3 ,,lm p le m e n ta c ja m odelu tria lle lic z n e g o ______________________________ ________ _______
Implementacja modelu triallelicznego Hollstiena-Hollanda wymaga wprowadze nia j edy-.,f nie drobnych zmian w naszym programie SGA. Należy zmienić struktury danych, uk aby uwzględnić homologiczne pary chromosomów oraz trzy allele na locus. ZmodylikoJ wane definicje i deklaracje danych dla SGA z dominowaniem (SGADOM) są podane na , wyd. 5.1. Zauważmy, że typ allele został teraz zdefiniowany jako okrojony typ mtegeif o zakresie -1..1 (w poprzedniej wersji był zdefiniowany jako typ boolean). W nowej'' implementacji —1 odpowiada recesywnemu 1 (1„ w notacji Hollanda), 0 odpowiada 0, a 1 - dominującemu 1 (1 w notacji Hollanda). Relacja dominowania sprowadza się pr/.y takim sposobie kodowania do zwykłej relacji >. Okoliczność ta została wykorzystana w funkcji paskalowej mapdominance, zamieszczonej vy wyd. 5.2. Wzorzec dominacp zostaje zastosowany do pary chromosomów ho4nol^gicznych w procedurze dominance, która wywołuje mapdominance kolejno dla każdej pozycji w chromósomach (wyd. 5.3). Mechanizm wytwarzania potomstwa w modelu diploidalnym jest cokolwiek inny* niż w wersji haploidalnej. W procedurze gametogenesis homologiczna para chromoso-',; mów produkuje parę gamet, które z kolei zostają zapłodnione przez inną parę gamet| w procedurze fertilization. Proces ten jest niezupełnie zgodny z rzeczywistością bio-; logiczną, jednak uwzględnia on najważniejsze elementy, a istniejące różnice mająntf celu zmniejszenie do minimum szkodliwych efektów wywołanych niewielkimi rozmiai.imi populacji, na których najczęściej pracują algorytmy genetyczne.
;■
j5.1V< Diploidalny aparat genetyczny. Dominowanie i maskowanie________________________ c o n s tm a x p o p
= 100j
m a x s t r in g v e r s io n ty p e
.
a lle le chrom osom e ch ro m p a ck p a r e n t id id p a c k in d iv id u a l
p o p u la tio n var
Wyd.
* fc '
177
= 30; = 'v l. 0 '; “ = " “ " «
“
- 1 . - 1 ; { t r i a l l e l i c schem e ( - 1 , 0 , 1 ) a r r a y [l..m a x s tr in g ] o f a l le le ; { t r i t s a r r a y [ 1 . . 2 ] o f chrom osom e; re c o rd x s it e , p a r e n t:in te g e r end; a r r a y [ 1 . . 2 ] o f p a r e n t id ; re c o rd
} }
c h r o m :c h r o m p a c k ; { p a c k o f ch ro m s ec h ro m :ch ro m o so m e ; { e x p r e s s e d ch rom x , o b je c tiv e , f it n e s s : r e a l; .p a r e n ts ;id p a c k ; { p a re n t in f o } end;
} }
a rr a y [l..m a x p o p ]
of
in d iv id u a l;
o ld p o p , n e w p o p : p o p u la t io n ; p o p s i z e , lc h r o m , g e n , m a x g e n : in t e g e r ; p c r o s s , p m u t a t io n , s u m f i t n e s s ; r e a l ; n m u t a t io n , n c r o s s : i n t e g e r ; a v g , m ax, m i n : r e a l ;
{ { { { {
n o n - o v e r la p p in g in t e g e r g lo b a ls R e a l g lo b a ls In te g e r s t a t s Re a l s t a t s
} ) } } }
5.1. Trialleliczny mechanizm dominowania w Pascalu (SGADOM): definicje i deklaracje struktur danych
Nowe pokolenie powstaje pod kontrolą procedury generation, zamieszczonej lwyd. 5.4. Różni się ona od wersji oryginalnej tym, że została przystosowana do proceiir gametogenesis i fertilization. Podobniejak poprzednio, najpierw wybierasię tu, przy r'ciu funkcji select, parę partnerów do skojarzenia. Następnie dwukrotnie zostaje wyĘina procedura gametogenesis, raz dla każdego z partnerów. Procedura fertilization flwóch par gamet tworzy dwóch diploidalnych potomków; o tym, które gamety połączą lię; de.cyduje rzut monetą. Po zapłodnieniu przeprowadza się ewaluację wskaźników ^'przystosowania, zapamiętując przy okazji informacje o genealogii oraz punktach krzyżofnia - do późniejszego wykorzystania w szczegółowym raporcie.
fu n c tio n m a p d o m i n a n c e ( a l l e l e l , a l le le 2 : a l le le ) : a l l e le ; { d o m in a n ce map u s in g > r e l a t i o n among ( - 1 , 0 , 1 ) } b e g in i f ( a l l e l e l >= a l i e l e 2 ) th e n m apdom inance := a b s ( a l l e l e l ) e l s e m apdom inance := a b s ( a l l e l e 2 ) end; p r o c e d u r e d o m in a n c e (v a r
lc h r o m :in te g e r ;
v a r h o m o lo g o u s :c h ro m p a c k ; v a r e x p re s s e d :c h ro m o s o m e ) ; ( e x p r e s s d o m in a n ce - h o m olog o us p a i r --> s i n g l e ch rom } va r j:in te g e r ; b e g in f o r j : = l t o lc h ro m do e x p r e s s e d [ j } := m a p d o m in a n c e (h o m o lo g o u s [l,j] , h o m o l o g o u s [ 2 , j ] ) end;
’ Wyd. 5.2. Trialleliczny mechanizm dominowania w Pascalu (SGADOM): funkcja m apd o m in a n ce
i procedura
do m inan ce
5. Technikiioperac)e zaawansowane
17 8
p r o c e d u r e g a m e t o g e n e s is ( v a r a n c e s t o r , g a m e t e : i n d i v i d u a l ; v a r lc h r o m , n m u t a t io n . n c r o s s , jp a r e n t:in te g e r ; v a r p m u Ł a tio n , p c r o s & : r e a l ) ; { C r e a t e a p a i r o f g a m e te s fro m a s i n g l e p a r e n t } v a r j,jc r o s s :in t e g e r ; b e g in { h a n d le c r o s s o v e r and m u t a t io n } c ro s s o v e r (a n c e s to r .c h r o m (1 ], a n c e s to r .c h r o m [2 ], g a m e t e . c h r o m [ l ] , g a m e t e .c h r o m [ 2 ] , lc h r o m , n c r o s s , n m u t a t io n , j c r o s s , p c r o s s , p m u t a t io n ); { s e t p a r e n t and c r o s s in g p o in t e r s } f o r j : = 1 t o 2 do w i t h g am ete do b e g in c h r o m i d [ j ] . p a r e n t := j p a r e n t ; c h r o m id [j].x s ite := j c r o s s ; end; end; p ro ce d u re
fe rfc i l i z a t i o n ( v a r var var b e g in w i t h n e w i n d i v i d u a l do c h r o m [ l] := c h r o m l; c h r o m [2 ] := ch rom 2 ; c h r o m i d ( l ] := p a r e n t l ; c h r o m i d [ 2 l := p a r e n t 2 ; end; end;
c h r o m l, c h ro m 2 : ch rom osom e; p a r e n t l, p a r e n t2 :p a r e n tid ; n e w in d iv id u a l:in d iv id u a l); b e g in
Wyd. 5.3. Trialleliczny mechanizm dominowania w Pascalu (SGADOM): procedury gametogenesis^ i fertilization
Oprócz opisanych zmian niezbędne są niewielkie modyfikacje sposobu dokonywttj nia mutacji, części inicjującej programu i podprogramu sporządzającego raport. Zmiany w treści funkcji mutatum odzwierciedlają fakt występowania trzech alleli. Aby uzyskać w populacji początkowej przeciętnie jednakową frekwencję jedynek i zer ulegających ekspresji, recesywne jedynki, zera oraz dominujące jedynki powinny być generowaltl losowo z prawdopodobieństwami odpowiednio 0,25, 0,5 i 0,25. Procedura używana przy tworzeniu raportów writechrom, została zmodyfikowana tak, by wypisywać poprawnie wszystkie trzy allele. Recesywnajedynka ( l J jest tu reprezentowana przez znak proceiir tu (%). Zmiany w writechrom i nutWłion zostaly podane na wyd. 5.5.
5.2. Inwersja i inne operacje rekonfiąurąeji Artykulem wiary, na którym opieraliśmy wcześniejsze rozumowania dotyczące sily algory- 'j t.mów genetycznych, bylo przekonanie, że schematy o dużej wartości przystosowawczej, J • malej rozpiętości i niskim rzędzie, czyli tak zwane cegiełki, łączą się z innymi takimiij cegiełkami, tworząc ciągi kodowe o ponadprzeciętnej wartości przystosowawczej. Jednak różne przykłady zastosowań, z którymi się zetknęliśmy, uświadomiły nam, jak wielka | dowolność wiąże się z wyborem sposobu kodowania. Czy możemy więc mieć pewność, że ?l schematy związane z kodem użytym w danym zadaniu będą rzeczywiście prowadzić do
Inwersja i inne operacje rekonfiguracjl
17 9
f u n c tio n o t h e r ( j l : i n t e g e r ) : i n t c g e r ; b e g in i f ( j l - l ) th e n o Ł h e r : = 2 e l s e o t h e r
:= 1
end;
p ro ce d u re g e n e r a tio n ; { C r e a t e a n e w g e n e r a t i o n th r o u g h s e l e c t , c r o s s o v e r , v a r j » j l » j 2 , m a t e l , m a te 2 , j c r o s s i i n t e g e r ; .g a m e t e l, g a m e te 2 :in d iv id u a l; b e g in j : = 1;
a n d m u t a t io n
}
rep ea t { s e l e c t , g e n e r a t e g a m e te te s u n t i l newpop i s f i l l e d } { p i c k 2 m a te s } m a t e l : = s e l e c t ( p o p s i z e , s u m f i t n e s s , o ld p o p ) ; { p l c k p a i r o f m a te s } 'mate2 : = s e l e c t ( p o p s i z e , s u m f i t n e s s , o ld p o p ) ; { make 4 g am ete s t o make 2 z y g o t e s ) g a m e t o g e n e s is ( o l d p o p [ m a t e l ] , g a m e t e i, lc h r o m , n m u t a t io n , n c r o s s , m a t e l , p m u t a t io n , p c r o s s ) ; g a m e t o g e n e s is ( o ld p p p [ m a t e 2 ], g a m e te 2 , lc h r o m , n m u t a t io n , n c r b s s , m a te 2 , p m u t a t io n , p c r o s s ) ; { f l i p h o n e s t c o i n t o d e c i d e a rr a n g e m e n t } i f f l i p ( 0 . 5 ) th e n b e g in j l : = 1; j 2 : = 1 end e l s e b e g in j l : = 1 ; j 2 : = 2 e n d ; { f e r t i l i z e w i t h o u t r e p la c m e n t } f e r t iliz a t io n (g a m e t e l.c h r o m ijl], g a m e t e 2 . c h r o m [ j2 ] , g a m e t e l. c h r o m id [ j 1 ] , g a m e te 2 . c h r o m id [ f 2 ] , n e w p o p ljJ); j l ;« o t h e r ( j l ) ; j2 : = o t h e r ( j2 ) ; f e r t iliz a t io n (g a m e t e l.c h r o m [jl], g a m e te l . c h r o m i d [ j l ] , n e w p o p [j+ l]);
,
g a m e t e 2 . c h r o m [ j2 j, g a m e t e 2 .c h r .o m id L j2 ],
{ e x p r e s s , d e c o d e , and e v a l u a t e o b j e c t i v e w i t h n e w p o p [j ] do b e g in d o m in a n c e (lc h r o m , ch ro m , e c h r o m ) ; x := d e c o d e (e c h ro m , lc h r o m ) ; o b je c t i v e : = o b jf u n c (x ,); end; w i t h n e w p o p [ j + l] do b e g in d o m in a n c e (lc h r o m , ch ro m , e c h r o m ); x := d e c o d e (e c h ro m , l c h r o m ) ; o b je c tiv e : = o b jfu n c (x ); end; { In c r e m e n t p o p u l a t i o n in d e x )
fu n c tio n
}
J :=* j + 2 ; u n t i l j> p o p s iz e end;
Wyd. 5.4. TriaHeliczny mechanizm dominowania w Pascalu (SGADOM): zmodyfikowana procedura generation uwzględniająca dominowanie i diploidalność
.’ poprawy? Prawdę mówiąc, nie możemy. Nie mamy żadnej pewności, że dowolny kod ’ zastosowany w dowolnym zadaniu umożliwi elementarnemu algorytmowi genetycznemu znajdowanie lepszych rozwiązań. W pierwszej chwili stwierdzenie to może wprawiać w zakłopotanie dopóty, dopóki nie uświadomimy sobie, że przyroda również nie może , być pewna swoich kodów i w związku z tym wypracowała mechanizmy, dzięki którym może jednocześnie usprawniać kod i poszukiwać lepszych zestawów alłełi. W tym punkcie *zajmiemy się badaniem takich właśnie mechanizmów rekonfiguracji, aby zorientować się, czy można je efektywnie zastosować w algorytmach genetycznych.
5. Techniki i operacje zaawansowane
180
L fu n c tio n m u t a t i o n ( a l l e l e v a l : a l l e l e ; p m u ta tio n :r e a l; v a r n m u t a t io n :in t e g e r ):a lle le ; { M u t a t e a n a l l e l e w/ p m u t a t io n , c o u n t num ber o f m u t a t io n s v a r m u ta te :b o o le a n ; t e m p : a l l e l e ; b e g in m u ta te : = f l i p ( p m u t a t i o n ) ; { F l i p t h e b ia s e d c o i n } i f m u ta te th e n b e g in n m u t a t io n : = n m u ta tio n + 1'; tem p : = a l l e l e v a l + r n d ( l , 2 ) ; { Add o n e o r tw o } c a s e tem p o f - 1 : m u t a t io n ;= tem p; 0 : m u t a t io n := tem p; 1: m u t a t io n := tem p; 2 : m u t a t io n := -1; 3 : m u t a t io n := 0 ; en d ( c a s e ) I e ls e . m u t a t io n :=* a l l e l e v a l ; { No ch a n g e } end;
}
p r o c e d u r e w r i t e c h r o m ( v a r o u t : t e x t ; ch ro m :ch ro m o so m e ; l c h r o m : i n t e g e r ) ; { W r i t e a chrom osom e a s a s t r i n g o f l ' s ( t r u e * s ) and 0 ' s ( f a l s e ' s ) } v a r j : i n t e g e r ; c h :c h a r ; b e g in ' f o r j :=* lc h r o m d o w n to 1 do b e g in c a s e c h r o m [j] o f - 1 : c h :=* ' % ' ; 0 : c h :=* ' 0 ' ; I : c h := ' l ' i end; ' w r ite (o u t,c h ); end; end;
Wyd. 5.5. Trialleliczny mechanizm dominowania w Pascalu (SGADOM): zmodyfikowana funkcja! mutation i procedura writechrom, uwzględniające dominowanie i diploidalność ;|
Głównym naturalnym mechanizmem odpowiedzialnym za rekonfigurację kodujest,^ operacja inwersji. Podczas inwersji chromosom ulega przecięciu w dwóch wybranyclV;: punktach, a następnie środkowy jego odcinek ulega odwróceniu i połączeniu z dwoma pozostałymi. Początkowo operacja taka może się wydać dość dziwaczna, jeśli rozpa- lti trywać ją w kontekście naszych sztucznych chromosomów-ciągów. Rozważmy na przy-.$ kład następujący ośmiopozycyjny ciąg, w którym wybieramy drogą losową dwa punktjf inwersji (powiedzmy miejsca 2 i 6, zaznaczone niżejjnakiem A): ' i o1 1 1 o11
Gdybyśmy chcieli bezmyślnie wykonać operację inwersji, otrzymalibyśmy w rezultacie j następujący ciąg: I i ooi 11 i i
J
"d Nie widać wcale, jak operacja inwersji miałaby nam pomóc w znalezieniu nowej re prezentacji. W istocie, wygląda na to, że po prostu zmienia ona częściowo porządek f
S,2. Inwersja i inne operacje rekonfiguracji
1a1
' :qfozcnia aIIeii w ciągu kodowym. Kłopot bierze się z zastosowania zbyt prostej rer 'lprczentacji. Począwszy od pierwszego rozdziału zakładaliśmy, że funkcja allelu jest związana zjego położeniem, zjego locus. W rzeczywistości porządek genów w chromo somie może zostać odwrócony, a mimo to będą one odpowiadać za produkcję,tego samego enzymu. Inaczej mówiąc, w przyrodzie funkcje alIeli nie zależą od ich umiejslęowienia. Aby zapewnić sobie taką samą swobodę, oznaczmy ałlele numeramiod l do LS i zobaczmy, co się stanje, gdy wykonamy operację inwersji na tak rozszerzonej [ jreprezentacji:
I
1 2 3 4 5 6 7 8
10111011 Gdy teraz dokonujemy tej samej inwersji, odnosimy ją również do ciągu numerów: 1 2 6 5 4 3 7 8 1 0 0 1 1 1 X 1 ^;
Dzięki tej rozszerzonej reprezentacji poszczególne bity zachowują swoje zamierzone znaczenie, niezależnie od pozycji, na której się znalazły. W terminach biologicznych jrozszerzona reprezentacja rozdziela gen i locus. Ciekawą konsekwencją takiego pociąg nięcia jest to, że wykonanie jednej samodzielnej inwersji nie wplywa bezpośrednio na wskaźnik przystosowania ciągu. Ponieważ alleIe są teraz ponumerowane, zmiana ich pozycji w ciągu nie ma wplywu na wynik dekodowania całości, tak więc wskaźnik przystosowania pozostaje bez zmian. j Jakkolwiek jest już rzeczą jasną, dlaczego rozszerzona reprezentacja umożliwia ‘dokonywanie inwersji bez obawy pomieszania funkcji różnych alleli, nie wiemy wciąż, ico pozytywnego wnoszą oba te pomysły do sprawy poszukiwań genetycznych. Przed .chwilą właśnie stwierdziliśmy, że pojedyncza inwersja nie ma bezpośredniego wplywu ■r na wartość przystosowawczą ciągu kodowego, po cóż więc przyroda trudzi się (i czemu my mielibyśmy się trudzić) tą przypadkową zabawą w genetyczne „komórki do wynaję cia” ? Teoretyczną stroną operacji inwersji zajmiemy się nieco bardziej szczegółowo .w dalszej części tego punktu; na razie poprzestańmy na stwierdzeniu, że inwersja mogłasby być przydatna do poszukiwania korzystnych konfiguracji ciągów kodowych, podczas ;.gdy w tym samym czasie inne operacje genetyczne służą poszukiwaniu korzystnych zestawów alleIi. Jeśli aktualna populacja zawiera niekorzystne permutacje alIeli (takie, przy których allele o silnych związkach epistatycznych czy też nieliniowych są polożone jw odległych od siebie miejscach chromosomu), to krzyżowanie rozbije z dużym prawdopodobieństwem bloki alIeli o ważnym znaczeniu przystosowawczym. Z drugiej strony, pżeli wskutek rekonfiguracji zmienimy ustawienie aIłełi, to istnieje pewna szansa, że otrzymamy korzystne uporządkowanie, które w następstwie umożliwi bardziej efektyw ną propagację schemątów-cegielek. ;*ji Już wkrótce poddamy to rozumowanie dokładniejszej analizie. Natomiast w na stępnym punkcie dokonamy przeglądu wcześniejszych badań na temat mechanizmów rekonfiguracji w algorytmach genetycznych.
1 8 2 ______ _______________________________________ 5. Technikiioperacje zaawansowane
L 5.2.1.
O pe ra cje rekonfiguracji w algorytm ach genetycznych. Z arys h is to ry c z n y _______________________________________________________________________ t
Eksperymenty symulacyjne Bagleya (1967) objęły także inwersję. Zaimplementował on prostą operację inwersji oraz rozszerzoną reprezentację ciągu kodowego, którą omówiliś my powyżej.i stanął przed decyzją, jak podejść do krzyżowania niehomologicznych par ciągów. Dlaczego jest to istotny problem, możemy się przekonać na przykładzie krzyżo wania dwóch następujących ciągów A i B: 1 2 3 4
I
5 6 7 8
1 0 1 1
I
X
A
0
1 X
I B=
X 2 6 5
I
X 0 0 X
| X X X X
4 3 7 8
Gdybyśmy naiwnie skrzyżowali te ciągi wedtug zasady krzyżowania prostego, powiedz my od pozycji czwartej (w miejscu zaznaczonym znakiem I), to otrzymalibyśmy dwa potomne ciągi następującej postaci: A'
X 2 3 4
| 4 3 7 8
X 0 X X
| X X X X
=
I B '
X 2 6 5
I
5 6 7 8
X 0 0 X
I
X 0 X X
=3
Widać od razu, że żaden z potomnych ciągów nie zawicra pełnego garnituru genów - i w ogólności, to właśnie jest główny argument przeciwko dopuszczaniu do krzyżowa nia dowolnie uporządkowanych ciągów. Bagley zastosował proste rozwiązanie eliminu jące tę trudność: zabronił mianowicie krzyżowania niehomologicznych ciągów. Niestety, skutki tego pociągnięcia nie byly zachęcające (Bagley, 1967, str. 168): W y n ik i d o ty c z ą c e inw ersji [,..j b y ly c o k o lw iek ro zczaro w u jące. N ajb ard ziej o czy w isty m sk u tk iem inw ersji je s t w y raźn e w y d łu żen ie p rzeb ieg ó w . P am iętajm y , że je d n ą z k o n se k w en cji in w ersji je s t zm n iejsz en ie efek ty w n ej in ten sy w n o ści k rzy ż o w a ń , g d y ż k rzy żo w an ie frag m en tó w ch ro m o so m ó w , k tó re n ie są p o zy cy jn ie lim nologiczne, je s t n ied o zw o lo n e. Ja k w id zim y , m n iejsza in ten sy w n o ść k rzy żo w ań o d b ija g się n iek o rzy stn ie na sy m u lacji i ten e fe k t w y w arl przem o żn y w plyw n a nasze w y n ik i. P o żąd an e k o n se k w en cje inw ersji, p o leg ające na p o jaw ien iu się w populacji g am et, w k tó ry ch g e o g ra fic z n e zw iązki gen ó w o d z w ie c ie d la ly b y k o m b in a c je [...], n ie zo staly zao b serw o w an e.
To niepowodzenie z inwersją Bagley przypisat charakterowi zadania (poszukiwanie stra tegii gry). Wyciągnął mianowicie wniosek, że zadanie było nie dość trudne (epistatyczne) na to, by inwersja mogla wykazać swe zalety. Ujmując to inaczej, elementarny algorytm genetyczny bez inwersji działał zbyt dobrze, aby jego wersja uzupełniona o in-
w
6.2. Inwersja i inne operacje reKonfiguracji
183
(-.wersję mogła wykazać się większym tempem zbieżności lub lepszym końcowym stoptijem zbieżności. Ta prawda (że elementarny AG działa zbyt dobrze) nieraz już wyszła 'najaw od czasu studiów Bagleya, co znacznie utrudniło wykazanie, że efekty sprzężenia1, odgrywają rolę w procesie poszukiwania genetycznego. Były też inne przyczyny tego, że *BagIey nie potrafił wykazać korzyści wynikających z inwersji. Pamiętajmy, że Bagley dopuszczaF wymianę wyłącznie homologicznych podciągów podczas krzyżowania. Re. gula ta w istotny sposób ogranicza zasięg krzyżowania w populacji. Przyroda stosuje - bardziej liberalną politykę w tym zakresie; podobnie mniej restryktywne reguły wprowa dzili później inni badacze zainteresowani inwersją. W swych badaniach dotyezących rozpoznawania postaci za pomocą algorytmu genetycznego, Cavicchio (1970) zastosował nieograniczoną inwersję wraz z następują cym po niej krzyżowaniem; jak wiemy jednak z rozdziału trzeciego, geny Cavicchia składały się z numerów identyfikacyjnych pikseli zgrupowanych w,detektorach. Przy takiej reprezentacji dowolna inwersja daje w wyniku „żywotny” chromosom. Ponadto dalsze krzyżowanie par prowadzi do powstania sensownego potomstwa, niezależnie od uporządkowania ciągów. Chociaż więc te korzystne właściwości wynikają z ukierun’ kowanego problemowo sposobu kodowania', wyniki Cavicchia są zachęcające. W jednej z.serii eksperymentów, przy stosunkowodużych inlensywnościach krzyżowań i inwersji, otrzymano dobre tempo zbieżności i wysoki stopień ostatecznej zbieżności. :i Natomiast badania Frantza (1972), poświęcone epistazie w*procesach poszukiwa,inia genetycznego, nie potrafiły wykazać przydatności inwersji. Frantz wykonał próby . z kilkoma wariantami inwersji i reguł kojarzenia dla funkcji o różnym stopniu kont|irolowanej nieliniowości. Rozważał on dwa warianty inwersji: 1) inwersję liniową [linear]-, f2) inwersję liniowo-boczną [linear+imd]. Inwersja liniowa to nazwa, którą Frantz nadal zwykłej inwersji opisanej wcześniej w tym rozdziale. W przypadku inwersji liniowo-bocznej wykonujemy z zadanym prawdopodo: bieiistwem (0,75) inwersję liniową. W przeciwnym razie wykonujemy z jednakowym ' prawdopodobieństwem (0,125) inwersję boczną od jednego lub drugiego końca ciągu. W inwersji bocznej jednym z końców odwracanego segmentu jest lewy lub prawy koniec ; ,catego ciągu, natomiast drugi koniec segmentu zostaje wybrany losowo spośród punktów leżących nie dalej niż w połowie odległości do drugiego końca ciągu. Inwersja liniowo-boczna była pomysłem, za pomocą którego Frantz próbowal zmniejszyć tendencję in wersji liniowej do nieproporcjonalnego faworyzowania alleli położonych blisko środka ciągu (na niekorzyść alleli położonych w pobliżu krańców ciągu). Każdy z wariantów inwersji mógł być stosowany w jednym z dwóch trybów: 1) inwersji ciąglej; 2) inwersji masowej. W trybie inwersji ciągłej operacja inwersji była wykonywana z ustalonym prawdopodo bieństwem />, dla każdego nowego osobnika w chwili jego powstania. Natomiast w trybie | inwersji masowej, najpierw formowano całą nową populację, a następnie polowa osobr ników tej populacji przechodziła identyczną operację inwersji (z tymi samymi punktami
5. Techniki i operacje zaawansowane
184
końcowymi). Inwersja masowa była pomyślanajako środek powstrzymujący rozrost podpopulacji nie wchodzących ze sobą w interakcje, co towarzyszy kojarzeniu na zasadach ścisłej homologiczności. Frantz wypróbował cztery reguły kojarzenia, mające na celu zapobieżenie trudnoś ciom powstającym przy „naiwnym” krzyżowaniu par niehomologicznych: 1) 2) 3) 4)
kojarzenie kojarzenie kojarzenie kojarzenie
ściśle homologiczne; na podstawie żywotności; według wzorca; według lepszego wzorca.
Kojarzenie ściśle homologiczne odpowiada wariantowi stosowanemu przez Bagleya (tyl ko ciągi homologiczne mogą się ze sobą kojarzyć). Kojarzenie na podstawie żywotności dopuszcza krzyżowanie partnerów niehomologicznych, ale jeśli wynikle stąd „potomst wo” nie posiada pełnego garnituru genów, to nie zostaje wlączone do nowej populacji. W kojarzeniu według wzorca jeden z dwóch losowo wybranych partnerów określa wzor cowy porządek ciągu. Drugi z partnerów podlega wówczas odpowiedniej rekonfiguracji przed wykonaniem krzyżowania. Rekonfiguracja gwarantuje żywotność otrzymanego potomstwa. Kojarzenie według lepszego wzorca różni się od poprzedniego tylko tym, że osobnikiem wyznaczającym wzorcowy porządek zostaje lepiej przystosowany partner. Pomimo liczby i różnorodności wypróbowanych opcji Frantzowi nie udało się wykazać istnienia wyraźnego efektu pozycyjnego. W dodatku nie potrafił on również dowieść wyraźnej korzyści z zastosowania inwersji w jakiejkolwiek postaci, trybie czy kombinacji kojarzeniowej. U podłoża napotkanych przez niego trudności leżał wybór środowiska eksperymentalnego. Frantz używał kombinacji liniowych funkcji liniowych lub nieliniowych ze względu na sześć do siedmiu alleli w 25-pozycyjnym ciągu kodowym. Funkcje nieliniowe były zdefiniowane przy użyciu tablic zawierających 2b lub 27 różnych wartości odpowiadających poszczególnym kombinacjom sześciu lub siedmiu alleli w gru pie. Niestety, funkcje wybrane przez Frantza nie okazały się wystarczająco trudne, by zastosowanie inwersji stało śię opłacalne. Jak zauważył Bethke (1981), funkcja AG-trudna nie tylko musi być epistatyczna, ale jej epistaza musi mieć zwodniczy charakter. Czyli wąskie schematy o wysokiej wartości przystosowawczej muszą kierować algorytm do złych obszarów przestrzeni. Sprawa ta nie była przedmiotem studiów Frantza, tak więc elementarny algorytm genetyczny był w stanie szybko znajdować rozwiązania. Po pracach Frantza nastąpiła dluga przerwa w badaniach nad zagadnieniem inwer sji i innych mechanizmów rekonfiguracji ciągów, feolh#id (1975) wspomina krótko o in wersji, prezentując modyfikację twierdzenia o schematach, uwzględniającą przybliżone efekty zwykłej inwersji. Później niewiele bylo słychać o mechanizmach rekonfiguracji, aż do międzynarodowej konferencji na temat algorytmów genetycznych i ich zastosowań z 1985 r. Na konferencji tej kilku autorów (Davis, 1985b; Goldberg i Lingle, 1985; Smith, 1985) opisali konstrukcję operacji łączących w sobie cechy inwersji i krzyżowa nia. Choć powstały one niezależnie, operacje te mają wiele podobieństwa. Omówimy tu każdą z tych trzech operacji: PMX \partially matched crossover], OX [order crossover] oraz CX [cycle crossover].
jpp}2. Inwersja i inne operacje rekonfiguracji_________________________________________ 185
Operacja PMX powstała w wyniku prób stawienia czoła tzw. ślepej wersji zagad[Jnjenia komiwojażera. W zwykłym zagadnieniu komiwojaiera.(TSP) hipotetyczny komi'.-‘jwojażer ma za zadanie objechać wszystkie miasta z określonego zbioru, tak by zminimawjizować przebytą drogę. W ślepej wersji tego zagadnienia zadanie komiwojażera pozo,s staje nie zmienione, ale nie zna on długości przebytej drogi aż do chwili zakończenia - objazdu. Zagadnienie komiwojażera jest samo przez się problemem trudnym (należy do ' klasy problemów, które - jak się sądzi - nie dają się rozwiązać w czasie wielomiano•■.wym), nawet bez nakładania dodatkowych ograniczeń. Rozpatrując sposoby kodowania , możliwe do zastosowania w tym zadaniu, niełatwo wpaść na rozwiązanie, które zapew niłoby rozsądne działania na schematach-cegiełkach. Wydaje się dość naturalne, by ;w zagadnieniach uporządkowania takichjak TSP stosować kod permutacyjny. Na przyikład, w przypadku ośmiu miast odwiedzanych w kolejności rosnących numerów, trasa [ podróży mógłaby być przedstawiona następująco: 1 2 3 4 5 6 7 8
Odwrotna kolejność odwiedzin odpowiadałaby permutacji: lil'V 8 7 6 5 4 3 2 1
fchociaż taka reprezentacja wygląda dość naturalnie, nie widać na pierwszy rzut oka, jak [można by ją dopasować do ogólnego schematu reprezentacji przyjętego dla algorytmów genetycznych. Niedawno podjęliśmy poważne wysiłki, aby dokonać rozdziału między Ifunkcją a położeniem genu w chromosomie. Ujmując to matematycznie, moglibyśmy powiedzieć, że przystosowanie/powinno być funkcją podzbioru alleli v(/=/(v)); jednak pW wielu zadaniach korzystna może być także zależność przystosowania od ustawienia alleli: przystosowanie byloby wtedy funkcją podzbioru alleli v i uporządkowania o (f=f(v, o)). W zagadnieniu komiwojażera z reprezentacją permulacyjną osiągnęliśmy drugie i.,ekstremum: przystosowanie jest tu funkcją samego uporządkowania (f=f(o)). Można by fspekulować na temat wersji tego zadania, w której komiwojażer musi podejmować decyiZje podczas swych zabiegów; decyzje takie nietrudno wtedy dolączyć do informacji o kolejności odwiedzin, otrzymując zagadnienie mieszane,/=/(v, o):
I
1 2 3 4 5 6 7 8 :
0 0 0 0 0 0 0 0
!;W powyższym przykładzie do porządku odwiedzin są dołączone alleIe reprezentujące [informację o każdym mieście (zera). Chcemy w ten sposób zaznaczyć, że potencjalnie istnieje całe spektrum możliwych sposobów kodowania, które w mniejszym lub więk szym stopniu zależą i od porządku i od składu chromosomu. Jeśli już raz zgodziliśmy się z taką możliwością, powinniśmy teraz poszukać [operacji analogicznej do krzyżowania, umożliwiającej wymianę wzorców uporządko wania między rodzicami i przekazywanie ich dzieciom. Pamiętajmy, że siła metod [genetycznych zasadza się na połączeniu efektów selekcji i rekombinacji; mutacja pelni rolę ubezpieczenia przeciw bezpowrotnej utracie materiału genetycznego. W przypadku
1 8 6 ______________________________________________________5. Techniki i o p e ra c je zaaw a n so w a n e
c reprezentacji porządkowej inwersja jest - podobnie jak mutacja - operacją jednoargumentową. Jeżeli zamierzamy stworzyć operację o sile porównywalnej z silą krzy^ żowania, musi to być operacja dwuargumentowa (podobnie jak krzyżowanie) i musi ona lączyć wzorce porządkowe pochodzące od ponadprzeciętnych rodziców w jakiś sensowny sposób. Goldberg i Lingle (l985) zaproponowali taki mechanizm w postaci operacji PMX. fu n c tio n f i n d _ c i t y ( c it y _ n a m e , n _ c i t y : c i t y ; var jl:in te g e r ; b e g in jl:= O ; re p e a t Jl:- jl+ l; u n t il ( (jl> n _ c it y ) fin d _ c it y := jl; end;
var
o r ( t o u r [ j l ] '= c it y _ _ n a m e )
>
t o u r :t o u r a r r a y ):c it y ;
);
p r o c e d u r e sw ap c i t y ( c i t y _ p o s l * c i t y j p o s 2 { - i n t e g e r ; v a r t e m p :c it y ; b e g in te m p :- to u r [c ity _ p o s l]; , to u r {c ity _ _ p o s l] := t o u r [c it y _ p o s 2 ]; to u r le ity _ p o s 2 }:= te m p ; end;
va r' to u r :to u r a r r a y );
p r o c e d u r e to u r _ n o r n ) ( c i t y j n a m e , n _ c i t y : c i t y ; v a r t o u r : t o u r a r r a y ) ; v a r te m p _ to u r:to u ra rra y ;
jl,j2:city; b e g in j 1 : » f in d _ c i t y ( c i ty _ n a m e , n _ c i t y , t o u r ) ; i f ( j l <> 1 ) th e n b e g in ( * n o r m a l i z a t i o n * ) f o r j 2 : = 1 t o n _ _ c it y do b e g in t e m p _ to u r tj2 ]:= to u r [jl];
ji:=jl+l; if (jl>n_city) then jl:=l; end; t o u r : = t e in p _ to u r ; end end;
p ro ce d u re c r o s s _ t o u r ( n _ c it y > lo _ c r o s s , h i_ c r o s s :c it y ; v a r t o u r l _ o l d , t o u r 2 _ o l d , to u r l_ _ n e w , t o u r 2 _ n e w : t o u r a r r a y ) ; v a r jl,h i_ t e s t :in t e g e r ; b e g in i f t r a c e i s o n th e n w r i t e i n C l o ^ c r o s s ^ i ^ c r o s s ^ S l o ^ c r o s s , 1 * , h i _ c r o s s ) ; h i _ t e s t := h i_ _ c r o s s + 1 ; i f ( h i _ t e s t > n _ c i t y ) th e n h i _ t e s t : = * l ; t o u r l _ n e w := t o u r l _ o l d ; to u r 2 _ n e w := t o u r 2 _ o l d ; _ i f ( (lo _ _ c r o s s <> h i _ c r o s s ) and ( l o _ c r o s s O h i _ t e s t ) ) t h e n b e g in j l : = lo _ _ c r o s s ; w h i l e ( j l < > h i _ t e s t ) do b e g in ( * mapped c r o s s o v e r on b o th t o u r s * ) s w a p _ _ c it y (jl, f i n d _ c i t y ( t o u r l _ o l d [ j 1 ] , n _ c i t y , to u r2 _ n e w ), to u r2 _ n e w ); s w a p " c it y (j 1 ,£ in d ~ c iŁ y (t o u r 2 ~ o ld [jl ] , n _ c it y ,t o u r l_ n e w ) , t o u r i_ n e w ) ; jl:= jl+ l; end; end; end;
if
(jl> n _ c it y )
th e n j l : =
1;
W yd. 5.6. O p eracja PMX w P asc alu . P rocedura cross-tour im plem entująca PMX, używ a funkcji fincLcily i procedury sw ap-dty. Z a G oldbergiem i Linglem (1985)
if5;2. lnwersja i inne operacje rekonfiguracji______ ___________________________________ j<87f
Podczas wykonywania PMX dwie reprezentacje (uwzględniające uporządkowanie ij sklad alleli) zostają ustawione jedna pod drugą, po czym dokonuje się losowego wyboru jdwóch punktów podziału.Te dwa punkty wyznaczają sekcją dopasowania [matching Usection], służącą do określenia przebiegu procesu krzyżowania, realizowanego za pomo;-cą transpozycji par elementów. i i ■ Zoba'czmy jalc to działa na przykładzie dwóch następujących ciągów: A= 9 8 4 I 5 6
7 | 1 3 2 10
B = 8 7 1 | 2 3 10 | 9 5 4
6
V'f Wykonanie PMX odbywa się drogą kolejnych transpozycji. Dopasowując ciąg B do ■ciągu A, zamieniamy miejscami 2 i 5, 3 i 6 oraz 10 i 7. Podobnie, dopasowując ciąg A do g,ciqgu B, zamieniamy miejscami 5 i 2, 6 i 3 oraz 7 i 10. Po zakończeniu tych działań
8 4 | 2 3 10 | 1 6 5 7
B ' = a 10 1 I 5 6
7 I 9 2 4 3
przy czym uporządkowanie każdego z nich jest wyznaczone po części przez obu rodziców. W wydruku 5.6 podano implementację PMX w postaci procedur paskalowych. jiProcedury te byly użyte do znalezienia rozwiązań dwóch zadań podanych przez Karga l'i Thompsona (1964), dotyczących odpowiednio 10 i 33 miast. Na rysunku 5.11 przed stawiono wykres długości najkrótszej drogi znalezionej w danym pokoleniu w zależności |o d numeru pokolenia dla dwóch niezależnych przebiegów algorytmu genetycznego, opartego na selekcji wg reguły ruletki oraz operacji PMX. W jednym z przebiegów znaleziono rozwiązanie optymalne, a w drugim - bardzo iskie optymalnemu. Wyniki dla 33 miast, pokazane na rys. 5.12, umożliwiają pownanie najlepszych rozwiązań (w kolejnych pokoleniach) dIa wariantów ruletka-PMX 1 ruletka-inwersja. Zdolność PMX do przestawiania parami daje tej operacji możliwość
B
Pokolenie .Rys. 5.11. Algorytm genetyczny z operacją PMX w ślepej wersji zagadnienia komiwojażera dia 10 miasl. W przebiegu 1 proces zbiega do optymalnego rozwiązania. Wielkość populacji n=200 przy pc= 0,6. Za Goldbergiem i Linglem (1985)
1 8 8 _____________________________________________ 5. Technikiioperacje zaawansowane -
h ;®| „bliskiego podejścia” do rozwiązania optymalnego, podczas gdy inwersja zacina się na .j' „fałszywym płaskowyżu” . Choć wyglądatozachęcającoJednakwświecie, który widział ■' już optymalne rozwiązania zagadnień TSP z 500 i 1000 miast, podobne przybliżone wyniki- *; mogłyby zostać skwitowane wzruszeniem ramion - póki nie uświadomimy sobie, żc , algorytm genetyczny z PMX nie korzysta z informacji o odległościach między miastami. Ograniczenie się do ślepych metod poszukiwania charakterystyczne dla „czystych” algo rytmów genetycznych jest bardzo poważnym ograniczeniem i pod koniec rozdziału omó wimy metody umożliwiające algorytmowi genetycznemu korzystanie z informacji specyfi- ' cznej dIa zadania. Na razie pamiętajmy jednak, żę korzystanie z informacji specyficznej jest zawsze wątpliwym dobrodziejstwem. Użycie takiej informacji może znacznie zwięk- 1 szyć efektywność algorytmu, ale też zawsze ogranicza zakres jego zastosowań.
P okolenie R y s. 5 .1 2 . AlgoVytm g en ety czn y z o p e ra c ją PMX w ślepej wersji z a g a d n ie n ia kom iw ojażera dla * 3 3 m iast .;«
Wymyślono również inne operacje podobne do PMX (Davis, 1985a,b; Davis i Smith, 1985; Oliver, Smith i Holland, 1987; Smith, 1985), które zostały zastosowane w zadaniach o reprezentacji permutacyjnej. Omówimy, tu jeszcze dwie takie operacje: OX [order crossover] i CX [cycle crossover], { j| Operacja OX rozpoczyna się w sposób podobny do PMX. Posługując się przy kładowymi ciągami A i B, użytymi do ilustracji działania PMX, wybierzmy sekcję dopa-! sowania (dla lepszego porównania, tę samą co poprzednio); A = 9 8
4
| 5 6
7 | 1 3 2 10
B = 8 7 1 | 2 3 10
| 9 5
4
6
Tak jak w przypadku PMX, rekonfiguracja każdego z ciągów ma na celu wzajemną wymianę elementów w sekcji dopasowania. Zamiastjednak wykonywać serię transpozy-t
2. Inwersja i Inne operacje rekonfiguracji .
189
|i|w operacji OX wykonujemy rucIi ślizgowy, w celu zapełnienia „dziur” pozostawioyph wskutek przemieszczenia nowych elementów do sekcji. Na przykład, gdy dopasoiffiemy ciąg B do ciągu A, miasta 5, 6 i 7 pozostawią wolne miejsca (oznaczone niżej Kęrą H) w ciągu: ■ ’*’
B = 8 H 1 I 2 3 10 I 9 H 4 H
fiąstępnie przesuwamy „dziury” do sekcji dopasowania tworzonego ciągu i dopisujemy 4lprawej strony pozostałe elementy znajdujące się na prawo od sekcji, uzupełniając brakujące pozycje elementami początkowymi. Niewykorzystanejeszcze elementy tworzą 'część początkową ciągu: §®':' B = 2 3 10
H H H
9 4 8 1
Tcraz „dziury” zostają zapełnione numerami miast z sekcji dopasowania wziętymi od partnera. Kończąc tę.fazę operacji i wykonując komplementarne działania z drugim fcgiem , otrzymujemy dwa następujące ciągi potomne A' i B': A' = 5 6
7 I 2 3 10
B ' = 2 3 10 | 5 6
I 1 9 8 4
7 | 9 4 8 1
Mimo że operacje PMX i OX wykazują podobieństwo, faworyzują one różne typy wzorców. PMX ma tendencję do respektowania bezwględnych pozycji miast, natomiast OX - względnych. Powiemy o tym więcej w następnym punkcie. Przedtem omówimy jeszcze ostatnią z trzech operacji permutacyjnych - CX. >’ Operacja CX działa na nieco innych zasadach. Rekombinacja spełnia tu warunek, że pozycja zajmowana przez każde miasto pochodzi od jednego lub drugiego z rodziców. Zobaczmy, jak przebiega ten proces na przykładzie poniższych tras C i D: C=
9 8 2 1 7 4 5 10 6
D = 1 2 3 4 5 6 7
3
8 9 10
Zamiast wybierać punkty podziału, startujemy od lewa i wpisujemy miasto z pierwszej trasy: C ' = 9 -------------------
Ponieważ chcemy, aby miejsce zajmowane przez każde miasto pochodziło od jednej z tras macierzystych, wybór miasta nr 9 oznacza, że teraz musimy wziąć z ciągu C mias to nr 1 (bo zajmowane przezeń miejsce w ciągu D jest już zajęte). C ' = 9 - - 1 ------------
Ten wybór oznacza z kolei, że następnym miastem z ciągu C musi być miasto nr 4. Proces ten jest kontynuowany póty, póki nie dojdziemy do następującego wzorca: C' = 9 - - 1 - 4 - - 6 -
190 ___________________________ ,____________5,
Techniki i operacje zaawansowatkjg
r Wpisanie szóstki oznacza, żc powinniśmy teraz wybrać dziewiątkę z ciągu C, alp( to pie jest możliwe; dziewiątka zostata już wpisana na pierwszym miejscu. Wracajątrj do miasta początkowego wykonaliśmy więc pełny cykl, co uzasadnia nazwę tej ope racji. Po zakończeniu tej fazy pozostałe pozycje zapełniamy numerami wziętymi z dru giego ciągu. Ostatecznie w wyniku wykonania operacji CX otrzymujemy następujące ' trasy potomne: C' = 9 2 3 1 5 4 7
8 6 10
D ' = 1 8 2 4 7 6 5 10 9
3
vM Dalsze teoretyczne i empiryczne wyniki porównań operacji PMX, OX i CX możnaMB znaleźć w pracy Olivera, Smitha i Hollanda (1987).
5.2.2.
T eoria operacji re k o n fig u ru ją c y c h ______________________________________________________
Aż do niedawna wyniki teoretyczne dotyczące operacji rekonfigurujących były dość ubogie. Frantz w pracy na temat inwersji (1972) wyznaczył kilka interesujących wielko ści. Obliczył on rozkład prawdopodobieństwa wzorców porządkowych o danym rozmia rze0 i składzie. Wyznaczył także prawdopodobieństwo przemieszczenia genu zajmujące go określoną pozycję. Prawdopodobieństwo, że losowo wybrane rozmieszczenie o okreś lonych ałleli będzie miało rozmiar równy 5, jest dane wzorem (/-5 P{D = 5} = -------
Frantz wyznaczył również dystrybuantę tego rozkładu: (5 \ llo - o b + 5 \
P{D < 8} =
Frantz podał następujący wzór na prawdopodobifcńst^o przemieszczenia pod wpływemt inwersji genu zajmującego pozycję k w ciągu kodowym o długości 1: ' P( prze mieszczen ia)
2[/c(/ + 1) - I c + 1)1 12
" Por. przyp. I) na str. 58 (pnyp. llum.).
ffi2i
Inwersja i inne operacje rekonfiguracji ,
191
)la długich ciągów równość ta redukuje się do P(przemieszczenia) = -2(x - *?) sgdzie x oznacza położenie względne: x=kll. To asymptotyczne wyrażenie osiąga warąbść maksymalną równą 0,5 dla *=0,5. Nierównomierność tegę rozkładu była przyczyną, dla której Frantz wymyślił in wersję liniowo-boczną, o której wspominaliśmy wcześniej. Istnieją też inne sposoby '^mnicjszenia tych efektów peryferyjnych. Jednym z nich (nie bez analogii przyrodlfiiczych) jest potraktowanie chromosomu jako pierścienia. W pozbawionym początku Si końca pierścieniu każdy locus ma jednakowe prawdopodobieństwo przemieszczenia |pod wpływem inwersji. Z analogiczną sytuacją mieliśmy do czynienia w rozdziale : czwartym w. przypadku krzyżowania dwupunktowego. Jeszcze inna możliwość to po zostawienie rzeczy takimi, jakie są i zaakceptowanie zależności od pozycji. Niewy kluczone, że efekty peryferyjne mogą odgrywać pewną rolę tak w naturalnych, jak |r w sztucznych procesach genetycznych, działając jako probabilistyczna tarcza uła twiająca tworzenie się wartościowych zgrupowań genów. Gdyby tak było, korzystne zgrupowania genów mogłyby migrować ku peryferiom łańcucha używając osłony owego „inwersyjnego cienia” w celu hamowania procesu destrukcji. Z drugiej strony nie ustabilizowane zgrupowania genów moglyby szukać centrum łańcucha, co zapewniałoby im większe prawdopodobieństwo przemieszczeń. Troska Frantza z powodu zależności prawdopodobieństwa przemieszczeń od pozycji w łańcuchu wydaje się zupełnie zrozumiała. Być może należałoby wyrównywać grawdopodobieństwa, a może, jak zauważyliśmy wyżej, zależność taka jest dającym się wykorzystać efektem ubocznym inwersji. Jeżeli naszym celem jest tylko znajdowanie ciśle sprzężonych „cegiełek” , to absolutne położenie w łańcuchu nie wydaje się sprawą |największym znaczeniu. Bardziej uzasadnioną miarą potencjału destrukcyjnego operafeji' jest wówczas raczej stopień zachowania względnego skupienia genów. Holland (1975) uwzględnił tę okoliczność, obliczając w następujący sposób prawdopodobieństwo zniszczenia schematu wskutek inwersji:
i
^ m ^ U 0 =2
^
[ l - ^
]
Ostatni czynnik bierze się stąd, żejeśli obydwa końce odwracanego segmentu wypadają „Wewnątrz” schematu, to rozpiętość schematu nie ulegnie przy tym zwiększeniu. Ilust: uiją to poniższe przykłady: Inwersja destruktywna ! ! 3 ! 2 6 ! ! !
!
! 3 ! ! 2 6 ! ! ! !
-> *
* 0 * 01 *
*0 * * 0 1 * * * *
1 9 2 ________________________________ ____
iŚjN '"':ii
____ 5. Technikiioperacje zaawansowane®
t Inwersja niedestniktywna ! ! 3 I 2 6 ! ! ! !
! 3 ! ! 2 6 ! ! ! !
~> **0 *0 1 ** ** **00 *1 ****
Użyta tu notacja różni się nieco od tej, którą stosowaliśmy do tej pory. Alleliczny symbol uniwersalny (*) zachowuje tu zwykle znaczenie, natomiast wykrzykniki (!) są’' używane w celu zaznaczenia, że pozostałe nieokreślone geny mogą wystąpić w dowol- ■ nym porządku. Holland w swej oryginalnej pracy nie posługiwał się tą notacją ani nie wprowadził pojęcia.schematu lub wzorca porządkowego; brał jednak pod uwagę moż-, liwość zwiększenia rozpiętości schematu pod wpływem inwersji. ■ >f Pierwszym krokiem w kierunku ogólniejszej teorii schematów obejmującej także ’ ich porządkowy aspekt było zdefiniowanie przeze mnie schematów porządkowych w związku z operacją PMX (Goldberg i Lingle, 1985). W pracy tej określono przestrzeń ; wszystkich wzorców porządkowych, korzystając z „porządkowego” symbolu uniwersal nego - wykrzyknika (!). Tak samo jak gwiazdki (*) określają wzorce podobieństwa dlą| alleIi (schematy „alleliczne” lub a-schematy), tak też schematy porządkowe (nazwijmw je o-schematami) określają podobieństwa w uporządkowaniu. Na przykład o-schemal 1 ! ! 2 3 ! ! ! .>. ! !
określa podzbiór wszystkich uporządkowań, w których geny o numerach 2 i 3 występują’* na pozycjach 3 i 4 odpowiednio. Dany schemat rzędu o wyznacza zatem (l -o)l porząd ków na l - o nieokreślonych pozycjach. Na przykład w przypadku o-schematu określonego powyżej istnieje (10-2)1 = 8! uporządkowań symboli {I, 4, 5, 6, 7, 8, 9, 10} ii|® ośmiu nieokreślonych pozycjach. Nietrudno znaleźć liczbę o-schematów. Ponieważ is(|| nieje j ^ j sposobów wyboru o ustalonych pozycji w ciągu /-elementowym i ponieważ istnieje | ^ jo! sposobów rozmieszczenia / symboli na o miejscach, zatem łączna liczba, o-schematów wynosi ^, i
/! (/ - w
/! ' ' JT^w
Proste rozumowanie wykazuje, że każdy ciąg jest reprezentantem 2' schematów i że populacja złożona z n schematów reprezentuje od 2' do n ■2' takich o-schematów. ; Podaria definicja o-schematujest tylko jednązcałego zbioru możliwych. Gdybyśmy chcieli rozpatrywać względne położenia alIeIi zamiast bezwględnych, zdefiniowalibyśmy względne schematy porządkowe (o-schematy typu r). Możemy teraz użyć zapisu /•'(•) dlai oznaczenia określonej klasy schematów bezwględnych (o-schematów typu a) długości /;# w „rozwinięciu” wyrażenia r'"(3H28) otrzymamy wówczas następujące schematy:
-
!Ę
5.2 Inwersja i inne operacje rekonfiguracji_________________________________________ 193
I
i
3 ! !
2 8 i
I ! ! !
, ! 3 !
! 2 8
! ! ! !
! ! 3 j$ 3 ', ,
! ! 2 8 ! ! !
! ! ! 3 ! ! 2 8 .!
«f M¥
!
! ! !
! 3 !
! 2 8 !
! ! I
! '! 3
!
i 2 8
■ Jcś :potraktujemy ciąg jako strukturę kołową bez początku i końca, to z tego samego wyrażenia otrzymamy ponadto następujące o-schematy bezwględne: H*ta8M3Sf)^a'i
ty,v ;y, ..■■'
8 ! !
!
2 8 !
! ! !
! ! 3 ! ! 2
! 2 8
! ! !
! !3 !
! ! 2
8 ! !
! ! ! 3
! 3 ! !
' Koncepcja „ślizgających się” genów nasuwa pomysł rozważenia trzeciego typu o-schemntów. Do tej pory mówiliśmy o o-schematach, w których liczyło się bezwzględne :. położenie genów (typ o) oraz takich, w których liczyło się względne położenie genów (tyj) /•). Rozważmy teraz pewien łańcuch genów o określonej rozpiętości i pozwólmy Źfcałęmu pakietowi przesuwać się (w sensie o-schematów typu /-) przy zachowaniu rozcięlości. Możemy teraz zdefiniować nowy typ o-schematów, które mogłyby być przydat".e do scharakteryzowania pewnego typu problemów; nazwijmy je względnymi o-sche;nntami z poślizgiem (w skrócie o-schematami typu rs). W celu opisania o-schematów ! rs wprowadźmy zapis funkcyjny rs ś (•) dla oznaczenia określonej klasy o-schemawzględnych o rozpiętości 8 i długości /. Argumentem tej funkcji jest uporządkowana . lista numerów, którą „rozwijamy” na zbiór o-schematów typu r. Na przykład o-schemat rai".(238) rozwija się na następujące o-schematy typu r: I ,J>axr '
R
r 1" (2 3 !
! 8)
r * “ (2
! 3 ! 8)
r 10 (2
’ ! 3 8)
Te schematy można z kolei rozwinąć na o-schematy bezwględne. W niektórych problemach nieistotne może być nawet względne uporządkowanie ponumerowanych obiektów. Dla takich przypadków wprowadzimy ostatnie już rozszeizenie zapisu schematów, dopuszczające zmianę kolejności numerów: względne o-sclie:naiy z poślizgiem i zamianą (typ rse). Tak więc wyrażenie rse ś(-) rozwija nieuporządsowaną listę numerów na zbiór o-schematów typu rs. Na przykład o-schemat typu rse o'.ef(2 3 8) rozwija się na zbiór 6 o-schematów typu rs, wyznaczonych przez sześć j.vnnutacji liczb 2, 3 i 8. Te mogą być z kolei rozwinięte na o-schematy typu r i o. , Łączne rozpatrywanie o-schematów i o-schematów daje możliwość pełniejszego zrozumienia zachowania się algorytmów genetycznych pod kątem współdziałania operacji „allełicznych” i rekonfiguracyjnych. Perspektywa takapogłębia się.jeśIi zwrócimy uwagę na to, że twierdzenie o schematach rozciąga się na o-schematy, o-schematy, jak też na kombinacje obu typów schematów. Trzeba jednak pamiętać, że prawdopodobieństwo
1 9 4 _____________________________________________ 5. Techniki i operacje zaawansowanej
i, ;fj8 przeżycia schematu pod działaniem danej operacji zależy od typu tego schematu. Ną| przykład w pracy Goldberga i Lingle’a (1985) wyznaczono prawdopodobieństwo przeżycia dla o-schematów typu a (bezwględnych) pod działaniem operacji PMX. Podane przez Hollanda (1975) „prawdopodobieństwo zniszczenia schematów” dotyczy o-schematów typu rse (względnych z poślizgiem i zamianą). Pogłębiona analiza przetwarzania sche matów w rodzaju tej, którą przeprowadziliśmy w rozdziale drugim dla problemu MDP, powinna przyczynić się do dalszego teoretycznego wyjaśnienia problemu współdziałania o-schematów i o-schematów w rozwiązywaniu konkretnych zadań.
5.3. Inne mikrooperacje________ _____________
;
Zapoznamy się teraz pokrótce z kilkoma mechanizmami niskopoziomowymi, których użycie proponowano w modelach adaptacyjnego poszukiwania genetycznego. Są to: seg regacja, translokacja, duplikacja wewnątrzchromosomowa, delecja i zróżnicowanie płciowe. W porównaniu z mechanizmem dominowania i operacji rekonfiguracyjnych mają one jednak dla algorytmów genetyczrfych drugorzędne znaczenie. 11
5.3.1.
S egregacja, translokacja i struktury w ielochrom osom ow e
________________________________________________________________
'1
Rozważaliśmy do tej pory genotypy złożone z pojedynczego chromosomu (haploidalne) oraz z pojedynczej pary chromosomów (diploidalne). W przyrodzie większość organiz mów jest wyposażona w genotypy złożone z wielu chromosomów. Na przykład apariit; genetyczny człowieka składa się z 23 par chromosomów diploidalnych. Zastosowanie podobnego rozwiązania w zagadnieniach związanych z poszukiwaniem genetycznym wymagałoby kolejnego rozszerzenia reprezentacji genotypu, tak by stanowił on listę1 k par ciągów kodowych (zakładając diploidalność). Co jednak miałoby uzasadniać takie powiększenie złożoności reprezentacji? Holland (1975) sugerował, że genotypy wielochromosomowe mogłyby przyczynić się do zwiększenia mocy algorytmów genetycz nych, gdyby zastosować je łącznie z operacjami segregacji i translokacji. Aby zrozumieć mechanizm segregacji, wyobraźmy sobie proces tworzenia się gdJ met w sytuacji, gdy genotyp składa się z więcej niżjednej pary chromosomów. Krzyżo wanie (crossing-over) przebiega jak dawniej; kidjy j<$hiak przystępujemy do utworzenia gamety, wybieramy wówczas po jednym z chromosomów homologicznych. Ten proceś losowej selekcji, zwany segregacją, skutecznie likwiduje wszelkie sprzężenia między genami ulokowanymi w różnych chromosomach. Oczywiście, geny ulokowane w tytń samym chromosomie są w dalszym ciągu mniej lub bardziej ściśle sprzężone, zależnie od dzielącego je dystansu. Segregacjajest użyteczną operacją w sytuacji, gdy względnie niezależne geny rozmieściły się w różnych chromosomach. Niekorzystne allele nie mogą wówczas rozprzestrzeniać się wykorzystując sprzężenia z nie związanymi z nimi alłelami o dużej wartości przystosowawczej.
i..3 Inne mikrooperacje.
19 5
Ostatnie stwierdzenie jest pewnego rodzaju wyznaniem wiary. Jeśli bowiem segiJgiiCja może czynić użytek z właściwej organizacji chromosomu, to w jaki sposób ; 'd',i>imosom uzyskuje właściwą organizację? Holland sugerował, że dzieje się tak dzięki :rmfokacji. Translokację można traktować jako swego rodzaju crossing-over z udzia.■iciiMÓżnycIi chromosomów. Aby zaimplementować takąoperację na użytek algorytmów . :tycznych, musimy zaopatrzyć każdy allel w pewien rodzaj „etykiety” , aby można ! fgó ,bylo zidentyfikować po przerzuceniu do innego chromosomu wskutek translokacji. W przyrodzie zdarza się, że w wyniku translokacji może powstać genotyp z niepełnym garniturem genów; wydaje sięjednak, że w modelach poszukiwania genetycznego możef (ny i powinniśmy tego unikać. Omówione operacje nie były, jak dotąd, przedmiotem zbyt wielu eksperymentów $zmodelami poszukiwania genetycznego. HoIIstien (l97l) zastosował operację zbliżoną do segregacji w badaniach dotyczących genotypów dipIoidalnych złożonych z jednej f pary chromosomów. Przyjął on, że segregacja pólega na losowej wymianie alleli między ilańcuchami rodzicielskimi podczas mejozy. Przeprowadzone eksperymenty mialy ogra:ikvony zakres i Hollstien nie sformułował żadnych ogólnych wniosków dotyczących tej operacji. W późniejszych badaniach związanych z zastosowaniem algorytmów genetycz na eh w problematyce maszyn uczących się konieczne okazalo się wprowadzenie genotypów rozszerzonych oraz operacji przypominających segregację i translokację (Schaffer, 1984; Smith, l980).
I
I
I
-i..
........................................................................................ _
_
5.3.2. D uplikacja i delecja
mDuplikacja i delecja to kolejna para operacji niskopoziomowych, które proponowano zastosować w modelach poszukiwań genetycznych. Duplikacja wewnątrzchromosomowa dziala na zasadzie podwojenia określonego genu i umieszczenia jednocześnie obu kopii W chromosomie. Delecja polega na usunięciu z chromosomu zduplikowanego egzemp larza genu. Holland (l975) sugerował, że operacje te mogą być skutecznie używane w celu adaptacyjnego regulowania intensywności mutacji. Jeśli podstawowa intensyw ność mutacji pozostaje stala, a w wyniku duplikacji otrzymamy k egzemplarzy danego genu, to efektywne prawdopodobieństwo mutacji (prawdopodobieństwo, że co najmniej jedna z k kopii ulegnie mutacji) tego genu wzrasta k razy". I odwrotnie, skutkiem deleeji jest zmniejszenie efektywnej intensywności mutacji. Zauważmy przy tym, że kiedy jeden z egzemplarzy takiego genu zostanie zmutowany, wtedy musimy jakoś zdecydować, która z kopii ujawni się. Z analogiczną sytuacją mieliśmy do czynienia w przypadku 'dominowania. Rzeczywiście możemy przyjąć, że pojawienie się wielokrotnych kopii genu wywoluje zjawisko dominowania wewnątrzchromosomowego, w przeciwieństwie do zwyklego dominowania międzychromosomowego, które występuje przy diploidalności. Holland proponował zastosowanie metody arbitrażu zbliżonej do dominowania, ale do tej pory nie opublikowano żadnych wyników badań tego typu mechanizmów.
Gcly /
1 9 6 _____________________________________________ 5. Technikiioperaoje zaawansowane.;
Moglibyśmy postawić pytanie, czy duplikacja wewnątrzchromosomowa oraz delccja, służą tyllco jako adaptacyjny mechanizm regulacji tempa mutacji. Być może po > części tak jest, jednak mieliśmy już okazję spotkać się z przykładem zastosowania dup likacji do znacznie istotniejszych celów. W rozdziale czwartym wspomnieliśmy miano wicie, że Cavicchio (l970) użył tej operacji do wytwarzania nowych detektorów cech | Każdy z jego genów określał zbiór pikseli wchodzących w skład detektora. Duplikacie wewnątrzchromosomowe nie stwarzały w tym przypadku problemu arbitrażu, a następu jące dalej mutacje lub krzyżowania z udziałem nowego detektora mogły doprowadzić do : powstania lepszego, odpowiedniejszego detektoi;a. Pod pewnymi względami naturalne struktury genetyczne przypominają „niechlujne kodowanie” Cavicchia; wzięcie potl ! uwagę metod kodowania dopuszczających nadmiarowość, zmienną długość i niepełną, specyfikację przyniosłoby, być może, pewne korzyści '*.
5.3.3.
D eterm inacja płci i zróżnicow anie p lc io w e ____________________________________________ _I'1
To dziwne, a przynajmniej zastanawiające, dlaczego w książce, w której konstruujemyalgorytmy oparte na wzorach zaczerpniętych'z naturalnych procesów reprodukcji i z ge*;l netyki, nie pojawił się do tej pory temat płci. Nie stało się tak z braku zainteresowania ani też dlatego, że płećjest mało znaczącym wynalazkiem o zaniedbywalnych efektach ubocznych. W tym punkcie omówimy mechanizm determinacji płci i zbadamy jego. przydatność w modelach poszukiwania genetycznego. 3 . Przyroda nie funkcjonuje tak prosto, jak zakładaliśmy. W naszych naiwnych meto dach kojarzenia pozwalaliśmy każdemu osobnikowi wchodzić w związki z dowolnym innym osobnikiem i zawsze dokonywaliśmy takiego podziału wynikłych stąd produktów, genetycznych, aby uzyskać zdolny do przeżycia genotyp. W przyrodzie wiele organizr j mów dzieli się na dwie (lub więcej) różnych płci i muszą one w jakiś sposób wejść zel sobą w kontakt, aby zapewnić przetrwanie gatunku. Szczegółowy obraz determinacji płci wygląda różnie u różnych gatunków; dla naszych celów wystarczająco reprezentatywny jest jednak przykład człoWieka. Jedna z 23 par chromosomów ludzkich determinuje płeć. Kobiety mają dwa identyczne chromosomy płci (chromosomy X), a mężczyźni - dwa różne (jeden chro mosom X i jeden chromosom Y). Podczas gametogenezy mężczyźni wytwarzają ple mniki, które przenoszą albo chromosom X albo chromosom Y (w jednakowych pro porcjach), natomiast kobiety wytwarzają jajeczka, które przenoszą jedynie chromosom X. Gdy dojdzie do zapłodnienia, wówczas zestawienie (pewnego) chromosomu X po-; chodzącego od kobiety z (losowym) chromosomem X lub Y pochbdzącym od mę żczyzny prowadzi do oczekiwanego (i obserwowanego) stosunku liczbowego płci mę skiej i żeńskiej 1; 1.
11 lstotnic, pomysl len 7.oslat później wykorzystany w poslaei tzw. niechlujnych algorylmów genelycz.nycli; por. D.E. GoUlberg, B. Korb, K. Dcb, Messy GeneticAlgorilluns: Motivation, Analysis, and First Results,, TCGA Report No. 89003, May 1989, University of Alabama Q>rzyp. tlum.).
19 7
!,g§; Inne mikrooperacjs
Mimo że mechanizm determinacji płci u człowiekajest dość przejrzysty, przyroda ,A'Ziica tu kilka interesujących komplikacji. Pewna liczba cech nie związanych z płcią może dziedziczyć się za pośrednictwem chromosomów płci. Te tak zwane cechy sprzężob° z płcią są związane najczęściej z chromosomem X. W dodatku, chociaż u większo;śpi organizmów chromosom X zawiera loci, których brak w chromosomie Y, u niek'6rych organizmów oba te chromosomy zawierają odcinki homologiczne. W takim ; przypadku crossing-over zacltodzący w strefie homologicznej może powodować wystę powanie niepełnego sprzężenia z płcią, w porównaniu do organizmów, u których zupelny ;hrak homologiczności wyklucza crossing-over. Wszystko to jest bardzo ciekawe. Nie możemy jednak zrezygnować z naszego jpragmatycznego podejścia w zamian za kilka tajemnych szczegółów procesu reproduk cji. Wracając do meritum, co może nam dać determinacja i zróżnicowanie plciowe / punktu widzenia algorytmów genetycznych? Niestety, w literaturze na temat algoryt1tnów genetycznych brak na razie publikacji poświęconych teoretycznym lub empirycz'jiym studiom tych mechanizmów. Niemniej jednak proste rozumowanie może doprowaić do satysfakcjonującego wyjaśnienia ich użyteczności. Jest oczywiste, że uformowa3 się różnic płciowych prowadzi do podziału gatunku na dwie (lub więcej) kooperujące i grupy. Takie rozdwojenie umożliwia samcom i samicom nieco odmienną specjalizację, itlżięki czemu mogą one „zagospodarować” większą przestrzeń zachowań służących fprzeżyciu, niż byloby to możliwe w ramach jednej konkurującej populacji. Aby nadać temu rozumowaniu bardziej wymierny charakter, rozważmy wyideali zowany przypadek demonstrujący korzyści płynące z kooperacji i specjalizacji będących fkónsekwencją naturalnych różnic płciowych. Przypuśćmy, że osobnik może wybierać [ńiędzy zdobywaniem pożywienia („polowanie” ) a opieką nad potomstwem („wycho wywanie” ). Niech h będzie ułamkiem czasu poświęconym na polowanie, a n - ułam kiem ozasu poświęconym na wychowywanie. Będziemy przyjmować, że prawdopodo bieństwo przeżycia potomstwa sjest proporcjonalne do iloczynu tych ulamków:
R
.v(/t, h) = nli Każdy osobnik musi dokonać podziału swych zajęć na czynności związane z polowa|iem i czynności związane z wychowywaniem. Jeżeli następnie założymy, że z wykonypaniem tych czynności wiąże się dodatkowa strata czasu proporcjonalna do iloczynu obu .(współczynników aktywności” (spadek wydajności), to otrzymamy następujące równa nie opisujące podział czasu zużywanego przez osobnika: H -I- /; -I- anli = l jgdzie a jest współczynnikiem spadku wydajności z powodu braku specjalizacji. MaIjcsymalizując wartość s przy użyciu elementarnych metod, otrzymujemy następujące optymalne poziomy wychowywania n* i polowania /?* dla poszczególnego osobnika:
a
198
5. Techniki i operacje zaawansowane
które osiągają w granicy clla n=() wartość n* = /i* = 0,5. Wyrażając to siowami, osobmk może w najlepszym razie wybrać kompromis między dwiema niezbędnymi czynnoś ciami; przewaga czasu wydatkowanego na którąkolwiek z nich zostaje ukarana spadkiem przeżywalności potomstwa. Ilustruje to graficznie rys. 5.13, gdzie są pokazane wykicsy zależności przeżywalności .v od współczynnika aktywności wychowawczej n dla przypa dków o —1 i a= 0.
Rys. 5.13. Aby zmaksymalizować szanse przetrwania gatunku, samotny osobnik musi szukać kompromisu między opieką nad potomstwem a zdobywaniem pożywienia. Spadek wydajności związany z brakiem specjalizacji (a>0) dodalkowo zmniejsza możliwość osiągnięcia wysokiej przeżywalności
Jeśli dopuścimy kooperację dwóch osobników, pozwalając im dzialać w charak terze jednostki myśliwsko-wychowawczej, otrzymamy podobny model przeżywalności potomstwa. Oznaczając odpowiednie współczynniki aktywności osobników l i 2 przez /r,, /i,, h2 i n2, możemy wyrazić prawdopodobieństwo przeżycia .v wzorem s(/i,, /r,, nv h2) = l/2(;j, + ;i,)(/t, + h2) gdzie czynnik l/2 wprowadzono, by umożliwić bezpośrednie porównanie z przypadkiem pojedynczego osobnika (terazjest dwa razy więcej glów do wykarmienia i wychowania). Podzial czasu obu osobników opisuje się następującymi równaniami: n, + h, + an, h, = l ,
i - l, 2
Maksymalizując przeżywalność .v ze względu na współczynniki aktywności myśliwskiej i wychowawczej otrzymujemy dwa przypadki do rozpatrzenia. Bez spadku wydajności z powodu braku specjalizacji przeżywalność osiąga maksimum wzdłuż prostej określonej równaniem
5 .3 s
lnnemikrooperacje
199
ii'i' + «* = 1 K' pokazano na rys. 5.14a, przedstawiającym wykres przeżywalhości jako funkcji spółczynników aktywności wychowawczej. Gdy nie ma strat, wówczas istnieje bodziec ) współpracy (przeżywalność wzrasta z 0,25 do 0,5), ale nie ma bodźca do specjalizacji; ystarczy, aby łączny czas poświęcany przez oba osobniki na polowanie (względnie ycliowanie) wynosił jeden. , Jeśli jednak pojawiają się straty (a>0), sytuacja zmienia się zasadniczo, co pofit&zuje rys. 5.14b. Optymalne zachowanie wymaga teraz specjalizacji. Maksimum prze-
I
Rys. 5.14. Kooperacja osobników zwiększa szanse przetrwania; jeśli jednak nie następuje spadek wydajności z powodu braku specjalizacji, to nie ma też powodów do specjalizacji (a). Jeśii występuje spadek wydajności, maksymalną przeżywalnośó osiąga się przy maksymalnej specjalizacji (b)
200
5. Techniki i operacje zaawansowane
żywalności otrzymuje się, gdy («,, «2) = (1, 0) lub (n,, n2) = (0, 1). Mamy tu nadal,' przewagę w stosunku do przypadku osobnika samowystarczalnego, straty zaś zostajfy’ zminimalizowane. Chociaż powyższy model jest bardzo uproszczony, demonstruje on istotę koopera cji i specjalizacji, którym służy zróżnicowanie płciowe. Przyszłe próby z wykorzysta-, niem płciowości w modelach poszukiwania genetycznego wykażą zapewne przewagę tego typu mechanizmu w zagadnieniach wymagających, podobnie jak wyżej, połączenia kooperacji ze specjalizacją.
5.4. N is z e is p e c ja c ja _ ______________________ __ Zróżnicowanie plciowe otworzyło drogę specjalizacji, która w przyrodzie sięga jeszcze dalej poprzez specjację (powstawanie gatunków) i wypełnianie nisz ekologicznych, Intuicyjnie niszę możemy przyrównać do określonego „zawodu” lub funkcji pełnionej przez dany organizm w środowisku, natomiast przez gatunek możemy rozumieć klasę organizmów o wspólnej charakterystyce. Ten podział środowiska i organizmów wy korzystujących środowisko na odrębne podzbiory jest tak powszechny w przyrodzie, że rzadko poświęcamy mu specjalną uwagę. W świetle tego może wydać się niezro zumiałe, dlaczego jeszcze'nie zaobserwowaliśmy stabilnych podpopulacji ciągów ko dowych (czyli gatunków), związanych z różnymi poddziedzinami funkcji (niszami) w większości omawianych przykładów. W tym punkcie pokażemy, w jaki sposób wpro wadzenie nisz i gatunków może dopomóc w procesie poszukiwania realizowanym za pomocą algorytmu genetycznego, przedstawimy wyniki teoretyczne dotyczące tego problemu oraz wskażemy metodę urzeczywistnienia podobnych mechanizmów w al gorytmach genetycznych.
lPNisze i specjacja
201
(b)
Nierówne wierzchołki
Pys. 5.15. Przyktadfunkcji, dlaktórychmoglybyznaleźćzastosowaniestabilne, niezbytkonkurująceze sobą podpopulacje. W przypadku (a) podpopulacje powinny mieć mnie) więcej tę samą wielkość. W przypadku (b) podpopulacje powinny maleć wraz ze zmniejszającą się wysokością wierzchołków
Aby zrozumieć, jak można doprowadzić do tworzenia się nisz i gatunków w trak cie wykonywania algorytmu genetycznego, rozważmy działanie elementarnej wersji taJiR.. *iego algorytmu w przypadku funkcji przystosowania pokazanej na rys. 5.l5a. Jeżeli R^Startujemy od populacji początkowej wybranej losowo, otrzymamy zbiór punktów 'rozmieszczonych mniej więcej równomiernie na odcinku stanowiącym dziedzinę funkcji. Wmiarę postępów reprodukcji, krzyżowania i mutacji populacja wspina się po zboczach, ■kując ostatecznie większość swoich elementów w pobliżu wierzcholka jednego z pięciu Bżgórz. Końcowe skupienie się wokół jednego wierzchołka jest spowodowane dryfem ^genetycznym - odchyleniami losowymi przy wyborze z niewielkich populacji. Chcieli byśmy zatem jakoś zmniejszyć wpływ tych odchyleń i doprowadzić do formowania się Kąbilnych podpopulacji wokół każdego wierzchołka. Podobnie moglibyśmy myśleć o zmianie sposobu zachowania algorytmu genetyczlfego w przypadku funkcji wielomodalnych, których maksima nie są tej samej wielkości. Rozważmy na przykład funkcję pokazaną na rys. 5.l5b. Mamy tu do czynienia z pięcio|ma>wierzchołkami, podobnie jak w poprzednim przykładzie, ale wysokość wierzchołków lmniejsza się wraz ze wzrostem wartości zmiennej x. Nietrudno przewidzieć zachowanie ^cmentarnego AG w takiej sytuacji. Elementarny AG, działając przez dostatecznie wiele pókoleń, ulokuje prawie wszystkie elementy populacji wokól najwyższego wierzchołka. ISąjednak przypadki, w których chcielibyśmy zlokalizować inne wierzchołki znajdujące |i£ w innych obszarach przestrzeni. Moglibyśmy nawet życzyć sobie, aby wielkość pod$opulacji w sąsiedztwie każdego wierzchołka była proporcjonalna do jego wysokości. ,Nicbawem przekonamy się, że wprowadzenie nisz i gatunków umożliwi osiągnięcie |d‘6kładnie takiego efektu.
202 __ ____________ 5.4.1,
5. Techniki i operacje zaawansow
T eoria nisz i gatunków
Mimo że istnieje obszerna literatura biologiczna na temat nisz ekologicznych i specjacji, jak dotąd niewiele udało się z niej przenieść na grunt algorytmów genetycznych. Tak jak i w przypadku wielu innych pomysłów i operacji, pierwsze koncepcje teoretyczne mające bezpośrednie odniesienie do algorytmów genetycznych przypisuje się tu Hollandowii (I975). Aby zilustrować mechanizm nisz i specjacji, Holland posłużył się zmodyfikował ną wersją zagadnienia dwuramiennego bandyty z podzialem [sharing] wypłaty. Prze-1! śledźmy zatem jego rozumowanie dla konkretnego sformułowania tego problemu.
Lewa Kolejka dzteli się małą wygraną
Prawa kolejka dziell się dużą wygraną
Rys. 5.16. Dwuramienny bandyta z podzialem wygranych pomiędzy graczy w kolejkach
Wyobraźmy sobie dwuramiennego bandytę z rys. 5.l6. Tak jak w zagadnieniu dwuramiennego bandyty, które rozważaliśmy w rozdziale drugim, mamy tu dwa ramiona - lewe i prawe - i z każdym z nich jest związana inna średnia wypłata. Przypuśćmy, że dla prawego ramienia wynosi ona 75 dolarów, a dla lewego - 25 dolarów; podobniejak w oryginalnym sformułowaniu zagadnienia, początkowo nie wiemy, które z ramion za pewnia większą wygraną. Załóżmy następnie, że mamy populację złożoną ze 100 graczy i że każdy z nich otrzymuje pełną kwotę wygranej związaną z ramieniem, które wybrał w d;mej próbie. Jeśli poprzestaniemy na tym i pozwolimy graczom wybierać dowolne
. Nisze i specjacja
203
jię. to sytuacja będzie wyglądać podobnie jak w pierwotnej wersji zagadnienia. Jeśli czc „reprodukują się” proporcjonalnie do przystosowania, to coraz większa liczba Jonków populacji powinnaustawiać się w kolejce do lepszego (prawego) ramienia, aż szcie cala populacja skupi się w jednej kolejce. Na razie nie mieliśmy powodu oczekiwać tworzenia się nisz; wszystkie eksperyftóenty zostają w ostateczności skierowane do najlepszego empirycznieramienia. Wprol^adzimy teraz istotną modyfikację do zasad gry, która spowoduje tworzenie się stabill^ych podpopulacji wokół każdego z ramion. Zamiast wypiacać pelną wygraną każdemu ^osobnikowi, będziemy ją dzielić pomiędzy graczy z danej kolejki. Na pierwszy rzut oka Mygląda to 'nn dość drobną zmianę. W rzeczywistości ta jedna modyfikacja pociąga za *Jobą dramatyczne i zaskakujące skutki. Aby przekonać sięjak i dlaczego zmienia się zachowanie graczy, zwróćmy uwagę, (epmimo nieco odmiennych regul gry, członkowie populacji nadal reprodukują się propo
K
J /m m v
"V««
_
J/m n t y
M~ " W
J lewe
«w
|W naszyni przykładzie całkowite wyrównanie wyplat indywidualnych nastąpi, gdy 75 !i4graczy wybierze prawe ramię, a 25 graczy - lewe ramię, ponieważ $75/75 = $25/25 = $I. i Bezpośrednie uogólnienie tego modelu nu przypadek /c-ramienny nie zmienia za sadniczej konkluzji. Wprowadzenie przymusowego podziatu pociąga za sobą forniowa,nie się stabilnych podpopulacji (gatunków) związanych z różnymi ramionami (niszami). tfjN dodatku liczba osobników zajmujących określoną niszę jest proporcjonalna do ocze kiwanej wyplaty z niszy. Jest to dokladnie ten typ zachowania, którego oczekiwaliśmy, ;)rozpatrując zagadnienia wielomodalne z rys. 5.15. Oczywiście, przeniesienie koncepcji podziału na grunt prawdziwych algorytmów genetycznych jest sprawą trudniejszą, niż ’sugeruje to powyższy wyidealizowany przykład. W rzeczywistym algorytmie genety',cznym mamy do czynienia z wieloma ramionami i decyzja, kto i w jakim stopniu poj winien korzystać z podzialu, nie jest banalną kwestią. W następnym punkcie omawiamy
204
5. Techniki i operacje zaawanso
sposoby wywołania zjawiska formowania się nisz za pomocą mechanizmu podziału,Jubl czegoś w tym rodzaju. Przedtem jednak musimy zająć się jeszcze jednym teoretyc/.ru)i aspektem specjacji. Uznając znaczenie podziału dla formowania się nisz, mamy do dyspozycji prasM gotowy aparat teoretyczny, potrzebny do objaśnienia funkcjonowania tego mechanizmW w modelu poszukiwań genetycznych; jednak pewna dodatkowa obserwacja przyrodniczą’pozwoli nam osiągnąćjeszcze więcej. Otóż w naszym elementarnym modelu pozwalaji$i my na losowe kojarzenie się osobników. Jest to niezgodne z większością przykładó\vj biologicznych. Ludzie nie szukają partnerów wśród kotów, a żaby wśród uczonych (choć. gdyby tak było, to może mielibyśmy naukowców chwytających w lot problemy). Spo-; strzeżenie, że przedstawiciele poszczególnych gatunków nie są skłonni kojarzyć się; z osobnikami niepodobnymi do nich samych, stawia przed nami pytanie, dlaczego tak śi& dzieje. Mówiąc inaczej, jaką korzyść selekcyjną przynosi reguła stanowiąca, że podobne, kojarzy się z podobnym (kojarzenie selektywne dodatnie), której zdaje się przestrzegąć! większość gatunków? Prosty przykład z dziedziny optymalizacji funkcji znów dopomoże nam w naświetleniu podstawowej idei. Przypuśćmy, że mamy do czynienia z funkcją przybierającą wartości maksymalne na przeciwległych końcach odcinka, na którym jest określona (rys. 5.17). Jeśli użyjemy zwyldćgo dwójkowego kodu pozycyjnego, to osob niki położone w pobliżu lewego maksimum będą miały w sobie dużo zer, podczas gdy osobniki położone w pobliżu prawego maksimum będą miały dużojedynek (lewe m;tksi-' mum funkcja osiąga dla ciągu 00000, a prawe - dla ciągu 11111). W miaręjak postępuje!: proces reprodukcji, krzyżowania i mutacji, osobniki potomne będą na ogół przypominać
Rys. 5.17. Prosta funkcja dwumodalna ilustrująca potrzebę stosowania barier reprodukcyjnych. Krzy żowanie się dwóch niepodobnych niemaloptymalnych osobników prawie zawsze prowadz| do degeneracji
5,4 , NiŚże i spe cja cja_________________________________________________________ 205
•■w'kic siągi, jak 00111 lub 11000 (a więc stosunkowo bezużyteczne - w tym przypadku y zestawienia zer i jedynek). Kojarzenie międzygatunkowe prowadzi więc w ten sposób .dotworzenia upośledzonegopotomstwa (degeneratów). Jeżeli natomiast uda się wy wrzeć tpresję w kierunku kojarzenia się osobników podobnych, to produkcja bezużytecz nego potomstwa może zostać ograniczona. Wskazuje to na potrzebę znalezienia metod .wspomagających bardziej owocne wzorce kojarzenia.
5.4.2.
M etody niszow e w poszukiw aniach genetycznych
pealizowano już różne metody powodujące formowanie się nisz w algorytmach genety cznych. W niektórych z tych technik podzial ujawnia się w sposób pośredni. Chociaż zagadnienie dwuramiennego bandyty z podzialem jest prostą abstrakcją formowania się i wypełniania nisz ekologicznych, przyroda nie dzieli się swymi dobrami w tak bezpośrejęfnj sposób. W naturalnych warunkach podział dochodzi do skutku poprzez konkurencję l*ionflikt. Kiedy siedlisko pewnego organizmu zostaje przepełnione, zamieszkująceje ‘ÓSobniki są zmuszone dzielić między siebie dostępne zasoby. Cavicchio (1970) był jednym z pierwszych, którzy podjęli próbę wywotania „nijfsppodobnego” zachowania algorytmu genetycznego. Wprowadził on mechanizm na‘Iwany preselekcją. Byla to metoda polegająca na zastępowaniu gorszego z rodziców pi7ez jego potomka, o ile tylko potomek wykazywał lepsze od niego przystosowanie. ThptiIacja była dzięki temu zdolna do zachowania różnorodności, gdyż ciągi kodowe jfąjąły tendencję do zastępowania podobnych do siebie (jednego ze swych rodziców), fępicchio twierdził, że udało mu się w ten sposób utrzymywać bardziej różnorodne pulacje w szeregu przebiegów symulacyjnych, przy stosunkowo niedużych rozmarach piilacji (n = 20).
I
De Jong (1970) uogólnił technikę preselekcji w postaci modelu ze ściskiem. $ modelu tym używa się populacji mieszanych (wielopokoleniowych), przy czym nowe lgsobniki zastępują inne według kryterium podobieństwa. Nowy osobnik zostaje porów'miny z losową podpopulacją o rozmiarze równym czynnikowi ścisku CF. Osobnik o naj wyższym stopniu podobieństwa (w sensie minimalnej liczby różnic na poszczególnych ,;|pzycjach) zostaje następnie zastąpiony przez nowoutworzony ciąg. Początkowo działa*t{iB lego mechanizmu nie odbiega od losowego wyboru elementów do usunięcia, gdyż wszystkie osobniki są na ogół w tym samym stopniu niepodobne do siebie. W miarę jak iulacja postępuje i coraz więcej osobników w populacji upodabnia się do siebie (zana się wyłaniać jeden lub więcej gatunków), zastępowanie jednych osobników in ni, podobnymi do nich osobnikami, sprzyja utrzymaniu różnorodności i tworzy prze.strzeń życiową dla dwóch lub więcej gatunków. De Jong odniósł sukces, stosując model |e ściskiem do funkcji wielomodalnych przy czynniku ścisku CF równym 2 lub 3. ^dobna metoda była później użyta w zastosowaniach związanych z maszynami uczący mi się (Goldberg, 1983). I H Zwróćmy uwagę na to, że ani preselekcja Cavicchia, ani ścislc De .Ionga nie %ydają się wykazywać analogii do omawianego wcześniej podziału zasobów. Oba ^echanizmy wywołują jednak coś w rodzaju pośredniego podziału w następującym
S
206
5. Techniki i operacje zaawansowana1'}
sensie. Pod nieobecność preselekcji lub ścisku osobnik w populacji mieszanej p< wymianie losowej (zjednakowym prawdopodobieństwem wyboru dla wszystkich)..k/ell osobnik jest wymieniany z większą intensywnością (niż przy wymianie losowej), jn.\ to dzieje się przy ścisku lub preselekcji, gdy wylania się gatunek, to traci część „dochoda" I (potomstwa), ponieważ nie realizuje pełnego potencjału reprodukcyjnego. Mówiąc iiya- „ czej, chociaż ścisk i preseIekcja koncentrują się na aspekcie zastępowania, to wynii 'Z.ijąc wcześniejsze „odejście” przedstawicieli nazbyt licznych gatunków, redukują lic/.hę ich potomstwa, zwalniając w ten sposób miejsce dla innych. Najbardziej bezpośrednie odniesienia do .biologicznej teorii nisz w kontekście al gorytmów genetycznych można znaleźć w rozprawie Perry’ego (1984). W pracy tej Perry określa odwzorowanie genotyp-lenotyp, definiuje środowisko wicloczynn,kowc oraz specjalny obiekt zwany schematem zewnętrznym. Schematy zewnętrzne to speeyfl-J czne wzorce podobieństwa określone przez projektanta systemu, służące do scharaktery zowania przynależności gatunkowej. Niestety, konieczność odwołania się do interwencji, czynnika zewnętrznego ogranicza możliwości praktycznego zastosowania tej techniki>' w modelach poszukiwania genetycznego. Niemniej jednak Czytelnik interesujący sięo związkami między biologiczną teorią nisz a algorytmami genetycznymi znajdzie w lcj pracy ciekawy materiał. Grosso (1985) również nadal orientację biologiczną swej pracy poświęconej mecha-' nizmoni lormowania się podpopulacji oraz migracji między nimi. Ponieważ użył on do badań imiltyplikatywnych funkcji celu faworyzujących osobniki lieterozygotyczne (efekt1 helerozji), otrzymane przezeń wyniki nie mają bezpośredniego zastosowania w większości modeli poszukiwań genetycznych; jednakże Grosso był w stanie wykazać wyższość uniiaikowanej intensywności migracji nad izolacją podpopulacji (brakiem migracji) oraz punniiksją (całkowitą swobodą kojarzenia prowadzącą do wymieszania podpopulacji). Badania te1 sugerują, żc uwzględnienie czynnika geograficznego w poszukiwaniach genetycznych' może sprzyjać formowaniu się odrębnych podpopulacji. Konieczne są dalsze studia, aby wyjaśnić, jak można lego dokonać w typowych zagadnieniach poszukiwania. Praktyczna metoda kreowania nisz i gatunków, oparta bezpośrednio na idei po działu zasobów, zostala opisana przcz Goldberga i Richardsona (1987). Wprowadza sięj tam funkcję wspóhuizialu [sharing function], która określa sąsiedztwo i stopień wsp(>l-, udziału dla każdego ciągu kodowego w populacji. Aby zobaczyć, jak działa ten mccha-'; nizm, rozważmy znanejuż prostejednoargumentowe funkcje przystosowania z rys. 5.15‘ oraz liniową funkcję współudziału, pokazaną na rys. 5.18. Liczbę współudziałów dladanego osobnika” oblicza się, sumując wszystkie wąg.ośei funkcji współudziału wnoi ' ne przez inne ciągi w populacji. Ciągi znajdi^ącefsię w bliskim sąsiedztwie ilancgu osobnika mają duże współudziały (bliskie jedności), natomiast ciągł odległe - b,udzn malc współudziały (bliskie zeru). Ponieważ osobnik znajduje się bardzo blisko (najbliżej^ jak można) siebie, zaleni wartość funkcji współudziału wynosi dla niego 1 (podobniejak dla każdego identycznego z nim ciągu). Po zsumowaniu wszystkich obliczonych w ten-
" L ic z b a w spC iludzialów jesl m ia ra z ap o trz e b o w a n ia na z a s o b y ś ro d o w isk a w s ;isied z tw ie d a n e g o osoji n ik a tp r z y p .
ilimi).
**
Nisze i specjacja
207
Ryą. 5.18. Liniowa funkcja wspóludzialu. Za Goidbergiem i Richardsonem (1987)
sposób współudziałów, zdeprecjonowany wskaźnik przystosowania osobnika oblicza się, |fćlżieIąc jego potencjalny wskaźnik przystosowania przez łączną liczbę współudziałów: /(•*,) T ^ A ^ ) T,.k więc, gdy w sąsiedztwie znajduje się wielu osobników, każdy z nich przyczynia się do zmniejszenia stopnia współudziału drugiego, przez co obniżają sobie oni wzajemnie ' .wskaźniki przystosowania. W rezultacie opisany mechanizm ogranicza niekontrolowany w/rost danego gatunku w populacji. Przyjrzyjmy się teraz, jak to działa w praktyce na przykładzie jednowymiarowej i funkcji celu z rys. 5.15a. Stosując liniową funkcję współudziału z rys. 5.18, otrzymujemy po stu pokoleniach równomierny rozkład punktów wokół wszystkich maksimów (rys. 5.19a). Tego właśnie oczekiwaliśmy, gdyż wszystkie maksima funkcji testowej są lówne. Dla porównania, elementarna wersja algorytmu (bez podziału) wskutek działania f^ diyfu genetycznego gubi wszystkie maksima poza jednym (rys. 5.19b). W drugim przykładzie (rys. 5.20a) wokół wierzchołków o malejącej wysokości tworzą się stabilne podpopulacje odpowiedniej wielkości (proporcjonalne do wysokości wierzchołków). Dla porównania, elementarny algorytm genetyczny szybko skupia się na pióbkowaniu okolic najwyższego wierzchołka (rys. 5.20b). * Opisana metoda nie jest zupełnie niezależna od problemu. Richardson i ja zapioponowaliśmy wieloargumentową wersję funkcji współudziału, której można by uży^ wać w wielowymiarowych zadaniach optymalizacyjnych (Goldberg i Richardson, 1987). ".;SugciowaliSmy również bardziej interesujące (i być może ogólniejsze) podejście do , sprawy podziału, przy którym podobieństwo osobników jest rozpatrywane na poziomie 1 genotypu (ciągu kodowego), a nie na poziomie fenotypu (zbioru parametrów). Przy \ podziale na poziomie genotypu argumentem funkcji współudziału jest względna różnica
5. Techniki i operacje zaawansowane
208
L
(a) Ze wspóludziatem
(b) Bez wspótudzialu Rys. 5.19. Zachowanie się elementarnego algorytmu genety$znego dla równych wierzchołków: (a) za wspóludziatem, (b) bez wspóludziatu. Rozkł&d pq|ulacji w pokoleniu 100. Za Goldbergiem i Richardsonem (1987)
209
g_4. Nisze i specjacja
(a) Ze wspóludziatem
X
(b) Bez wspóludzialu Rys. 5.20. Zachowanie się elementarnego algorytmu genetycznego dla malejących wierzchołków: (a) ze wspóludziatem, (b) bez wspóludziatu. Rozkład populacji w pokoleniu 100. Za Goldbergiem i Richardsonem (1987)
21 0
5. Techniki i operacje zaawansowane;
L-
Rys. 5.21. Wykiadnicze funkcje wspóludziatu; stopień wspóiudzialujest tu funkcjąwzględnej różnicy ciągów kodowych (Goldberg i Richardson, 1987)
ciągów kodowych, tj. odległość Hamminga między ciągami (liczba niejednako wych bitów) podzielona przez długość ciągów. Na rysunku 5.21 przedstawiono ro dzinę wykładniczych funkcji współudziału, odpowiednich dla takiego podejścia. Wstępne eksperymenty z podziałem genotypowym wskazują na jego użyteczność;) potrzebne są jednak dalsze badania, aby wyjaśnić zakres stosowalności wszystkich ; technik podziału.
5.4.3.
B ariery reprodukcyjne w poszukiw aniach g enetycznych _
________________ ___________..
Jak widzieliśmy, podział zasobów prowadzi do tworzenia się nisz ekologicznych w pro cesie poszukiwania genetycznego. Jeśli chcemy zagwarantować stałą produkcję użytecz nego potomstwa, przy minimalnej liczbie degeneratów, to musimy wprowadzić bariery reprodukcyjne. Opracowano kilka metod służących temu celowi. q Hollstien (1971) zastosował metody wzorow4mefa tradycyjnych praktykach hodo wlanych i ogrodniczych. Stwierdził on, że technika kojarzenia według lihii (systematycz ne kojarzenie czempiona z innymi osobnikami) daje dobre wyniki dla funkcji jednomodalnej, ale nie sprawdza się w przypadku funkcji wielomodalnej. Aby temu zaradzić, wprowadził on metodę kojarzenia krewniaczego ze sporadycznym krzyżowaniem linii. Polega ona na systematycznym kojarzeniu osobników pokrewnych tak długo, jak długo średnie przystosowanie rodziny rośnie. Kiedy wzrost nie następuje, przeprowadza się krzyżowanie między różnymi rodzinami. Metoda ta okazała zdecydowaną wyższość nad techniką kojarzenia wg linii.
Hjs.4. Nisze i speojacja ___________________ :_____________________________________
211
i, Booker (1982, 1985) także wskazywał na potrzebęstosowania barier reprodukcyj nych w celu zmniejszenia liczby degeneratów. W obu swychpracach dyskutował on też znaczenie podziału zasobów dla formowania się nisz i gatunków, ale ponieważ sugero wane przez niegotechniki podzialu mają ograniczone zastosowanie (systemy klasyfiku jące), odłożymy omówienie tej części jego prac do następnego rozdziału. Zamiast tego Jźajmiemy się jego pomyslem wzorców kojarzeniowych [mating templateś], mającym na celu stworzenie samoadaptujących się barier reprodukcyjnych. ' ,t Pomysl wiąże się z żądaniem dopasowania wzorca kojarzeniowego do funkcjonal nej (dekodowanej) części ciągu kodowego. Aby to zilustrować, utwórzmy kilka roz| szerzonych ciągów kodowych, zawierających jednocześnie wzorce i części funkcjonalne: < W z o rz e c > :< C z ę ść fu n k c jo n a ln a > '# 10#:1010 # 0 1 # :1100
# 0 0 # : 0000
W powyższych ciągach wzorce kojarzeniowe (podciągi położone na lewo od dwu kropka) zostały zbudowane z symboli trójelementowego alfabetu 0, 1, #. Symbol 0 we wzorcu pasuje do symbolu 0 w części funkcjonalnej, podobnie 1 pasuje do 1, a # pasuje ido 0 lub 1. W celu stwierdzenia, które z ciągów kodowych mogą się ze sobą kojarzyć, wzorzec kojarzeniowy jednego ciągu zostaje porównany z częścią funkcjonalną drugiego ciągu. Można tu wprowadzić różne reguły: 1) pełną zgodność dwustronną; '2) pełną zgodność jednostronną; 3) najlepszą zgodność częściową; Część funkcjonalna ciągu zostaje zdekodowana w zwykły sposób w celu określenia wartości parametrów i wskaźnika przystosowania. Wracając do przykładu, dwa pierwsze ciągi są zdatne do kojarzenia przy regule zgodności dwustronnej, gdyż wzorzec kojarzeniowy każdego z nich pasuje do części funkcjonalnej drugiego (#10# pasuje do 1100 i #01# pasuje do 1010). Trzeci z ciągów nie jest kandydatem nadającym się do kojarzenia, gdyż jego wzorzec kojarzeniowy nie pasuje do części funkcjonalnej żadnego z pozostałych. >; Taki mechanizm kojarzenia jest dość prosty, ale dlaczego właściwie powinniśmy komplikować istniejące operacje? Przede wszystkim chcielibyśmy, aby jednocześnie z selekcją genotypów pod względem przystosowania mogly ulegać adaptacji ich praktyki kojarzeniowe. Czyniąc wzorzec kojarzeniowy częścią genotypu, poddajemy go selekcji i działaniu operacji genetycznych ftak krzyżowanie, mutacja i inne). W ten sposób poputlacja wykształca drogą ewolucji preferencje reprodukcyjne, które sprzyjają wytwarzaniu ■lepszego potomstwa. Ów efekt drugiego rzędu może się początkowo wydać niezgodny Z iintuicją, ale przecież mieliśmy już okazję dyskutować podobny mechanizm, kiedy rozważaliśmy możliwość kontroli genetycznej nad parametrami algorytmu genetyczne go, takimi jak prawdopodobieństwa krzyżowania i mutacji (Bowen, 1986). Ponieważ
212 _____________________________________________ 5. Techniki i operacje zaawansowane L
w aktualnie rozważanym przypadku „plakietki preferencyjne” nie wpływają bezpośred nio na wartość przystosowawczą (nie zmieniają parametrów rozwiązania), więc mamy tu; właściwie do czynienia ze sprawą wydajności; preferowanie dobrych partnerów zwiększa prawdopodobieństwo dałszej poprawy wyników (zmniejsza prawdopodobieństwo destru kcji), możemy zatem oczekiwać wzrostu tempa poprawy w stosunku do algorytmów bez adaptacyjnych barier reprodukcyjnych. Proponowano liczne ulepszenia podstawowej wersji mechanizmu. Jedno z zastrze żeń wysuwanych wobec metody Bookera dotyczy konieczności dołączenia do ciągu kodowego wzorca kojarzeniowego o tej samej dlugości, co część funkcjonalna. Ponieważ mechanizm barier reprodukcyjnych przynosi w najlepszym razie wtórne korzyści, należy wątpić, czy wartjest inwestycji w postaci co najmniej dwukrotnego zwiększenia pamięci (nie wspominając już o dodatkowym koszcie obliczeniowym związanym z porównywa niem pelnych ciągów). W odpowiedzi na te obiekcje I-Iolland (doniesienie prywatne, l985) zaproponował zastosowanie trzyczęściowych ciągów kodowych, składających się z krótkiego wzorca kojarzeniowego, krótkiego identyfikatora kojarzeniowego i części funkcjonalnej o pełnej dlugości. Krótkie wzorce kojarzeniowe bylyby tu porównywane z krótkimi identyfikatorami kojarzeniowymi, a części funkcjonalne nie brałyby udziału w tym rytuale godowym. Przykładowa para trzyczęściowych chromosomów mogłaby wyglądać następująco: < W z o r z e c > ;< Id > ;< C z ę ś ć C u n k c jo n a ln a >
ItłOtt: 1 0 1 0
: 10010011101010
t t O # # :1 1 0 0 :U lU 0 0 0 0 1 0 0 1 0
Zauważmy, że wzorzec pierwszego ciągu pasuje do identyfikatora drugiego ciągu, i odwrotnie. Istnieje wiele odmian mechanizmu barier reprodukcyjnych. Sprawą otwartą pozo staje, czy Iepsza jest zgodność dwustronna czy jednostronna, a Booker(1982) posunął się nawet do sugestii, aby rozpatrywać różne stopnie zgodności częściowej, kiedy nie ma mowy o pełnej zgodności. Chociaż te i podobne pomysły brzmią wiarogodnie, nie przed stawiono na razie wielu argumentów teoretycznych ani empirycznych na ich poparcie. W konsekwencji problem wzorców i identyfikatorów kojarzeniowych pozostaje wciąż płodnym tematem badawczym.
5,5. Optymalizacja w ielokryterialna______________ ___________ Wszystkie dotychczas prezentowane zadania optymalizacji i poszukiwania sprowadzały się dojednego kryterium. Kryterium to (reprezentowane przez funkcję celu) było następ nie przekształcane do postaci funkcji przystosowania, po czym mogliśmy już przystępo wać do realizacji planu reprodukcyjnego z udziałem operacji genetycznych. Podejście takic zdaje egzamin w wielu zagadnieniach, ale zdarza się, że mamy do czynienia z wie loma kryteriami jednocześnie i nie jest rzeczą możliwą (ani rozsądną) wyrażać je w po-
5.5. Optymalizacja wielokryterialna ____________________________________ __________ 213
„,,, staci jednej liczby. Mówimy w takich przypadkach, że jest to problem optymalizacji >ielokryterialnej lub polioptymalizacji. Zagadnienia te są od dawna przedmiotemzaintejfjg'i iesowania badaczy stosujących tradycyjne techniki optymalizacji i poszukiwania. Nieda wno (Schaffer, 1984) do rozwiązania zadania optymalizacji wielokryterialnej użyto al gorytmów genetycznych. W ^przypadku jednego kryterium pojęcie rozwiązania optymalnego nie wymaga specjalnych wyjaśnień. Poszukujemy najlepszej (największej lub najmniejszej) wartości pewnej, z założenia dobrze określonej funkcji celu (reprezentującej użyteczność lub -. koszt). Natomiast przy optymalizacji wielokryterialnej pojęcie rozwiązania optymalnego nie jest tak oczywiste. Jeżeli z góry nie zgadzamy się porównywać ze sobą wartości , różnych kryteriów (powiedzmy, jablek i pomarańczy), to musimy zaproponować taką scIefinicję optymalności, która respektuje integralność każdego z nich. Przychodzi nam tu jiZ pomocą pojęcie optymalności w sensie Pareto. Najlepiej zilustrpwać je na prostym ;fcprzyldadzie. ;b Przypuśćmy, że producent „widgetów” chcialby zminimalizować jednocześnie j wypadkowość przy pracy i koszty produkcji. Obydwa te kryteria mają istotne znaczepie dla powodzenia jego przedsięwzięcia, a" w dodatku konsekwencje wypadku niełatwo przeliczyć na dolary. Tak więc przyklad ten jest dobrym kandydatem do optymalizacji wielokryterialnej. Przypuśmy następnie, że istnieje pięć możliwych wariantów organiza, cji procesu produkcji (scenariusze A, B, C, D i E), o następujących charakterystykach spod względem kosztu i wypadkowości: A = (2, 10) (koszt produkcji, liczba wypadków przy pracy) B = (4,6) C =(8,4) 'D = (9,5) E=(1, 8) Dane te są przedstawione na rys. 5.22 (wypadkowość w zależności od kosztów). Na pierwszy rzut oka wykres ten nie wydaje się być specjalnie pouczający: widać po prostu pięć chaotycznie rozmieszczonych punktów. Po chwili zastanowienia odkrywamy jednak, że najlepsze punkty znajdują się w obszarze położonym w dolnej i lewej części ' prostokąta. W szczególności scenariusze /i, B i C sprawiają wrażenie dobrych kan dydatów do wyboru: wprawdzie żaden nie jest optymalny ze względu na każde z dwóch kryteriów jednocześnie, ale decyzja wyboru któregoś z nich jest kwestią kompromisu - jeśli zyskujemy coś najednej osi, to tracimy na drugiej. W żargonie optymalizacyjnym mówi się, że te trzy punkty reprezentują rozwiązania niezdominowane, ponieważ nie istnieją żadne punkty, które byłyby lepsze ze względu na wszystkie kryteria jedno cześnie. Z drugiej strony scenariusze D i E nie przedstawiają się jako atrakcyjni kan|,. dydaci. Jest tak dlatego, że obydwa rozwiązania są zdominowane przez jakieś ii1ne. ^1' Scenariusz E (7, 8) jest zdominowany przez scenariusz B (4, 6), gdyż 4< 7 i 6<8. A scenariusz D (9, 5) jest zdominowany przez C (8, 4), bo 8<9 i 4<5. Tak więc jW tym zadaniu (i w innych zadaniach z wieloma kryteriami) zamiast jednej odpowiedzi otrzymujemy caly zbiór rozwiązań, z których żadne nie jest zdominowane przez drugie.
5. Techniki i operacje zaawansowane
214
Są to rozwiązania optymalne w sensie Pareto (P-optymalne). W rozważanym przypadku zbiorem scenariuszy P-optymalnych jest zbiór {A, B, C}. Patrząc od strbny praktycznej, koncepcja optymalności w sensie Pareto nie daje wskazówek co do wybOru ostatecznego rozwiązania spośród P-optymalnych. Decydent jest w końcu zmuszony samodzielnie ocenić wszystkie warianty przed wydaniem werdyktu.
A-<2. ł0>
10-
□
o
E-(7. *)
3 o
o B-<*. *>
O
0 -< 9 . 5 )
C-(*. *)
□
O
Koszty produkcji Rys. 5.22. Ilustracja problemu optymalizacji wielokryterialnej. Porównanie pięciu scenariuszy ze względu na wypadkowość i koszty produkcji. Scenariusze A, B i C są niezdominowane
Warunek optymalności w sensie Pareto można w ścislej postaci matematycznej sformułować następująco: Powiemy, że wektor x jest mniejszy (częściowo) od wektora y, wtedy i tylko w(edy, gdy ( V r ) ( jC j
< y,)
A
(3i)(x, < yj)
Mówimy wtedy również, że punktyjest zdominowany przez punktx11. Jeżeli dany punkt nie jest zdominowany przez żaden inny, to nazywamy go punktem niez.dominowanym. Będziemy używać tych podstawowych definicji, omawiając zastosowanie algoryt mów genetycznych w zagadnieniach wielokryterialnych'# Pomysł zastosowania poszukiwania genetycznego w problemach 'wielokryterialnych datuje się od najwcześniejszych eksperymentów z algorytmami genetycznymi. Pra ca Rosenberga (1967) zawiera sugestie, które musiałyby logicznie doprowadzić do op tymalizacji wielokryterialnej, gdyby autor zdecydował się je zrealizować. Proponowat on użycie wielu właściwości (odpowiadających pewnym kompozycjom składników chemi-
11 Autor używa zam iennie terminów punkt i wektor Q>rzyp. llum.).
I 5.5. Optymalizacja wielokryterialna ______ ______ ___________________________________ 215
cznych) w symulacjach procesów genetycznych i biochemicznych zachodzących w populacjj organizmów jednokomórkowych. W faktycznej implementacji Rosenberg ograniI j.czył się jedriak do tylko jednej właściwości, przez co jego pomysł może być uznany j.'izaledwie za zapowiedź nadchodzących zdarzeń. Praktyczna metoda została rozwinięta 17 lat później przez Schaffera (1984) wjego ■s programie VEGA (Vector Evaluated Genetic Algorithm). Schaffer rozszerzył program GENESIS Grefenstette’a (1984a, b), dostosowując go do zadań wieIokryterialnych. ProI gram tworzył podpopulacje jednakowej wielkości, wewnątrz których była przeprowadza na selekcja ze względu na oddzielne kryteria w wektorze ewaluacji. Mimo że selekcja odbywała się niezależnie dla kaźdego kryterium, kojarzenie i krzyżowanie przekraczało .. granice podpopulacji. Schaffer zdawał sobie sprawę, że choć metoda taka jest łatwa i: w implementacji, to selekcja według niezależnych kryteriów wykazuje tendencję na nie, korzyść osobników „pośrednich” (takich jak scenariusz B - dobrych ze względu na ,' każde kryterium, ale nie najlepszych ze względu na żadne z nich). Stosował on różne heurystyki włącznie z redystrybucją dóbr i krzyżowaniem linii, próbując przezwyciężyć tę trudność, ale w końcu poprzestał na zwykłej niezależnej selekcji. Schaffer przetestował program VEGA na zestawie siedmiu funkcji. Poprawność programu została sprawdzona na przykładzie funkcji F1 De Jonga. Dwie proste funkcje s zostały zaczerpnięte z literatury na temat optymalizacji wielokryterialnej (Vincent i Grantham, 1981), a cztery inne - z literatury dotyczącej technik regulacji (zagadnienia identyfikacji z obiektami sterowanymi od drugiego do siódmego rzędu). Chcąc poznać l;. typowe wyniki działania programu, rozważmy drugą funkcję Schaffera F2. 1 Jest to funkcja wektorowa o dwóch składowych, zależna od jednego parametru. Oznaczmy przez F2l pierwszą składową, przez F22 - drugą, a przez 1 - parametr:
I
Rys. 5.23. Rzut drugiej funkcji Schaffera (F2) na płaszczyznę rozwiązań. Zaznaczono front Pareto punktów niezdominowanych
216 -----------------------------------------------------------------------------,5. Teohnikiioperacje zaawansowane
Fn (t) = t2 ,F 22(t) = ( t - 2 f ..
Rzut tej funkcji na płaszczyznę Pareto został pokazany na rys. 5.23, z zaznaczeniem frontu Pareto punktów niezdominowanych. Wszystkie inne punkty są zdominowane przez front i VEGA powinna umieć wyszukać dobre rozwiązania. Na rysunku 5.24 przedstawiono wyniki otrzymane przez program w pokoleniach 0 i 3. VEGAwykryla front; jednak widać pewną tendencję do ignorowania punktów pośrednich.
Rys. 5.24. Rozwiązania cirugiego zadania Schaflera otrzymane za pomocą programu VEGA. Porównanie pokoleń 0 i 3 (Schatter, 1984). Przedruk za zezwoleniem
Zjawisko dyskryminacji rozwiązań pośrednich jes&poważnym problemem. W ża dnym pokoleniu nie powinno być tendencji skier<^warilj przeciwko jakimkolwiek lo kalnie niezdominowanym osobnikom. Jeżeli uznajemy koncepcję optymalności w sensie Pareto, to wszystkie takie osobniki powinny posiadać ten sam potencjał reprodukcyjny. Jednym ze sposobów osiągnięcia jednakowego potencjału reprodukcyjnego dla wszy stkich punktów na tym samym poziomie jest użycie specjalnej procedury sortującej. Jest ona podobna do procedur nadawania rang stosowanych dla pojedynczego kryterium (Baker, 1985); jednak w tym przypadku rangi są związane ze „stopniem niezdominowania” . Wszystkie niezdominowane osobniki w bieżącej populacji zostają oznaczone, umieszczone na szczycie listy i otrzymują rangę 1. W następnym kroku rozpatrujemy
i
5.6. Techniki oparte na wiedzy
217
pozostałą część populacji i wyszukujemy następnąpartięosobników niezdominowanych, nadając im rangę 2. Proces ten jest kontynuowany aż do nadania rang wszystkim osobnikom. Możemy wówczas przyporządkować każdemu osobnikowi - według jego rangi - liczbę potomnych kopii lub prawdopodobieństwo reprodukcji. Aby zapewnić utrzymanie dostatecznego zróżnicowania populacji, procedura ta powinna być używana łącznie z technikami formowania nisz i gatunków. Obecność nisz i gatunków może być szczególnie pomocna w stabilizowaniu licznych podpopuIacji, które tworzą się wzdłuż frontu Pareto, dzięki czemu można uniknąć nadmiernej konkurencji między odległymi członkami populacji.
.
5.6. Techniki oparte na wiedzy
W całym dotychczasowym wywodzie - przez prawie pięć rozdziałów tej książki - upor czywie lansowaliśmy tezę, że istota działania algorytmów genetycznych sprowadza się do współdziałania reprodukcji i krzyżowania. W rozdziale pierwszym wymianę schematów-cegiełek o dużej wartości przystosowawczej między ciągami kodowymi porównaliśmy niejasno do procesów twórczego myślenia u ludzi. Przeprowadziliśmy mianowicie paralelę między wymianą schematów, prowadzącą do formowania nowych ciągów, a wymianą poglądów, prowadzącą do formowania nowych idei. Argumentacja ta wydawała się wówczas pociągająca, gdyż istotnić my, ludzie, zestawiamy ze sobą wartościowe pomysły w poszukiwaniu nowych idei. Z drugiej jednak strony pogląd, że krzyżowanie losowe to istota mechanizmu twórczego myślenia u ludzi wydaje się zdecydowanie zbyt uproszczony. Szukając nowych pomysłów, ludzie z całą pewnością wybierają w sposób bardziej świadomy koncepcje, z których skrzyżowania rodzą się nowe idee. Ludzie posługują się zasobem posiadanej wiedzy rozstrzygając, które poglądy mogą ze sobą współgrać, i oceniając (bcz dokonywania bezpośrednich prób lub eks perymentów), czy efekt ich zestawienia ma dla nich jakiś sens. Inaczej mówiąc, operacje twórczego myślenia kierują się (przynajmniej od czasu do czasu) wiedzą. Algorytmy genetyczne - przeciwnie - są w swej najprostszej postaci procedurami ślepego po szukiwania: decydując o tym, jakie próby będą zadowalające w następnej turze, opierają się wyłącznie na własnościach funkcji kodującej i wartościach funkcji celu. Okoliczność ta jest jednocześnie błogosławieństwem i przekleństwem. Z jednej strony niewrażliwość na informację specyficzną dla zadania jest źródłem ich szerokiego zakresu zastosowań (metoda, która daje dobre wyniki bez uwzględniania szczegółowej wiedzy o danym problemie, ma znaczne szanse odniesienia sukcesu w innej dziedzinie). Jednak z drugiej strony, ignorując dostępną wiedzę o zadaniu, algorytmy genetyczne ustawiają się na niekorzystnej pozycji w porównaniu z konkurencyjnymi metodami, które czynią użytek z tej informacji. W tym punkcie omówimy różne sposoby połączenia wiedzy szczegółowej o zada niu z mechanizmami algorytmu genetycznego. Zbadamy techniki hybrydyzacji, operacje wzbogacone wiedzą i metody aproksymowania funkcji celu.
2 1 8 _____________________________________________ 5. Techniki i operacje zaawansowane
i. 5.6.1.
H ybrydyzacja
_________________________________________________________________ :________
Jeśli dysponujemy szczegółową wiedzą o zadaniu, to warto rozważyć połączenie algoryt mu genetycznego z jakąś wyspecjalizowaną techniką poszukiwania. Hybrydyzacja umo żliwia wykorzystanie „globalnego spojrzenia’’ algorytmu genetycznego z jednej strony i zbieżności techniki wyspecjalizowanej z drugiej. Rozwiązania takie były sugerowane przez licznych autorów (Bethke, 1981; Bosworth, Foo iZeigler, 1972; GoIclberg, 1983) - nie ma jednak zbyt wielu publikacji na temat osiągniętych w ten sposób wyników. Niemniej jednak sama idea jest prosta, ma merytoryczne uzasadnienie i może być stoso wana w celu poprawy efektywności końcowej procesu poszukiwań genetycznych. Optymalizacja lokalna funkcji ciągłych jednej lub wielu zmiennych jest dobrze rozwiniętą dziedziną wiedzy. Znane są liczne techniki gradientowe i niegradientowe znajdowania ekstremów lokalnych w tego typu zadaniach (Avriel, 1976). Aby skon struować algorytm hybrydowy dIa funkcji gładkiej, wystarczy po prostu „skrzyżować” preferowaną technikę lokalnego poszukiwania z algorytmem genetycznym. Algorytm genetyczny znajduje „wzgórze” , a technika lokalna występuje w roli wspinacza, wdra pującego się na „szczyt” . Metody hybrydowe mogą być używane ńawet w zadaniachjtiepoddających się technikom analitycznym. Na p r z j ^ d 'a l g o f j ^ y ^ ^ a n n e (Lawler, 197BT^SyslbrDeo i Kowalik, 1983) stanowią odmianę technik lokalnych w zadaniach optymalizacji kombinatorycznej, a dla wielu typowych zadań istnieją dobrze rozwinięte metody heurystycz ne. Specyficzność technik poszukiwania lokalnego powoduje, że dla każdego problemu lub klasy problemów fnusimy tworzyć odrębny algorytm hybrydowy. Nie możemy uciec od dylematu: efektywność czy ogólność. Jeżeli pragniemy korzystać z wiedzy szczegóło wej, musimy być gotowi poświęcić nieco ogólności; na szczęście możemy tu w znacznej mierze zastosować podejście modularne.
Rys. 5.25. Hybrydyzacja algorytmu genetycznego, podejście wsadowe. Algorytm genetyczny wyszukuje rejon wierzchołka, a procedura lokalna „wdrapuje się" na szczyt
[5'i6. Techniki oparte na wiedzy
219
Istnieje wiele sposobów hybrydyzacji algorytmu genetycznego przy jednoczesnym zachowaniu istotnego poziomu modularyzacji. Na rysunku 5.25 zostało pokazane podej ście „wsadowe” . Przy tym podejściu algorytm genetyczny pracuje aż do osiągnięcia •znacznego stopnia zbieżności populacji, a następnie włącza się procedura optymalizacji lokalnej, startując z jakichś 5-10% najlepszych punktów ostatniego pokolenia. Można iWtedy stosować także techniki niszowe i specjacyjne, opisane w poprzednim punkcie, w celu zapewnienia zróżnicowania populacji i powstania stabilnych podpopulacji zwią zanych z różnymi maksimami lokalnymi funkcji. Podejście równoległe do hybrydyzacji zostało przedstawione na rys. 5.26. Zakłada my tu dostępność wielu pracujących równolegle procesorów o mocy obliczeniowej wystarczającej do współbieżnego wyznaczania wartości funkcji dla poszczególnych ciągów kodowych w danym pokoleniu. Procesory współbieżne mogą być w ten sposób użyte do obliczania wskaźników przystosowania ciągów kodowych. Można ich również użyryać do wykonywania sporadycznych iteracji procedury lokalnego poszukiwania w celu ulep szenia bieżącego ciągu kodowego. (Więcej na temat równoległości w algorytmach gene tycznych powiemy wjednym z następnych punktów.)
Rys. 5.26. Hybrydyzacja algorytmu genetycznego, podejście równolegle
Bardziej „kanoniczną” metodą lokalną, nadającą się do hybrydyzacji z algoryt mem genetycznym, jest metoda iterowanych ulepszeń pozycyjnych [gradientlike-hitwise improvement, G-hit improvement]. Wjednej ze swych prac (Goldberg, 1983) wskazałem na podobieństwa między wykorzystaniem informacji o gradientach a zmianą poszcze? góInych bitów. Opierając się na tej idei, można otrzymać ogólną procedurę lokalnego poszukiwania, niezależną od struktury konkretnego zadania i od sposobu kodowanią rozwiązań. Metoda iterowanych ulepszeń pozycyjnych składa się z następujących trzech kroków: 1. Wybierzjeden lub kilka najlepszych ciągów kodowych z bieżącej populacji. 2. Zmieniaj wartości kolejnych bitów w wybranym ciągu lub ciągach, zachowując za każdym razem lepszy z dwóch ostatnich wariantów. 3. Po zakończeniu powyższych działań wlącz najlepszy znaleziony ciąg (lub k najlep szych ciągów) do populacji i kontynuuj zwykłe poszukiwanie genetyczne.
220
5. Techniki i operacje zaawansowane
(• Można pokazać, że metoda iterowanych ulepszeń pozycyjnych jest zbieżna do optymal nego rozwiązania dla każdej funkcji liniowej alleli. Można ją dodatkowo wzmocnić, zapamiętując historię udanych modyfikacji i wykorzystując tę informację przy pode jmowaniu decyzji, czy w danej sytuacji opłaca się prowadzić dalsze p.róby ulepszeń. Inne rozszerzenie metody mogloby polegać na eksperymentowaniu z parami lub trójkami bitów; należy tujednak zachować ostrożność, aby nie doprowadzić do kombinatorycznej eksplozji złożoności nawet w przypadku ciągów o umiarkowanej długości.
5.6.2. Operacje wzbogacone wiedzą _ _ _ _____________________________________ Techniki hybrydowe stanowiąjeden ze sposobów wprowadzenia dodatkowej informacji, dzięki której można przyspieszyć proces poszukiwania genetycznego. Dodatkowej infor macji można także użyć w celu lepszego ukierunkowania operacji genetycznych. Może my w pewnym sensie mówić o „wspomaganiu” wiedzą szczegółową losowego wyboru podczas operacji takich, jak mutacja i krzyżowanie. Pierwsze prace z tego zakresu dotyczyły mutacji. Bosworth, Foo i Zeigler (1972) użyli zmiennoprzecinkowej reprezentacji parametrów w wielowymiarowym zadaniu op tymalizacyjnym oraz zastosowali operację krzyżowania (na styku parametrów) i kilka wariantów mutacji uwzględniających specyfikę zadania. Jeden z tych wariantów obej mował metodę Fletchera-Reevesa (metodę gradientów sprzężonych) w połączeniu z me todą złotego podziatu. Podejście to przypomina nieco techniki hybrydowe omawiane w poprzednim punkcie. Możliwość uwzględnienia wiedzy szczegółowej w sposobie dzialania operacji ge netycznej nie ogranicza się do mutacji. Grefenstette, Gopal, Rosmaita i Van Gucht (1985) zaprojektowali heurystyczną, „zachłanną” operację krzyżowania dla zagadnienia komiwojażera (TSP). Przyjrzyjmy się metodom reprezentacji rozwiązań i operacjom, które zaproponowali wymienieni autorzy. Rozważane przez nich sposoby reprezentacji obejmowały m. in. reprezentację po rządkową [ordinal], ścieżkową [palli] i opartą na relacji sąsiedztwa [adjacencyj. W przy padku reprezentacji porządkowejjest tworzony uporządkowany „stos” zawierający nazwy jeszcze nie odwiedzonych miast, a reprezentacją trasy podróży jest po prostu aktual ny numer pozycji (na stosie) miasta, które ma być odwiedzone w pierwszej kolejności. Zaletą reprezentacji porządkowej jest to, że operacja krzyżowania zachowuje trasy1’. Wadą tej reprezentacji jest natomiast fakt, że drobne zmiany kodu mogą powodować kompletną reorganizację trasy podróży. W konsekv&encjl reprezentacja porządkowa nie wytwarza sensownych „cegielek” , czyli dobrych kandydatów do poszukiwania genety cznego, Inne reprezentacje, takie jak reprezentacja ścieżkowa (kolejne miasta na trasie) lub oparta na relacji sąsiedztwa (wartość j na pozycji i oznacza, że miasto j następuje po mieście /), dostarczają bardziej sensownych „cegiełek” , ale operacja krzyżowania pros tego, dzialając na dowolnej z tych reprezentacji, wytwarza sekwencje nie odpowiadające trasom. Aby się o tym przekonać, rozważmy przykładowe trasy w obu reprezentacjach. ” Tz.n. wynik krzyżowania dwóch tras jest zawsze dobrze określoną trasą (przyp. llmn.).
^ 5.6. Techniki oparte na wiedzy
221
W reprezentacji ścieżkowej trasa (l 3 5 4 2) biegnie od miasta i kolejno przez miasta 3, 5, 4 i 2 z powrotem do miasta 1. Widać wyraźnie, że krzyżowanie nie gwaranftitjc w tym przypadku uzyskania poprawnych tras potomnych. Jeżeli skrzyżujemy trasy (5 4 3 2 1) i ( 1 2 3 4 5) w punkcie krzyżowania 3, to otrzymamy ciągi potomne ‘f5 4 3 4 5) i (1 2 3 1 2). W reprezentacji opartej na relacji sąsiedztwa mamy do sczynienia 'z tym samym problemem. W tej reprezentacji ćiąg (5 4 1 3 2) opisuje | trasę biegnącą z miasta 1 jdo miasta 5, następnie z miasta 5 do miasta 2, z miasta $ 2 do miasta 4, z miasta 4 do miasta 3 i z miasta 3 z powrotem do miasta 1. Skrzyżowanie >ndwóch tras (5 4 1 3 2) i (2 3 4 5 1) w punkcie 3 daje w wyniku dwa ciągi ! (5 4 1 5 i) i (2 3 4 3 2), nie będące trasami. W obliczu tego problemu autorzy pracy zdecydowali się na reprezentację opartą na ,■relacji sąsiedztwa oraz wymyślili heurystyczną operację krzyżowania (krzyżowanie zas chlanne), która konstruuje trasę potomną, wybierając lepszą z dwóch krawędzi rodziciel)jiskich (Grefenslelte i in., 1985, str. 164): Operacja ta konstruuje potomku z dwóch tras rodzicielskich w następujący sposób: Wybierz losowe miasto jako początek trasy potomnej. Porównaj dwie krawędzie wychodzące z wy branego miasta w trasach rodzicielskich i wybierz krótszą z nich. Kontynuuj próby prze dłużenia trasy cząstkowej, wybierając krótszą z dwóch nadających się do tego krawędzi rodzicielskich. Jeżeli krótsza krawędź powoduje powstanie cyklu, w trasie cząstkowej, to przedluż ją wybierając losową krawędź. Kontynuuj to postępowanie aż do uzyskania pelnej trasy.
200 miast Odleglość=1475,68 Populacja początkowa Rys. 5.27. Typowa trasa początkowa w zagadnieniu komiwojażera dla 200 miast (Grefenstette i in., 1985). Przedruk za zezwoleniem
5. Techniki i operacje zaawansowane
222
L
200 miast Odległość = 2Ó3,46 Pokolenie 493 24596 prób Rys. 5.28. Zagadnienie komiwojażera dla 200 miast, najlepsza trasa w populacji 493 (końcowej). Metoda krzyżowania zachłannego (Grefenstette i in., 1985). Przedruk za zezwoleniem
Zastosowanie tej operacji w połączeniu z reprodukcją przyniosło dobre wyniki dIa zadań obejmujących do 200 miast; otrzymano rozwiązania prawie optymalne przy nakładzie obliczeniowym tego samego rzędu, co w przypadku procedur symulowanego wyżarzania (Bonomi i Lutton, 1984; Kirkpatrick, Gelatt i Vecchi, 1983). Na rysunkach 5.27 i 5.28 porównano reprezentatywną trasę w populacji początkowej z najlepszą trasą w ostatnim pokoleniu dla zadania obejmującego 200 miast. Podejście to nie daje się bezpośrednio porównać z „czystymi” metodami omawianymi wcześniej w związku z operacjami rekonfiguracji. Krzyżowanie zachłanne korzysta w istotnym stopniu z wiedzy o odległoś ciach między miastami. W przeciwieństwie do tego operacje PMX, OX i CX nie zależą od dodatkowej wiedzy szczegółowej i nie należy ich porównywać z operacjami, które wykorzystują taką informację.
5.6.3.
M eto d y aproksym acyjne
________________________
v________________________________
W wielu przypadkach dysponujemy wiedzą szczegółową, która umożliwia skonstruowa nie przybliżonego modelu zadania. To z kolei daje możliwość lepszego lub gorszego aproksymowania funkcji celu. Stosując algorytmy genetyczne, możemy wykorzystać z pożytkiem tę wiedzę w celu zredukowania liczby kosztownych obliczeń dokładnych wartości funkcji. W różnych zadaniach optymalizacji lub poszukiwania jednorazowe obliczenie wartości funkcji celu bywa ztożonym procesem, obejmującym wiele pozio mów podprogramów, obliczenia numeryczne lub symboliczne oraz rozmaite funkcje
i
jpi6. Techniki oparte na wiedzy_____________________________________________ 223
fkodujące i dekodujące. Jeśli więc aproksymacja wartości funkcji przynosi oszczędności, (pmożliwiając przez to wykonanie większej liczby ewaluacji w tym samym czasie, to 1jakie podejście może być warte zastosowania. Uwaga ta odnosi się szczególnie do al gorytmów genetycznych, jako że zgodnie z naszymi oczekiwaniami powinny one wykaI |z^wać odporność na błędy i zakłócenia. | / < r ' Mieliśmy już wcześniej okazję omówić pewną technikę przybliżonej ewaluacji I j funkcji, zastosowaną przez prefenstette’a i Fitzpatricka (1985) w pracy dotyczącej od1 1 ,twarzania obrazów. Przypomnijmy, że ewaluacja funkcji polegała tam na obliczeniu i łącznej różnicy pikseli tworzących dwa obrazy - jednego sprzed, a drugiego po wstrzykI klnięciu śródka cieniującego do tętnicy. Algorytm genetyczny miał za zadanie znalezienie f iwspółczynników przekształcenia dwuliniowego, które minimalizuje różnicę między ob razami. Obliczenia przeprowadzane w badaniach pilotowych były dość kosztowne, gdyż każdy obraz składał się ze 100x 100=10000 pikseli. Po serii eksperymentów Grefenstetute i Fitzpatrick przekonali się, że przy ustalonej łącznej liczbie operacji odejmowania pikseli (200000), najlepsze wyniki dały przybliżone ewaluacje funkcji, dokonywane na |,podstawie losowej próby złożonej z zaledwie 10 (spośród 10000) pikseli. Pomysł ten i może być bezpośrednio zastosowany w innych przypadkach, w których wchodzi w grę próbkowanie wartości funkcji. Możemy również wykorzystać ogólną ideę aproksymowa,,,nia wartości funkcji w zagadnieniach charakteryzujących się bardziej tradycyjną struk turą matematyczną. W wielu zagadnieniach optymalizacji dysponujemy dość dokładną wiedzą na temat matematycznej postaci zarówno modelu systemu, jak i funkcji celu. Wiedza ta umożliwia skonstruowanie stosunkowo „tanich” przybliżonych modeli systemu. Przypuśćmy, że mamy zmaksymalizować następującą „idealną” funkcję celu:
I
max /(i', d) ‘ gdzie s jest ;i-wymiarowym wektorem stanu, d zaś w-wymiarowym wektorem decyzji. Załóżmy następnie, że matematyczny model systemu jest dany przez równanie wektorowe g (.v, d) = 0, gdzie g jest n-wymiarową funkcją wektorową. ą' * Tradycyjny sposób rozwiązania powyższego układu równań wiąże się zazwyczaj z serią przekształceń, podczas których należy odgadnąć (przybliżone) wartości zmiennych sta nu, dokonać linearyzacji nieliniowego modelu i wyznaczyć nowe wartości zmiennych I, stanu. Po znalezieniu rozwiązania taką metodą nietrudnojuż przeprowadzić analizę wra> żliwości rozwiązania na małe zaburzenia: As = -
dg]^1 <3g Ad ds. dd
Zmiany wektora stanu zostały tu wyrażone w postaci funkcji liniowej zmian wektora decyzji. Daje to możliwość obliczania liniowych poprawek do wartości funkcji celu, zgodnie z następującą równością:
224
5. Techniki i operacje zaawansowane
/“I A'+I Arf
4
Możemy także obliczać dokładne wartości funkcji celu dla przybliżonych wartości zmiennych stanu. Jakąkolwiek metodę aproksymacji wybierzemy, musimy pamiętać, że kiiżdy potomny ciąg kodowy ma dwoje rodziców, a zatem w obliczeniach przybliżonej wartości funkcji celu dla potomka powinniśmy systematycznie uwzględniać dane po chodzące od obydwu ciągów rodzicielskich. Można przy tym oprzeć się na: a) najbliższym z rodziców; b) średniej ważonej obu rodziców; c) ostatnio ewaluowanym rodzicu. Zgodnie z tym, ciągi rodzicielskie mogą przekazywać potomkom swojejakobiany w celu propagacji przybliżonego modelu i przybliżonych wskaźników przystosowania. Oblicza- : jąc poprawki do jakobianów, można starać się wydłużyć okres przydatności modelu; liniowego. Istnieją też możliwości otrzymania lepszego modelu przybliżonego na pod stawie danych z calęj populacji, a nie tylko samych ciągów rodzicielskich. Techniki te nie zostaly zastosowane w praktyce; powinny Onejednak otworzyć drogę do zwiększenia konkurencyjności metod poszukiwania genetycznego w sytuacji, kiedy naturalny proces modelowania prowadzi do konstrukcji modelu zlinearyzowanego.
5.7. Algorytmy genetyczne a architektura równoległa__________________________________________ Jest wielkim paradoksem, że w świecie, w którym algorytmy sekwencyjne przekształca się w równolegle, zazwyczaj dzięki niezliczonym trikom i łamańcom, algorytmy genety czne (z natury w wysokim stopniu równolegle) są realizowane sekwencyjnie za pomocą równie nienaturalnych chwytów. Musi więc dziwić fakt, że aż do niedawna bardzo nie wiele wysilku poświęcano implementacji algorytmów genetycznych w sposób wykorzys tujący istniejące lub projektowane równolegle architektury sprzętowe. W tym punkcie zajmiemy się więc współbieżnymi implementacjami algorytmów genetycznych. Holland w jednej z najwcześniejszych prac teoretycznych (1962c) rozpoznał współbieżną naturę paradygmatu reprodukcyjnego i inhe.rentną efektywność przetwarza nia równoległego. Posunął się on nawet do rozważńń nap realizacją planów reprodukcyj nych za pomocą pewnego modelu komputera komórkowego (1959, 1962). Inni dawniejsi badacze nie poświęcili wiele uwagi możliwościom, jakie niosły współbieżne implementacje algorytmów genetycznych. Bethke (1976) podał różne osza cowania złożoności dla określonych sposobów realizacji algorytmu genetycznego na maszynie równoległej. Doszedł on do wniosku, że podstawowe wąskie gardło ówczes nych realizacji będzie stanowić obliczenie średniego wskaźnika przystosowania popula cji. Nie próbowal jednak zasymulować ani zaimplementować współbieżnego algorytmu genetycznego.
1 'l i Ś j - 1Algorytmy
genetyczne a architektura równoległa____________________________
225
' Grefenstette (1981) rozważał kilka współbieżnych implementacji algorytmów genel/cznych. Przedstawił on w szczególności w zarysie cztery następujące projektyorganizacji algorytmu: £"■ ■ i synchroniczna scentralizowana; b) półsynchroniczna scentralizowana; c) asynchroniczna rozproszona; d) sieciowa. Organizacja synchroniczna scentralizowana została już wcześniej przedstawiona na rys. 5.26. Mamy tu do czynienia z jednym procesem nadrzędnym, który koordynuje k procesów podrzędnych. Proces nadrzędny odpowiada za selekcję, kojarzenie oraz wy konywanie operacji genetycznych. Procesy podrzędne obliczają natomiast wskaźniki pi/ystosowania. Organizacja tajest przejrzysta idość łatwa do realizacji, majednak dwie zasadnicze słabości. Po pierwsze duża wariancja czasu niezbędnego do obliczenia wskai Uników przystosowania powoduje duże straty. Po drugie niezawodność algorytmu zależy pośrednio od niezawodności procesu nadrzędnego. Jeśli ten zawiedzie, cały system *;<,utrzyma się. Odpowiedzią na pierwszą trudność jest drugi projekt Grefenstette’a, or\ ganizacja pólsynchroniczna scentralizowana. Wymóg synchroniczności został tu zniesio ny - elementy populacji są wstawiane i selekcjonowane na bieżącovgdy tylko odpowiedi ^ne procesy podrzędne zakończą swoją pracę. Mechanizm ten działa podobnie do popula£ fćji mieszanych De Jonga ze współczynnikiem wymiany G (rozdział 4). Organizacja ! pólsynchroniczna scentralizowana jest również zawodna ze względu na zależność od Pochowania jednego wyróżnionego procesu. W asynchronicznym rozproszonym algorytmie genetycznym (przedstawionym hematycznie na rys. 5.29) k identycznych procesorów wykonuje niezależnie od siebie równo operacje genetyczne, jak i obliczenia wskaźników przystosowania, korzystając
8
ftys. 5.29. Organizacja współbieżnego asynchronicznego algorytmu genetycznego
226 _____________________________________________5. Technikiioperacje zaawansoWa'nej,l '
ze wspólnej pamięci dzielonej. Dostęp do pamięci dzielonej jest ograniczony jedyniiś|l warunkiem, aby procesy nie odwolywaly się jednocześnie do tego samego miejsca w pa mięci; poza tym nie ma tu innych wymagań synchronizacyjnych. Organizacja ta. jeśj4| nieco bardziej skomplikowana niż dwie poprzednie, ale niezawodność systemu znac/me *' wzrasta. Dopóki bowiem działa choć jeden z procesów współbieżnych i jakaś c / ę ś ć pamięci dzielonej, dopóty wykonywanie algorytmu posuwa się naprzód. Organizacja sieciowa zostala pokazana na rys. 5.30. W tym przypadku k niezaleznych algorytmów genetycznych (obejmujących operacje genetyczne i obliczanie wskaźników przystosowania) wykonuje się, korzystając z własnych, niezależnych pamięci. Owe k proce sów działa autonomicznie z wyjątkiem tego, że najlepsze osobniki wykryte w danym ■ pokoleniu są rozsyłane do innych podpopulacji poprzez sieciowy system komunikacy |ny, f Oznacza to znaczną redukcję potrzeb komunikacyjnych w stosunku do innych organizjcp, • System osiąga wysoką niezawodność dzięki autonomiczności niezależnych procesów |
Rys. 5.30. Organizacja sieciowego algorytmu genetycznego
Niedawno zasugerowałem podejście obiektowe do implementacji współbie/r.eci' algorytmu genetycznego. Rozpatrujemy tu dwa modele implementacyjne: model wspól:.f. notowy [community] oraz model pyłkowy \plant pollination]. Model wspólnotowy został* naszkicowany na rys. 5.31. Algorytm genetycznyjest tam rozdystrybuowany pomiędzy zbiór połączonych ze sobą „wspólnot” . W skfad v$polnot wchodzą domy przyłączone do centralnych, połączonych wzajemnie miast. Rodzice produkują potomstwo w swoich ; domach i tam też wyznacza się wskaźniki przystosowania. Dzieci są następnie wysyłane do centralnego klubu młodzieżowego (w mieście), gdzie spotykają się ze swymi przy szłymi partnerami. Po zawarciu związku pary udają się do agencji handlu nieruchomoś-S ciami, by znaleźć dla siebie dom. Domy są oferowane ubiegającym się o nie parom w drodze przetargu. Jeśli miasto jest aktualnie przeludnione, pary mogą się zwrócić do agencji o znalezienie domu w innych wspólnotach i w razie potrzeby udają się na dwo rzec autobusowy, aby przenieść się do innej wspólnoty.
5.7. Algorytmy genetyczne a architektura równolegta
227
Rys. 5.31. Podejście obiektowe, model wspólnotowy algorytmu genetycznego
Model pyłkowy składa się z sieci „roślin” połączonych kanałami przenoszącymi Ipyłek” (rys. 5.32). Ziarna kiełkują i rozwijają się w dojrzałe rośliny wytwarzające Jyłek, który jest roznoszony po całej sieci. Z każdym kanałem sieci związane jest praw-
Rys. 5.32. Podejście obiektowe, model pylkowy algorytmu genetycznego
228
5. Techniki i operacje zaawansowar»_
i, dopodobieństwo transmisji pyłku. Umożliwia to tworzenie podpopulacji roślin izolowa nych w mniejszym lub większym stopniu od innych. Pyłek zapyla dojrzale rośliny, powodując powstanie nowych ziaren. Najlepsze ziarna zostają lokalnie wyselekcjonowar| ne (w sposób probabilistyczny) do kiełkowania, aby przekształcić się w dojrzałe rośliny) | Chociaż opisane modele obiektowe mogą wydać się zabawne, a nawet nieco fry) { wolne, to zostały pomyślane jak najbardziej poważnie. Traktując każdą składową proce su jako obiekt łatwiej możemy określić ich zapotrzebowanie na moc obliczeniową, wieP, kość pamięci i przepustowość kanałów komunikacyjnych. Dzięki temu powinniśmy być( zdalni do efektywniejszej implementacji algorytmu genetycznego we współbieżnych sysL'; temach komputerowych. W ostatnim czasie pojawilo się kilka doniesień o symulacjach i implementacjach współbieżnych (Jog i Van Gucht, 1987; Pettey, Leuze i Grefenstette, 1987; Suh i Van Gucht, 1987b; Tanese, 1987). Należy się spodziewać dalszego rozkwitu tego kierunkubadań, w miarę upowszechniania się sprzętu o architekturze równoległej i odpowied niego oprogramowania wspomagającego.
5.8. Podsumowanie
_____________________________________
W tym rozdziale omówiliśmy niektóre zaawansowane operacje i techniki slużące uspra-. wnieniu elementarnego algorytmu genetycznego. Na początek rozważyliśmy rozmaite mikrooperacje, lj. operacje genetyczne działające na poziomie chromosomu, obserwowa ne w przyrodzie. Omówiliśmy kolejno: mechanizm dominowania i diploidalność, opera cje rekonfiguracji, segregację, translokację, duplikację i delecję. Diploidalność w połączeniu z dominowaniem zostały rozpatrzone jako metoda implementacji pamięci długoterminowej. Zarówno teoria,jak i wyniki symulacji wskazu ją na przydatność takiego podejścia w przypadku niestacjonarnych, a szczególnie perio dycznych funkcji przystosowania. Omówiliśmy również teorię i realizacje operacji rekonfigurujących. Zastosowanie tych operacji wymaga wprowadzenia numeracji alleli (rozszerzonej reprezentacji). Omó wiliśmy operacje jednoargumentowe, takie jak inwersja, oraz dwuargumentowe, jak PMX, OX i CX. Teoria schematów daje się uogólnić na przypadek schematów porząd kowych, związanych z operacjami rekonfiguracji. Zaproponowaliśmy klasyfikację sche matów porządkowych (o-schematów), obejmującą schematy bezwzględne, względne, z poślizgiem i zamianą. L f Rozważyliśmy także inne operacje niskopoziomowe,jak segregacja i translokacja. Wymagają one rozszerzenia genotypu do postaci struktury wielochromosomowej. Ponad to duplikacja i delecja pociągają za sobą konieczność wprowadzenia reprezentacji o zmiennej dtugoSci. Omówiliśmy też proces zróżnicowania płciowego i rolę, jaką może on odgrywać (umożliwienie kooperacji i specjalizacji wewnątrzgatunkowej). Makrooperacje - operacje działające na poziomie populacji - umożliwiają z kolei różnicowanie prowadzące do tworzenia się nisz i powstawania gatunków. Podstawowe koncepcje teoretyczne, koncentrujące się wokół idei podziału zasobów i barier reproduk-
5 9 Zadania
229
cyjnych, doprowadziły nas do rozważenia pewnych rozwiązań praktycznych. Zjawisko łIrmowania się nisz można wywolać dzięki zastosowaniu technik tworzenia ścisku lub użyciu funkcji współudziału. Natomiast specjację można uzyskać w wyniku wprowadzeifia barier reprodukcyjnych (sztywnych łub adaptacyjnych). j Omówiliśmy następnie pokrewny temat optymalizacji wielokryterialnęj. Przedsta wiliśmy w zarysie koncepcję optymalności w sensie Pareto (rozwiązań niezdominowańych). Rozważyliśmy także metody selekcji opartej na wielu kryteriach. Selekcja według ąiezależnych kryteriów prowadzi do dyskryminacji rozwiązań „pośrednich” . Użycie procedury sortującej populację według stopnia niezdominowania osobników powinno złagodzić tę trudność, ale jak dotąd nie wypróbowano praktycznie tej metody. ■ii Przedyskutowaliśmy trzy nurty technik opartych na wiedzy: hybrydyzację, opera cję wzbogacone wiedzą i metody aproksymowania funkcji celu. Techniki te umożliwiają wykorZyslanie wiedzy szczegółowej, dostępnej w wielu zadaniąch poszukiwania i op tymalizacji. Na koniec omówiliśmy zagadnienie implementacji algorytmów genetycznych w sprzęcie o architekturze równoległej. Zakrawa na ironię fakt, że pomimo współbież nego charakteru naturalnych procesów genetycznych, w literaturze na temat przetwarza nia współbieżnego nie poświęcono dotąd większej uwagi algorytmom genetycznym . Do piero teraz teoretyczne i praktyczne badania w tym kierunku zaczynają wzbudzać więkśze zainteresowanie. ?. , Pod wieloma względami udało nam się zaledwie musnąć problematykę stosowaneg0 poszukiwania genetycznego. Opisane tu zaawańsowane techniki i operacje powinny w praktyce doprowadzić do dalszego usprawnienia i rozszerzenia zakresu zastosowań algorytmów genetycznych.
5.9. Zadania 5.1.
Chromosom haploidalny składa się zjednego genu o dwóch allelach, 1 i 0. War tość oczekiwana przystosowania wynosi /, = 1,5 dla allelu 1, a /;,= 1,2 dla alleIu 0. Zakładając, że nie występują straty z tytułu mutacji oraz że populacja zawiera początkowo równą liczbę obu rodzajów alleli, oblicz następujące wielkości: a) oczekiwaną frekwencję allelu 1 w pokoleniu 1, b) oczekiwaną liczbę pokoleń potrzebnych do osiągnięcia co najmniej 99-proceńtowej frekwencji jedynek.
| 5.2. Wykonąj te same obliczenia, co w zadaniu 5.1 dla populacji diploidalnej, zakładav jąc, że allel 1 jest dominujący, a dane dotyczące przystosowania odnoszą się do j'. alleli ujawnionych. i 5.3. Załóżmy, że współczynnik strat dla pewnego allelu wynosi 50%. Wyznacz tempo mutacji niezbędne do utrzymania l-procentowej frekwencji tego allelu w popula cji haploidalnej i w populacji diploidalnej. Oblicz oczekiwaną częstość wybóru postaci recesywnej podczas reprodukcji.
230
5. Techniki i operacje zaawansowane
Pewna trasa ma reprezentację ścieżkową (2 1 4 3 7 6 5 9 8 0). Wykonaj dIa niejoperację inwersji z punktami podziału 3 i 5. Wyznacz dolne ograniczenie prawdopodobieństwa przeżycia przy inwersji dla schematu [518] traktowanego jako: bezwzględny o-schemat, względny o-schemat, względny o-schemat z poślizgiem-, oraz względny o-schemat z poślizgiem i zamianą. 5.5. Oblicz całkowitą liczbę o-schematów (bezwzględnych) dla ciągów kodowych długości 1= 10, 20, 50 i 100. 5.6. Rozwiń o-schemat r,2(2!18) na bezwzględne o-schematy, przy założeniu struktury kołowej. > 5.7. Rozwińwzględny o-schemat z poślizgiem w^(2134) na o-schematy względne. 5.8. Zakładając, że w wyniku duplikacji wewnątrzchmosomowej w danym genotypie pojawiło się sześć egzemplarzy danego allelu, a prawdopodobieństwo mutacji dla pojedynczego allelu wynosi 0,05, oblicz prawdopodobieństwo, że mutacja dotknie 0, 1, 2, 3, 4, 5 i 6 egzemplarzy tego allelu. Podaj wyniki dokładne oraz przy bliżone (korzystając z rozkładu Poissona). 5 .9. Operacja translokacji polega na podziale chromosomu w losowo wybranym punk-' cie (z jednakowym prawdopodobieństwem) i dołączeniu odciętego odcinka do innego chromosomu w obrębie tego samego genotypu. Oszacuj prawdopodobieńs two rozdzielenia dwóch alleli odległych od siebie o pięć pozycji w ciągu o długo ści 25. Prawdopodobieństwo zajścia translokacji wynosi 0,3. 5.10. Obmyśl mechanizm reprodukcji płciowej (z użyciem genu płci), który wytwarza trzy płci: męską, żeńską i nijaką w stosunku 2:1:5. Podaj naturalne przykłady . gatunków różnicujących się więcej niż o dwie płci. 5.11. Dla dwójkowego problemu decyzyjnego z wypłatami /, = 10 przy decyzji l i f 0= 5 przy decyzji 0, oblicz oczekiwaną liczbę decyzji 1 w następnym pokoleniu, jeśli zastosowano zwykłą metodę reprodukcji: a) bez podziału wypłat, b) z (równym) podziałem wypłat. Przyjmij, że bieżąca populacja zawiera 70 jedynek i 30 zer. 5.12. W pewnej metodzie kojarzenia opartej na wzorcach kojarzeniowych dopuszcza się częściowe dopasowanie, jeśli brak pelnego dopasowania. Obmyśl miarę dopaso wania, przy której pełne dopasowanie otrzymuje wyższą ocenę niż jakiekolwiek częściowe dopasowanie. 5 .1 3 . Metoda selekcji wielokryterialnej Schaffera (l984) faworyzuje rekordzistów ze względu na jedno kryterium. Czy w przypadku zadania minimalizacji rodzi to większe problemy dla wklęsłego czy dla wypukłego frontu Pareto? Uzasadnij krótko swoją odpowiedź. Jt5 .1 4 . Rozważmy zadanie maksymalizacji funkŚji c»lu f(x, y ) - x 2+y2 na krzywej y=x* + 3x+6 (model systemu). Znajdź przybliżenia liniowe obu Tunkcji w punk cie (x0, y0). Rozważ dwie metody kombinacji modeli przybliżonych umożliwiają ce propagację modelu przybliżonego bez konieczności dokonywania dodatko wych ewaluacji funkcji. 5 .4.
0. Ćwiczenia komputerowe
1
231
5.10. Cwiczenia komputerowe A. Zaimplementuj elementarny algorytm genetyczny z diploidalnością i triallelicznym mechanizmem dominowania. B. Zaprogramuj i przetestuj operację CX dla reprezentacji permutacyjnej. 0s Zaprogramuj i przetestuj operację inwersji traktującą permutacje jako struktury ko łowe. D. Opracuj metodę kodowania niechlujnego dla zagadnienia komiwojażera, w której dopuszcza się nadmiarowe wystąpienia miast w reprezentacji ścieżkowej. Obmyśl i przetestuj procedurę dekodowania takiej niechlujnej reprezentacji. Zaprogramuj i przetestuj operację OX dla reprezentacji permutacyjnej. Zaprogramuj algorytm genetyczny z dwoma mechanizmami tworzenia nisz: metodą ścisku De .Tonga i metodą funkcji współudziału GoIdberga-Richardsona. Porównaj ii i omów wyniki uzyskane przy zastosowaniu obu mechanizmów dla wybranej funkcji wielomodalnej.
I
t i;- Zaprogramuj metodę wzorców kojarzeniowych Bookera i Hollanda. Zaimplementuj reguły zgodności dwustronnej i jednostronnej w postaci przełączalnych opcji pro gramu. Zastosuj wielokryterialny algorytm genetyczny do optymalizacji drugiej funkcji " Schaffera (rys. 5.23 i 5.24). Posłuż się dwiema metodami selekcji: metodą niezależ Ł nych kryteriów Schaffera i metodą sortowania wg stopnia niezdominowania GoIdberga. Porównaj i omów otrzymane wyniki. I. Zaimplementuj metodę iterowanych ulepszeń pozycyjnych. Porównaj i omów efek tywność on-line i off-line uzyskane dla funkcji De Jonga F\ i F5 w eksperymentach ,, ( bez użycia i z użyciem tej metody. |; !<|.'. Użyj elementarnego algorytmu genetycznego do rozwiązania problemu optymalizacji ■-: postawionego w zadaniu 5.14. Zaprogramuj metodę przybliżonej ewaluacji funkcji i rozwiąż ponownie ten sam problem. Porównaj wyniki otrzymane dla dokładnej i przybliżonej ewaluacji funkcji.
I
Rozdział
6
Wprowadzenie do genetycznych systemów uczących się
Pięć rozdziałów wcześniej rozpoczęliśmy wędrówkę w świat algorytmów genetycznych z myślą o ostatecznym celu, jakim jestzrozumienie odporności - uniwersalności i skuteczności zarazem - metod genetycznych w zastosowaniu do samouczenia i samosterowania. Z pewnego punktu widzenia nasze zainteresowanie zastosowaniem algorytmów ge netycznych w zagadnieniach poszukiwania i optymalizacji było odejściem od zasadni czego celu, gdyż, jak dobrze wiemy, metodyka optymalizacji jest zbyt sztywna, byśmy mogli proces optymalizacji powierzyć samemu sobie nawet w zupełnie prostych przypa dkach. Z innego punktu widzenia, zbadanie zachowania się algorytmów genetycznych w zagadnieniach poszukiwania i optymalizacji służyło bardziej ambitnemu celowi, który wytyczyliśmy, z dwóch powodów. Po pierwsze te przedszkolne zabawy w poszukiwanie daly nam możliwość precyzyjnej kontroli „środowiska” , w którym działa algorytm ge netyczny, jak i samych operacji genetycznych, dzięki czemu mogliśmy przeprowadzić dokładną „sekcję” algorytmu genetycznego i jego sposobu działania. Po drugie, roz ważając rozmaitość zastosowań algorytmów genetycznych w zagadnieniach poszukiwa nia, mieliśmy możność zaobserwować ich naturalną zdolność szybkiego przeszukiwania dowolnych przestrzeni ciągów kodowych. O co więc chodzi? Dlaczego nie możemy po mpstu wypróbować tej umiejętności w bardziej skomplikowanych, mniej wyraźnie otfreślInych środowiskach? Problem leży nie w samych algorytmach genetycznych, ale w strukturach, które chcćmy poddać adap tacji. W tym rozdziale pokażemy, jak można przezwyciężyć tę trudność, zmieniając adaptowaną strukturę. Opisujemy systemy uczące się, w których podstawowy mecha nizm heurystyczny jest oparty na poszukiwaniu genetycznym. Dajemy też krótki prze gląd początków genetycznych systemów uczących się [genetic-based machine learning systems] (systemów GBML) i omawiamy najczęściej stosowaną architekturę GBML, tak zwane systemy klasyfikujące [classifier systems]. Działaniu systemu klasyfikującego po święcimy nieco więcej uwagi; podamy także implementację elementarnego systemu kla-
| | , | . 'Skąd wzięły się systemy GBMI________________________________________________ 233 ■
f^ylikującego w Pascalu. Na koniec przetestujemy działanie tego systemu na prostym ffprzykładzie uczenia się funkcji boolowskiej.
6.1. Skąd wzięty się systemy GBML ;|Teoretyczne podstawy systemów GBML zostały wypracowane przez Hollanda (1962c). Przedstawiając zarys teorii systemów adaptacyjnych, poświęcił onszczególną uwagę sprawie replikacji programów. Chociaż późniejsze zastosowania algorytmów genetyczpych w latach sześćdziesiątych dotyczyły głównie zagadnień poszukiwania i optymaliza! |ćjii zamysł teoretyczny nie był tak ograniczony. ;f'> Na tym fundamencie teoretycznym, i przy uwzględnieniu podstawowej roli rekombijfficji. (Holland, 1965), wyłoniły się bardziej konkretne sugestie serii projektów coraz bardziej złożonych procesorów schematów (Holland, 1971). Konferencja, na której przed stawiono tę pracę (1968), wyprzedziła pierwsze zastosowanie systemu klasyfikującego (Holland i Reitman, 1978) o całe dziesięciolecie. Nic więc dziwnego, że współczesne systemy klasyfikujące przypominają procesory schematów zarówno w ogólnym zarysie, jak |fi w szczegółach. Pierwotny projekt Hollanda obejmował cztery prototypowe systerny. Prototyp I był to procesor typu bodziec-reakcja, który przyporządkowywał schematom ^ środowiskowym (będziemy je wkrótce nazywać warunkami) określone działania efektorów. Prototyp H stanowił rozszerzenie prototypu I o stany wewnętrzne, natomiast prototyp III był 1 wyposażony dodatkowo w model świata zewnętrznego (służący do przewidywania stanów
I
I
I t
234
6. Wprowadzenie do genetycznych systemów uczących się
zywantu dwóch zadań pokonywania labiryntu. Zastosowano w nim układ wykonawczy złożony z listy komunikatów, prostych reguł przepisywania zwanych klasyfikatorami [classifiers], algorytmu genetycznego opartego na reprodukcji, krzyżowaniu, mutaqi i metodzie ścisku oraz mechanizmu uczenia z nagradzaniem, w którym nagroda zostajc rozdzielona między wszystkie klasyfikatory aktywne w okresie między dwiema kolej nymi wypłatami. Ten ostatni mechanizm był w późniejszych systemach zastępowany przeważnie przez inny, zwany algorytmem bucket brigade. | Po skonstruowaniu pierwszego systemu klasyfikującego idea ta została rozwinięta i w różnych kierunkach i zastosowana do rozmaitych celów przez innych badaczy. W tablicy 6.1 podajemy wykaz zastosowań genetycznych systemów uczących się. Począwszyll od eksperymentów ze „sztucznym życiem” , a skończywszy na zagadnieniu odmianyiJj czasowników w języku norweskim, systemy GBML cieszą się rosnącym zainteresowa-|| niem na różnorodnych polach badawczych. Bardziej szczegółowego przeglądu wyników .1 badań prowadzonych przy użyciu systemu CS-1 i innych systemów GBML, mających j | znaczenie historyczne lub aktualne, dokonamy w następnym rozdziale. Reszta ninicj-* szego rozdziału jest poświęcona aspektom teoretycznym i implementacyjnym oraz przy kładowemu zastosowaniu prostego systemu klasyfikującego. ■ > 'i
Tablica 6.1. Zastosowania genetycznych systemów uczących się Rok
Badacz(e)
Biologia i m edycyna 1984,
Rada, Rtiine i Smailwood
1987 19871)
Bickel i Bickei Wilson
jJ ;
Opis
L■v'A ..
, >11 Próba zastosowania systemu GBML do diagnostyki medy cznej ■• : Opracowanie systemu GBML do diagnostyki m edycznej. 1 Projekt użycia systemu klasyfikującego do symulacji mor-^ fogenezy |
Biznes 1986
Thompson i Thompson
1987
Greene i Smith
Inform atyka
Zastosowanie AG do tworzenia zestawów regul służących' do przewidywania rentowności przedsiębiorstw System GBM L uczący się regul opisujących preferencjej konsumentów ■i
1980 1981
Smith Forsyth
1985
Cramer
1985b, c
Forrest
1986a
Riolo
1986b
Riolo
1986
Zhou
Program pokerowy LS-I System Beagle stażący do rozpoznawania wzorców na dro-1 dzc ewoluqyi 5 . Generowanie algorytmu mnożenia licyb w języku niskiego poziomu przy użyciu algorytmu genetycznego K om pilalorjęzyka opisu sieci semantycznych KL-ONE na klasyfikatory Pakiet ogólnego przeznaczenia w języku C do badań sys temów klasyfikujących Zastosowanie systemu klasyfikującego do przewidywania:;' sekwencji liter Konstrukcja automatów skończonych na podstawie przykladów przy użyciu AG
235
■ą \l /Skąd wzięły się systemy GBML . Tablica 6.1. (cd.) B ad n c z (e )
ilft4j
O p is
' |9 8 6 i l'
R o b e rtso n
Im p le m e n ta c ja vv L isp ie s y ste m u k la s y f ik u ją c e g o n a M a
8 989,
S ta c k h o u s e i Z e ig le r
Z a s to so w a n ie A G d o p o s z u k iw a n ia re g u ł d la s y s te m u p rz e
szy n ę K o n e k c y jn ą tw a rz a n ia s y m b o lic z n e g o o p a rte g o n a re g u la c h
Technika i badania operacyjne T983'
Goldberg
f
Z a s to so w a n ie s y ste m u k la s y f ik u ją c e g o w z a d a n ia c h s te r o w a n ia u k ta d e m in e rc y jn y m i p ra c ą g a z o c ią g u
•r
S y s te m L S -2 (p o to m e k L S -1 ) w z a s to s o w a n iu d o p ro b le
19^4
Scbaffer
B^'"
m ó w p a rz y sto ś c i i p rz e k a z u s y g n a ló w Z a s to so w a n ie A G d o p o s z u k iw a n ia re g u l d o w o d z e n ia na
Kuchinski
p o lu w alki E m u la c ja m u ltip le k s e ra z a p o m o c ą s y ste m u k la sy fik u ją c e
Wilson
go O p ra c o w a n ie s y ste in u k la sy fik u ją c e g o na p o trz e b y z a s to s o
Antonisse i Keller
w a ń tn ilita rn y c h S y s te m k la sy fik u ją c y u c z ą c y się re g u l s z e re g o w a n ia
j,9$7^
Hilliard el al.
'I uchniki hybrydowe
Śi' ;
ljJ87
Oosthuizen
H y b ry d o w y s y ste m u c z ą c y s ię , lą c zą e y m e to d y k o n e k cy jn e , in d u k c ję n a g ra fa c h i a lg o ry tm y g e n e ty c z n e
'
Maszynowe uczenie się
P ro je k t c z te re c h p ro to ty p ó w p ro c e so ró w sc h e m a tó w
Holland Holiaiul Zliou
Z a ry s a lg o ry tm u b u c k e t b rig a d e
H o lla n d , H o ly o a k , N e sb itt
P u b lik a c ja In d u k c ji
P ro je k t w y p o sa ż e n ia s y ste m ó w k la sy fik u ją c y c h w p a m ię ć d łu g o te rm in o w ą
i T h a g a rd
T C |1987 ^l9B7c, d
G re fe n ste tle
Z a s to so w a n ie a lg o ry tm u p rz y z n a w a n ia o c e n i h e u ry s ty c z nej in w e rsji w s y ste m ie u c z ą c y m s ię ty p u LS
R io lo
A n a liz a i s y m u la c ja e fe k ty w n o śc i a lg o ry tm u b iic k e i b r ig a
W e s te rd a le
de A n a liz a a ltru iz m u w m e to d z ie ln ic k el b r ig a d e
W ils o n
P ro je k t ja w n ie h ie ra rc h ic z n e g o p rz y z n a w a n ia o c e n
plementac)e współbieżne 987tt, b
ti; i,
R o b e rtso n
Im p le m e n ta c ja sy ste m u k la sy fik u ją c e g o n a M a s z y n ie K on ek cy jn ej
ki społeczne 1.978
H o lla n d i R eitm an
f j9 8 2
Jfe'. ’
B ooker
iJ983
W ilso n
«-,-.
P ie rw s z y s y ste m k la sy fik u ją c y w z a d a n ia c h p o k o n y w a n ia lab iry n tu „ S z tu c z n e z w ie r z ę " z m ó z g ie m w p o s ta c i sy ste m u k la sy fi k u ją c e g o u c zy się p o ru s z a ć w d w u w y m ia ro w y m ś ro d o w is ku S y s te m u k la sy fik u ją c y ste ru ją c y w id e o k a m e rą
236 _____
__ 6. Wprowadzenie do genetycznych systemów uczących się r
Tablica 6.1. (cd.) Rrik
Baclacz(e)
Opis
l985b
Axelrod
l985b, c
Wilson
I986a, I)
Schrodt
I986
Hasley (Skanland)
1987
Fujiko i Dickinson
Poszukiwanie strategii dla itcrowancgo dylematu więźnią przy użyciu AG System klasyfikujący ANlMAT uczy się poruszać po dwu-' wymiarowych lasach ,j Zastosowanie systemu klasyfikującego do przewidywania, wydarzeń międzynarodowych .v'(J System klasyfikujący uczy się form czasu przeszłego w ję zyku norweskim *i Generowanie przy użyciu systemu klasyfikującego progra, lnów w Lispic do znajdowania rozwiązań ilerowanego dy- lematu więźnia „
6.2. Czym jest system klasyfikujący?______________________ r ' System klasyfikujący jest to system, który itczy się prostych syntaktycznie reguł (zwa nych klasyfikatorami), w celu koordynacji swoich działań w dowolnym środowisku, System klasyfikujący zawiera trzy główne składowe: 1) układ przetwarzania komunikatów; 2) układ oceniający; 3) algorytm genetyczny.
Układ przetwarzania komunikatów [nile and message system] w systemie klasylikującym stanowi szczególny przypadek systemu produkcji. System produkcji (Davis i King, 1976) jest to pewien system formalny, służący do opisu algorytmów przy użyciu; reguł syntaktycznych. Choć rozmaite warianty systemów produkcji różnią się szczegóła mi składniowymi, ogólnie biorąc produkcje (reguły przepisywania) mają w nich następu jącą postać: u;ij jeśli to
Interpietacja (znaczenie) reguły przepisywaniajest następująca: jeżeli „warunek”) jest spełniony, to może zostać podjęta „akcja” (mówimy wówczas, że reguła „odpala” )... Na pierwszy rzut oka ograniczenie się do Jak Mrostego mechanizmu reprezentacji, wiedzy wydaje się zbyt restrykcyjne. Jednakże dowiedziono, że systemy produkcji sąi systemami uniwersalnymi obliczeniowo0 [computationally complete] (Minsky, 1967, Post, 1943). Co więcej, są one dogodne w aspekcie algorytmicznym. Pojedyncza produk cja lub mały zbiór produkcji mogą reprezentować w zwartej postaci złożony zasób wie dzy. „Eksplozja” systemów doradczych opartych na regułach w ostatnim dziesięcioleciu jest silnym dowodem empirycznym na rzecz tej tezy. 11 To znaczy, że są równoważne maszynom Turinga (przypis lhim.)
■6.2. Czym jest system klasyfikujący?
237
Mimo takiego rozwoju systemów doradczych, tradycyjne systemy oparte na regułachnie cieszyły się podobnym powodzeniem w zastosowaniachwymagających umiejęt ności uczenia się. Jedną z głównych przeszkód stanowiły tu skomplikowane reguły syntaktyczne. Systemy produkcji mogą posługiwać się zawiłymi konstrukcjami gramatycz nymi w celu definiowania warunków i akcji. Systemy klasyfikujące odbiegają od główiiego nurtu, dopuszczając jedynie reguły mające reprezentacje ó stałejidługości. Takie . ograniczenie ma dwie zalety. Po pierwsze wszystkie ciągi symboli określonego alfabetu są poprawnymi syntaktycznie regułami. Po drugie, reprezentacja w postaci słów o ustalo nej długości umożliwia zastosowanie operacji typu genetycznego. Dzięki temu powstaje możliwość wykorzystania algorytmu genetycznego do poszukiwań w przestrzeni dopusz czalnych reguł. fal W systemach klasyfikujących stosuje się równoległe uaktywnianie reguł, w przeci wieństwie do' tradycyjnych systemów doradczych, które opierają się na uaktywnianiu -'sekwencyjnym. W każdym cyklu uzgadniania [matching cycle] tradycyjny system dorad'^ozy uaktywnia jedną regułę. Procedura ta stanowi „wąskie gardło” , uniemożliwiające MVzrost produktywności; stąd główne różnice w architekturze konkurujących ze sobą J systemów doradczych dotyczą wyboru „lepsżej” strategii wyboru uaktywnianej reguły 1jlla tego czy innego typu problemów. Systemy klasyfikujące radzą sobie z tym wąskim fgardłem przez równoległe uaktywnianie wielu reguł w jednym cyklu uzgadniania, zape• ^yniając w ten sposób koordynację wielu równoczesnych działań. Kiedy zajdzie kóniecz? ftość wyboru jednej z wzajemnie wykluczających się akcji w zewnętrznym środowisku I albo gdy trzeba zredukować zbiór uzgodnionych reguł (aby nie przekroczyć dopuszczalpiftego rozmiaru listy komunikatów), decyzje w tych sprawach zostają odłożone do ostatlftiej możliwej chwili, a wówczas stosuje się kryterium konkurencyjności. Na temat zasad ffkonkurencji między regułami powiemy więcej nieco później; na razie ograniczymy się l dO stwierdzenia, że architektura systemów klasyfikujących sprzyja równoległości, co ’Askazuje na możliwość skonstruowania bardzo szybkich implementacji sprzętowych syłstemów klasyfikujących, a jednocześnie daje podstawę do racjonalnego podejmowania f decyzji bez konieczności wprowadzania dowolnych strategii arbitrażu. J.v- W tradycyjnych systemach doradczych wartość określonej reguły w stosunku do Jilńnych reguł zostaje ustalona przez programistę na podstawie ocen eksperta lub grupy |‘ ekśpertów, których dany system ma emulować. W systemie uczącym się reguł nie ma ’ .miejsca na taki luksus. Względna wartość różnych reguł jest właśnie jedną z podstawoJiWych rzeczy, których trzeba się wyuczyć. W celu wspomagania tego typu uczenia się | systemy klasyfikujące zmuszają klasyfikatory do koegzystencji w ramach „rynku usług informacyjnych” . Klasyfikatory konkurują ze sobą o prawo do reakcji na komunikaty, .przyznawane tym spośród nich, które składają najkorzystniejsze oferty, przy czym opłaty Vpbnoszone z tego tytułu służąjako źródło przychodu dla nadawców, których komunikaty 1 zostaly pomyślnie odebrane. W ten sposób tworzy się łańcuch pośredników między , producentem (detektory) a konsumentem (akcje i wypłaty w środowisku zewnętrznym). ■'Konkurencyjna natura rynku gwarantuje, że dobre (tj. przynoszące zysk) reguły utrzymu ją się, a złe (nie przynoszące zysku) upadają. Niebawem zajmiemy się szczegółami algorytmu przyznawania ocen [apportion ment o f credit algorithm], w tym miejscu musimy jednak zdecydować się na krok
238 _______________________ 6. Wprowadzenie do genetycznych systemów Uczących aiJ ii I; ]SB| o zasadniczym znaczeniu, mianowicie na wprowadzenie wewnętrznego pieniądza. Cyj-f kuIacja i akumulacja pieniądza zapewnia naturalne kryterium oceny, dające się 7ą.| stosować w algorytmie genetycznym. Jeśli użyć salda bankowego klasyfikatora j,iM, wskaźnika przystosowania, to można reprodukować, krzyżować i dokonywać mutacji1' klasyfikatorów w sposób omówiony w pięciu pierwszych rozdziałach tej książki. Dj ię*j temu system nabywa zdolności uczenia się nie tylko przez ocenianie wartośći istniejących reguł; może on również odkrywać nowe, potencjalnie lepsze reguły, będące nowa torskimi kombinacjami wcześniej używanych. Musimy być przy tym mniej nonszalanccy.jeśli chodzi o tworzenie całkowicie nowych populacji i zwrócić baczniejszą uwagę ua to, które elementy będą ulegać wymianie; poza tym jednak zastosowany tu algorytm , genetyczny nie różni od tych, których używaliśmy w zadaniach poszukiwania i op. £ tymalizacji. f,l Metoda przyznawania ocen w drodze konkurencji łącznie z mechanizmem odkry wania nowych reguł przy użyciu algorytmu genetycznego tworzą racjonalną podstawę konstrukcji systemu uczącego się w ramach uniwersalnego i dogodnego algorytmicznie systemu formalnego opartego na klasyfikatorach. Aby lepiej zrozumieć działanie sys temu klasyfikującego, przeanalizujemy teraz dokładniej każdy z jego składników. ^|
6.3. Układ przetwarzania komunikatów____________________ I Na rysunku 6.1 widzimy schematyczne przedstawienie układu przetwarzania komunika tów, układu oceniającego i algorytmu genetycznego. Układ przetwarzania komunikatów stanowi kościec algorytmiczny naszego krzemowego zwierza. Bodźce ze środowiska* oddziałują na system klasyfikujący za pośrednictwem detektorów - jego oczu i uszu - w których następuje ich transformacja na jeden lub więcej komunikatów [messages]' o ustalonej długości. Te komunikaty zewnętrzne [environmental messages] zostają na- ■' stępnie umieszczone na liście komunikatów [message list] o ograniczonej pojemności,.: gdzie mogą powodować uaktywnienie reguł przepisywania (klasyfikatorów). Po uaktyw nieniu klasyfikator umieszcza pewien komunikat na liście komunikatów. Komunikaty te mogą powodować uaktywnienie kolejnych klasyfikatorów lub doprowadzić do urucho mienia efektorów, zdolnych do wykonywania działań w środowisku. W ten sposób klasy fikatory łączą sygnały płynące ze środowiska z wewnętrznym modelem zachowania,, decydując, co należy zrobić i nad czym się „zastanawiać’’ w następnej chwili. Mozna na ' to patrzeć jak na koordynację przepływu infoAnacf - od miejsca, w którym jest od bierana (detektory), przez układ przetwarzania (lista komunikatów i'zespół klasylikato-, rów) do miejsca, w którym zostaje użyta do kierowania działaniami (efektory). Aby* lepiej zrozumieć funkcjonowanie systemu przetwarzania komunikatów, przyjrzyjmy się ' dwóm jego składnikom - komunikatom i klasyfikatorom - oraz sposobowi, w jaki zc sobą współdziałają. W systemie klasyfikującym komunikat ma postać słowa o ustalonej dlugości, zbur,1 dowanego z symboli określonego alfabetu. Jeżeli ograniczymy się do alfabetu dwój- i kowego, to otrzymamy następującą definicję:
239
'Układ przetwarzania komunikatów
Środowisko
\
/
O/ \ Informacja Akcja Wypteta
Rys.
6.1. Uczący się system klasyfikujący oddziałuje ze środowiskiem
f i iv;
< k o m u n i k a t > : : = { 0, 1} J t r ,Symbol „::=” oznacza tu „równy z definicji” , natomiast operacja potęgowania zbioru wyraża fakt, że bierzemy produkt (konkatenację) / zer lub jedynek. Komunikaty są pod stawowymi jednostkami wymiany informacji w systemie klasyfikującym. Komunikaty j^znajdujące się na liście komunikatów mogą pasować do jednego lub więcej klasyfikato'- rów. Klasyfikator jest to produkcja (reguła przepisywania) o niezwykle prostej składni: < k la s y fik a to r >
::= < w a r u n e k > :< k o m u n ik a t>
Warunek ma postać wzorca tekstowego, z metasymbolem „#” jako symbolem uni wersalnym: *'
< w aru n ek > : : = {
0, 1,
#}J
rąk więc warunek pasuje do komunikatu0, jeżeli na każdej określonej pozycji w obu tych ciągach zero w pierwszym odpowiada zeru w drugim, jedynka jedynce, a symbol uniwersalny - zeru lub jedynce. Na przykład czteropozycyjny warunek #01# pasuje do komunikatu 0010, a nie pasuje do komunikatu 00002). 0 Albo komunikat pasuje do warunku (przyp. thun.) 21 Sprawdzanie dopasowania (zgodności) wzorców nazywamy uzgadnianiem (przyp- dum.)
240
6. Wprowadzenie do genetycznych systemów uczących się
Jeżeli zdarzy się, że pewien komunikat pasuje do warunku klasyfikatora, to klasyfi kator ten staje się kandydatem ubiegającym się o umieszczenie swego wlasnego komuni katu na liście komunikatów w następnym kroku. O tym, czy do tego dojdzie, decyduje „przetarg” na uaktywnianie, podczas którego bierze się pod uwagę „wartość” lub „wa gę” klasyfikatorów. W celu ugruntowania wiedzy na temat funkcjonowania układu przetwarzania ko munikatów przeprowadźmy odręczną symulację tego procesu. Przypuśćmy, że zespól klasyfikatorów składa się z klasyfikatorów zamieszczonych w tabl. 6.2. W pierwszym kroku na liście komunikatów pojawia się komunikat zewnętrzny 0111. Komunikat ten pasuje do klasyfikatora nr 1, który następnie wysyła swój komunikat, 0000. Ten z koIci komunikat pasuje do klasyfikatorów nr 2 i nr 4, które następnie wysyłają swoje komuni katy (1100 i 0001). Komunikat 1100 pasuje do klasyfikatorów nr 3 i nr 4. W końcu stwierdza się, że komunikat 1000 wysłany przez klasyfikator nr 3 pasuje do klasyfikatora nr 4 i na tym proces przetwarzania urywa się. Tablica 6.2. Cztery klasyfikatory Numer I) 2) 3) 4)
Klasyfikator 01##:0000 00#():1100 11##:1()00 ««00:0001
Mechanizm tego prostego układu przetwarzania komunikatów jest więc zupelnie przejrzysty. Niektórzy badacze rozszerzyli składnię klasyfikatorów, wprowadzając wie lość warunków (Goldberg, 1983) oraz symbole przenoszące [pass-through] (Forrest,I985b,c; Riolo, 1986a). Niektóre z tych innowacji omówimy w następnym rozdziale, Postąpimy przy tym zgodnie z wypróbowaną metodyką wojskową: najpierw całuj, a po tem składaj dokładniejsze wyjaśnienia0. Nawet prosty system jest w stanie nauczyć się niebanalnych zachowań; stają też przed nami istotne pytania o podstawowym znaczeniu. Jedno z nich nasuwa się niemal natychmiast: jeśli lista komunikatów okaże się nie dość obszerna, by pomieścić wszystkie komunikaty od możliwych do uaktywnienia klasyfika torów, to w jaki sposób decydujemy, które z nich uaktywnić? Odpowiedź na to pytanie jest ściśle związana z działaniem układu oceniającego.
6.4. Układ oceniający: Algorytm bucket brigade __________________________________________________________________________ „; W wielu systemach klasyfikujących ocena wartości poszczególnych klasyfikatorów zale ży od roli, jaką odegraly one w zdobyciu przez system „nagrody” od środowiska. Cho0 Nieprzetłumaczalna gra slów. slowo KISS (calować) jest jcdnoczeSnie akronimem sformułowania; kt:ep ii simple, stupid - czyli: prosto, łopatologicznie Q>nyp. tlum.).
■Układ oceniający: Algorytm bucket brigade
241
jcifrż można to robić na wiele sposobów, dominująca metoda opiera się na algorytmie, 5remu Holland nadał miano bucket brigade'K Algorytm ten najprościej rozpatrywać zykując pewne pomieszanie metafor)jako swego rodzaju rynek usług tnformacyjnych, zie prawo do obrotu informacją jest nabywane i sprzedawane przez klasyfikatory, (lasyfikatory tworzą łańcuch pośredników biegnący od producenta informacji (środowiko) do jej konsumenta (efektory). Rynek usług informacyjnych opiera się na dwóch podstawowych elementach: initytucjach przetargu [auction] oraz izby rozraclumkowej [tiearinghou.se]. Klasyfikatory hądające się do uaktywnienia nie mogą wysylać bezpośrednio swoich komunikatów, nabywają natomiast prawo do uczestnictwa w przetargu na uaktywnienie. Aby wziąć udział w przetargu, każdy klasyfikator prowadzi ewidencję swojego „stanu posiadania” , zwanego jego siłą [strength] S. Każdy uprawniony klasyfikator składa ofertę [bid] B, proporcjonalną do swojej siły. Dzięki temu reguly dobrze przystosowane (które zgroma dziły znaczne zasoby) zyskują przewagę nad iiinymi regufaini. Proponowano również inne mechanizmy składania ofert - niektóre z nich jeszcze zdążymy omówić; jednak ecnie będziemy się kierować przede wszystkim prostotą rozwiązań. Dzięki przetargowi mogą zostać wyłonione odpowiednie klasyfikatory, którym polno będzie wyslać swoje komunikaty. Jednak historia bucket brigade na tym się ńie kończy. Gdy klasyfikator wygra przetarg na uaktywnienie, musi następnie wpłacić należność do izby rozrachunkowej, aby uregulować zobowiązania wobec innych kla syfikatorów, które dostarczyły pasujących do niego komunikatów. Wartość złożonej ibferty B zostaje wypłacona na rzecz klasyfikatorów odpowiedzialnych za wysłanie komunikatów, które pasowały do warunku należącego do uaktywnionego klasyfikatora. Mspomniana kwota zostaje w pewien sposób podzielona pomiędzy wszystkie te klayfikatory. Podzial należności między „dostawców” przyczynia się do wytworzenia dpopnlacji reguł o odpowiednich liczebnościach (Booker, l982). Dzięki temu możliwa st koegzystencja różnych „gatunków” reguł określających różnorodne wzorce zapfewania, jakich wymaga środowisko. Rozumowanie to opiera się na argumentacji fprzedstawionej w rozdziale piątym, dotyczącej znaczenia podziału zasobów dla fomowania się gatunków zajmujących odmienne nisze ekologiczne. W jakimkolwiek konsekwentnym systemie uczącym się reguł nie ma sensu poszukiwać jednej uniwerfcjdnej reguly. Należy natomiast szukać podzbioru reguł wytworzonego w wyniku koi*adaptacji, pokrywających łącznie taki zakres wzorców zachowania, który gwarantuje ^wystarczające wyplaty dla systemu uczącego się. W celu ilustracji działania algorytmu bucket brigade rozważmy jeszcze raz cztery klasyfikatory z tabI. 6.2, uwzględniając jednak tym razem również ich płatności. Zaffiadając, że początkowo siła wszystkich czterech klasyfikatorów wynosi 200, wysyłamy, || k poprzednio, inicjalny komunikat zewnętrzny 011l (por. tabl. 6.3). Załóżmy, że i,,Wsp0lczynnik inwestycyjny” Chu wynosi 0,l, a wysokość ofertyjest równa iloczynowi tego współczynnika i sily klasyfikatora. W pierwszym kroku (r = 0) zostaje stwierdzone ;r!'
I
pF^ 11 Termin powstal w odniesieniu tlo dawnej nielody gaszenia pożarów przez „łańcuszek" ludzi podajqE fch jcd en drugiemu kubel z wodip doslownie więc: „drużyna kubelkowa” Q>rzyp. tłum.)
242
___________________________ 6. Wprowadzenie do genetycznych systemów ubzącychsśię
L dopasowanie klasyfikatora nr 1, który skiada ofertę w wysokości 20jednostek i w następ nym kroku wysyła komunikat. Klasyfikator nr 1 wpłaca oferowaną kwotę dostawcy komunikatu, dzięki któremu został uaktywniony; w tym przypadku siła środowiska zwię ksza się o 20jednostek, gdyż właśnie komunikat wysłany przez środowisko spowodował uaktywnienie klasyfikatora nr 1. W kolejnych krokach uaktywnione klasyfikatory.iegulują zobowiązania wobec poprzednio aktywnych klasyfikatorów. Ostatecznie w kroku piątym system otrzymuje nagrodę i przekazuje ją ostatniemu aktywnemu klasyfikato rowi (nr 4). Tablica 6.3. Odręczna symulacja systemu klasyfikującego - uzgadnianie i rozliczanie
0000
'180 200 200 200
1
20
1
20
220 180 200 180
Dopasowanie
cr .,1 E 1
J2,iV.l Odt
1100 2 2
0001
20 18
20
20
0 1 11
Komunikaty
Sita
Oferta
Sila
Dopasowanie
0
20
Komunikaty
Środowisko
E
Sila
200 200 200 200
Oferta
01##:0000 00fi0:1100 11##:100() ##00:0001
Dopasowanie
Klasyfikator
U 2) 3) 4)
r= 2
r= l
Komunikaty
Numer
r=0
Koniec
/=4
i= 5
Wyplata
Oferta
Dopasowanie
Komunikaty
Sila
Oferta
Dopasowanie
Komunikaty
«
co
i
Sila
Klasyfikator
Numer
j
/= 3
1) 2) 3)
4)
01##:0000 00#/0:1100 ll##:1000 ##00:0001
220 218 180 162
Środowisko
20
1000 0001
3
220 208 196 156 16 _______ r. «■
i
0001
220 208 1% 206
..;. 50
20
Uwagi: I. CWl)= 0 ,I 2. C,,,,=0,0
Chcąc poprawnie zrealizować tę procedurę, musimy zdobyć się na większą ścisłość w opisie szczegółów przetargu i rozliczeń. Jak już wspomnieliśmy, podczas przetargu klasyfikatory składają oferty (B,). Zwycięskie klasyfikatory przekazują oferowane kwoty do izby rozrachunkowej jako wypłaty [payments] P,. Klasyfikator może również otrzy-
*J:T |||4 *. Układ oceniający: Algorytm
b u c k e l b r ig a d e _____________________________________243
;mywać przychód [receipt] R, za wcześniejszą dostawę komunikatów lub z tytuln nagród \b'd środowiska. Oprócz tego klasyfikator może być zmuszonydopłaceniaipodatku|tet] ff^ Ostatecznie' równanie określające zależność między siłą klasyfikatoratnr / w dwóch' ;kolejnych krokach (chwilach) można zapisać następująco: A,.(r -M) = .S)(/) - P,(t) - 7)(t) + R,(t) Aby uzyskać szczegółowy obraz procesu „bogacenia się” klasyfikatora, musimyjeszcze /scharakteryzować ilościowo wysokości ofert, wypłat i podatków. Klasyfikator składa '-qferly proporcjonalne do swej siły: Ą
B) = ChuSj
śgdzie Chu jest współczynnikiem inwestycyjnym a S - siłą klasyfikatora nr i. i Moglibyśmy właściwie na tym zakończyć i poprzestać na deterministycznej meto dzie wyboru /c najlepszych klasyfikatorów (gdzie /cjest pojemnością listy komunikatów); $eMnak takie rozwiązanie sprzyjałoby nadmiernie tendencji do utrwalania status quo (De Gfoot, 1970). Wprowadzimy zatem do przetargu element zaburzenia losowego. Dla każ dego uprawnionego klasyfikatora obliczmy efektywną wysokość oferty (EB) jako sumę Wysokości deklarowanej i szumu losowego: i;: , EB, = B, + N(aili:l) |gdzie szum N jest funkcją zadanego odchylenia standardowego oferty o fcW. iit' Po zakończeniu cokolwiek hałaśliwego przetargu i wyłonieniu zwycięskich klasyfikatórów trzeba zaplacić klasyfikatorom, które dostarczyły komunikatów umożlijwiających uaktywnienie zwycięzców. Ci ostatni dokonują wypłat w deklarowanej wy sokości (tj. /?,., a nie EBt), kIóre przekazują do izby rozrachunkowej, gdzie następuje podział wpłaconych kwot pomiędzy wszystkich dostawców pasującego (i zwycięskiego) komunikatu. Ei’ Aby zapobiec pasożytnictwu, każdy klasyfikator podlega opodatkowaniu; w ten \Sjps0b w populacji faworyzowane są reguly produktywne. Można tu stosować rozmaite podejścia; w przyjętym przez nas rozwiązaniu podatekjest proporcjonalny do sily klasy fikatora: T, = C,,,,.V, Powyższe zależności łącznie określają algorytm przyznawania ocen stosowany w wielu systemach klasyfikujących. Aby przeprowadzić pobieżną analizę stabilności i długofalowego zachowania tego mechanizmu,przepiszmy równanie stanu posiadania klasyfikatora w postaci, w której wypłaty i podatki wyrażają się poprzez jego siłę. Dla aktywnego klasyfikatora wygląda to następująco: S(t + 1) = S(t) - CM S(t) - c,,,,5(0 + R(t)
244 _______________________ 6. Wprowadzenie do genetycznych systemów uczących .sjH J..
W powyższym równaniu opuściliśmy wskaźnik i określający numer klasyfikatora, dgj którego odnoszą się poszczególne człony równania. Po przegrupowaniu składników, otrzymujemy zależność: l!’ s ( /+ D = ( i - K) S ( Q + R ( t )
'
ii
gdzie K=Chlll + Clm. > '|| W celu określenia warunków stabilności rozwiązań, możemy posłużyć się transfor matą Z (Takahashi, Rabins i Aiislander, 1970) .dla równań jednorodnych. Na bardziej intuicyjnym poziomie możemy zauważyć, że stabilność systemujest możliwa tylko przy ograniczonym wejściu (w tym przypadku przy ograniczonym R), kiedy wartości .S' nie rosną w czas.ie w sposób niekontrolowany. Pomijając na razie przyrosty R(t), otrzymuje-, my następujące równania jednorodne, opisujące samoistny spadek siły klasyfikatora: S(t. -l- 1) = (1 - K)S(t) Rozwiązując ten uktad dla l =n, otrzymujemy związek 5(/i) = (l-/ć)"5(0). Rozwiązanie to jest stabilne (nie eksploduje) przy dowólnym 5(0), pod warunkiem, że 0 < K < 2; w praktyce jednak trzeba postulować, żeby K < 1, aby sila przybierała wartości nieujemne. Wynik ten jest słuszny dla klasyfikatorów, które są stale aktywne; jednak system pozostanie stabilny także w przypadku realnych klasyfikatorów, zmieniających od czasu do czasu swój stan - jeśli tylko zmienna wartość K spełnia kryterium stabilności. Stabilnośćjest sprawą istotną, ale jeśli interesują nas efekty działania tego mecha nizmu, musimy zbadać zachowanie się algorytmu w czasie. Mówiąc wprost, co robi nasz system z nagrodami, które otrzymuje od środowiska? Przy zadanej sile początkowej 5(0) możemy wyznaczyć siłę w n-tym kroku czasowym zgodnie z następującą równością: ■ „-i S(n) = (I - lC)"S(0) + lR (./)( 1-K)"-i"' J=o
Ponownie zignorowaliśmy tu zmienność będącą skutkiem „przełączania się” klasyfikato rów, choć w zasadzie możnają uwzględnić, wprowadzając zmienny współczynnik K(j). Długofalowe zachowanie się tego mechanizmu można zanalizować, rozważając stan równowagi dynamicznej. Jeśli proces przebiega nieustannie przy stałych wartoś ciach przychodu R(t) = Rn., to warunkiem stacjonarnoąfi siły jest, żeby S(/+ I) = S(l) = 5 „. Zależność ta daje następujący związek: S , =R J K Okazuje się zatem, że siła jest równa przychodowi pomnożonemu przez czynnik l/Kj Stacjonarną wysokość oferty można natomiast wyznaczyć następująco: Ii,, =
0-/,;,i
R<, =
R,. ('i>i,i+ C«i
M ' .6.5 Algorytm genetyczny_______________________________________________________ 245
Ponieważ wielkość Cmx jest zazwyczaj mała w stosunku do współczynnika inwesty cyjnego, stacjonarna wysokość oferty jest na ogół bliskastacjonarnej wysokości przylu, Ba = Ra . Inaczej mówiąc, w warunkach stacjonarnego przychodu wysokość :y zbliża się do wielkości przychodu. Natomiast w przypadku zmiennych w czasie chodów, wysokość oferty jest, jak widzimy, średnią ważoną przychodów o wagach 'fmalejących' geometrycznie. Działa to jak filtr wobec potencjalnie nieregularnych i za;Vburzonych przychodów.
K Ifi^ mmi
6.5. Algorytm genetyczny
Algorytm backet brigade daje nam do ręki narzędzie oceny i wyboru spośród konkurują cych reguł. Brakuje nam jeszcze sposobu zasilania systemu nowymi,’ potencjalnie lepj śzymi regułami. W tym wlaśnie miejscu wkracza na arenę algorytm genetyczny. Nowe .rcguly zostają wytworzone w znajomym procesie opartym na trzech operacjach genety/ cznych (reprodukcja, krzyżowanie, mutacja), podobnym do elementarnego algorytmu f fgcnetycznego z rozdzialu trzeciego. Reguły te są następnie umieszczane w populacji fi biorą udział w przetargach i rozliczeniach, podczas których ujawnia się ich rzeczywista I Wartość dla systemu. Nie możemy sobie przy tym pozwolić na całkowitą wymianę popu I lacji i musimy zwracać baczniejszą uwagę na sposób zastępowania elementów. Mimo I tych odmienności algorytmy genetyczne stosowane w systemach klasyfikujących zacho? „wują znaczne podobieństwo do tych, których używaliśmy w zadaniach poszukiwania Jfoptymalizacji. W tym punkcie skoncentrujemy się na omówieniu najważniejszych róż■lic między obu wariantami. f Elementarny algorytm genetyczny z rozdziału trzeciego opierał się na modelu rozłą cznych populacji, w ramach którego w każdym pokoleniu dokonywało się wyboru całkoA icie nowej populacji, zastępującej poprzednią. Niejesl to na ogół pożądane w systemach pticzących się. W tym przypadku zależy nam często na utrzymaniu wysokiego poziomu ’ efektywności bieżącej w czasie, gdy system uczy się sprawniejszych wzorców zachowania; natomiast w przypadku poszukiwania lub optymalizacji sprawą większej wagi wydaje się ?( osiągnięty stopień zbieżności. Omawiając eksperymenty De Jonga (1975), zwróciliśmy .Vuwagę na parametr zwany współczynnikiem wymiany G, który został użyty do implemen.tacji i testowania algorytmów genetycznych stosujących mieszanie pokoleń. Tutaj zdefi niujemy analogiczną wielkość, określającą ułamek populacji podlegający wymianie w wyijiikti jednego wywołania algorytmu genetycznego. Wprowadzimy także parametr Tgu, y.określający liczbę kroków (cykli układu przetwarzania komunikatów) między kolejnymi wywołaniami AG. Okres ten można traktować w sposób deterministyczny (wywołując AG | dokładnie co 7f,, kroków) albo stochastyczny (wywołując AG w momentach losowych |(,średnio co Tg„ kroków). Ponadto wywolania algorytmu genetycznego mogą być uwarunko't^ane zajściem określonych zdarzeń, jak brak dopasowania lub mala efektywność. \n W procesie selekcji używa się najczęściej reguły ruletki, przy czym siła klasyfika| tqra S odgrywa rolę wskaźnika przystosowania. Ponieważ nie wymieniamy już populacji ^Wicałości, musimy zachowywać ostrożność przy wyborze kandydatów do zastąpienia.
246 ----------------------------------- 6. Wprowadzenie do genetycznych systemów uczących się i
. 'w
Można tu zastosować opisany w rozdziale czwartym model ze ściskiem De Jonga (1975), w którym preferuje się zastępowanie elementów podobnych. •■ęiJ Trzeba także zmodyfikować nieco sposób mutacji, ponieważ klasyfikatory poslu-,.; gują się alfabetem trójelementowym. Definicja prawdopodobieństwa mutacji pm nie ule-.* ga przy tym zmianie; natomiast sama operacja zastępuje mutowany znak jednyin z dwóch pozostałych, zjednakowym prawdopodobieństwem (0 ^> {1, #}, 1 ^ {0, #}| # ^ {0, 1}). ' ,I Po wprowadzeniu tych zmian do istniejącgo programu można już włączyć algo-,; rytm genetyczny do systemu klasyfikującego i posługiwać się nim prawie tak samo, jak ) w zadaniach poszukiwania i optymalizacji.
6.6. System klasyfikujący w Pascalu_______ ________________ ; Systemy klasyfikujące wyróżniają się prostotą. Jednak, gdy przyjdzie co do czego, po czątkujący adepci systemów klasyfikujących - podobniejak nowi użytkownicy algorylmów genetycznych - często bezradnie rozkładają ręce. W tym punkcie postaramy się nieco wykończyć surową konstrukcję systemu klasyfikującego, projektując prostą im plementację takiego systemu w Pascalu. Konkretnie skonstruujemy system, którego zadaniemjest wyuczenie się.funkcji boolowskiej (multiplekser). Z uwagą dokonamy roz bioru systemu na podstawowe elementy. Listę komunikatów zredukujemy tu do pojedyn czego komunikatt! zewnętrznego, co - wywołując natychmiastowe sprzężenie zwrotne ze środowiskiem - umożliwia istotne uproszczenie mechanizmu rozliczeń. Dzięki tym ułat wieniom możemy stworzyć funkcjonalny system z minimum maszynerii.
6.6.1.
S tru ktu ry d a n y c h ______________________________________________________________________ ..
.Iak już wskazywaliśmy, układ przetwarzania komunikatów - zwany niekiedy układem wykonawczym [performance system] - stanowi kościec systemu klasyfikującego. Omó wimy teraz struktury danych i procedury niezbędne do implementacji prostej wersji układu wykonawczego w systemie klasyfikującym. Skupimy się przy tym na najważniej szych fragmentach programu, pomijając mniej istotne szczegóły; kompletny wydruk pro gramu SCS zostal zamieszczony w dodatku C wraz zmrzykładowymi zestawami danych wejściowych. W wydruku 6.1 pokazano deklar6cje-$truktur danych implementujących populację klasyfikatorów oraz komunikat zewnętrzny. Typ danych reprezentujący kla syfikatory, classtype, jest zdefiniowany jako rekord złożony z warunku c, akcji a oraz kilku innych zmiennych prostych. Typ condition stanowi tablicę o elementach typu trit (ternary digit, cyfra trójkowa) - przyjmujących wartości —1, 0 i 1, przy czym -1 interpretuje sięjako symbol uniWersalny, a pozostałe dwie cyfry zachowują zwykle znaczenie. Typ action w programie SCS jest zdefiniowany jako bit, gdyż w z;idaniu emulacji multipleksera system klasyfikujący ma na celu wyuczenie się pewnej funkcji boolowskiej i najego wyjściu muszą pojawiać się cyfry 1 lub 0. W definicji klasyfikatora
247
6 6 System klasyfikujący w Pascalu
występują również pola typu real: strength, hid i ebid. Reprezentują one odpowiednio iiłę, deklarowaną wysokość oferty i efektywną wysokość oferty (którą wcześniej oznaczaliśmy jako EE) klasyfikatora. Przypomnijmy, że efektywna wysokość oferty różni się nd deklarowanej pewnym składnikiem losowym (szumem) o zerowej wartości oczekiwanc|. W definicji klasyfikatora pojawia się też dodatkowe pole maichflag typu hoolean. Oir/ymuje dno wartość tnie wtedy, kiedy aktualny komunikat zewnętrzny pasuje do Wiiiiinku klasyfikatora. {> d e c la r e .s c s :
d e c la r a tio n s
const
m a x p o s lt io n m a x c la s s w ild c a r d
ty p e
b it tr it a c tio n c o n d itio n m essa g e c la s s ty p e
var
fo r scs
)
— 50; — 1 00 ; - -1; -
0 ..1 ; ( a b in a r y d i g it ) - 1 . . 1 ; ( a t e r n a r y d i g i t ; 0 - 0 ; 1—1 ; - l- # ) b it; { a b in a r a y d e c is io n ) a r r a y [l..m a x p o s itio n ) o f t r i t ; a r r a y [l..m a x p o s itio n ] o f b i t ; re co rd c :c o n d it io n ; a :a c tio n ; s tre n g th , b id , e b id :r e a l; m a t c h f la g :b o o le a n ; s p e c i f i c i t y : in te g e r ; end; c la s s a r r a y - a r r a y (l..m a x c la s s } o f c la s s ty p e ; c la s s lis t - reco rd c l i s t : a r r a y [ l . . m a x c l a s s ] o f in te g e r ; n a c t i v e : in te g e r end; p o p ty p e - re c o rd c la s s if ie r ;c la s s a r r a y ; n c l a s s i f i e r , n p o s it io n :in t e g e r ; p g e n e r a l , c b i d , b id s ig m a , b i d t a x , l i f e t a x , b i d l , b i d 2 , e b i d l , e b id 2 , s u m s tre n g th , m a x s tre n g th , a v g s tr e n g th , m in s t r e n g t h :r e a l end; p o p u la t io n :p o p t y p e ; m a t c h lis t :c la s s lis t ; e n vm essag e_:m essa g e; r e p :te x t;
{ ( { (
p o p u la tio n o f c l a s s i f i e r s who m a tc h e d ) e n v ir o n m e n t a l m essa g e ) re p o rt d e v ic e / file )
)
Wyd. 6.1. Definicje i deklaracje podstawowych struktur danych w uproszczonym systemie ij;, klasyfikującym (SCS). Opis populacji klasyfikatorów
&'■-!' '
.
Typ classarray stanowi tablicę klasyfikatorów (lj. elementów typu classtype). Pole tego typu ( classifier) występuje w definicji typu rekordowego poptype, reprezentującego populację. Dodatkowo wprowadzamy pola nclassifier i nposition typu integer, opisujące ■odpowiednio liczbę klasyfikatorów i liczbę pozycji w warunku. Jest tam także kilka pól Iltypu real reprezentujących parametry populacji; wrócimy do nich, gdy zajdzie potrzeba ich użycia. Mając zdefiniowaną strukturę populacji, deklarujemy pojedynczy obiekt tego typu o (raczej stosownej) nazwie population. Deklarujemy także zmienną envmessage repre-
248
6. Wprowadzenie do genetycznych systemów uczących.
zentującą komunik;it zewnętrzny. Jej typ (message) został zdefiniowany jako tabIica' elementów typ bit, przy czym ten ostatni jest okrojonym typem integer o zakresie 0 I. W bardziej zaawansowanych systemaeli klasyfikujących moglibyśmy zadeklarować lab-;' lice takich komunikatów (odpowiadającą liście komunikatów). Tutaj ograniczamy się.do? jednej zmiennej, która odpowiada komunikatowi zewnętrznemu. (|1 Prócz tablicy klasyfikatorów ikomunikatu zewnętrznego tworzymy także pomo&jj niczą strukturę danych matchlist slużącą do rejestrowania klasyfikatorów, które pasuJfj aktualnie do komunikatu zewnętrznego. Jest to obiekt typu classlist (rekord zawierąjąM pole clist będące tablicą elementów typu integerorsa. pole nactive typu integer, opisują||| liczbę elementów aktywnych). Podczas dzialania układu wykonawczego rekord ten za-, wiera listę numerów oraz liczbę tych klasyfikatorów, które pasują do aktualnego komunii: katu. Tę samą informację można uzyskać (z pewnym wysiłkiem) badając wartości pól matchflag wszystkich klasyHkatorów; jednak korzystniejest prowadzić oddzielny rejeąffl w celu osiągnięcia efektywnej implementacji przetargu. II W końcu, musimy zadeklarować plik (czy też urządzenie) przeznaczone do zapisyH wania wszystkich raportów wynikowych (wstępnych i bieżących) prócz interakcyjnyćfi dialogów na ekranie. Jest to plik tekstowy o nazwie rep. W programie SCS używam® łącznie siedmiu plików: ’ \ ’| rep cfile efile rfile tfile gfiłe p file
Wyjście Wejście Wejście Wejście Wejście Wejście Wyjście
przeznaczone dla raportów nieekranowych z danymi opisującymi klasyfikatory z danymi opisującymi detektory i środowisko z danymi opisującymi wzmocnienie z danymi opisującymi zależności czasowe z danymi opisującymi algorytm genetyczny przeznaczone na tabele danych
Szczegółowy opis tych plików znajduje się w dodatku C. Struktury danych, twÓii rzone na podstawie tych plików omawiamy bardziej szczegółowo w ramach dalsz
6.6.2.
Uklad w ykonaw czy __________________________________________________________________ j |
Podobniejak sercem systemu SCS jest układ wykonawczy, tak teżjądro układu wykona wczego stanowią procedury uzgadniające. Na w^drufu 6.2 widzimy dwie takie procedu ry o nazwach inatch i watchdaxxifierx. Funkcja paskalowa inatch dokonuje porównania" warunku i komunikatu, przyjmując wartość tnie, jeśli oba ciągi pasują do siebie. Proces uzgadniania przebiega krokami, pozycja za pozycją, przy czym w każdym kroku daje oti> wynik pozytywny (wartość true), jeśli jednym z porównywanych symboli jest symboJ uniwersalny (#, czyli -1) lub też jeśli oba są identyczne. Całość tego procesujest koor dynowana przez konstrukcję whUe-clo. Warto zapewne poświęcić nieco wysiłku na opra cowanie bardziej efektywnej metody, gdyż większość czasu zużywanego przez system klasyfikujący idzie na wykonywanie procedury match. Można pomyśleć o wstawce wję-$
|6. System klasyfikujący w Pascalu
249
f u n c t i o n m a t c h ( v a r c : c o n d i t i o n ; v a r ra :m e ssag e; n p o s i t i o n : i n t e g e r ) : b o o l e a n ; { m atch a s i n g l e c o n d i t i o n t o a s i n g l e m essage ) v a r m a t c h te m p :b o o le a n ; b e g in m atch tem p : - t r u e ; v h l l e (m a tc h te m p - t r u e ) a n d ( n p o s i t i o n > 0 ) do b e g i n ; m atchtem p : - ( c ( n p o s i t i o n } - w i l d c a r d ) o r ( c [ n p o s i t i o n ] - m [ n p o s i t i o n ] ) ; n p o s it io n :- n p o s it io n - 1 en d ; m atch : — m atch tem p en d ; p r o c e d u r e m a t c h c l a s s i f i e r s ( v a r p o p u l a t i o n : p o p t y p e ; v a r e m e s s :m e s s a g e ; v a r m a t c h lis t :c la s s lis t ); { m a tch a l l c l a s s i f i e r s a g a i n s t e n v ir o n m e n t a l m essa g e a n d c r e a t e m a tc h l i s t v a r j : in te g e r ; b e g in w i t h p o p u l a t i o n do w i t h m a t c h l l s t do b e g in r t a c t i v e :~ 0 ; f o r j : - 1 t o n c l a s s i f i e r do w i t h c l a s s i f i e r [ J ] do b e g i n m a t c h f la g ; - m a t c h ( c , etn esa, n p o s i t i o n ) ; i f m a t c h f la g t h e n b e g i n n a c t l v e : — n a c t i v e + 1; c l i s t { n a c t i v e ) :- j en d en d ; en d e n d ;
)
Wyd. 6.2. Funkcja paskalowa match i procedura matchclassifiers stanowląserce uktadu przetwarzania komunikatów w systemie SCS
zykii asemblera, używającej niskopoziomowych operacji porównywania słów maszyno wych, są to jednak rozwiązania zależne od sprzętu i wykraczają poza zakres naszych Bozważań. Procedura matchclassifiers sprawdza zgodność wszystkich klasyfikatorów z komuni( katem zewnętrznym i konstruuje rekord matchlist. Jądro podprogramu mieści się wewnątrz ^pętli for-do. Na początku każdego cyklu zmienna boolowska matchflag otrzymuje wartość :!'nadaną jej w wyniku wywołania funkcji rnatch. Następnie wartość zmiennej nactive, określającej liczbę aktywnych klasyfikatorów, zostaje w razie potrzeby zwiększona o 1, a.lista klasyfikatorów clist powiększa się o numer pasującego klasyfikatora. Przy wyjściu z procedury matchclassifiers wszystkie pasujące klasyfikatory mają ustawione znaczniki matchflag, a rekord matchlist. zawiera ich liczbę oraz listę ich numerów. Zakończywszy * w ten sposób proces porównywania, jesteśmy już gotowi do wyłonienia zwycięzców ,*i,,rozdziahi wypłaty między klasyfikatory, zgodnie z algorytmem przyznawania ocen.
_________________________________________________________ 6.6.3. A lgorytm przyznaw ania ocen
Poprzednio wymieniliśmy dwie główne składowe algorytmu przyznawania ocen: instytu cję przetargu i izby rozrachunkowej. Oba te elementy występują w podprogramie realizu jącym układ oceniający w SCS (wyd. 6.3). Widzimy tam procedurę aoc, zawierającą awywołania trzech innych procedur: auction, clearinghouse i taxcollector. Jest tam rówj'
250 _______________________ 6. Wprowadzenie do genetycznych systemów uczących sięj Ł* clearingrec tego typu. Wpis do rejestru składa się z dwóch pól typu integer, winner (aktualny zwycięzca) oraz oldwinner (poprzedni zwycięzca) oraz znacznika buck>-t etbrigadeflag typu boolean. Ten ostatni otrzymuje wartość irue pódczas jnicjalizacji,: jeżeli użytkownik decyduje się na ukrytą formę realizacji algorytmu bucket brigade. W zadaniu emulacji multipleksera znacznik backetbrigadeflag zostaje zazwyczaj usta wiony na false, gdyż w każdym kroku czasowym system otrzymuje nagrodę, ą kolejne sygnały wejściowe nie są ze sobą związane (są generowane w sposób losowy). W innego typu zadaniach, w których w celu nagrodzenia działań poprzedzających trzeba łańcuszka rozliczeń, znacznik bucketbrigadeflag pówinien.być ustawiony na true, co powoduje, realizację wyplaty ze strony aktualnego zwycięzcy na rzecz poprzedniego. Niezależnie od tego czy stosujemy ukrytą formę bucket brigade czy nie, bardziej skomplikowane systemy klasyfikujące wymagają oczywiście dokładniej prowadzonego rejestru wszyst kich zwycięzców i ich prekursorów; uciążliwość tej procedury jestjedną z przyczyn, dla których zajmujemy się teraz uproszczonym systemem klasyfikującym. { aoc d a ta d e c la r a t io n s ty p e cre co rd ~ re c o rd
- aoc u ses c f i l e
fo r
in p u t
)
w in n e r , o ld w in n e r :in t e g e r ; b u c k e t b r ig a d e f la g : b o o le a n ; end; var
c le a r in g r e c :c r e c o r d ;
p ro c e d u re a o c (v a r p o p u la tio n :p o p t y p e ; v a r m a t c h l l s t : c l a s s l i s t ; ' v a r c le a r in g r e c :c r e c o r d ); ( a p p o r t io n m e n t o f c r e d i t c o o r d i n a t o r ) b e g in w i t h c l e a r i n g r e c do w i n n e r : - a u c t i o n ( p o p u l a t i o n , m a t c h l i s t , ta x c o lle c t o r (p o p u la tio n ); c le a r in g h o u s e (p o p u la t lo n , c l e a r i n g r e c ) ; end;
o ld w in n e r );
Wyd. 6.3. Procedura aoc koordynuje pracę ukladu oceniającego w SCS poprzez strukturę danych clearingrec
Szczegóły funkcjonowania układu oceniającego można prześledzić na wyd. 6.4. Funkcja paskalowa auction przeprowadza przetarg (w obecności szumu losowego) w ce lu wyłonienia zwycięzców spośród grona oferentów pasujących do komunikatu. We wnątrz konstrukcji for-do, w kolejnych cyklach oblicza się, korzystając z rekordu match list, deklarowaną (bid) i efektywną (ebid) wysokość rtferty poszczególnych pasujących klasyfikatorów. Wartość bid jest obliczana jako*ilocSyn trzech czynników: pola cbid, funkcji liniowej szczegółowości11(specificity) oraz siły klasyfikatora. Wspomniana funk cja ma w tym przypadku postać bidI + bid2 *specificity gdzie bidl i bid2 są parametrami wejściowymi. Dobierając różne wartości bidl i bid2 można badać różne struktury ofert. Efektywna wysokość oferty jest również iloczynem " Tj. liczby zer i jedynek w warunku klasyfikatora (pnyp. tłum.)
;;6. System klasyfikujący w Pascalu.
251
id, funkcji liniowej specificity (o współczynnikach ebidl i ebid2) i siły, powiększonym ;khtdnik losowy o rozkładzie normalnym ze średniązero i odchyleniem standardowym idsigma. Użycie odrębnych' współczynników dodatkowo zwiększa swobodę przy okreśiu struktury ofert. Do generowania szumu losowego o rozkładzie normalnym została żyta metoda Boxa-Mullera (Pike, 1980), zaimplementowana w postaci kilku procedur chodzących w skład pliku utility.scs (dodatek C). Na koniec funkcja auction przybiera o wartość numer klasyfikatora o najwyższej efektywnej wysokości oferty i oddaje :'owanie procedurze aoc. i|j Jako następna zostaje wywołana procedura clearinghouse, której zadaniem jest ^qkonanie rozrachunków. Siła (strength) aktualnego zwycięzcy zostaje pomniejszona
E
'f u n c t i o n a u c t i o n ( v a r p o p u l a t i o n : p o p t y p e ; v a r m a t c h l i s t : c l a s s l l s t ; o ld w in n e r :in te g e r ):ln te g e r ; { a u c t i o n among c u r r e n t l y m a tch e d c l a s s i f i e r s - r e t u r n w i n n e r ) v a r j , k , w i n n e r : i n t e g e r ; b ld m a x im u m :r e a l; b e g in w i t h p o p u l a t i o n do w i t h m a t c h l i s t do b e g in bidm axim um : - 0 . 0 ; w in n e r : - o ld w i n n e r ; { i f no m a tc h , o ld w i n n e r w in s a g a i n ) i f n a c t i v e > 0 t h e n f o r j : - 1 t o n a c t i v e do b e g i n k : - c l i s t [ J ] ; w i t h c l a s s i f i e r [ k ] do b e g i n b id : - c b i d * ( b i d l + b id 2 * s p e c i f i c i t y ) * s t r e n g t h ; e b id : - c b i d * < e b id l + e b id 2 * s p e c i f i c i t y ) * s t r e n g t h + n o is e < 0 . 0 , b i d s i g m a ) ; i f ( e b i d > bidm axim um ) th e n b e g i n w in n e r : - k ; bidm axim um : - e b id en d en d e n d ; a u c t i o n : - w in n e r end e n d ; p ro c e d u re c le a r in g h o u s e ( v a r p o p u la t io n :p o p t y p e ; v a r c l e a r i n g r e c : c r e c o r d ) ; { d i s t r i b u t e p a ym en t fro m r e c e n t w in n e r t o o ld w in n e r ) v a r p a y m e n t : r e a l; b e g in w i t h p o p u l a t i o n do w i t h c l e a r i n g r e c do b e g in w i t h c l a s s i f i e r [ w l n n e r ] do b e g i n ( p a ym en t ) p a ym en t : - b i d ; s t r e n g t h : - s t r e n g t h - p a ym en t en d ; i f b u c k e t b r i g a d e f l a g t h e n ( p a y o ld w in n e r r e c e i p t i f bb i s o n ) w i t h c l a s s i f i e r [ o l d w i n n e r ) do s t r e n g t h : — s t r e n g t h + p a ym e n t en d e n d ; p ro ce d u re t a x c o l l e c t o r ( v a r p o p u la t io n :p o p t y p e ); ( c o l l e c t e x i s t e n c e a n d b i d d i n g t a x e s fro m p o p u l a t i o n members ) v a r j: in t e g e r ; b ld ta x s w ltc h :r e a l; b e g in w i t h p o p u l a t i o n do b e g in ( l i f e t a x fro m e v e r y o n e & b l d t a x fro m a c t i v e s ) i f ( l l f e t a x O 0 . 0 ) o r ( b i d t a x O 0 . 0 ) t h e n f o r J : - 1 t o n c l a s s i f i e r do w i t h c l a s s i f i e r [ j ] do b e g in i f m a t c h f la g t h e n b i d t a x s w i t c h :«» 1 .0 e l s e b i d t a x s w i t c h : - 0 . 0 ; s t r e n g t h :- s t r e n g t h - l i f e t a x * s t r e n g t h - b id t o x * b id t a x s w it c h * s t r e n g t h ; end; en d e n d ;
Wyd. 6.4. Przyznawanie ocen w SCS jest realizowane za pomocą funkcji c le a rin g h o u s e i ta x c o lle c to r
a u c tio n
oraz procedur
252 __________________________
6. Wprowadzenie do genetycznych systemów uczących 4 «
1 ' '(jj o deklarowaną (a nie efektywną) wartość oferty bid, i - jeśli znacznik bucketbrigadefldM mą wartość true - pole strength poprzedniego zwycięzcy (oldwinner) ulega zwiększeitijlj o taką samą wypłatę Qmyrnent). Opisana procedura izby rozrachunkowej została w ziią* cznym stopniu uproszczona w stosunku do ogólnego systemu klasyfikującego, Zauważ my również inną różnicę między tą implementacją a opisanym wcześniej ogólnym ntójH chanizmem przyznawania ocen. Wcześniej stwierdziliśmy mianowicie, że zwycięskie klasyfikatory placą poprzednio aktywnym klasyfikatorom za dostarczenie komunikatów® które umożliwiły uaktywnienie tych pierwszych. W uproszczonej wersji, którą tu omaS wiamy, aktualnie aktywny klasyfikator dokonuję wypłaty na rzecz swego poprzednik^ (Jeśli bucketbrigadeflag ma wartość true), chociaż nie ma między nimi bezpośrednieg® powiązania poprzez listę komunikatów. W ten sposób zakladamy istnienie sprzężeniąl między klasyfikatorami aktywnymi w sąsiednich chwilach - przypuszczenie uzasadnione? porządkiem czasowym nakładanym przez środowisko. Taka ukryta postać mechanizmu bucket brigade zostala po raz pierwszy wypracowana przez Wilsona (1985b). Bywa on;il skuteczna w prostych systemach klasyfikujących, którym do efektywnego funkcjonowa nia wystarcza pojedynczy łańcuch derywacji. W złożonych systemach potrzeba bardziejJ efektywnego sposobu dystrybucji wyplat klasyfikatorom, które przyczyniają się do zdo bycia nagrody, co osiąga się za pomocą ogólniejszej postaci tego mechanizmu z roz gałęzionymi łańcuchami powiązań klasyfikator-komunikat. Ostatnią procedurą wywoływaną w aoc jest taxcollector. W celu odsiania niepro- _ duktywnych regul, od klasyfikatorów pobiera się dwa rodzaje podatku: podatek pogłówny i podatek obrotowy. Podatek pogłówny, którego stopa jest określona przez parametr populacji lifetax (typu recd), płacą wszystkie klasyfikatory, natomiast podatek obrotowy : placą te klasyfikatory, które składały oferty podczas ostatniego przetargu; jego stopajest określona przez parametr bidtax (również typu real). Jeżeli którakolwiek z tych stóp jest różna od zera, to pętla for-do wewnątrz procedury taxcollector stanowi narzędzie wystar- 3 czające do ściągnięcia odpowiedniej kwoty podatku od każdego klasyfikatora. Łącznie trzy procedury auction, clearinghouse i taxcollector rozdzielają i pobierają ! należności oraz podatki, aby doprowadzić do tego, że dobre reguły rosną w siłę, a z łe ; - słabną. Siła reguly może być następnie użyta jako miara przystosowania w genetycz nym procesie poszukiwania nowych, potencjalnie lepszych reguł.
6.6.4. Poszukiwanie genetyczne w syslemie klasyfikującym___________________________ Algorytm genetyczny stosowany do odkrywania ifowyfh regul w systemie SCS uderzają co przypomina program SGA z rozdzialu trzeciego. Wobec tego zatrzymamy się tylko przy znaczących różnicach. Wydruk 6.5 zawiera opis struktur danych oraz głównej pro cedury sterującej {ga) algorytmu genetycznego wchodzącego w skład SCS. Parametr garec procedury ga jest rekordem typu grecord. Rekord ten zawiera następujące pola typu real: proportionselect, pinutation i pcrossover. Pole proportionselect określa uła mek populacji podlegający reprodukcji podczas jednego wywołania procedury. Pola pinutation i pcrossover określają odpowiednio prawdopodobieństwa zajścia mutacji (dla jednej pozycji ciągu) i krzyżowania (dla kojarzenia). Rekord zawiera też pola typu in-
lik ■System klasyfikujący w Pascalu_______________________________________________ 253
teger. Pole crowdingfactor określa czynnik ścisku, tj. liczbęosobników będących kandydatóni do zastąpienia przy zastosowaniu metody ścisku, Pola nmutation i ncrossover pełnią pikcję liczników wykonanyCh mutacji i krzyżowań odpowiednio. Prócz tego rekord typu 'grecord zawiera też pole mating będące tablicą typu marray. Jest to tablica zlożona s rckprdów opisujących osobniki wybrane do reprodukcji i do zastąpienia. Każdy taki rekord składa się z indeksów dwóch kojarzonych osobników (matel i mate2), punktu krzyżowania koniugującej papy (sitecross) oraz indeksów dwóch klasyfikatorów (inortl l mort2) ustępujących miejsca „nowo narodzonym” regułom. Z tych ostatnich rekordów korzysta się jedynie w celu przygotowania raportu o działaniu algorytmu genetycznego. Przeglądając treść procedury ga (wyd. 6.5) możemy zauważyć, że jest ona bardzo tbliżona do analogicznej procedury elementarnego algorytmu genetycznego (SGA): sta-
I g a .s c s :
g e n e t ic a lg o r ith m
co d e f o r SCS
)’
( d a ta d e c la r a tio n s ) c o n s t m ax m atin g — 1 0 ; ty p e
m re c o rd - r e c o r d m a t e l , m a te 2 , m o r t l , m o r t2 , s i t e c r o s s : i n t e g e r end; m a rra y — a r r a y [l..m a x m a t in g ] o f m re co rd ; g re co rd - re c o rd p r o p o r t i o n s e l e c t , p m u t a t io n , p c r o s s o v e r : r e a l ; n c r o s s o v e r , n m u t a t io n , c r o w d i n g f a c t o r , c r o w d in g s u b p o p , n s e le c t :ln t e g e r ; m a c in g : m a r r a y ; { m a t in g r e c o r d s f o r g a r e p o r t ) end;
var
g a re c: g re co rd ; g file :te x t;
p ro ce d u re g a< var g a r e c :g r e c o r d ; v a r p o p u la tio n :p o p t y p e ); { c o o r d i n a t e s e l e c t i o n , m a t in g , c r o s s o v e r , m u t a t i o n , & r e p la c e m e n t ) v a r j : in t e g e r ; c h i l d l , c h ild 2 :c la s s t y p e ; b e g in w i t h g a r e c do w i t h p o p u l a t i o n do b e g in s t a tis tic s (p o p u la tio n ); { g e t a v e r a g e , m ax, m in , s u r a s tr e n g t h ) f o r j : - 1 t o n s e l e c t do w i t h m a t i n g [ j } do b e g in m a te l :- s e le c t ( p o p u la t io n ) ; ( p i c k m a te s ) m ate2 : - s e l e c t ( p o p u l a t i o n ) ; c r o s s o v e r ( c la s s if ie r [ m a t e lJ , c la s s if ie r [ m a t e 2 ] , c h i l d l , c h ild 2 , p c r o s s o v e r , p m u t a t io n , s i t e c r o s s , n p o s i t i o n , n c r o s s o v e r , n m u ta tio n ); ( cro s s & m u ta te ) m o r t l : - c r o w d i n g ( c h i l d l , p o p u l a t i o n , c r o w d i n g f a c t o r , c r o w d in g s u b p o p ); s u m s tr e n g t h : - s u m s t r e n g t h * c l a s s i f l e r [ m o r t l ] . s t r e n g t h + c h ild l.s t r e n g t h ; ( u p d a t e s u m s tr e n g t h c l a s s i f i e r ( m o r t l ] :- c h i l d l ; ( i n s e r t c h i l d i n m o r t l's p la c e ) m o rt2 : - c r o w d i n g ( c h i l d 2 , p o p u l a t i o n , c r o w d i n g f a c t o r , c r o w d in g s u b p o p ); s u m s tr e n g t h : ~ s u m s tr e n g t h - c l a s s i f i e r [ m o r t 2 ] . s t r e n g t h + c h ild 2 .s t r e n g t h ; ( u p d a t e s u m s tr e n g t h c la s s if ie r [ m o r t 2 ] :- c h ild 2 ; end; end en d;
)
)
Wyd. 6.5. Algorylm genetyczny w SCS wykazuje znaczne podobieństwo do elementarnego algorytmu genetycznego (SGA) z rozdziału trzeciego, o czym świadczą procedura ga i struktura danych garec
254
6. Wprowadzenie do genetycznych systemów uczących s)ę
tystyki dotyczące populacji są obliczane w procedurze statistics, funkcja select dobicia pąry partnerów (mateI i mate2), stosując metodę ruletki, a krzyżowanie zachodzi w pmcedurze crossover. Na tymjednak podobieństwa się kończą. Ponieważ naszym celem jest teraz znalezienie dobrze dostosowanego zespolu regul, a niejednej, najlepszej reguły, stosujemy metodę ścisku, aby wybrać klasyfikatory, kt<3re mają być zastąpione przez nowo powstałe potomstwo. Jak pamiętamy z rozdziału czwartego, w najprostszym mode lu ze ściskiem wybiera się tylu kandydatów do (ewehtualnego) zastąpienia prżez danego
f u n c t io n w o r s t o fn < v a r p o p u la tio n :p o p t y p e ; n : i n t e g e r ) : i n t e g e r ; { s e l e c t w o r s t i n d i v i d u a l fro m random s u b p o p u l a t io n o f s i z e n } v a r j , w o rs t, c a n d id a t e :in t e g e r ; w o r s t s t r e n g t h :r e a l; b e g i n w i t h p o p u l a t i o n do b e g i n {' i n i t i a l i z e w i t h rando m s e l e c t i o n ) w o rs t :- r n d ( l, n c l a s s l f i e r ) ; w o rs ts tre n g th :— c la s s ifie r [w o r s t ].s t r e n g t h ; { s e l e c t a n d co m p a re fr o m r e m a in in g s u b p o p u l a t io n } i f ( n > 1 ) t h e n f o r j : — 2 t o n do b e g in c a n d id a t e : ~ r n d ( l , n c l a s s i f i e r ) ; i f w o r s t s t r e n g t h > c l a s s i f i e r [ c a n d i d a t e ] . s t r e n g t h th e n b e g in w o r s t :- c a n d id a t e ; t w o rs ts tre n g th :— c la s s ifie r [w o r s t ].s t r e n g t h ; end; end; { re tu rn w o rst } w o r s to fn :- w o r s t; en d e n d ; f u n c t io n m a tc h c o u n t(v a r c l a s s i f i e r l , c l a s s i f i e r 2 : c l a s s t y p e ; n p o s it io n :in t e g e r ) :L n t e g e r ; ( c o u n t num ber o f p o s i t i o n s o f s i m i l a r i t y } v a r te m p c o u n t, j : i n t e g e r ; b e g in l f ( c l a s s i f i e r l . a - c l a s s i f i e r 2 . a ) t h e n te m p c o u n t : - 1 e l s e te m p c o u n t : - 0 ; f o r j : - 1 t o n p o s i t i o n do i f ( c l a s s i f i e r l . c [ j ] - c l a s s i f i e r 2 . c ( j ] ) t h e n te m p c o u n t : m a tc h c o u n t :~ te m p c o u n t; enB;
te m p c o u n t + 1;
f u n c t io n c r o w d in g (V a r c h il d : c la s s t y p e ; v a r p o p u la t io n :p o p t y p e ; c r o w d in g fa c t o r , c r o w d in g s u b p o p :in t e g e r ):in t e g e r ; { r e p la c e m e n t u s i n g m o d i f i e d De Jo n g c r o w d in g ) v a r popm em ber, J , m a tc h , m atchm ax, m o s t s i m i l a r : i n t e g e r ; b e g in w i t h p o p u l a t i o n do b e g in m atchm ax :~ -1; m o s t s i m i l a r : - 0; i f ( c r o w d i n g f a c t o r < 1 ) th e n c r o w d in g fa o k > r •:- 1; f o r j : - 1 t o c r o w d i n g f a c t o r do b eg^ n 1 popmember : - w o r s t o f n ( p o p u l a t i o n , c r o w d in g s u b p o p ); { pi,clc w o r s t o f n m a tc h ; - m a t c h c o u n t ( c h i l d , c l a s s i f i e r i p o p m e m b e r ] , n p o s i t i o n ) ; i f m a tc h > m atchm ax th e n b e g in m atchm ax : - m a tc h ; m o s t s i m i l a r : - popmember; end; end; c r o w d in g : « m o s t s i m i l a r ; end en d ;
}
Wyd. 6.6. Metodę ścisku stosuje się w celu utrzymania różnorodności w populacji reguł. Funkcja paskalowa crowding wywoluje dwie inne funkcje matchcount i worstofn
System klasyfikujący w Pascalu .
255
.ffetomka, ile wynosi czynnik ścisku crowdingfactor. W zastosowanym tu wariancie wysię ponadto, aby kandydaci do usunięcia byli wybrani z podpopulacji o niskim ifM^stosowaniu. Za każdym razem, gdy wybieramy ewentualnego kandydata do zastąienia na podstawie podobieństwa, losujemy najpierw crowdlngsubpop osobników z pełąj populacji, zachowując najsłabszego z nich. Następnie postępujemy zgodnie z metodą 3isk11, tak jak zostalo to opisane w rozdziale czwartym. Dziękitej modyfikacji wymiana dotyka osobników 0 niskiej,wydajnosci, podobnych do nowo utworzonych członków #ipopuIacji, którzy ich zastępują. Metoda ścisku została zrealizowana w systemie SCS za pomocą funkcji paska=/lbwych wórstofn, matchcount i crowding, zamieszczonych na wyd. 6 .6 . Funkcja worstofn fjwylosowuje podpopulację o liczebności n (w naszym przypadku - o liczebności p-.crowdingsubpop) z pełnej populacji, przyjmując jako wartość indeks najsłabszego spo śród wybranych osobników. Funkcja matchcount porównuje dwa klasyfikatory pod f względem podobieństwa, rejestrując liczbę zgodnych pozycji. Każdy przypadek zgodnof pci na pozycjach zajmowanych przez warunki zwiększa licznik o jeden. To samo dotyczy 'jnpzycji zajmowanej przez akcję. Funkcja crowding korzysta z dwóch poprzednich funk$qjiw celu umieszczenia klasyfikatora potomnego (child) w populacji na miejscuokupowanym dotychczas przez blisko spokrewionego z nim, mało wydajnego klasyfikatora. f ;;Pętla for-do zostaje powtórzona łącznie crowdingfactor razy. Wewnątrz pętli dokonuje się wyboru klasyfikatora z populacji classifier przy użyciu funkcji worstofii, po czym I wyznacza się liczbę zgodnych pozycji matchn za pomocą funkcji matchcount. Jeśli liczg ba ta przekracza największą dotychczas znalezioną wartość matchmax, to nowy rekord > wymazuje poprzedni. Na koniec funkcja crowding otrzymuje wartość równą numerowi . klasyfikatora o największej zgodności. Funkcja crowding dopełnia treści procedury ga (wyd. 6.5). Dwa osobniki zostają >■' zatem -zmuszone do przedwczesnego ustąpienia (zmienne indeksowe mortl i mort2). Ponadto, przy zastępowaniu ich nowym potomstwem, wartość zmiennej sumstrength zostaje zaktualizowana, aby poprawnie określać całkowitą silę zmienionej populacji.
łi
|,______________________________________________________________ 6.6.5, A w ięc gdzie problem ?
Opisując nasz uproszczony system klasyfikujący, przedstawiliśmy go tak,jakby zupelnie nie dbał 0 otaczający go świat. W gruncie rzeczy tak do tej pory było. Nie postawiliśmy mu żadnego zadania (reprezentowanego przez środowisko) ani nie określiliśmy sposobu interakcji ze środowiskiem. Obecnie naprawimy to zaniedbanie, formułując proste zada nie wyuczenia się funkcji boolowskiej reprezentującej logikę multipleksera z sześcioma liniami wejściowymi. Wspomniana wyżej funkcja zostala przedstawiona schematycznie na rys. 6.2. Prob lem ten był rozpatrywany już wcześniej, tak z pozycji modelu konekcyjnego (Barto, Anandan i Anderson, 1985), jak i systemu klasyfikującego (Wilson, l987a). Sześć linii
0 W stosunku clo klasyfikatora chiUI {przyj>. 1l11m.).
256
6. Wprowadzenie do genetycznych systemów uczących sję
L
Rys. 6.2. Schemat ideowy sześciobitowego multipleksera
sygnałowych wchodzi do multipleksera. Sygnały odebrane z dwóch pierwszych linii (linii adresowych lub A-linii) zostają zdekodowane do postaci liczby dwójkowej. Adres ten określa, który z pozostałych czterech sygnałów (na liniach danych lub D-liniach) ma zostać przesłany na wyjście multipleksera. Na przykład na rysunku sygnał adresow v 11 określa adres 3, a zatem sygnał na linii danych 3 (równy 1) zostaje przesłany na wyjście. ( e n v ir o n m e n t d e c l a r a t i o n s ) ty p e e re c o rd - re c o rd la d d r e s s , ld a t a , l s i g n a l , a d d re s s , c la s s if ie r o u t p u t : in te g e r ; s ig n a l:m e s s a g e ; end; var
o u tp u t,
e n v ir o n r e c : e r e c o rd ; e f ile :t e x t ;
p r o c e d u r e g e n e r a t e s ig n a l < v a r e n v i r o n r e c : e r e c o r d ) ; { g e n e r a t e random s i g n a l ) v a r j :in te g e r ; b e g in w i t h e n v i r o n r e c do f o r j : - 1 t o l s i g h a l do I f f l i p ( 0 . 5 ) th e n s i g n a l [ j ] : * 1 e ls e s l g n a l [ j ] :- 0 en d ; f u n c t i o n d e c o d e ( v a r m e s s :m e s s a g e ; s t a r t , l e n g t h : i n t e g e r ) : i n t e g e r ; { d e co d e s u b s t r i n g a s u n s ig n e d b i n a r y i n t e g e r ) v a r j , accu m , p o w e r o f 2 : i n t e g e r ; . 'f b e g in accum : - 0 ; p o w e ro f2 : — 1; f o r j : - s t a r t t o s t a r t + le n g t h - 1 do b e g i n accum : - accum + p o w e r o f 2 * r a e s s ( j ) ; p o w e ro f2 : ~ p o w e r o f2 * 2; en d ; d e co d e : — accum end;
Wyd. 6.7. Procedura environment wraz ze strukturą danych environrec implementują symulowane środowisko systemu SCS
/System klasyfikujący w Pascalu.
257
p ro ced u re r a u ltip le x e r o u tp u t(v a r e n v ir o n r e c :e r e c o r d ); { c a lc u la t e c o r r e c t m u lt ip le x e r o u tp u t } v a r j :ln te g e r ; b e g in w i t h e n v i r o n r e c do b e g i n ( d e co d e t h e a d d r e s s } a d d re ss :- d e c o d e ( s l g n a l , l , l a d d r e s s ) ; ( s e t th e o u t p u t } o u tp u t :- s ig n a l[ la d d r e s s + a d d re s s + 1] endn e n d ; p r o c e d u r e e n v ir o n m e n p (v a r e n v i r o n r e c : e r e c o r d ) ; ( c o o r d in a t e m u lt ip le x e r c a l c u l a t i o n s } b e g in g e n e r a t e s ig n a l(e n v ir o n r e c ); m u lt ip le x e r o u t p u t (e n v lr o n r e c ); end;
1 Wyd. 6.7. (od.)
>1 " Działanie multipleksera objaśnić nietrudno, ale wciążnie wiemy,jakie zadanie stoi ptzed systemem klasyfikującym. W programie SCS systemowi klasyfikującemu prezen tu je się wygenerowany losowo ciąg przykładowych sygnałów. Na tej podstawie system ■a za zadanie nauczyć się emulować działanie multipleksera. W tym celu system klasyujący raz po raz odpowiada na kolejne sygnały, otrzymując - lub nie - nagrodę zależności od tego, czy udzielił poprawnej odpowiedzi. W ten sposób układ oceniający radza istniejące reguły stosownie do ich efektywności. Następnie algorytm genetyczdorzuca nowe reguły w nadziei zwiększenia skuteczności systemu. J Środowisko multipleksera zostało zaprogramowane w Pascalu w sposób pokazany wyd. 6.7. Rekord environrec typu erecord reprezentujący środowisko składa się z pól I ii integer: laddress (długość adresu), ldata (długość danych), lsignal (długość syg), address (zdekodowany adres), output (poprawny sygnał na wyjściu) i classifieroutW(sygnał wyjściowy klasyfikatora). Ponadto typ erecord zawiera pole signal zawierace kopię wygenerowanego losowó komunikatu zewnętrznego. { d e te c C o r.s c s :
c o n v e r t e n v ir o n m e n t a l s t a t e s
( d e te c to r d a ta d e c la r a tio n s
to e n v.
m e ssa g e
)
)
ty p e d r e c o r d - r e c o r d e n d ; ( F o r t h i s p r o b le m , no d e t e c t o r r e c o r d i s r e q u ir e d . N o r m a lly , th e d e t e c t o r r e c o r d c o n t a i n s i n f o r m a t i o n f o r m a p p in g e n v i r o n m e n t a l s t a t e v a r ia b l e s to th e e n v ir o n m e n t a l b i t - s t r l n g . v a r d e te c tro c :d re c o rd ;
{ dummy d e t e c t o r r e c o r d
)
)
p ro ce d u re d e t e c t o r s ( v a r e n v ir o n r e c :e r e c o r d ; v a r d e t e c t r e c :d r e c o r d ; v a r e n v m e s s a g e :m e s s a g e ); { c o n v e r t e n v i r o n m e n t a l s t a t e to e n v . m essa g e ) b e g in w i t h e n v i r o n r e c do ( p l a c e s i g n a l m essa g e i n e n v . m essa g e ) e n vm e s sa g e *.— s i g n a l end;
pVyd. 6.8. Procedura detectors tworzy komunikat zewnętrzny na podstawie stanu środowiska, po*: l’ slugującsię w tym celu strukturądanych. detectrec. W zadaniu o emulacjimultiplekserajest to bardzo latwe; w innych przypadkach może być potrzebne przekształcenie parametrów
2 5 8 '__________________________
6. Wprowadzenie do genetycznych systemów uczących Ślę
u Środowisko multipleksera wykohuje 'dwie zasadnicze czynności: generowanie lo sowego komunikatu oraz określenie poprawnej odpowiedzi (co jest potrzebne do po/.- I niejszego nagradzania). Jak widać z wyd. 6.8, procedura environment (środowisko) konidynuje te dwa dzialania za pomocą wywolań procedur generatesignal i multiplexeromput. Procedura generatesignal wytwarza nowy komunikat posługując się funkcją , generującą losowe wartości boolowskie (dodatek B). Procedura multiplexeroutput deko duje adres właściwej linii danych za pomocą funkcji clecode (podobnej do funkcji o tej1 ^' samej nazwie z rozdziału trzeciego) i zapisuje poprawny sygnał wyjściowy w polu oniput rekordu environrec. Wielkość ta zostaje później użyta przez podprogram decydujący •;, 0 wyplacie nagrody danemu klasyfikatorowi.
6.6.6.
O dczytaj kom unikat, podejm ij d z ia ła n ie _______________________________________________
1 tak oto wypełniliśmy wnętrznościami korpus naszego uproszczonego systemu klasyfi-’ ‘ t kującego. Mamy również zasadniczy zrąb implementacji jego środowiska. Jak '/ulem skłonić je teraz do współdziałania? Cofając się pamięcią do schematu z rys. 6.1, przypo mnijmy sobie, że system klasyfikujący otrzymuje informacje ze środowiska za pośiednictwem swoich detektorów i oddziałuje na nie za pomocą efektorów. Zajmiemy sic teraz implementacją detektorów i efektorów w systemie SCS. Na wydruku 6.8 widzimy opis struktur danych i procedur realizujących układ deie kcyjny w systemie SCS. W rozważanym zadaniu działanie detektorów jest oczywiste. Procedura detectors kopiuje po prostu komunikat signal do zmiennej envmessage (komu nikat zewnętrzny). W innego rodzaju zadaniach konieczne jest zakodowanie jednego lnh więcej parametrów rzeczywistych w postaci ciągu dwójkowego. W tym celu są potrzeb ne struktury danych określające zakres i dlugość każdego parametru środowiska uwzglę dnionego w komunikacie. Potrzebne są także procedury kodujące i odwzorowujące w iv Iu tworzenia i łączenia podciągów tworzących komunikat. p ro c e d u re e f f e c t o r ( v a r p o p u la t lo n :p o p t y p e ; v a r c l e a r i n g r e c : c r e c o r d ; v a r e n v ir o n r e c :e r e c o r d ); { s e t a c t i o n i n o b j e c t a s d i c t a t e d b y a u c t i o n w in n e r } b e g in w i t h p o p u l a t i o n do w i t h c l e a r i n g r e c do w i t h e n v i r o n r e c do c l a s s i f i e r o u t p u t : - c l a s s i f i e r ( w i n n e r ] . a en d ;
Wyd. 6.9. Procedura e//ec/orodwzorowuje akcję zwycięskiego klasyfikatora w srodowisku
Procedury układu detekcyjnego troszczą się o przekazanie informacji płynącej ze środowiska do systemu SCS, ale co z oddziaływaniem systemu na środowisko? Zajmuj się tym krótka procedura ejfector zamieszczona w wyd. 6.9. W naszym szczególnym przypadku działanie efektora jest oczywiste: po prostu podajemy jako sygnał wyjściowy multipleksera akcję klasyfikatora, który zwyciężył w przetargu. W innego typu za daniach może to wymagać bardziej złożonych odzworowań i w takich przypadkach procedura effector będzie potrzebować bardziej rozbudowanych struktur danych i al gorytmów.
System klasyfikujący w Pascalu
259
{ re in fo r c e m e n t d a ta d e c la r a t io n s ) ty p e r r e c o r d - r e c o r d { r e i n f o r c e m e n t r e c o r d t y p e ) re w a rd , re w a rd c o u n t, t o t a lc o u n t , co u n t5 0 , re w a r d c o u n t5 Q , p r o p o r t i o n r e w a r d , p r o p o r tio n r e w a r d 5 0 : r e a l ; la s t w in n e r :in t e g e r ; end; v a r re in f o r c e m e n tr e c :r r e c o r d ; r file :te x t; { r e in fo r c e m e n t f i l e
- r file
}
fu n c tio n c r i t e r i o n ( v a r r r e c :r r e c o r d ; v a r e n v ir o n r e c :e r e c o r d ):b o o le a n ; { r e t u r n t r u e i f c r i t e r i o n i s a c h ie v e d ) v a r te m p fla g :b o o le a n ; b e g in w i t h r r e c do w i t h e n v i r o n r e c do b e g in te ro p fLa g : - ( o u t p u t - c l a s s i f i e r o u t p u t ) ; t o t a l c o u n t : - t o t a l c o u n t + 1; c o u n t5 0 : - c o u n t5 0 + 1 ; { in c r e m e n t r e w a r d c o u n t e r s ) i f t e m p f la g th e n b e g in r e w a r d c o u n t : - r e w a r d c o u n t + 1; r e w a rd c o u n t5 0 : - r e w a r d c o u n t 5 0 + 1; end;
( c a l c u l a t e re w a r d p r o p o r t i o n s : r u n n in g & l a s t 50 ) p r o p o r tio n r e w a r d :- r e w a r d c o u n t / t o t a lc o u n t ; i f ( ro u n d (c o u n t5 0 - 5 0 . 0 ) - 0 ) t h e n b e g in p r o p o r t io n r e w a r d 5 0 : - r e w a r d c o u n t 5 0 / 5 0 . 0 ; r e w a rd c o u n t5 0 : - 0 . 0 ; c o u n t5 0 : - 0 .0 { r e s e t ) en d ; c r i t e r i o n : - t e m p f la g ; end en d ;
p ro c e d u re p a y r e w a r d (v a r p o p u la t io n :p o p t y p e ; v a r r r e c : r r e c o r d ; v a r c le a r in g r e c :c r e c o r d ); { p a y re w a r d to a p p r o p r i a t e i n d i v i d u a l ) b e g in w i t h p o p u l a t i o n do w i t h r r e c do w i t h c l e a r i n g r e c do w i t h c l a s s i f i e r [ w i n n e r ] do b e g in s tr e n g t h :- s tr e n g t h + re w a rd ; l a s t w i n n e r : - w in n e r end en d ;
p ro c e d u re r e in f o r c e m e n t (v a r r e in f o r c e m e n t r e c :r r e c o r d ; v a r p o p u la t io n :p o p t y p e ; v a r c le a r in g r e c :c r e c o r d ; v a r e n v ir o n r e c :e r e c o r d ); { make p a ym e n t i f c r i t e r i o n s a t i s f i e d } b e g in i f c r i t e r i o n ( r e i n f o r c e m e n t r e c , e n v i r o n r e c ) th e n p a y r e w a r d ( p o p u la t i o n , r e i n f o r c e m e n t r e c , c l e a r i n g r e c ) ; en d ;
Wyd. 6.10. Procedura reinforcement monitoruje wyniki i wyplaca nagrody za poprawne odpowiedzi
260 --------------------------------------------- 6. Wprowadzenie do genetycznych systemów uczących się ” .
i, 6.6.7.
^!fJ®
Z w ycięzca bierze w s z y s t k o _________________________________________________________
.lestjeszczejeden istotny rodzaj informacji, która musi przepływać między środowiskiem a systemem klasyfikującym. Kiedy system klasyfikujący podejmuje poprawne działanie (tj, gdy na jego wyjściu pojawia się właściwy sygnał), musi wówczas otrzymać od powiednią nagrodę od środowiska - rodzaj elektronicznej marchewki - która pódtrzyma jego zachowanie. Funkcję tę moglibyśmy powierzyć człowiekowi - „trenerowi” czy „instruktorowi” systemu; jednak dIa wygody i zachowania jednolitości wprowadzimy automatyczne nadzorowanie jego funkcjonowania, rozpoznawanie poprawnego zacho wania i wypłacanie stosownych nagród. Wszystkie te czynności realizuje proceduu p ro g ra m s c s ;
( SCS { (C) {
{$ I {$ I ($1 ($1 ($X {$ I {$ I {$ I {$ I ($1 {$ I ($ 1
A Simple ClassifIer System ) David E. Goldberg, 1987 } All Rights Reserved )
d e c la r e .s c s ra n d o m .a p b ) io .s c s } u tility .s c s e n v ir o n .s c s d e te c to r .s c s p e rfo rm .s c s n o c .s c s ) e ffe c to r ,s c s r e in f o r c .s c s t im e k e e p . s c s a d v a n c e .s c s
) , } ) } ) ) ) } }
($1 g a . s c s ) {$ I re p o rt.s c s ) ($1 i n l t i a l . s c s ) b e g in { m a in ) in it ia liz a t io n ; d e t e c t o r s ( o n v ir o n r e c , d e t e c t r e c , e n v m e s s a g e ); re p o rt(re p ); w i t h tim e k e e p r e c do r e p e a t tim e k e e p e r (tim e k e e p r e c ); e n v i r o 'n m e n t ( e n v i r o n r e c ) ; d e t e c t o r s ( e n v ir o n r e c , d e t e c t r e c , e n v m e s s a g e ); m a t c h c la s s if ie r s (p o p u la t io n , en vm essag e, m a t c h l i s t ) ; a o c (p o p u la tio n , m a t c h lis t , c l e a r i n g r e c ) ; e f f e c t o r (p o p u la t io n , c l e a r i n g r e c , e n v ir o n r e c ) ; r e in f o r c e m e n t(r e in fo r c e m e n t r e c , p o p u la tio n , c l e a r i n g r e c , e n v i r o n r e c ) ; i f r e p o r t f la g th e n r e p o r t ( r e p ) ;
Wyd. 6.11. Program glówny koordynuje wszystkie dzialania systemu SCS
•
6 0 System klasyfikujący w Pascalu.___________ ___________________________________
261
n-inforcement (wzmocnienie) w powiązaniu ze strukturą danych reinforcementrec ■, (wyd. 6.10). Algorytm jest oczywisty: jeśli akcjajest poprawna,wypiaca się nagrodę. Oprócz wypłacania nagród dIa zwycięzców, procedury wzmacniające śledzą ułamek po prawnych odpowiedzi od chwili rozpoczęcia pracy przez system i przez ostatnie 50 ■kiokóW czasowych. Odpowiednie statystyki są potem drukowane w różnych raportach.
_____________________________________________________________ _________
6.6.8. P rogram gtówny
A teraz fanfary! Dysponując procedurą wzmacniającą, jesteśmy już w stanie poskladać v^/.ystko wjedną calość, czyli program główny (wyd. 6.11). Tekst programu rozpoczyna się od długiej listy dyrektyw dołączania plików, przypominających komentarze. Dyrek tywy te, podobnie jak komentarze, umieszcza się wewnątrz nawiasów klamrowych („{” i „}” ); jednak znaki $1 następujące po lewym nawiasie oznaczają, że zawartość pliku o podanym dalej identyfikatorze (np. declare.scś) ma być podczas kompilacji dołą czona w tyin miejscu do programu. Wszystkie komponenty naszego systemu klasyfikują cego zostają dołączone w ten sposób w trakcie kompilacji, właściwy zaś program główny /,aczyna się dopiero od słowa kluczowego begin gdzieś pośrodku wydruku. Dalej następuje inicjalizacja programu, zrealizowana za pomocą wywolania proce dury initialization. W naszej skrótowej prezentacji działania systepiu SCS pominęliśmy twiele prozaicznych aspektów programu, takich jak inicjalizacja, wejście i wyjście. Zain teresowany Czytelnik może znaleźć brakujące szczegóły przeglądając pełny tekst pro gramu, zamieszczony w dodatku C. Po zakończeniu inicjalizacji przechodzimy do ode brania pierwszego komunikatu zewnętrznego (wywołanie procedury detectors). Pierwsza iaza działań kończy się wywołaniem procedury report. Główna pętla czasowa jest zrealizowana za pomocą konstrukcji repeat-until, obe jmującej resztę programu. Proces iteracji rozpoczyna się od wywolania procedury time keeper, która zlicza iteracje i ustawia znaczniki sygnalizujące konieczność wykonania różnych powtarzających się cyklicznie czynności, jak drukowanie raportu lub wywołanie algorytmu genetycznego. Następnie program wywoluje kolejno procedury environment, detectors i matchclassifiers, aby wygenerować koinunikat, przekazać go do układu prze twarzania oraz sprawdzić dopasowanie klasyfikatorów. Kolejne wywołania procedur 'doc, effector i reinforcement realizują przeprowadzenie przetargu i przyznanie ocen, podjęcie akcji oraz nagrodzenie dobrych wyników. Jeżeli nadszedł czas drukowania raportu (warunek reportJiag ma wartość true), to zostaje wywołana procedura report. Analogicznie raporty przeznaczone do wyprowadze nia na konsoli oraz urządzeniu graficznym są drukowane w przypadku, gdy zostały ustawione ich znaczniki (za co odpowiada procedura timekeeper). Następnie procedura advance aktualizuje dane izby rozrachunkowej. W końcu, jeżeli nadszedł czas wywola nia algorytmu genetycznego (warunek gaflag ma wartość true), to procedura ga wykonu je algorytm, a procedura reportga drukuje raport o wynikach. Proces może wtedy za trzymać się ze zgrzytem, jeżeli użytkownik naciśnie klawisz na klawiaturze komputera (w takim przypadku funkcja paskalowa halt przerywa normalne wykonanie programu i upewnia się, czy użytkownik myśli serio o zakończeniu działań).
■
262 ___________________________ 6. Wprowadzenie do genetycznych systemów uczących się
L
6.7. Wyniki eksperymentów z systemem S C S ___________________________________ Dysponując implementacją uproszczonego systemu klasyfikującego, 'możemy teraz prze testować jego zachowanie na przykładzie uczenia się funkcji multipleksera. Podamy teraz wartości parametrów środowiska i systemu klasyfikującego, które zostały wybrane do tych eksperymentów, a następnie omówimy wyniki trzech wariantów doświadczeń. Są to: eksperymenty z regułami idealnymi, eksperymenty z hierarchią domniemań oraz eksperymenty ze startem od zera. 6.7.1.
P aram etry środow iska i system u ___________________________ ______________________ ___
Parametry charakteryzujące środowisko i system zostały dobrane następująco: nposition nclassifier
= 6 = 100 (wartość zmienna w przypadku dwóch pierwszych wariantów) ’
= 0 ,5 pgeneral cbid = 0,1 = 0,075 bidsigma = 0,01 bidtax = 0,0 lifetax proportionselect = 0,2 = 0,02 pmutation = 1,0 pcrossover = 5000 gaperiod crowdingfactor = 3 crowdingsiibpop = 3 = I reward
Dobór parametrów systemu klasyfikującego pozostaje wciąż swego rodzaju sztuką; moż na jednak otrzymać użyteczne wskazówki, obliczając oczekiwane stacjonarne mierniki zachowania oraz pólokresy trwania przy różnych stopach podatkowych.
6.7.2. Reguly idealne i „dywersanci" ____________
i
1 *_____________._____________
W celu przetestowania poprawności programu SCS wykonamy eksperyment z użyciem idealnego zestawu regul, które zostały zamieszczone w tabl. 6.4. Zestaw ten sklada się z ośmiu rozłącznych regul, przy czym dla każdej wartości adresu potrzeba dwóch reguł. Na przykład reguty 0 11 Reguly są iu zakodowane w porządku /J, D, .../t,/l,,: output (pnyp. lhim.).
lp.rW yniki eksperymentów z systemem SCS
263
# # # 000:0 # # # 100:1
;’||powiadają dwóm możliwym wartościom sygnału na linii danych DO. Aby przetes||tQwaćdziałanie algorytmu przyznawania ocen, wprowadzimy zakłócenie do tego ideal nego zestawu reguł w postaci paru dodatkowych żłych reguł (które nazwiemy ,,dywersantami” ). Chcemy się przekęnać, czy system klasyfikujący będzie potrafił podnosić siłę :'l'6brych reguł i jednocześnie obniżać siłę złych. ja blica 6.4.'Reguty idealne w zadaniuemulacji multipleksera (6 linii) ;
R egulii
C el
mtH) 0 0 :0 mm ()l:() mm io :o Qtm 11:0 mwI 0 0 : 1
0 A d re s/0 S ygnnl I A clres/0 Sygm il 2 A d re s/0 S y g n a l 3 A d re s/0 Sygm il 0 A d re s/I S y g n a l
# # l# 0 l:l
I A d re s/I S y g n a l
mm i 0 : i i mm i i : i
2 A d re s/I S y g n a l 3 A d re s/I S y g n a l
; Uruchamiając program SCS należy najpierw odpowiedzieć na serię zapytań, które stawia w trybie interakcyjnym (wyd. 6.12). Rezultatem tego dialogu jest inicjalizacja systemu klasyfikującego i wypisanie raportu początkowego (wyd. 6.13) wraz z pierw szym raportem migawkowym (wyd. 6.14). System klasyfikujący wykonuje 2000 iteracji, wypisując na zakończenie raport migawkowy (wyd. 6.15). Widzimy z wydruku.jaką siłę Osiągnęły poprawne reguły. Istotnie, sita wszystkich dobrych klasyfikatorów doszla (lub prawie doszła) do swej stacjonarnej wartości R* _ i , + CM 0,01+0,1
9,09
******************************************** A S im p le C l a s s i f i e r S y s te m - SCS
******************************************** E n t e r s e e d random num ber ( O . O . . l . O ) > 0 .3 3 3 3 E n te r c la s s ifie r file n a m e : p e r f e c t . d t a E n te r e n v ir o n m e n t file n a m e : e n v ir o n .d ta E n te r r e in fo r c e m e n t file n a m e : r e i n f . d t a E n te r t im e k e e p e r file n a m e : tim o .d ta E n te r gen. a lg o r ith m file n a m e : g a .d t a E n te r re p o rt file n a m e : 1 s t: E n te r p lo t f i l e file n a m e : p l o t . p r n
Wyd. 6.12. Przed przystąpieniem do wlasciwycIi dzialan system odbywa wstępny dialog z użytkow nikiem
264
6, Wprowadzenie do genetycznych systemów uczących.
******************************************** A S im p le C l a s s i f i e r S y s te m - SCS ( C ) D a v id E . G o ld b e r g , 1987 A l l R ig h t s R e s e rv e d
********************************************
P o p u la t io n P a ra m e te rs Number o f c l a s s i f i e r s Number o f p o s i t i o n s B id c o e f f i c i e n t B id s p re a d B i d d in g t a x E x i s t e n c e ta x G e n e r a lity p r o b a b ilit y B id s p e c i f i c i t y base B i d s p e c i f i c i t y m u lt . E b id s p e c i f i c i t y b a s e E b id s p e c i f i c i t y m u lt .
_ _ ~ -
-
10 6 0 .1 0 0 0 0 .0 7 5 0 0 .0 1 0 0 0 .0 0 0 0 0 .5 0 0 0 1 .0 0 0 0 0 .0 0 0 0 1 .0 0 0 0 0 .0 0 0 0
E n v ir o n m e n t a l P a r a m e t e r s
(M u ltip le x e r )
Number o f a d d r e s s l i n e s Number o f d a t a l i n e s T o t a l num ber o f l i n e s
~
2 4 6
A p p o r tio n m e n t o f C r e d i t P a r a m e t e r s B u c k e t b r ig a d e
fla g
-
fa ls e
-
1 .0
R e in f o r c e m e n t P a r a m e t e r s R e in f o r c e m e n t r e w a r d
T im e k e e p e r P a r a m e t e r s I n i t i a l it e r a t io n I n i t i a l b lo c k R e p o rt p e r io d C o n s o le r e p o r t p e r i o d — P l o t r e p o r t p e r io d G e n e t ic a lg o r it h m p e r io d G e n e t ic A lg o r ith m
0 0 2000 50 50 -1
P a ra m e te rs
P r o p o r tio n to s e le c t/ g e n Number t o s e l e c t — M u ta tio n p r o b a b i l i t y C ro sso ve r p r o b a b ilit y C ro w d in g f a c t o r C ro w d in g s u b p o p u l a t io n —
0 .2 0 0 0 1 0 .0 2 0 0 1 .0 0 0 0 3 3
Wyd. 6.13. Raport początkowy zawiera zestawienie wszystkich parametrów systemowych
. , Wyniki eksperymentów z systemem S C S _________________________________
265
' Wysokości składanych przez nie ofert są bliskie swej wartości stacjonarnej
Ba =Cbit-S„ = 0 ,9 0 9 Natomiast obydwaj dywersanci osiągnęli siłę i wysokości ofert bliskie zeru.
;IiRys. 6.3. W eksperymencie z regutami idealnymi system SCS szybko zmniejsza silę błędnych reguł, p;.
,
zwiększając jednocześnie silę poprawnych reguł. W efekcie system osiąga niemal idealną skuteczność wyrażoną w terminach średniej w czasie
p« Na rysunku 6.3 pokazano wykresy ułamków poprawnych odpowiedzi w zależności od numeru iteracji. Przedstawiono ruchome średnie obejmujące ostatnie 50 iteracji oraz średnią za caly okres (do danej chwili). System klasyfikujący szybko eliminuje bfędne reguły, osiągając w ten sposób niemal idealną sprawność.
__________________________________________________________________6.7.3. H ierarchia dom niem ań
Fakt, że system klasyfikujący potrafi odsiać kilka blędnych reguł z zestawu zawierające;igo idealne reguły jest wprawdzie pokrzepiający, ale musimy zadać sobie pytanie, co będzie się działo w mniej szczęśliwych okolicznościach, kiedy dysponujemy populacją ‘niezupełnie idealnych reguł? Chcielibyśmy, aby w takiej sytuacji klasyfikatory same 'Organizowały się w strukturę, którą Holland nazwał hierarchią domniemań [default hie,rarchy]. W hierarchii takiej reguły ogólne (zawierające wiele symboli #) dotyczą przypaMków powszechnych, a reguły szczegółowe - przypadków wyjątkowych. Jako przykład hierarchii domniemań rozważmy następujący zestaw reguł dla zada nia emulacji multipleksera:
26 6
6. Wprowadzenie do genetycznych systemów ućzących ‘się
■
Sn ap sh o C R e p o r t
! B lo c k :Ite r a tio n
J
-
[ 0 :0
]
C u rre n t M u ltip le x e r S ta tu s S ig n a l D eco ded a d d r e s s M u lt ip le x e r o u tp u t C la s s ifie r o u tp u t
-
E n v ir o n m e n t a l m e ssa g e : No.
S tre n g th
1 2 3 4 5 6 7 8 9 10
1 0 .0 0 1 0 .0 0 1 0 .0 0 1 0 .0 0 1 0 .0 0 1 0 .0 0 1 0 .0 0 1 0 .0 0 1 0 .0 0 1 0 .0 0
New w in n e r
[1 ]
000000 0 0 0 000000
b id
e b id M C l a s s i f i e r
0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0
0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 0 .0 0 ' 0 .0 0 0 .0 0
: O ld w in n e r
###000:(0 ) ###100: [ 1 j # # 0 # 0 1 :j0 ] # # 1 # 0 1 :[ 1 ] # 0 # # 1 0 :( 0 ] # l# # 1 0 : ( 1 ] 0 # # # 1 1 :{0 ] 1 # # # 1 1 :(1 ] # # # # # # :( 0 ] # # # # # # :[1 ]
[1]
R e in f o r c e m e n t R e p o r t P r o p o r t io n C o r r e c t (fro m s t a r t ) P r o p o r tio n C o r r e c t ( l a s t f i f t y ) L a s t w i n n i n g c l a s s i f i e r num ber
-
0 .0 0 0 0 0 .0 0 0 0 0
Wyd. 6.14. Pierwszy raport migawkowy ukazuje początkowy sklad populacji regul. W eksperymencie z idealnym zestawem regut pierwszych osiem regul to reguly idealne, a dwie ostatnie to' dywersanci (blędne reguly)
# ## 0 0 0 :b # # 0 # 01:0
#0##10:0 0 # # # 11:0
######:1
Jeśli założymy, że każda nagrodzona regińa o$zymuje jednakową wypłatę oraz dodatkowo, że w przypadku, gdy dwie nie wykluczające się reguły składają oferty od powiedzi na określony komunikat, to bardziej szczegółowa reguła wygrywa - będziemy mieli właśnie do czynienia z zestawem reguł tworzących efektywną hierarchię domnie mań. .Test to widoczne, gdyż cztery pierwsze reguły obsługują idealnie wszystkie wyjścia zerowe, a reguła uniwersalna obsługuje wyjścia jedynkowe. Zauważmy, że reguła uniwersalnajako takajest poprawna tylko w połowie przypadków. Przy dobrze dobranym , zestawie reguł (i przy zapewnieniu pierwszeństwa reguł szczegółowych przed ogólnymi) : „pomyłki” reguły ogólnej sąblokowane przez reguły szczegółowe. dzięki czemu reguła
5,7 Wyniki eksperymentów z systemem SCS
267
Snapshot R e p o rt
[
B lo c k :It e r a t io n
]
—
( 0 :2 0 0 0
)
C u rre n t M u ltip le x e r S ta tu s S lg n a l D e co d ed a d d r e s s * M u lt ip le x e r o u tp u t C la s s ifie r o u tp u t
— -
E n v ir o n m e n ta l m essage: No.
S tre n g th
1 2 3 4 5 6 7 8 9 10 New w in n e r
9 .0 9 9 .0 9 9 .0 9 9 .0 9 9 .0 9 9 .0 9 9 .0 9 9 .0 9 0 .0 0 0 .0 0 [8 ]
100011 3 1 1 100011
b id
0 .9 1 0 .9 1 0 .9 1 0 .9 1 0 .9 1 0 .9 1 0 .9 1 0 .9 1 0 .0 0 0 .0 0 : O ld w in n e r
e b id M C l a s s i f i e r
0 .9 4 0 .9 7 0 .8 2 0 .8 5 0 .9 4 0 .8 2 1 .0 6 0 .9 7 -0 .0 6 0 .1 0
« # « 0 0 0 :[0 ] ###100:(1 1 ##0#01: [0 J # # l# 0 1 :(1 ) # 0 # # 1 0 :[ 0 ] . w l# # 1 0 : [ 1 ) 0 # # # 1 1 :[ 0 ] X 1 ## #1 1 : [ 1 ] X # # # # # # :[ 0 ) X # # # # # # :ll]
m
R e in f o r c e m e n t R e p o r t
«i
P r o p o r t io n C o r r e c t (fro m s t a r t ) P r o p o r tio n C o r r e c t ( l a s t f i f t y ) L a s t w in n in g c l a s s i f i o r num ber
*•
0 .9 9 9 0 1 .0 0 0 0 0
,:^Vyd. 6.15. Ostatni raport migawkowy w eksperymencie z idealnym zestawem regul (7=2000) dei [r' monstru]e dużą silę regul idealnych i niemal zerową siłę dywersantów
,., .
ogólna może otrzymać nagrodę za każdym razem, gdy zostanie użyta, W istocie powyżJ’sży zestaw pięciu reguł, współpracujących w ramach hierarchii domniemań, funkcjonuje '“równie dobrze, jak ośmioelementowy zestaw reguł idealnych, omawianych w poprzed nim punkcie. Niebawem dowiemy się, jak doprowadzić do formowania się hierarchii domnie mań za pomocą odpowiedniego doboru parametrów wpływających na wysokość oferty. Przedtem jednak powinniśmy sobie wyjaśnić, dlaczego właściwie chcielibyśmy to osiągliąć. Hierarchie domniemań dają następujące korzyści w stosunku do zestawów reguł I rozłącznych: 1) oszczędność; 2) powiększenie zbioru rozwiązań. Oszczędność hierarchii domniemań polega na lym, że zawierają one mniej reguł niż •ównoważne zestawy reguł rozłącznych. W naszym przykładzie zestaw reguł idealnych ękłada się z ośmiu reguł (jest: to najmniejszy zbiór reguł rozłącznych), a przykładowa
268 --------------------------------------------- 6. Wprowadzenie do genetycznych systemów ućzących się J
i,
hierarchia domniemań zawiera pięć reguł (i jest to najmniejsza taka hierarchia). Zasada oszczędności została szczegółowo przedyskutowana przez innych autorów (Holland, Holyoak, Nisbett i Thagard, 1986), alejej implikacje dla systemu odkrywającego reguły są widoczne. Jeżeli potrzebujemy mniej reguł, aby osiągnąć wysoką skutecznosć, to czas oczekiwania na skompletowanie dobrego zestawu regul skraca się i mamy większe szan se szybko dojść do dobrych wyników. Ilierarchic domniemań powiększają także zbiór możliwych rozwiązań. Aby się 0 tym przekonać, /.wróćmy uwagę na to, że hierarchie domniemań nie wplywają ujemnie na skuteczność systemu w obecności zbioru idealnych, rozłącznych reguł. Istnienie in nych podzbiorów reguł, które działają równie sprawnie może co najwyżej rozszerzyć zbiór rozwiązań. A ponieważ hierarchia domniemań stanowi strukturę niejawną czy też wirtualną (nie zaS fizyczną - reguły pozostają takie same), jej wprowadzenie do systemu nie odbywa się kosztem rozszerzenia reprezentacji. W ten sposób rozszerzenie zbioru możliwych rozwiązań bez zwiększenia rozmiarów reprezentacji przyczynia się do szyb szego odkrycia zestawów reguł o wysokiej skuteczności. Prócz skłonności do oszczędności oraz rozszerzenia zbioru rozwiązań, hierarchie domniemań sprzyjają nabywaniu i poszerzaniu wiedzy w sposób bardziej naturalny, niż jest to możliwe w przypadku wzajemnie wykluczających się struktur wiedzy (Holland 1 inni, 1986). Nie będziemy się rozwodzić na ten temat, ale nawet proste przykłady, rzeczy powszechnie wiadomych ilustrują tezę, że ludzie starają się organizować swoją; wiedzę w postaci hierarchii domniemań. Na przykład znana każdemu uczniowi zasadai mówiąca, że końcówkę -ówka, piszemy przez ó z wyjątkiem wyrazów skuwka i zasuwka, stanowi prostą hierarchię domniemań, a można podać wiele podobnych przykładów. Hierarchie domniemań sprzyjają efektywniejszemu procesowi uczcnia się systemów klasyfikujących. jak jednak możemy doprowadzić do ich utworzenia? Istnieje więcej niż jedno rozwiązanie tego problemu; najprostsze polega na tym, aby wysokość oferty uczynić proporcjonalną do iloczynu siły oraz pewnej funkcji liniowej szczegółowości reguly: B,= Chl,r f ( SP) - S ,. gdzieJ{Sp) = bkil +bid2 ■Sp. W tym przypadku stacjonarna wartość siły reguły wyniesie J , = _____ 5=_____ c,,J'(Sp) + C,ax a stacjonarna wysokość oferty B - cw f m K ■ ” C,,,J{Sp) + c„„ Zakładając, że Chu = 0,1 i Cm, = 0,01, i przyjmując, że reguła uniwersalna oferuje 25% Cbil„ a najbardziej szczegółowa reguła - 100% ChM, możemy obliczyć względne siły (w stosunku do wysokości nagrody) i wysokości ofert dla naszych reguł. Wyniki zostały zamieszczone w tabl. 6.5. Jeżeli założymy istnienie idealnej hierarchii domniemań, to
i.V'. iWyniki eksperymentów z systemem SCS .
26 9
każdy wyjątek spowoduje ukryciebłędu reguły ogólnej; wszystkie reguly wchodzące skład hierarchii domniemań powinny być nagradzane w każdym przypadku, kiedy yygrały przetarg. Teoretycznie możemy się spodziewać, że ten prosty mechanizm, przy itórym wysokość oferty jest funkcją rosnącą szczegółowości, prowadzi do wytworzenia śię^stabilnej hierarchii domniemań. Tablica 6.5. Znormalizowane watJości stacjonarne sily i wysokości oferty dla eksperymentu z hierarjshią domniemań §
, Szczcgólowość {6/j>)
nsp)
V '< , v
f’V «'.V
0,250 0,375 0,500 0,625 0,750 0,875 1,000
28,57 21,05 16,67 13,79 11,76 10,25 9,09
0,714 0,789 0,833 0,862 0,882 0,897 0,909
— 0 I 23 4 5 6
_ .----------------------
•
Aby sprawdzić to w praktyce, wykonajmy prosty eksperyment polegający na poró wnaniu mechanizmu uwzględniającego szczegółowość z mechanizniem, w którym wyso kość oferty jest proporcjonalna do samej siły. Nie musimy w tym celu zmieniać tekstu programu, gdyż mamy do dyspozycji cztery parametry bid], bid2, ebidl i ebid2, dzięki którym możemy kontrolować rodzaj mechanizmu składania ofert. Aby uzyskać hierar chię domniemań opisaną wyżej (tabl. 6.5), wybieramy następujące wartości parametrów:
Rys. 6.4. Bez mechanizmu regulującego wysokość ofert zależnie od szczegółowości reguf, system klasyfikujący nie jest w stanie posługiwać się należycie hierarchią domniemań
ssjB
270
6. Wprowadzenie do genetycznych systemów uczących się i-
bid] = ebidI = 0,250 bid2 = ebid2 = 0,125 Natomiast aby zapobiec utworzeniu się takiej hierarchii przyjmujemy bidl = ebidI = 1,0 bid 2 = ebid2 = 0,0
Wykonano dwa przebiegi programu SCS z zestawem pięciu reguł opisanych wcześ niej (z dodatkiem kilku dywersantów). Wyniki obu eksperyment6w,jednego bez, a drugie-1 go z hierarchią domniemań zostaly przedstawione na rys. 6.4 i 6.5 odpowiednio. .Tak należalo się spodziewać, w pierwszym przypadku nie udało się osiągnąć rezultatów tak dobrych jak w drugim. Bez odpowiedniego mechanizmu regulującego wysokość ofert, reguładomniemana (###### : 1) wygrywazregułami szczegółowymi (idealnymi) wtedy, gdy nie powinna. Te pomyłki obniżają siłę reguły domniemanej, dzięki czemu właściwe reguły szczegółowe zaczynają znowu wygrywać. W tej sytuacji reguła domniemana nic popełniajuż tyłu błędówijej siła zaczyna wzrastać, i znowu zaczyna wygrywać wtedy, gdy nie powinna. Bez właściwego mechanizmu bfert, który sprzyjałby tworzeniu się stabilnej hierarchii domniemań, ten cykl zdarzeń będzie się ciągle powtarzać, obniżając w sposób nieunikniony skuteczność systemu. Natomiast w eksperymencie uwzględniającym zależ ność wysokości ofert od szczegółowości wystąpiła dostatecznie duża różnica między regułami szczegółowymi a regułą ogólną (w reżimie stacjonarnym), by umożliwić l
n
Numer iteracji (x1000) Średnia ogólna + z 50 iteracji
Rys. 6.5. Mając mechanizm regulujący wysokość otert zależnie od szczegółowości regut, system klasyfikujący z hierarchiądomniemań osiąga niemal idealną skuteczność ■
f |6,7, Wyniki eksperymentów z systemem SCS .
271
6,7.4. Start od zera: Model Tabula rasa $ t ~ — .-------------------- -:W,,tym punkcie zajmiemy się zbadaniem zachowania uproszczonego systemu klasylikuj^ęego dla zadania.emulacji multipleksera, startując od wygenerowanego losowo zestawu lpo reguł. Wykonujemy dwa eksperymenty z systemem SCS - jeden bez, a drugi z użybfpm algorytmu genetycznego. Możemy dzięki temu rozróżnićefekty uczenia się będące fskutkiem oddziaływania algorytmuprzyznawania ocen na pierwotny zestaw reguł od ' ?podobnych efektów, wynikających z wprowadzania do systemu nowych reguł przez al gorytm genetyczny. | W dbu przypadkach rozpoczynamy odjednakowych losowych zestawów 100 regąf, używając tej samej stałej początkowej generatora losowego i prawdopodobieństwa ■ „ogólności” pgeneral=0,5. Wartości pozostałych parametrów dobrano tak jak w poppzednim punkcie. W eksperymencie z zastosowaniem algorytmu genetycznego był on l^ywoływany co 5000 iteracji i za każdym razem 20 procent bieżącej populacji podlegało ^produkcji, krzyżowaniu, mutacji i zastępowaniu metodą ścisku. Wyniki eksperymentu bez użycia algorytmu genetycznego są pokazane na rys. 6.6. Możemy zaobserwować, jak algorytm przyznawania ocen reguluje siłę reguł, osiągając Jvstącjonarną skuteczność 88% poprawnych odpowiedzi. Chociaż średnie ruchome z 50 |?itpracji skaczą w obie strony wokół tego poziomu, to na dłuższą metę system klasyfikująf uzyskuje o tyle lepsze wyniki niż to, co można by osiągnąć przy losowych rzutach ■.nonetą, nie powinien zaskakiwać. Losowy zestaw 100 reguł jest dostatecznie bogatym zestawem dla tego dość skromnego zadania, a mechanizm przetargu umożliwiający twoi|enie się hierarchii domniemań umożliwia skuteczne współdziałanie dobrych reguł.
I |
O
10
°
.20
30
40
Numer iteracji (x1000) Średnia ogólna ------ z 50 ileraoji
^ s . 6.6. Nawet bez użycia algorytmu genetycznego system SCS jest w stanie osiągnąć wyższą skuteczność niż algorytm losowy, organizując istniejące reguly w hierarchię domniemań
272 __________________________ 6 . Wprowadzenie do genetycznych systemów uczących 4 jiJl
h ':'ffl Moglibyśmy mieć wątpliwości, czy przy tak wysokiej skuteczności działania udziału algorytmu genetycznego jego zastosowanie przyniesie jakąś poprawę wyników, ale bylibyśmy w błędzie. Wyniki osiągnięte z udziałem algorytmu genetycznego, pokiij|| zane na rys. 6.7, są lepsze od poprzednich, dochodząc aż do 95-96% poprawnych od powiedzi. Jest to fakt szczególnie godny uwagi ze względu na stosunkowo rzadkie in1e1wencje algorytmu genetycznego; populacja została bowiem wymieniona w całości tylko dwukrotnie w ciągu 50000 iteracji (0,2-100-50000/5000 = 200 osobników pótomnyeh wytworzonych przez AG). :|;
Rys. 6.7. Po wIączeniu algorytmu genetycznego nowe reguly są wprowadzane do pamięci systemu w regularnych odstępach czasu, dzięki czemu skuteczność systemu przewyższa nawet tę z rys. 6.6.
Z jednej strony wyniki te wyglądają zachęcająco. System klasyfikujący z algoryt mem genetycznym działał lepiej niż bez niego, w dodatku osiągnięty poziom skuteczno ści mógłby rywalizować z ludzką dokładnością. Z drugiej jednak strony mamy tu do czynienia z dość banalnym zadaniem, w którym liczba wszystkich możliwych sytuacji wynosi tylko 2(l= 64. Pamiętajmy wszakże, że naszym celem było zbudowanie możliwie ; najprostszego działającego systemu klasyfikującego. Nie wyposażyliśmy go w rozmaite dość oczywiste udoskonalenia (w następnym rozdzialSopowiemy o systemie klasyfikują cym, który z równym powodzeniem dawal sobie radę ze znacznie poważniejszymi zada niami tego samego typu, gdzie liczba różnych komunikatów przekraczała milion). Po nadto sami (celowo) związaliśmy tu sobie ręce, używając algorytmu genetycznego jako jedynej heurystycznej metody odkrywania nowych reguł. Istnieją też inne sposoby gene- , rowania dobrych reguł. Moglibyśmy powiązać komunikaty zewnętrzne z poprawnymi odpowiedziami (dostępnymi w fazie nagradzania) i włączać te idealne - choć może zbyt szczegółowe - reguły do populacji albo moglibyśmy uogólniać takie idealne reguły, umieszczając symbole # na pewnej liczbie pozycji. Chociaż można - i pewnie należałoby -
(Podsumowanie
273
- jbróbować zwiększyć skuteczność, stosując takie lub podobne techniki, naszym celem ufaj było wyodrębnienie wkładu, jaki wnosi algorytm genetyczny jako mechanizm odfklyWania reguł. Uczyniwszy to, mamy teraz większą swobodę w poszukiwaniu innych sposobów doskonalenia mechanizmów uczenia się w systemach klasyfikujących i innych ' #eiietycznych systemach uczących się.
6.8. Podsumowanie 1Rozdział ten był poświęcony podstawom, zasadom działania, implementacji oraz za chowaniu systemu klasyfikującego. Systemy klasyfikujące są odmianą genetycznych systc. .ów uczących się (systemów GBML), które łączą w sobie prosty system produkcji ,>;dparty na regułach kodowanych binarnie, algorytm przyznawania ocen będący modelem wj,rynku usług informacyjnych” i algorytm genetyczny. Systemy klasyfikujące i pochodne jfrsyśtemy znajdują coraz szersze zastosowania w nauce, technice i ekonomice, Kośćcem systemu klasyfikującego jest jego układ przetwarzania komunikatów, uanowiący rodzaj systemu produkcji (czyli systemu opartego na regułach przepisywa nia). Eksplozja systemów doradczych opartych na regułach dodaje wiarygodności prze konaniu, że reguły są adekwatnym sposobem wyrażania ludzkiej wLedzy i sposobu rozu m ien ia. Podobnie jak w innych systemach produkcji, reguły przepisywania w systemach klasyfikujących mają postać „jeśli to "; jednak w tych ostatnich warunki i akcje są kodowane w postaci ciągów dwójkowych o ustalonej długości; zawiefj.rają przy tym jawny mechanizm rozpoznawania wzorców, z symbolem uniwersalnym |{,-,#” . Ponadto systemy klasyfikujące odbiegają od głównego nurtu systemów doradczych |fpod tym względem, że opierają się na równoległym uaktywnianiu reguł. Pozwala to uniknąć wąskiego gardła, jakie powstaje w systemach stosujących uaktywnianie sekwen cyjne (jedna regula na raz), dzięki czemu możliwe jest jednoczesne wykonywanie wielu działań fizycznych i konceptualnych. Również pod względem mechanizmu decydowania o wyborze jednej spośród konkurujących, wzajemnie wykluczających się możliwości, fcystemy klasyfikujące odbiegają od głównego nurtu, stosując kryterium konkurencyjno ści zamiast kolejności lub innej arbitralnej procedury. W większości systemów klasyfikujących, klasyfikatory nadają komunikaty, które /ostają umieszczone na liście komunikatów, co z kolei powoduje uaktywnienie innych klasyfikatorów lub uruchomienia efektorów zdolnych do wykonywania akcji. Obecność s'.centralnej listy komunikatów zapewnia istnienie scentralizowanego kanału wymiany in.. formacji. Ponieważ pojemność listy komunikatów jest ograniczona, trzeba zapewnić ja!;kiś mechanizm preferencji dla konkurujących ze sobą komunikatów. W większości systćmów klasyfikujących stosuje się w tym celu algorytm przyznawania ocen, będący | modelem rynku ushig, który zapewnia właściwą ocenę i wybór reguł. Reguły składają l<,oferty na prawo do nadania komunikatu (lub uruchomienia efektorów); kwoty propono%wane w zwycięskich ofertach zostają wypłacone klasyfikatorom, które uprzednio dostar■czyły uaktywniających komunikatów. W ten sposób tworzy się łańcuch pośredników i; itniędzy środowiskiem a końcową akcją. Współzawodnictwo zapewnia uczciwość tego
274
6.
Wprowadzenie do genetycznych systemów uczącycł
elfi f '^ K
i* l
'ft*llWI
mechanizmu; użyteczne klasyfikatory żyją i prosperują, podczas gdy ich mniej .... . konkurenci kończą bankructwem. ■ Kwoty otrzymywane i wypłacane przez reguły zwiększają lub zmniejszają ich stąn, l " ' .. 1 posiadania, zwany siłą. Siła determinuje wysokość oferty składanej przez regułę, a p tego stanowi miarę jej przystosowania podczas działania algorytmu genetycznego.1 gorytm genetyczny używany w systemach klasyfikujących jest bardzo zbliżony d< gorytmów stosowanych w zadaniach poszukiwania; jednak reprodukcji jest poddavt za każdym razem tylko część populacji i więcej uwagi zwraca się na wybór osobników !' '^ podlegających wymianie. Opisano implementację w Pascalu uproszczonej wersji systemu klasyfikującego ’■1 (SCS). W celu przetestowania systemu na konkretnym zadaniu zaprogramowano środo wisko systemu klasyfikującego w postaci funkcji boolowskiej reprezentującej sześe obitowy multiplekser. W pierwszych eksperymentach system uczy się pomijać błędne’ , reguły, a jednocześnie wzmacniać osiem idealnych reguł. W następnych eksperymen- ' ^ tach, dzięki wprowadzeniu mechanizmu uzależniającego wysokość ofert od stopniczącym hierarchii pojęciowych i wyjątków. W bardziej swobodnych eksperymentach typu tabula rasa, startując.od 100 wygenerowanych losowo reguł, system klasyfikujący bez pomocy algorytmu genetycznego osiąga wyniki lepsze niż przy losowym zgadyw.iniu, a przy zastosowaniu algorytmu genetycznego uzyskuje dalszą poprawę. Stanowi io zachętę do bliższego zapoznania się z innymi zastosowaniami genetycznych systemÓH uczących się, czym zajmiemy się w następnym rozdziale. -Mn
6.9. Z a d a n ia __________ :______________________________ 6.1.
6.2.
6.3.
Pewien klasyfikator jest stale aktywny i przy tym obciążony łącznym podatkiem 0 stopie C,„t = 0,01, natomiastjego współczynnik inwestycyjny wynosi Cm = 0,1, Zakładając, że klasyfikator otrzymuje 10 punktów nagrody na każde uaktywnie nie, oblicz jego siłę w warunkach stacjonarnych. Wykonaj podobne obliczenia dla stopy podatkowej równej 0,0 oraz 0,02. * | t Siła początkowa pewnego klasyfikatora wynosi 100 punktów. Klasyfikator nie zostaje ani razu uaktywniony, ale jest obciążony podatkiem o stopie 0,01, Wyznacz liczby iteracji, po których siła klasyfikatora spada do 90, 80, 70; 60 i 50.punkt0w. Wykonaj analogiczne obliczenia dla stóp podatkowych 0,1 1 0,001. Czas, po którym klasyfikator traci połowę swej początkowej siły wskutek opodat kowania, nazywa się pótokresem życia. Wyprowadź wzór ogólny na półokres życia jako funkcję stopy podatkowej Cmt. Naszkicuj wykres tej funkcji.
275
9 ,,Zadania
6. 8 .
Pewien klasyfikator jest stale aktywny, jego współczynnik inwestycyjny wynosi C/,i,i = 0,05, a stopa podatkowa - Cmx=0,01. Przy każdym uaktywnieniu otrzymu je on 1 punkt. Oblicz stacjonarną wysokość oferty tego klasyfikatora. Wykonaj analogiczne obliczenia dla Chu = 0,01 i 0,1. Klasyfikator jest uaktywniany w każdej iteracji, jego współczynnik inwestycyjny wyno5i CW(/ = 0,1, a stopa podatkowa - zero. Klasyfikator otrzymuje 10 punktów co drugą iterację. Po dostatecznie dlugim okresie, sila tego klasyfikatora oscyluje między dwiema wartościami. Wyznacz te stacjonarne wartości sily i odpowiadają ce im wysokości ofert. Klasyfikator jest uaktywniany w każdej iteracji, ale otrzymuje wyplatę R co każ dych k iteracji. Wyprowadź równania opisujące wartości stacjonarne sily tego klasyfikatora, zakładając, że jego współczynnik inwestycyjny wynosi Chid i że nie placi on podatku. W systemie klasyfikującym przeznaczonym do emulacji multipleksera o sześciu liniach wejściowych zastosowano sześciopozycyjny kod trójkowy dla warunku ijednopozycyjny kod dwójkowy dla akcji. Wyznacz liczbę wszystkich możliwych reguł w tym zadaniu. Wyznacz liczbę schematów, które można określić dla tego zadania. W pewnym systemie klasyfikującym zastosowano dwupozycyjny kod trójkowy dla warunku i jednopozycyjny kod dwójkowy dla akcji. Inaczej mówiąc, rcguly w tym systemie mają postać ogólną CC:A
gdzie C e {0, 1, #} i A e {(), 1}. W wybranej losowo populacji liczącej n ~ \ 2 regul (każdy symbol trójkowy jednakowo prawdopodobny i każdy symbol dwójkowy jednakowo prawdopodobny) znaIazly się po trzy egzemplarze następujących regul: 00:0
11:1 # fl:0
## : 1 Oblicz prawdopodobieństwo a priori wylosowania identycznej populacji. Załóżmy, że w poprzednim zadaniu prawdopodobieństwo wylosowania symbolu uniwersalnego (#) jest równe psi.„mll = 0,8, a pozostałe dwa symbole są wybierane zjednakowym prawdopodobieństwem. Oblicz przy tych założeniach prawdopodo bieństwo a priori wylosowania populacji takiej, jak w zadaniu 6.8. 6.10. Klasyfikator Cl zostaje uaktywniony i wysyła komunikat do klasyfikatora C2. Następnie zostaje uaktywniony klasyfikator C2 i zapoczątkowuje akcję, za którą otrzymuje nagrodę 10 punktów. Zaldadając, że oba klasyfikatory mają współczyn nik inwestycyjny równy 0,1 i placą podatek o łącznej stopie 0,02, oblicz stacjonar ne wartości sity i wysokości ofert obydwu klasyfikatorów, jeżeli opisany proces współdziałania klasyfikatorów powtarza się w nieskończoność. Wykonaj analogi czne obliczenia przy podwojonej stopie podatkowej. 6s9,
276 __________________________ 6. Wprowadzenie do genetycznych systemów uczącyih £ię
6.10. Ćwiczenia komputerowe__________________________
A. Zbadaj efekty ścisku w systemie SCS. Startując od tej samej populacji reguł (n/vi w tym celu tej samej wartości początkowej dla generatora liczb losowych, jeśli gei erujesz losową populację początkową), prześledź przebieg procesu uczenia się : temu dla wartości crowdingfactor równej 1 (bez ścisku) i 3 („normalny” współczyn nik ścislcu). Porównaj i omów skuteczność i skład zestawów reguł otrzymanych pb'i 50000 iteracji. B. Wybierz jakiekolwiek proste zadanie uczenia się reguł i zaprogramuj odpowiedni1' interfejs z systemem SCS. Które podprogramy należy w tym celu zmienić? Pami('i,i] aby wprowadzać zmiany etapami, testując każdy moduł osobno. Jest rzeczą barć/.o trudną skutecznie przetestować system klasyfikujący jako niepodzielną cało! względu na jego wielkość oraz elementy losowości (zazwyczaj nie znamy popiaw nych odpowiedzi, które można porównać z wynikami testów). C. Zaimplementuj procedurę wzmacniającą, która nagradza klasyfikatory w SCS, p dzielając ptscorrect punktów za poprawną odpowiedź i ptswrong punktów za błędną odpowiedź. Wykonaj eksperyment z ’emulacją multipleksera (6 linii) dla pts
Rozdział
7
Zastosowania genetycznych systemów uczących się
fWj>poprzednim rozdziale omówiliśmy strukturę, zasady funkcjonowania oraz konkretną j implementację pewnego typu genetycznych systemów uczących się - systemu klasyfikuyątMgo. Systemy klasyfikujące zostaly tam przedstawione jako faits accomplis, jako sys2iny tak pewne, jakby je uformowano z betonu. Co gorsza, nacisk, jaki położyliśmy na ptenoy klasyfikujące, mógł sprawić wrażenie, że są one jedynym rodzajem genetyczrf.ych systemów uczących się. W tym rozdziale odpokutujemy za grzech zaniedbania; którego się dopuściliśmy poprzednio, studiując korzenie, wczesną historię i aktualny stan j^yśteihów GBML. Omawiamy wczesne propozycje dotyczące samoreprodukujących się programów, procesorów schematów i systemów rozgłaszania. Przedstawiamy System Kognitywny 1 (CS-1) i zadania pokonywania labiryntu, których uczył się ten system. Dokonujemy przeglądu innych wczesnych systemów GBML i omawiamy kilka aktual nych teorii oraz zastosowań rozważanych technik.
_____________________________7.1. Początki systemów GBML; \ a przełom lat czterdziestych i pięćdziesiątych przypadły natchnione czasy bujnego ■"zwoju teorii i praktycznych zastosowań komputerów. Intensywna - może nawet w wię kszym stopniu niż dziś - współpraca teoretyków i praktyków przyczyniła się do sko« kowego postępu w sztuce obliczeniowej. W tym samym czasie inspiracje zaczerpnięte' z analogii i koncepcji biologicznych osiągnęły swoje historyczne maksimum (w senśier względnym, nie zaś absolutnym), o czym świadczy ówczesna popularność cybernetyki,stopień aktywności w badaniach nad sieciami neuronowymi, wreszcie zainteresowanie: automatami komórkowymi i programowymi odpowiednikami samoreprodukcji. Na tym tle pewna liczba badaczy rozpoczyna studia dotyczące związków między ewolucją
278 _______________________________7. Zastosowania genetycznych systemów uczących się
Ł naturalną a sztuczną adaptacją (Bledsoe, 1961; Bremermann, 1962; Friedman, 1959; Holland, 1962c; von Neumann, 1966). Kreśląc zarysy teorii systemów adaptacyjnych, Holland (1962c) czerpal natchnienie z naturalnych przykładów biologicznych. W swojej wizji przewidywał on gromady programów błąkających się w komórkowej przestrzeni obliczeniowej, zderzających się ze sobą i niekiedy łączących się w większe jednostki (Holland, 1962c, str. 306-307): Procedura swobodnej generacji [...] wymaga, aby generatory (i ich kombinacje) „przemiesz czały się” i „łączyły” losowo w komputerze. Z.najprostszą formą losowego przemiesz czenia mamy do czynienia, gdy są spełnione następujące warunki: (1) dowolny generator w każdej chw ili ma określone prawdopodobieństwo przemieszczenia się do jednego z sąsia dujących modulów; (2) jeśli generator próbuje się przemieścić do modulu zajętego już przez inny generator, to taki ruchjest zabroniony [...]. Jeśli spelnione są warunki [...|, to dwa lub więcej generatorów zajmujących sąsiednie moduly („kontaktujące się” ) mogą się polączyć.
J
Takie potączone zespoly generatorów będą się przemieszczać jako calość.
i
Wizja ta pozostawała w związku z jego wcześniejszym pomysłem tzw. iterative circuit computer (Holland, 1959, 1960) - „drobnoziarnistej” , jednorodnej architektury przetwa rzania współbieżnego, z adresacją względną opartą na procesie budowania ścieżek; gro mady wałęsających się programów mogłyby być z łatwością zrealizowane na takich: maszynach Hollanda. •
7.1.1.
S chem aty i ich p ro c e s o ry _____________________________________________________________ a
«« Choć tak intelektualnie pociągający pomysl programów zderzających się w kompuleize komórkowym, niczym elastyczne plastikowe kule bilardowe, daleki był od realizacjj w postaci jakiegokolwiek działającego systemu adaptacyjnego, jak wkrótce zdał sohic z tego sprawę sam jego twórca. Pragnąc uzyskać eksperymentalne potwierdzenie swoich koncepcji, Holland zwrócił uwagę na jedno ze szczególnie udanych ówczesnych przed sięwzięć w zakresie maszynowego uczenia się, jakim był program grający w warcaby Samuela (1957). Koncepcja Samuela niesprzecznego przewidywania [consistent predic tion| miała wskazać drogę ku rozwojowi algorytmów przyznawania ocen w późniejszych' systemach GBML; wysiłki te nie spowodowały jednak wstrzymania poszukiwań teorety-li cznych podstaw adaptacji reprodukcyjnej. Oba kidr-unki badań skrystalizowały się w dwóch pracach, które wywarly głęboki wply^v n'S rozwój wszystkich późniejszych: badań na polu systemów GBML. Pierwsza z tych prac, Hierarchical. Óescriptions, Unif versal. Spaces, and Adaptive Systems (Holland, 1968, 1970a), byla poświęcona opisowi złożonych maszyn, zbudowanych z ograniczonej liczby ustalonych elementów oraz zna-)1 czeniu schematów, czy też wzorców strukturalnych w takich maszynach. Druga, węższa tematycznie (choć z punktu widzenia przyszłości systemów GBML bardziej interesująca) praca, Processing and Processors for Schemata (Holland, 1971), opisywała pierwszej; konkretne propozycje uogólnionego systemu GBML. Holland zaproponował w niej skonf struowanie tzw. procesorów schematów fschemata processors], co miałoby nasląpi6
Ż.I.Początki systemów GBMI____________________________________________________ 279
': 8 iVczterech etapach. Złożonośćprototypów wzrasta począwszy od prototypu I, będącego prostym urządzeniem działającym na zasadzie bodziec-reakcja, a skończywszy na proto typie IV, przedstawiającym 'złożony automat o wielu stanach wewnętrznych i zdolnych ! do modyfikacji detektorach i efektorach. Projekt ten, jak się później okazało, stał się :Vunktem wyjścia dla pierwszego systemu klasyfikującego. „Ewolucyjna” metoda proje ktowania sefii coraz bardziej złożonych sztucznych stworzeń, którą zastosował Holland, ■ nie była czymś wyjątkowym, na tle ówczesnej biologicznie ukierunkowanej literatury 2 dziedziny sztucznej inteligencji (patrz Braitenberg, 1984).
I
•;? J _________ __ _________________________________________________________
7.1.2. Ję zyk
przekazu
J' Clioć procesory schematów nigdy nie ujrzały światła dziennego na ekranie monitora, prace nad algorytmami genetycznymi i systemami GBML posuwały się. Jak wspomnieli śmy w rozdziale czwartym, na przełomie lat sześćdziesiątych i siedemdziesiątych na stąpiły ważne wydarzenia na polu zastosowań algorytmów genetycznych w zadaniach optymalizacji i poszukiwania oraz ich podbudowy teoretycznej (Bagley, 1967; Cavic|chio, 1970; De.Tong, 1975; Frantz, 1971; Hollstien, 1971; Rosenberg, 1967).Interesujący kierunek rozwoju badań w zakresie systemów GBML został wskazany w ósmym, często zapoznawanym rozdziale pracy Adaptation in Natural and Artificial Systems (ANAS) Hollanda (1975). W rozdziale tym Holland przedstawia projekt tzw. języka przekazu [broadcast. language], będącego odmianą systemu produkcji Posta (Minsky, 1967; Post, |943) opartą na lO-elementowym alfabecie. Zaproponował on reguly zjednym lub dwoina poprzednikami (warunkami) i jednym następnikiem (akcją), które nazwał jednostkam'przekazu [broadcast units]. Reguły i komunikaty, w postaci podzbioru słów języka przekazu, miały współistnieć w obrębie systemu wyposażonego w mechanizm równoleg łego sterowania wykonywaniem reguł. Chociaż do tej pory nikt nie dokonał implemen tacji języka przekazu, sam pomysł ma istotne znaczenie, gdyż wskazuje jeden z moż liwych sposobów uogólnienia koncepcji procesorów schematów w kierunku uniwersal ności obliczeniowej nie wychodzący jednak poza ramy umożliwiające stosowanie opera cji genetycznych. Aby lepiej zrozumieć Iconcepcjęjęzyka przekazu, przyjrzyjmy się bliżej jego alfa betowi i metodzie lworzenia jednostek przekazu zjego symboli. Alfabet składa się z na stępujących 10 symboli: A = {0, I, *, :, 0, V, V, A, p, '} Symbole 0 i 1 są tu podstawowymi symbolami do zapisywania sygnalów. Gwiazdka * (nie mylić z symbolem uniwersalnym używanym w poprzednich rozdziałach) pelni funkcję . ogranicznika jednostek przekazu; wszystkie symbole znajdujące się między parą gwiazdek są interpretowane jako jednostka przekazu. Dwukropek (:) sluży do oddzielania warunków i akcji wewnątrz jednostki przekazu. Istnieją cztery typy jednostek przekazu: 1) * /,:/, 2) *:/,:/j
Jeżeli pewien komunikat pasuje do /,, to wyślij komunikat /2. Jeżeli żaden komunikat nie pasuje do /,, to wyślij komunikat /,,.
7. Zastosowania genetycznych systemów ućżących się
280
3) */,::/2 4) '*/,:/,:/,
Jeżeli pewien komunikat pasuje do /,, to usuń trwały [persistent] element postaci /2. Jeżeli pewien komunikat pasuje do /, i pewien komunikat pasuje do 1 wyślij komunikat /,.
Podciągi /„ /j, /, są słowami utworzonymi z dowolnych symboli alfabetu, przy czynvpozostałe symbole interpretuje się następująco:
0 Symbol uniwersalny pasujący do dowolnego pojedynczego symbolu (a na pozycji końj| cowej do dowolnego podciągu symboli) V Symbol uniwersalny pasujący do dowolnego przedrostka lub końcówki (na innych pozycjach ignorowany) o własności przenoszenia [pass through] podciągów0 T „Zapasowy” symbol V; umożliwia łączenie dwóch przenoszonych podciągów fi| A Symbol uniwersalny pasujący do dowolnego pojedynczego symbolu, o wlasności prze noszenia n'ifl p Komunikat poprzedzony symbolem p pozostaje na trwale w systemie, póki nie zostanieusunięty przez jednostkę przekazu typu 3 ' '!,•?) ' Symbol poprzedzony znakiem ' zostaje zihlerpretowany literalnie. Podobnie jak procesory schematów (a następnie systemy klasyfikujące), język przekazu został zaprojektowany z myślą o łatwym rozpoznawaniu wzorców podobieństwa. Hol land przedstawił siedem przykładów zastosowania jednostek przekazu, obejmujących m, in. tak standardowe elementy maszyn liczącychjak liczniki i sumatory, a także należące do specyficznie genetycznej problematyki operacje reprodukcji i krzyżowania. Zaryso-, wane zostały możliwości zastosowania języka przekazu na tak rozmaitych polach, jak7 1) 2) 3) 4) 5)
operonowy model regulacji genetycznej; model limfocytowego układu odpornościowego; model centralnego układu nerwowego; symulacja mechanizmu rozpoznawania wzorców; modele falowych (elektromagnetycznych i dźwiękowych) systemów przekazu.
Być może pewnego dnia w świecie genetycznych technik obliczeniowych pojawi się praktyczny systeni o elastyczności języka przekazu Hollanda. Do tego czasu osiągnięcie,) jedności przetwarzającego i przetwarzanego pozostaje celem godnym naszych wysiłków (Holland, 1987b).
11 Na przyktad jednostka przekazu * llV :V w obecności komunikatu 11010 wysyla komunikat 010
Q/n.)p. tlum.).
7i2. Pierwszy system klasyfikujący CS-1
S Ii
281
7.2. Pierwszy sysłem klasyfikujący CS-1
Pi:qjekty procesorów schematów i języka przekazu przy jednoczesnym wykrystalizowa niu się podstawowych elementów teorii algorytmów genetycznych zaowocowały w krót kim czasie (lrzy lata po publikacji ANAS) opracowaniem pierwszego systemu klasyfikuf|cęgo. Opis tego systemu, który otrzymał miano „System Kognitywny 1” (CS-1), został 6publikowany przez Hollanda i Reitmana (1978). Jego schemat ideowy jest przedstawiony.,na rys. 7,1. System został wyposażony w układ wykonawczy oparty na regułach (klasyfikatorach) o prostej składni.-interwałowy algorytm oceniający oraz algorytm gene tyczny. W ogólnych zarysach, CS-1 ma wiele wspólnego z generycznym systemem I Iklasyfikującym, który był omówiony w rozdziale szóstym. Skupimy się tu na paru istotf giiejszych różnicach dotyczących struktury reguł i mechanizmów składania ofert oraz 'll'przyznawania ocen. Opiszemy także środowisko CS-1 i jego zachowanie w zadaniach I pokonywania labiryntu.
i I
H y s . 7.1. SchematpierwszegosystemuklasyfikującegoCS-1 (HollandiReitman,1978).Przedrukza zezwoleniem
Na rysunku 7.1 rozpoznajemy ogólną strukturę przypominającą w zarysie system klasyfikujący z rozdziału szóstego. W pamięci systemu znajduje się zbiór klasyfikato.rów. Warunki klasyfikatorów (zwane tu taksonami) są zbudowane z symboli trójelementowego alfabetu {0, 1,#}, przy czym 0 i 1 są symbolami podstawowymi, a # - symj-bolem uniwersalnym. W systemie CS-1 warunki składają się z segmentów; poszczególne
282
7. Zastosowania genetycznych systemów uczących się
segmenty reagują na komunikaty zewnętrzne, ostatnio wykonaną akcję oraz komunikaty w.ewnętrzne z odrębnej listy. Jest to nieco odmienne rozwiązanie niż w generycznym systemie klasyfikującym, w którym cała wymiana informacji odbywa się za pośredni ctwem listy komunikatów. Metoda wskazana w opisie generycznym ma być może bar-, dziej jednolity charakter. Z opisu generycznego pamiętamy również, że klasyfikatory oczekują ną wyplaty,' a wypłaty podlegają dystrybucji za pomocą algorytmu bucket brigade. W systemie CS-f proces ten przebiega niećo inaczej. Przede wszystkim, system posiada odrębne rezer wuary zasobów odpowiadających jego potn.ebonv, na przykładowym schemacie widzimy dwa rodzaje zasobów: żywność (głód) i wodę (pragnienie). Zapasy tych zasobów maleją jednostajnie w czasie i muszą być uzupełniane. Aktualny stan zapasów służy do okreś lenia aktualpych potrzeb, a poziom potrzeb jest uwzględniany w procesie decyzyjnym dotyczącym uaktywniania reguł. Ponadto, CS-1 nie posługuje się algorytmem bucket brigade. Zamiast tego używany jest algorytm interwałowy [epochal algorithm]. Przez interwal rozumie się tu okres czasu upływający między dwiema kolejnymi wypłatami; aby uwzględnić historię wykorzystania poszczególnych regut i ich trafności trzeba pro wadzić rozbudowaną ewidencję. Informacje te są następnie używane do modyfikacji parametrów decyzyjnych reguly. Aby zrozumieć jak się to odbywa, przyjrzyjmy się parametrom i sposobowi ich wykorzystania. Podstawowymi parametrami decyzyjnymi klasyfikatora w CS-1 są przewidywano wysokości wypłat u dotycżące każdego zasobu istotnego dla systemu (w naszym przy kładzie - żywności i wody). Aby wybrać regułę lub reguly do uaktywnienia w danym: cyklu, system CS-1 bierze pod uwagę przewidywane wysokości wypłat u, klasyfikatora oraz bieżące potrzeby systemu d, (wartość d jest tym większa, im niższy poziom zasoby, w rezerwuarze), w celu obliczenia wskaźnika odpowiedniości [appropriateness] a dla każdego klasyfikatora zgodnie ze wzorem a = £ rf; u, i gdzie sumowanie jest rozciągnięte na wszystkie zasoby i. Zwycięzca zostaje wyłoniony losowo, za pomocą mechanizmu ruletki o sektorach proporcjonalnych do iloczynu wskaź nika odpowiedniości a i wskaźnika zgodności M (będącego miarą szczegółowości reguły). W miarę rozwoju procesu uzgadniania i uaktywniania reguł, interwałowy algorytm oceniający śledzi trafność przewidywań klasyfikatorów, posługując się trzema paramet rami zwanymi wieldein, cz.ęstością i thtmieniem.^Niek klasyfikatora zwiększa się o 1 wraz z każdym cyklem obliczeniowym; jeśti jeamak klasyfikator zdobywa nagrodę (na zakończenie interwału), jego wiek zostaje zredukowany o wielkość, która rośnie wraz ze wzrostem użyteczności reguły. Ten „algorytm Ponce’a de Leon” 0 przedłuża żywot użytecznej reguly, ponieważ klasyfikatory ulegają losowej wymianie, z prawdopo dobieństwem zależnym od wieku.
11 Juan Ponce de Leon, hiszpański konkwistador i odkrywca towarzyszący Kolumbowi w jego drugici wyprawie, znany z poszukiwania „zdroju wiecznej m lodości" {p17yp. ilmn.).
' 7 2 ; Pierwszy system klasyfikujący CS-1
283
Bląd e 'Rys. 7.2. Czynnik tlumienia jako malejąca funkcja błędu w systemie CS-1 (Holland, ok. 1976). -f Adaptacja za zezwoleniem
'iS/y jf
Częstość jest parametrem, który zwiększa się przy każdym uaktywnieniu reguly. lUżywa sięjej przy określaniu wag klasyfikatorów w celu uprzywilejowania często użyivanych reguł. Tłumienie jest parametrem ó wartościach między 0 a 1; jego wartość fpóczątkowa wynosi 1. Za każdym razem, gdy okazuje się, że dana reguła przewidziała jwypłatę wyższą niż następna, parametr ten zostaje zmniejszony. Funkcja tłumienia, wi doczna na rys. 7.2 określa czynnik zależny od wielkości blędu, służący do skorygowania fcarlości parametru. Kiedy ostatecznie system otrzymuje wypłatę, zostaje ona rozdzieloriit między klasyfikatory stosownie do ich tłumienia i częstości. Ten sam mechanizm ftziała w następnych interwalach (okresach między kolejnymi wypłatami), dzięki czemu Łrzewidywane wypłaty zbliżają się coraz bardziej do rzeczywistych. 1®'
Aiu.
_________________________________________7.2.1. S ystem CS-1 w dzialaniu
P&K pSystem CS-1 został zaprogramowany w Fortranie na maszynie IBM 1800 należącej ’ do Uniwersytetu Michigan. W implementacji przyjęto następujące ograniczenia i upro szczenia: |jii’25 pozycji na warunek, w tym 8 bitów na środowisko, 1 bit na ostatnią akcję oraz 16 '"n bitów na komunikaty wewnętrzne. 2. Jeden efektor o dwóch stanach (akcjach), 0 i 1. ■,3. Dwa rezerwuary zasobów. 4. Ośmiobitowe nazwy węzłów labiryntu. '!§i 100 klasyfikatorów, po 50 na każdą akcję. ■Systemowi temu postawiono dwa zadania pokonywania labiryntu, zobrazowane schema tycznie na rys. 7.3. Na rysunku 7.3a widzimy labirynt z siedmioma węztami, przy czym przy jego lewym wyjściu znajduje się 18 jednostek żywności, a przy prawym - 36 ‘jednostek wody. Na rysunku 7.3b ten sam labirynt został rozbudowany o sześć dodat kowych węzłów, po trzy z każdej strony.
284
7. Zastosowania genetycznych systemów uczących ^g_j
L
Rys. 7.3. (a) Schemat labiryntu z siedmioma węzIami (test wstępny); (b) Schemat labiryntu z 1^t| węzfami (test przenoszenia wiedzy). Holland i Reitman, 1978. Przedruk za zezwoleniem '.:•/{
I ’5 Wyniki uzyskane przez system CS-1 dla obu zadań zostaly przedstawione gra ficznie odpowiednio na rys. 7.4 i 7.5. Na rysunku 7.4 porównano trzy warianty; błą dzenie przypadkowe, system CS-1 bez algorytmu genetycznego i z algorytmem ge netycznym. Wariant z algorytmem genetycznym okazał się lepszy niż bez algorytmu genetycznego, a obydwa warianty CS-1 wypadly lepiej niż błądzenie przypadkowe. Z uwagi na dwa razy niższą nagrodę żywnościową (18 jednostek żywności w poró wnaniu do 36 jednostek wody) powinniśmy oczekiwać, żc system będzie poszukiwał żywności dwa razy częściej niż wody. Takie zachowanie było rzeczywiście obserwo wane w prowadzonych eksperymentach. JtW przypadku drugiego zadania, którego cetóm było badanie przekazywania wiedzy, widoczne są różnice między wynikami uzyskanymi przez system w Wariantach „suro wym” (reguły wygenerowane losowo) i „wytrenowanym” (po wstępnych ćwiczeniach w pokonywaniu prostszej wersji labiryntu). Wiedza zdobyta w pierwszym zestawie ekspe rymentów przenosi się istotnie na zadanie o większym stopniu trudności, o czym świadczy natychmiastowa zbieżność do niemal optymalnego zachowania, widoczna na wykresie, i Od czasu zaprojektowania systemu CS-1 Holland kontynuował teoretyczne i eks-! perymentalne badania systemów klasyfikujących (Holland, 1980a,b, 1981, 1983a,b,r: 1984, 1985a,b, 1986a,b, 1987a,b; Holland i Burks, 1985; Holland, Holyoak, Nisbett
7.2. Pierwszy system klasyfikujący CS-1
285
Rys. 7.4. SprawnośćsystemuCS-1 wteściewstępnym(labiryntzsiedmiomawęzfami)zużyciemibez użycia algorytmu genetycznego (Holland.i Reitman, 1978). Przedruk za zezwoleniem
i Thagard, 1986). W pracach tych zaleca się stosowanie algorytmu buckct brigade przypo minającego ten, który opisaliśmy w poprzednim rozdziale. Podobniejak algorytm interwa łowy, dostarcza on estymatora przewidywanej wypłaty; majednak tę przewagę, że wyma ga mniejszego nakładu czynności rejestracyjnych oraz czysto lokalnych obliczeń.
Odcinki po 10 interwałów /s. 7.5. Porównanie wyników dla wersji „surowej" i „wytrenowanej" systemu CS-1 w teście przenoszenia wiedzy (labirynt z 13 węzłami). Holland i Heitman, 1978. Przedruk za zezwoleniem
286
----------------------------------------------------- 7. Zastosowania genetycznych systemów uczących si^ *:
L
I
7.3. Program pokerowy S m ith a __________________________ . System CS-1 zrodził wielu następców. Jednym z pierwszych był program LS-1 opraco wany przez S.F. Smitha (Smith, 1980, 1983, 1984). Chociaż LS-1 przetwarzał reguły za pomocą operacji genetycznych, nie był jednak klonem CS-1. Architektura LS-1 różniła J się zasadniczo od architektury CS-1 pod względem postaci reguł, sposobu funkcjonowa nia i operacji genetycznych. Punkt ten poświęcimy omówieniu tych różnic oraz wyników osiąganych przez LS-1 w grze w pokera. Najważniejsze różnice między CS-1 a LS-1 zostaly zilustrowane w postaci sche matycznego diagramu na rys. 7.6. Z rysunku 7.6a przedstawiającego architekturę typu CS-1 widzimy, że podstawowymi obiektami podlegającymi genetycznym manipulacjom { są tu indywidualne reguły; w cyklu obliczeniowym algorytm przyznawania ocen określa wartość poszczególnych reguł, a w cyklu reprodukcyjnym reguły kojarzą się i krzyżują, ’ ze sobą w sposób pokazany na rysunku. Natomiast architektura typu LS-1, przedstawiona na rys. 7.6b, kieruje naszą uwagę o poziom wyżej: przedmiotem oceny i manipulacji genetycznych są tym razem całe zestawy reguł. W ten sposób zestawy reguł podlegają ocenie grupowej po przeprowadzeniu pewnej ustalonej liczby rozgrywek. Następnie ze stawy reguł kojarzą się, krzyżują, ulegają mutacjom lub innym modyfikacjom genetycz nym w celu wytworzenia potencjalnie lepszych wariantów, które zostaną poddane ocenie w przyszłych rozgrywkach-.
a)
b) System Hollanda Populacja
Przykład krzyżowania
^E G U Ł A J)
<5^i^3>
^ re g u ta jr^ )
C^jogtlfl^2^
'
C^EGUlaT> C^7ogtJLA'T>
^3 E G U L A j3 ) (R E G U Ł A 4 )
System typu CS Rys. 7.6. Porównanie architektury systemów typu (a) CS i (b) LS. W systemach typu CS przedmiotem manipulacji genetycznych sąindywidualne reguly. W systemach typu LS sąnim cale zestawy reguł
287
7.3. Program pokerowy Smitha
J l \ Te różnice poziomów działania mają charakter zasadniczy. Przenosząc operacje /genetyczne o jeden szczebel wyżej, Smith jest w stanie (prawie) zupelnie uniknąć /potrzeby oceny zasług poszczególnych reguł. Od kiedy cały zestaw reguł solidarnie utrzymuje się lub upada, pojedynczy miernik całkowicie wystarcza do kontynuacji pbliczeń; nie potrzeba wysilać się w celu określenia indywidualnego wkladu reguł w łączny efekt. Z drugiej jednak strony, rezygnacja z przyznawania ocen jest też największą wadą tej metody., Ponieważ sprzężenie zwrotne oddziałuje teraz znacznie rzadziej, efekty uczenia się w systemie typu LS-1 dają się zaobserwować dopiero po' stosunkowo dużej liczbie prób. Niemniej jednak wyniki osiągnięte przez program w dziedzinie gry w pokera są imponujące i warto poświęcić więcej miejsca na omó wienie jego cech charakterystycznych. I Program LS-1 zawiera mechanizm wnioskowania oraz reguły, które stanowią inte resującą mieszaninę „zwyczajnego” systemu produkcji i systemu klasyfikującego. W sy stemie Smitha występuje pamięć robocza, będąca zbiorem elementów binarnych o usta lonej długości. Element taki dzieli się na porcję sygnałową i porcję danych. Zbiór reguł zakodowanych w postaci ciągów o jednakowej długości tworzy pamięć produkcji. Po przednik reguły (warunek) składa się z k ustalonych wzorców; pierwsze i spośród nich ;odpowiada i detektorom zewnętrznym, a pozostałe k - i wzorców odpowiada sygnalom obecnym w pamięci roboczej. Podobniejak system klasyfikujący program Smitha stosu ję równoległy mechanizm sterowania; wszystkie uzgodnione reguly odpalają jednocześ,nie, z wyjątkiem tych, które powodują wykonanie akcji w środowisku. Te ostatnie zo stają oznakowane, a następnie podejmuje się na drodze probabilistycznej decyzję o wy konaniu jednej z akcji, przy czym prawdopodobieństwo wyboru danej akcji jest proporc5nalne do liczby reguł, które się za nią opowiadają. 1 Konkretny przykład pomoże nam łatwiej przyswoić zasady uzgadniania przyjęte w programie LS-1. Przypuśćmy, że mamy dwa zewnętrzne detektory oraz pamięć roboczą 0 zawartości pokazanej w tabl. 7.1. Przypuśćmy dalej, żejest dana następująca produkcja: -l# i
/0 0## 0# 1##X
OttOX
001Y
^
011 R E A S S E R T ( Y )
ll^ Chociaż przypomina to trochę klasyfikatory z poprzedniego rozdzialu, jest też parę róż nic. Po pierwsze poprzednik reguly sklada się z dwóch części - „środowiskowej” (-l##0 0##0#) i „wewnętrznej” (reszta lewej strony). Zauważamy występujące w klasy fikatorach symbole 0, 1 i #, ale są też i inne. Znak - stojący przed pierwszą grupą symboli jest interpretowany jak logiczna negacja: jeżeli wzorzec poprzedzony symbolem - nie pasuje do żadnego komunikatu, to przyjmujemy, że reprezentowany przezeń warunekjest spełniony. W rozważanym przykładzie zanegowany wzorzecjest zgodny z komunikatem, ponieważ komunikat zewnętrzny 1111 nie pasuje do wzorca l##0. Kontynu ując omawianie przykładu (i posuwając się, tak jak LS-1, od lewa na prawo), stwier dzamy zgodność drugiego komunikatu zewnętrznego (01001) z drugim wzorcem (warun kiem) 0##0#. Po uzgodnieniu ze środowiskiem przechodzimy do uzgadniania z pamięcią roboczą. W programie LS-1 każdy warunek „wewnętrzny” składa się z prefiksu, wzorca 1 sufiksu. Tal< jak w przypadku części środowiskowej, wzorzec wchodzący w skład części wewnętrznej może być poprzedzony prefiksem negacji (-); może także wystąpić
288
7. Zastosowania genetycznych systemów uczących się*
prefiks oznaczający pominięcie - w takim przypadku interpretator ignoruje dany waru nek. Sufiks warunku może być pusty lub być jednym z symboli X lub Y. X oraz Y są to nazwy dwóch zmiennych występujących w LS-1. Przy pierwszym napotkaniu podczas uzgadniania (idąc od lewa na prawo) zmienna przybiera wartość równą odpowiadającej jej porcji danych w pamięci roboczej. W naszym przykładzie sygnał 100 pasuje do yvzorca 1##, a zatem zmiennej X zostaje przypisany podciąg 1111. Po tym przypisaniu każde następne wystąpienie X zostaje chwilowo zastąpione przypisanym podciągiem i proces uzgadniania jest kontynuowany. Wracając do przykładu, wzorzec 0#0 pasuje do następnego sygnalu (010), ale pełne uzgodnienie w tym przypadku nie zachodzi, gdyż zmienna X reprezentuje teraz podciąg 1111, który nie pasuje do odpowiedniej porcji danych w pamięci roboczej na pozycji nr 2. Przeglądając dalej pamięć roboczą stwier dzamy, że warunek daje się uzgodnić z elementem nr 5, gdyż sygnal 000 pasuje do wzorca 0#0, a wartość zmiennej X (1111) pasuje do porcji danych tego elementu. Ostatni warunek jest zgodny z elementem nr 4 pamięci roboczej (001 pasuje do 001); zmienna Y otrzymuje przy tym wartość 101. <' Tablica 7.1. Przyklad dzialania mechanizmu wnioskowania w systemie LS-1 Stan pamięci w chwili T Tablica detektorów zewnętrznych
Pamięć robocza Sygnaly Dane
I 1111
2 I oiobT
O)
100
( 2)
010
(3) (4) (5)
1 10
101010
001
101
000
1111
1111
Reguln -lft
#0 0# # 0#
llN lX
0tt0X 001Y ->011
REASSERT(Y)
Element pamięci roboczej wygenerowany w chwili T + I | 011 | i0 l Zródlo: Sinitli (1980). Przedruk za zezwoleniem
Zmienne X i Y dają systemowi LS-1 elementarną zdolność rozpoznawania iden tyczności elementów danych. Ponadto umożliwiają mu przekazywanie informacji; ,,z lewej strony na prawą” . Kiedy nastąpi całkowite dopasowanie po stronie poprzed-! nika, reguła odpala, wykonując dwie rzeczy. Po pierwsze umieszcza swój sygnal na wolnej pozycji w pamięci roboczej. Następnie dokonuje wartościowania swej akcji ijeji argumentu w celu określenia, jakie dane umieścić w pamięci roboczej w miejscu prze4 znaczonym na porcję danych. W rozpatrywanym przykładzie, po całkowitym dopasowa niu poprzednika, część sygnałowa następnika reguły wędruje do pamięci roboczej oraz
( .Z.3- Program pokerowy Smitha ________________________________________________ _________ 2 8 9
wykonuje się akcja (REASSERT). Akcja REASSERTpolegapoprostu na skopiowaniu wartości argumentu do pamięciroboczej jako porcji danych odpowiadającej wysłanej I wcześniej porcji sygnałowej.W przypadku tego konkretnego uzgodnienia, reguła geneiuje element pamięci roboczej złożony z porcji sygnałowej 011 i porcji danych 101, jak Npokazano w tabl. 7.1. Akcje po prawej stronie regułm ogą być niezależne od zadania |task-independent) (jak REASSERT) lub zależne od zadania [task-dependent] ^ak np. „W chodzęzapięćijeszczępjęć” )Struktura reguł i mechanizm wnioskowania są tak samo proste, jak i przetwarzanie ^genetyczne. Algorytm genetyczny w systemie LS-1 opiera się na czterech operacjach: fe jP:; | ę reprodukcja; 2) mutacja; 3) krzyżowanie zmodyfikowane; 4) inwersja. :li"
Operacje reprodukcji i mutacji są dość podobne do tych, które omawialiśmy w poprzed nich rozdziałach. Natomiast w procesie krzyżowania - z uwagi na zmienną długość ,struktur - trzeba zachować pewną ostrożność; aby zagwarantować wymianę sensownych .(„cegiełek” . Zmodyfikowana operacja krzyżowania w programie LS-1 jest realizowana %w trzech krokach: I: ł 1) wyrównywanie; |;2) wybór punktu krzyżowania; f3) wymiana. Różni się to od krzyżowania prostego dodatkowym krokiem wyrównywania [alignment]. Przypuśćmy, że dane są dwa zestawy regul RS{ i RS2:
2: R 3,
|
/te j = R l : R
j
RS2= R8:R9:R4:R7:R6:R5
gdzie R-y oznaczają różne reguly, a dwukropki (:) slużą do zaznaczenia granic między regulami. W czasie wyrównywania w każdej z dwóch struktur wybiera się losowo punkt aa granicy regul, po czym przesuwa się je tak, aby oba wybrane punkty ustawiły się ■■y jednej linii. Przypuśćmy, na przykład, że wybraliśmy punkt graniczny 1 dla RSt l;ijpunkt graniczny 3 dla RS2. Po wyrównaniu (poprzedzającym krzyżowanie) struktury -ąstawiają się względem siebie następująco: (ttj = Rl:R2:R3, RS2= R8:R9:R4:R7:R6:R5 Następnie dokonuje się wyboru punktu krzyżowania, który może wypaść na dowo5 lnym styku regul w obu wyrównanych strukturach bądź też wewnątrz sparowanych regul. Dobierając odpowiednio wartość specjalnego parametru, można kontrolować stosunek liczby krzyżowań na poziomie reguly do liczby krzyżowań na poziomie bitu. Po ustale niu punktu krzyżowania wymiana podstruktur przebiega tak, jak w przypadku krzyżowa nia prostego opisanego w rozdziale trzecim.
290
7. Zastosowania genetycznych systemów uczących sIę:
Operacja inwersji przebiega zgodnie z opisem podanym w rozdziale piątym, z zął;'; stęzeżeniem, że punkty podziału muszą wypadać na granicach reguł. Tak więc, jeśli11 wykonamy inwersję zaznaczonegoniżej odcinka struktury RS2 fJ^ R8:R9:R4:Rl:R6:R5, A ^
''*Vt 'i '* l
to będzie ona polegała na przepisaniu w odwrotnej kolejności reguł wchodzących w skład odcinka, dając wynik następujący: RS:R7:R4:R9:R6:R5
V,
Opisane operacje, łącznie z normalną reprodukcją i mutacją, określają algorytm genety czny zastosowany w programie LS-1. /,
7.3.1.
LS-1 _______________________________________^i ■'■’‘Mi W swych oryginalnych badaniach Smith zastosował program LS-1 do poszukiwania dobrych zestawów reguł dla zadań pokonytVania labiryntu Hollanda i Reitmana (1978) W y n iki o s ią g n ię te p rz e z p ro g ra m
Rys. 7.7. Efektywność off-line systemu LS-1 w zadaniu pokonywania labiryntu Hollanda i Reitmana dlaróżnych wartości prawdopodobieństwa inwersji P, (Smith, 1980). Przedruk za zezwoleniem
7;3. Program pokerowy Smitha
291
oraz gry w pokera. Niestety, Smith przyjął inne mierniki yvydajnosci niż twórcy systemu CS-1, przez co bezpośrednie porównanie wyników uzyskanych przez oba systemy jest niemożliwe. Zadanie pokonywania labiryntu Smith traktował zasadniczo jako ćwiczenie mające na celu dostrojenie parametrów programu. W jednej z interesujących serii testów zmieniano prawdopodobieństwo inwersji, aby zbadaćjej wpływ na tempo i poziom zbie żności. Wyniki tych testów zostały zreprodukowane na rys. 7.7. Stanowią one jedną z pierwszych jasnych wskazo,wek co do potrzeby użycia inwersji w zadaniach poszuki wania genetycznego. Podstawowym testem dla programu LS-1 była gra w pokera. Smith oparł się tu na sformułowaniu podanym przez Watermana (1968) we wcześniejszej pracy na temat ma szynowego uczenia się. Był to standardowy poker dwuosobowy (po pięć kart na ręce), z tym, że decyzje na temat wymiany (zrzutek) były dokonywane algorytmicznie (przy użyciu stałego algorytmu; problem wymiany nie był dla systemu przedmiotem uczenia się) i można było dokupywać co najwyżej trzy karty. Detektorami systemu były na stępujące zmienne: • :j;
VDHAND POT LASTBET BLUFFO POTBED ORP OSTYLE
Siła ręki Wartość puli Wartość ostatniego zakładu Miernik szansy sukcesu przy blefowaniu Stosunek wartości puli do ostatniego zakładu Liczba kart dokupionych przez przeciwnika Miernik konserwatyzmu przeciwnika
Dysponując powyższymi detektorami, program LS-1 miał do wyboru cztery decyzje: CALL D»ROP BET HIGH BET LOW
Sprawdź przeciwnika Pasuj Postaw losową sumę od 10 do 20 jednostek Postaw losową sumę od 1 do 9 jednostek
Program LS-1 został przetestowany w grze przeciwko innemu programowi, opracowane mu przez Watermanajako „gracz porównawczy” . Przeciwnik ten (zwany P[built-in]) |był oceniany równorzędnie z dobrymi graczami zawodowymi, jednak stosowana przezeń ( strategia gry nie była adaptacyjna. W pierwszych partiach treningowych LS-1 szybko 'nauczył się „puszczać przeciwnika w skarpetkach” . W wyniku późniejszych badań Smith odkrył słabą stronę programu P[built-in], która uniemożliwiała mu rozgrywanie ftdlugich serii rund niezbędnych w badaniach nad LS-ł jakieś 40 000 partii). Zmodyfiko wana wersja P[built-in] lepiej dotrzymywała pola LS-1; jednak nawet grając z ulep szonym przeciwnikiem LS-1 potrafił wytworzyć zestawy reguł, które w 82% przypad kach zachowywały się zgodnie z dobrze znanymi „aksjomatami’’ pokera. Wynik ten jest tporównywalny z osiągnięciami uzyskanymi przez adaptacyjny system Watermana. SkuIteczność LS-1 zasługuje na uwagę tym bardziej, że program ten nie korzystał w procesie uczenia się z żadnych pomocniczych informacji. W przeciwieństwie do niego program Watermana dysponował jawną informacją pomocniczą w postaci macierzy decyzyjnej, | która miała dopomagać mu w adaptacji.
292
7. Zastosowania genetycznych systemów uczącychś‘H|
7.4. Inne wezesne próby z systemami G B M L .................... ............. System CS-1 zrodził LS-1, a oba systemy razem dały początek powiększającej się rodzi-; nie przedsięwzięć z dziedziny genetycznych systemów uczących się. W tym puiikcips dokonamy przeglądu kilku takich prób, a mianowicie systemu uczącego się Bookera,' systemów EYE-EYE i ANIMAT Wilsona oraz mojego systemu klasyfikującego do stero wania dynamicznego.
7.4 .1.
P o s z u k iw a n ie p o ż y w ie n ia i u nikanie tru c iz n __________________________ _______________ _ 4 |
Booker w swej rozprawie doktorskiej ( 1982) przeprowadził badania dotyczące związkóW systemów klasyfikujących z inteligencjami naturalną i sztuczną. Jego praca utorowala drogę dalszym przedsięwzięciom z dziedziny GBML. Booker poświęcił uwagę trzem następującym tematom: 1) związkom między systemami klasyfikującymi a nauką o poznaniu; 2) modyfikacji algorytmów genetycznych służącej zastosowaniom w dziedzinie maszy nowego uczenia się; *3) zastosowaniu systemów klasyfikujących w zagadnieniu poszukiwania pożywienia i unikania trucizn w przestrzeni dwuwymiarowej. Praca Bookera była dobrze ugruntowana w teorii nauki o poznaniu i poświęconej jej literaturze. Zainteresowanego Czytelnika zachęcamy do zaczerpnięcia pełną garścią zjego obfitego plonu, ulegając jednak naszej skłonności do rzeczy praktycznych, ograniczy my się tylko do najbardziej dojrzałych (i nadających się do bezpośredniego spożycia) owoców. Skupimy się zatem na wprowadzonych przez niego innowacjach do algorytmu genetycznego oraz na jego dwuwymiarowym poszukiwaczu. Booker zastosował system klasyfikujący mający bezpośrednie korzenie w systemie CS-l. System ten posługiwał się klasyfikatorami na modłę Hollanda, algorytmem ocenia jącym bucket brigade oraz algorytmem genetycznym. Chcąc wniknąć głębiej w „szare? komórki” , Booker zmodyfikował architekturę CS-1 w sposób pokazany na rys. 7.8.
W ejście
Rys. 7.8. Architektura systemu klasyfikującego Bookera z podzieloną pamięcią klasyfikatorów i listą komunikatów (Booker, 1982). Przedruk za zezwoleniem w(c
[■■7.4. Inne wczesne próby z systemami GBMI__________________________________________ 2 9 3
1Struktura systemu przypomina opis generyczny z rozdziału szóstegoi system CS-1 pod »$vzględem obecności efektorów, detektorów, listy komunikatów i pamięći przezhaczóhej '; na klasyfikatory; jednak nd rysunkujest widoczna istotna różnica. System Bookera za■Wiera dwie pamięci klasyfikatorów i dwie listy komunikatów. Jest to kwestia wygody |móświadczalnej; Booker interesował się bowiem wnioskami „wyciąganymi” przez jego 1 system i oddzielił je od wynikających z nich akcji, dzieląc pamięć klasyfikatorów i listę (komunikatów na dwie części. fj Przed wypuszczeniem swego uczącego się systemu do karmicielsko-truęicielskiego środowiska Booker przeprowadził badania skuteczności różnych operacji genetycznych .dIa testowego zadania rozpoznawania wzorców. Tworzył on mianowicie populacje ciąigów trójkowych (w alfabecie klasyfikatorów {0, 1, #}) i porównywałje z ciągami dwój kowymi o tej samej długości, wygenerowanymi losowo według określonych schematów. Na przykład w jednym z eksperymentów generował on Josowo 16-elementowe ciągi .dwójkowe według wzorca !•
1111111111 * * * * * *
Następnie używat populacji ciągów trójkowych (coś w rodzaju klasyfikatorów z warun kami pozbawionymi akcji) do klasyfikacji tych ciągów, stosując różne mierniki ocen w charakterze funkcji przystosowania przy dalszym przetwarzaniu genetycznym. Dla różnych eksperymentów opracował on i stosował różne mierniki oęen. Następnie wyniki otrzymane za pomocą algorytmu genetycznego przy różnych miernikach ocen zostały iporównane na podstawie dwóch kryteriów poprawnościklasyfikacji. Eksperymenty te ©statecznie skłoniły Bookera do przyjęcia następującego miernika ocen: NCARES + (długość taksonu) dla taksonu uzgodnionego 1 za każdy poprawny atrybut plus 0,75 za każdy # w przeciwnym przypadku
I
Trwają wciąż spory na temat użyteczności takiego częściowego dopasowania. Booker wprowadził inne mierniki ocen (Booker, 1985), które były odpowiedzią na nie które zastrzeżenia co dojego pierwotnego miernika;jednak pewna grupa badaczy sprze ciwia się jakiejkolwiek postaci częściowego dopasowania. Wagę tego problemu można łatwiej docenić, jeśli rozpatrywać go od strony architektury. System klasyfikujący może ' być widziany jako sieć ściśle powiązanych elementów (podobnie jak np. sieć neuro nowa). Od tego, co do czego pasuje (i w jakim stopniu), zależy, które elementy będą bezpośrednio ze sobą połączone. Dopasowanie częściowe daje odpowiedź mówiącą, że wszystkie elementy są wzajemnie połączone - do pewnego stopnia. Scisłe dopasowanie nakłada ograniczenia na połączenia sieciowe. Kontrowersje te mogą ucichnąć dopiero wtedy, gdy zostaną przedstawione argumenty teoretyczne oparte na odpowiedniej pod budowie matematycznej (Holland, 1986b, 1987a), poparte pozytywnymi wynikami sy mulacyjnymi. Chcąc zwiększyć efektywność algorytmu genetycznego w zadaniach z wieloma wzorcami, Booker wprowadził dwa mechanizmy: podział zasobów oraz bariery reprodu kcyjne. Teoretyczne aspekty podziału zasobów rozważaliśmy już w rozdziale piątym.
294
7. Zastosowania genetycznych systemów uczących się
u
Liczba prób Rys. 7.9. Porównanie efektywności on-line przed (d0) i po (G2) wprowadzeniu ulepszeń do algorytmu genetycznego w eksperymentach Bookera (1982) z klasyfikacją ciągów. Przedruk za zezwoleniem
W implementacji Bookera, taksony (warunki) pasujące do tego samego wzorca dzieliły . się wypłatą za uaktywnienie. Podział wypłaty uwzględniał uzyskane oceny. Powstająca , w ten sposób wewnętrzna presja konkurencyjna miała ograniczać rozrost jakiejkolwiek klasy taksonów. W rozdziale piątym omówiliśmy również racje stojące za tworzeniem barier re produkcyjnych. Mówiąc zwięźle, w populacji klasyfikatorów służących rozmaitym wzorcom, krzyżowanie elementów należących do różnych klas nie rokuje wielkich szans znalezienia lepszych klasyfikatorów. Jeśłi, na przykład, dane są dwa klasyfikatory - 000#1#:1 i 111 # # 0:0- służące rozpoznawaniu odpowiednio wzorców 000*'<' % i 111 ***, to niewiele pożytku przyjdzie nam z krzyżowania tak radykalnie odmiennych reguł. Bariery reprodukcyjne odpowiadają zasadzie heurystycznej, którą można wyrazić następująco: „Jeżeli dwie koncepcje odnoszą się do tego samego szczególnego przypad- ■ ku, to spróbuj dokonać ich syntezy” . W celu probabilistycznej kontroli takich skojarzeń; Booker zaimplementował regułę kojarzenia podobnych z podobnymi (dodatniego koja- * rzenia selektywnego), dokonując kojarzenia w ocfpovwedzi na zaprezentowany wzorzec pochodzący ze środowiska. Partnerzy byli tu dobierani na podstawie ocen zgodności ■ z przedstawionym wzorcem. Tak więc sprzężenia taksonów następowały za pośrednict wem komunikatów, które były przez nie klasyfikowane. Graficzne porównanie efektyw ności on-line osiąganej przez system przed wprowadzeniem ulepszeń do algorytmu gene- J tycznego (plan GO) i po ich wprowadzeniu (plan G2 z podziałem wypłat i barierami ,' reprodukcyjnymi) zostało przedstawione na rys. 7.9. | Po zbadaniu poprawek do algorytmu genetycznego Booker przeprowadził serię , eksperymentów, polegających na symulowanej wędrówce systemu klasyfikującego w ob- c
7i4. Inne wczesne próby z systemami GBMI__________________________________________295
szarze stanowiącym dwuwymiarową, heksagonalną siatkę (rys. 7.10). W obszarze tym występowały dwa rodzaje obiektów: pożywienie (kwadraty) i trucizna (kółka). Każdy rodzaj obiektów emanował wokół siebie swego rodzaju „zapach” o malejącej intensywno ści (rys. 7.11). Zbliżając się do danego obiektu, system klasyfikujący mógł podjąć jedną ■i. trzech decyzji: APPROACH (podejdź), EXPLORE (zbadaj) i CONSUME (zjedz).
t; Rys. 7.10. Pożywienie (kwadraty) i trucizna (kółka) rozłożone na heksagonalnej siatce tworzą ł środowisko badane przez system klasyfikujący Bookera (1982)
• - - 1 1 1 - 1 1 1 ........................................... • • - 1 2 2 1 1 2 2 1 ...................................... •
-
•
1 2 4 2 2 2 4 2 1 ........................................... 1 2 2 1 1 2 2 1 ..........................................................................................
- - - 1 1 1 - 1 1 1 ........................................... ................................................1
11 ....................................
• ' - 1 1 1 - - • 1 2 2 1 .............................. •
• • 1 2 2 1 - - 1 2 4 2 1 ............................ ' * 1 2 4 2 1 - - 1 2 2 1 .................................. • * - 1 2 2 1 - • - i i ] ................................... • - • 1 1 1 .....................................................................
............................ -
* -
................................. 1
...........................................
1 11 ............................... 2 2 1
1 2 4 3
............................ 1 1 ......................
................................ 1 2 2 2 2 1 .................
.....................................................1 1 3 4 2 1 -
-
-
-
.............................................. 1 2 2 1 ....................... .................................................. 1 1 1 ....................... Rys. 7.11. Pożywienieitruciznaemanują,,zapach” odczuwalnynaodleglość(Booker, 1982).Przedruk ■|i za zezwoleniem
296
7. Zastosowania genetycznych systemów ucżących s if
Bloki po 100 prób Rys. 7.12. Wyniki uczenia się przez system klasyfikującego Bookera dla różnych wartości parametru LEARNRATE (Booker, 1982). Przedruk za zezwoleniem
Rys. 7.13. Liczba blędów popełnianych przez system klasyfikujący z użyciem i b'ez użycia algorytmu genetycznego (Booker, 1982). Przedruk za zezwoleniem
W jednym z eksperymentów (rys. 7 .12), w których badano zdolność systemu do uczenia się, porównywano osiągane przezeń wyniki w zależności od wartości parametru LEARNRATE (tempo uczenia się). Parametr ten określa odstęp czasowy między kolej nymi wywołaniami algorytmu genetycznego. Jak można się przekonać z wykresów, vv przypadku, gdy wartość LEARNRATE nie dorównywała nominalnemu okresowi mię-
U. Inne
297
wczesne próby z systemami GBML
zy wypłatami, zachowanie systemu było nieregularne i po osiągnięciu równowagi stohastycznej popełniał on błędy ze stałąintensywnością. Gdy odstęp między wywołaniati;AG został wydłużony (co odpowiada wartościom LEARNRATE 20 i 30), przewidy/ania systemu zaczęły być bardziej trafne i liczba błędów spadła do zera.lnnego rodzaju orównania przedstawiono na rys. 7.13, gdzie pokazane są wyniki uzyskanew eksperyientach bez i z użyciem algorytmu genetycznego. W przebiegu z użyciem AG system otrafił z czasem wytworzyć, zestaw reguł, które zredukowały liczbę pomyłek do zera, atomiast w drugim przypadku nie był w stanie zaprzestać popełniania błędów.
I
$
....
...................................................................... ..
7 .4 .2 . K o o rd y n a c ja sy s te m u E Y E -E Y E
iB^' W tym samym czasie, kiedy Booker rozwijał swój system klasyfikujący, Wilson (1981, l985a, doniesienie prywatne 1987) pracował nad koordynacją sensoryczno-motoryczną ruchomej wideokamery (jego system będziemy nazywać systemem EYE-EYE). Podsta wowym zadaniem systemu było nabycie umiejętności ześrodkowania filmowanego obie ktu w polu widzenia kamery (przez przesuwanie jej w odpowiednim kierunku). W prze ciwieństwie do poprzednich systemów środowisko było tu faktycznie zrealizowane w po{taci aparatury działającej w czasie rzeczywistym. Zdjęcie aparatury Wilsona zamieśźczono na rys. 7.14. Praca pozostawała pod znacznym wpływem architektury CS-1 (Holland i Reitman, 1978), zawierałajednak kilka wartych odnotowania innowacji. Od $,slrony iiiegenetycznej, Wilson posłużył się inspirowanym biologicznie odwzorowaniem siatkówkowo-korowym (Wilson, 1981, 1983), w celu uzyskania znormalizowanych, względnie niezmienniczych obrazów obiektów ześrodkowanych na siatkówce. Zastoso wał mianowicie zespolonąfunkcję logarytmiczną vv=lnz, gdzie w=u + iv w płaszczyźnie korowej, z - x + i y w płaszczyźnie siatkówkowej oraz /=V^T. Kilka obrazów korowych
Rys. 7.14. Aparatura zastosowana w systemie EYE-EYE Wilsona. Przedruk za zezwoleniem
Rys. 7.15. Odwzorowanie logarytmiczne (zespolone) obrazów: normalnego, zbliżonego i obróconego^ Zwraca uwagę podobieństwo obrazów korowych (po prawej stronie) mimo zmian powstalycii w obrazach siatkówkowych (po lewej stronie). Za Wilsonem (1985a). Przedruk za zezwoleniem
Rys. 7.16. Odworowania logarytmiczne obrazów nie ześrodkowanych niezbyt przypominają swoje ześrodkowane odpowiedniki (rys. 7.15). Dlatego Wilson (1985a) postawit przed systemem EYE-EYE zadanie ześrodkowania obrazu. Przedruk za zezwoleniem
7. Zastosowania genetycznych systemów uczących się
300
otrzymanych za pomocą tego odwzorowania pokazano na rys. 7.15. Zwróćmy uwagę na podobieństwo obrazów korowych otrzymanych przez przekształcenie logarytmiczne ob razów siatkówkowych powstałych przez obrócenie i zbliżenie tego samego obiektu, 'laka normalizacja jest istotnym warunkiem odniesienia sukcesu przy stosowaniu procedur uzgadniania wzorców, z którymi mamy do czynienia w systemach klasyfikujących. Za uważmy też, że obrazy nie ześrodkowane dają zupełnie różne obrazy korowe (rys. 7 Ui). To właśnie z tego powodu Wilson skupił pierwotnie uwagę na problemie ześródkownma Chociaż zespolona funkcja logarytmiczna, którą posłużył się Wilson, ma ogranic/one zastosowanie w dziedzinie przetwarzania obrazów, to sam pomysł znalezienia odwzoro wania dającego względnie niezmiennicze rejestracje obrazów może być przydatny im wielu polach. Pod względem architektury system klasyfikujący Wilsona przypomina CS-1. le.lnym z widocznych odstępstw jest przyjęta przez Wilsona postać reguł. Zamiast zwykłych jednowymiarowych ciągów kodowych reprezentujących warunki, Wilson użył macierzy trójkowych 4 x 4 będących wzorcami obrazów. Tak więc reguła w systemie Wilsona mogłaby wyglądać na przykład tak: #### «11 :3
###1
tt### Reguła powyższa odpala, jeśli w obrazie kofowym zostanie wykryty trójkątny wzór złożony z jedynek. Aby móc posługiwać się tymi dwuwymiarowymi strukturami, Wilson wymyślił „dwuwymiarową’’ operację krzyżowania, którą nazwał krzyżowaniem szachownicowym [checkerboard crossover]. Podany przez niego opis tej operacji jednak cokolwiek niejasny; prócz tego nie są znane żadne teoretyczne oszacowania pra- * wdopodobieństwa przeżycia oraz brak odpowiedniej definicji schematu. Niemniej jednak przeprowadzono wiele udanych eksperymentów z koordynacja aparatury EYE-EYE, chociaż szczegółowe wyniki nigdy nie zostały opublikowane. Sys tem uczył się odpowiednich reguł przesuwania kamery, a tym samym ześrodkowama:g obiektu w jej polu widzenia. Prace te doprowadziły w krótkim czasie do eksperymentów w bardziej kontrolowanym środowisku i do opracowania prostszej architektury sysienr.: klasyfikującego w postaci systemu ANIMAT Wilsona.
7 .4 .3 .
S y s te m k la s y fik u ją c y A N IM A T _______________________________ __________________________
Doświadczenia z systemem EYE-EYE przekonały Wilsona o potrzebie uproszczenia aparatury i przeprowadzenia prostych parametrycznych eksperymentów w dobrze kont rolowanym środowisku. Doprowadziło to do opracowania systemu ANEVIAT (Wilson, 1985b,c, 1986d). Zainspirowany dwuwymiarowym „sztucznym zwierzęciem” Bookeia, Wilson zaprojektował system klasyfikujący wędrujący po dwuwymiarowym lesie, po szukujący pożywienia i unikający przeszkód w postaci drzew. Rozpostarty na regularnej
7/.4. Inne wczesne próby z systemami GBML
301
Matce prostokątnej 18x58, każdylas zawiera połacie porośnięte drzewami (T) oraz fiferzucone regularnie żerowiska (F). Typowy las jest przedstawiony na rys. 7.17. I'M11MAT (reprezentowany niżej przez „*” ) ma zapewnioną orientację w swym bezpo średnim otoczeniu. Przypuśćmy na przykład, że AM M ATjest otoczony przez dwa drze wa (T), jedno żerowisko (F) oraz puste pola (B), jak pokazano niżej: B T T B * F B B B
■Rys. 7.17. ŚrodowiskosystemuANIMAT. Systemuczysięwędrowaćpolesiewposzukiwaniużerowisk fefr' . (F), unikając drzew (T) (Wilson,1985a). Przedruk za zezwoleniem
Wzorzec ten generuje komunikat zewnętrzny, który powstaje przez „rozwinięcie” ze wnętrznego pierścienia, poczynając od punktu położonego na północ i posuwając się zgodnie z ruchem wskazówek zegara: ': I ; ,... T T F B B B B B
Stosując odwzorowanie T ~* 01, F ^> 11, B H> 00 (pierwszą pozycję można uważać za binarny detektor „zapachu” , a drugą za binarny detektor „zacienienia” ), otrzymujemy następujący komunikat: 0101110000000000
ANIMAT reaguje na komunikaty zewnętrzne, używając zwykłych klasyfikatorów /16-pozycyjnymi warunkami (co odpowiada 16-pozycyjnym komunikatom) i ośmioma akcjami (akcje 0-7). Każda akcja reprezentuje pojedynczy ruch w jednym z ośmiu kie runków (O=północ, 1 = p61nocny wschód, 2 = wschod itd.). Na przykład reguła 0 # 011 # 00000 # 0#:2
302
7. Zastosowania genetycznych systemów uczących się
jest zgodna z przytoczonym wyżej przykładowym komunikatem i określa krok (całkiem sensowny z punktu widzenia głodnego systemu klasyfikującego) w kierunku wschodnim,; gdzie znajduje się pożywienie. ANIMAT został zaprogramowany tak, aby spożywać? każdy posiłek znajdujący się w miejscu jego pobytu (czyżby automat kompułsywny?) W systemie wprowadzono kilka innowacji pod względem sposobu funkcjonowania i operacji genetycznych: 1) 2) 3) 4)
grupa zgodna, grupa wykonawcza i podział nagród; operacja kreacji; operacja częściowego przecięcia; szacowanie czasu oczekiwania na wypłatę.
Podczas procesu uzgadniania zachodzącego w układzie wykonawczym określa się, grupę zgodną [match set] [M], złożoną ze wszystkich klasyfikatorów pasujących d c komunikatu zewnętrznego. Następnie za pomocą mechanizmu ruletki wykalibrowancj wg siły decyduje się o następnej akcji. Podzbiór tych reguł z [M], które specyfikują tę; samą akcję, nazywa się grupą wykonawczą [action sei\ [A]. Siła tych klasyfikatorów zostaje zredukowana o pewien procent, a otrzymany w ten sposób zasób siły rozdziela się następnie pomiędzy elementy poprzednio aktywnej grupy wykonawczej [A],_,. W ten sposób Wilson wprowadza ukrytą formę algorytmu bucket brigade, dzięki czemu na grody środowiska są pośrednio rozprowadzane wzdłuż „łańcuszka” odpalających reguł. Podobny mechanizm występował w systemie klasyfikującym SCS z rozdziału szóstego (choć nie był użyty w zadaniu z multiplekserem); jednak pamiętajmy, że w systemie SCS nie było podziału nagród. Poprzez mechanizm podziału Wilson wprowadza kontrolę' wielkości podpopulacji klasyfikatorów, podobną do tej, którą zalecał Booker. ... Kolejną nowością w systemie ANLMAT jest operacja kreacji. Kiedy ANIMAT odbiera ze środowiska komunikat nie pasujący do żadnego klasyfikatora, uruchamia wtedy operację kreacji. Polega ona na wykonaniu odbitki komunikatu i „uogólnieniu” ; z zadanym prawdopodobieństwem, każdej pozycji odbitki (tj. zastępowaniu zer i jedynek symbolem uniwersalnym #). W ten sposób zostaje utworzony takson, który z definicji pasuje do komunikatu zewnętrznego. Następnie losuje się jedną z dopuszczalnych akcji (od 0 do 7) i dołącza ją do nowego taksonu. Tak powstały nowy klasyfikator zastępuje któryś ze słabych klasyfikatorów przechowywanych w pamięci i system kontynuuje swo je normalne działania. ; Operacja częściowego przecięcia jest czymś pośrednim między operacją krzyżo wania a operacją przecięcia. Podczas częściowego ffzecięcia dwie wybrane reguły z Ul samą akcją „ustawiają się” wzdłuż siebie. Przypuśćmy, na przykład, że dane są dwięj następujące reguły: 1 0 0 # # 0 Q1 : 6 01 # 1 10 10 : 6 A
A
W przypadku czystego przecięcia na każdej pozycji, w której występuje niezgodność umieszcza się.znak #. W rozważanym przypadku otrzymalibyśmy w ten sposób regułę: ’
; i$ i4 . Inne wczesne próby z systemami GBMI__________________________________________303
#####0## : 6 ;• Wilson stwierdził, że czyste przecięcie może powodować nadmierną presję w kierunku zbytniej ogólności.. Aby przezwyciężyć tę trudność, zaproponował on modyfikację ope racji przecięcia wykazującą cechy krzyżowania. W tym przypadku dokonuje się losowe’.gD wyboru dwóch pozycji w obrębie warunków i przeprowadza operację przecięcia tylko w wyznaczonej przez nie strefie, podczas gdy reszta materiału genetycznego zostaje óskopiowana od pierwszej z wybranych reguł rodzicielskich. Przyjmując, że punkty po■działu w naszym przykładzie zostały wskazane za pomocą znaków A, otrzymamy więc następujący wynik częściowego przecięcia: 1####001 : 6 Wilson eksperymentował również z mechanizmem mającym dopomagać w twof rzeniu krótkich łańcuchów wypłat. W ramach tego mechanizmu zapamiętywano szacun kową liczbę kroków do zdobycia nagrody dla kolejnych grup wykonawczych. Dane te hyły następnie lokalnie uaktualniane, zaś przy wyborze aktywnych klasyfikatorów brano |pod uwagę nie tyle siłę, co iloraz wypłaty i czasu oczekiwania na wypłatę. W ten sposób j*"faworyzowano klasyfikatory zdobywające najwyższe wypłaty w najkrótszym czasie. >i; Typowe wyniki uzyskiwane przez system ANIMAT przedstawiono graficznie na rys. 7.18. W fazie początkowej średni czas poszukiwania pożywienia jest dość długi. Podczas pierwszego tysiąca prób system uczy się szybko, zbliżając się ostatecznie do ppdnio czterech kroków na posiłek. Dla tego typu lasów (jak na rys. 7.18) średni czas poszukiwania pożywienia przy błądzeniu przypadkowym wynosi 41 kroków, a minimalny 'Śfedni czas poszukiwania przy pełnej wiedzy o położeniu żerowisk jest równy 2,2 kroku. Biorąc pod uwagę. jaką wiedzą dysponował w rzeczywistości ANIMAT, jego osiągnięcia
fl c0 ^TC 03) '<$5
Uczba problemów x 1000 !ftfS‘ ^ ® ‘ ANIMAT potrzebuje coraz mniej kroków, by znaleźć pożywienie, w miarę postępów w nau ce przy rozwiązywaniu 8000 problemów (Wilson, 1985b). Przedruk za zezwoleniem
304
7. Zastosowania genetycznych systemów uczących się
wydają się godne uwagi. Aby osiągnąć znaczącą poprawę musiałby on bowiem skonstfuować „mapę umysłową” lasu, żeby wiedzieć, w którym kierunku podążyć, gdy był' otoczony przez same puste pola. Taki rodzaj modelowania jest możliwy do osiągnięcia w ramach systemów klasyfikujących, jednak prace na ten temat mialy dotąd charaktef głównie teoretyczny. Bez przeprowadzenia dalszych studiów nie możemy oczekiwać, żesystemy klasyfikujące zaczną tworzyć takie mapy poznawcze w drodze ewolucji.
7.4.4. System klasyfikujący do sterowania gazociągiem ____________________________uj. < '' '4li)Bii Mniej więcej w tym samym czasie, kiedy Wilson kończył swoje eksperymenty z systememf EYE-EYE, rozpocząłem prace nad systemem klasyfikującym do sterowania adaptacyjnego ! symulowanym rurociągiem gazowym (Goldberg, 1983,1985a-c, 1987a,b). Zadawano nij często pytanie, dlaczego wybrałem właśnie rurociąg gazowy, a nie jakiś inny (być możŚL bardziej ezoteryczny) system. Zanim powróciłem na uczelnię, pracowałem dla firmy zajmującej się wytwarzaniem oprogramowania inżynierskiego, która dostarczała programy , modelowania numerycznego dla przemysłu gazociągowego. Kiedy modele te zaczęły być : coraz powszechniej stosowane przy bieżącćj eksploatacji (przy projektowaniu używano ich, w tej czy innej postaci, od 30 lat), zacząłem zdawać sobie sprawę z jaskrawego., kontrastu między sposobami myślenia i podejmowania decyzji u doświadczonych operato rów gazociągów i u ludzi produkujących tradycyjne oprogramowanie inżynierskie (którzy ■ „wbudowali” swoje podejście w programy). Ostatecznie mieliśmy tu do czynienia z gazo wnikami, ludźmi o niewielkim lub żadnym wykształceniu technicznym, którzy pomyślnie - i dość wydajnie - radzili sobie z utrzymywaniem w ruchu systemu, na który składają Moja praca była poświęcona dwóm zagadnieniom dotyczącym gazociągów: op-; tymalizacji czynności regulacyjnych za pomocą algorytmu genetycznego oraz regulacjf adaptacyjnej przy użyciu systemu klasyfikującego. Pierwsza część pracy została krótko omówiona w rozdziale czwartym. W drugiej części zająłem się dwoma następującymi^ problemami: 1) sterowaniem układem inercyjnym; 2) sterowaniem gazociągiem.
P
|j|; Inne wczesne próby z systemami GBMI______________________________________ _ _
305s
I
Ukfad inercyjny, o którym mowa, jest przedstawiony schematycznie na rys. 7.19. Zadanie systemu klasyfikującego polega tu na doprowadzeniuukładu poruszającego się bez tarcia do pozycji środkowej, przez przykładanie siły o ustalonej wielkości z jego cwej i prawej strony. Problem ten zostaf wybrany ze względu na swą prostotę i dlatego, •/c zagadnienie optymalnego w czasie sterowania ukladem inercyjnym bez tarcia ma znane, chociaż niebanalne rozwiązanie. Problem układu inercyjnego okazal się być inte:;', resujqcy sam w sobie, gdyż .stanowił jeden z pierwszych przykładów demonstrujących powstawanie hierarchii domniemań. i W przypadku problemu sterowania gazociągiem, jako dynamiczny model prze pływu gazii zastosowano dyskretny układ pierwszego rzędu z nieliniowymi oporami.
QUAD : o
n 3
2
1
.
t
>
JL M -y....M,., / ■T
H.
.
*-------------
O
t 1—
7— >—
1—
7
*
s
L ------ :------ *
' Rys. 7.19. Pierwsze zadanie dla mojego systemu klasyfikującego (Goldberg, 1983) polegało na "*^ doprowadzeniu ukladu inercyjnego bez tarcia do pozycji środkowej
Rys. 7.20. W zadaniu sterowania pracą gazociągu zapotrzebowanie na gaz zmienia się w czasie zależnie od pory roku i pory dnia (Goldberg, 1983)
Czas (dni) Rys. 7.21. Eksperymenty z reakcjąsystemu klasyfikującego na wycieki w gazociągu. Wykresy tisrorinionych ocen punktowych w zależności od czasu. Przebieg z użyciem algorytmu genety cznego „przewyższa", przebieg bez jego użycia, a oba warianty systemu klasyfikującego sąlepsze od błądzenia przypadkowego (Goldberg, 1983)
Rys. 7.22. Wskaźnik poprawnie sygnalizowanych awarii dla systemu klasyfikującego sterującego pracą gazociągu. Fakt, że wariant bez użycia AG daje lepsze wyniki niż wariant z użyciem AÓ . wydaje się niezgodny z intuicją dopóty, dopóki nie spojrzymy na rys. 7.23 (Goldberg, 1983) j
7.4. Inne wczesne próby z systemami GBML
307
Zapotrzebowanie na gaz zmieniało się zależnie od pory roku i pory dnia (rys. 7.20). Informacja o stanie środowiska była przekazywana systemowi klasyfikującemu za po średnictwem detektorów opisanych w tabI. 7.2. Obejmowała ona ciśnienie i wielkość przepływu u wlotu i wylotu, współczynnik ciśnienia nadmiarowego, porę dnia, porę roku i temperaturę. Ponadto w rurociągu zdarzały się losowe wycieki, podczas których na stępował ubytek (nie dający się bezpośrednio zmierzyć) znacznej części strumienia gazu wpływającego do systemu. Tablica 7.2. Stmktura komunikatu zewnętrznego w zadaniu sterowania pracą gazociągu
1
PI
I
Zmienna PI
QI PO QO DP TOD TY TP
QI
I
PO
I
QO
Opis Ciśnienie wlotowe Przeplyw u wlotu Ciśnienie wylotowe Przeplyw u wylotu W spółczynnik ciśnienia nadmiarowego Pora dnia Pora roku Temperatura
I
DP
I
TOD
I TY I TP I
TAG
I
Min
Max
Liczba pozycji
0 0 0 0
2000 80 2000 80
2 2 2 2
-2 0 0 0 0 0
200 24 I I
2 2 1 I
Źródlo: G oldberg (1983)
W jednej z serii eksperymentów gazociąg doznawał wycieków. System otrzymy wał nagrodę, jeśli nauczył się zarówno sterować pracą rurociągu, jak i poprawnie alar mować o awariach. Na rysunku 7.21 wykreślono uśrednione w czasie oceny punktowe dla przebiegów z użyciem algorytmu genetycznego, bez użycia algorytmu genetycznego oraz z czystym błądzeniem przypadkowym. Dodatkowy miernik skuteczności, wskaźnik procentowy poprawnie sygnalizowanych awarii, został pokazany na rys. 7.22. Te ostatnie wyniki wydają się w pierwszej chwili niezgodne z intuicją, gdyż w przebiegu bez użycia AG system klasyfikujący zapisał na swoje konto większy procent poprawnych sygnaliza cji (w rejestrowanym przedziale czasu), niż w przebiegu z użyciem AG. Tajemnica wyjaśnia się jednak, jeśli spojrzymy na uzupełniający wykres wskaźnika fałszywych alarmów (rys. 7.23). W przebiegu bez AG ceną za wysoki wskaźnik prawidłowych alar mów jest wysoki wskaźnik fałszywych alarmów. Przy zastosowaniu AG system klasyfi kujący unika tego niepożądanego zachowania, ucząc się odpowiedniej „reguły wycieku” (bardzo zbliżonej do tego, co mógłby zaprogramować znawca przedmiotu), wiedząc w konsekwencji, kiedy podnosić alarm, a kiedy zachować spokój.
308
7. Zastosowania genetycznych systemów uczących się
Rys. 7.23. Wskaźnik fałszywych alarmów dla systemu klasyfikującego sterującego pracą gazociągu. Wariant bez AG uzyskuje wysoki wskaźnik poprawnych alarmów kosztem dużej liczby fałszywych alarmów (Goldberg, 1983)
7.5. Przegląd wybranych zastosow ań________________________ ^ Od czasu pojawienia się pierwszych zastosowań genetycznych systemów uczących się przeprowadzono wieie badań natury teoretycznej i obliczeniowej. W tym punkcie doko namy przeglądu kilku takich prac, dzięki którym udalo się znacznie poszerzyć obszar praktycznych zastosowań systemów GBML. 7 .5 .1 .
B 0 0 L E : S y s te m k la s y fik u ją c y u c z y s ię tru d n e j fu n kcji b ó o lo w s k ie j_____________________ j |
Dalsze prace Wilsona w dziedzinie systemów ktasyf^ćujących obejmowały eksperymeii ty z uczeniem się funkcji boolowskich (1986a,b, 1987a). Podejmując problem opisany w pracy (Barto, Anandan i Anderson, 1985) Wilson zaprojektował system BOOLE, którego zadaniem bylo uczenie się emulacji multiplekserów o rosnącej złożoności. W poprzednim rozdziale, omawiając uproszczony system klasyfikujący, rozważaliśmy zadanie dotyczące multipleksera z sześcioma liniami wejściowymi. W bardziej abstrak-' cyjnym sformułowaniu mieliśmy tam do czynienia z funkcją boolowską, którą można przedstawić w postaci normalnej alternatywno-koniunkcyjnej jak następuje: F6 = a,Vb4i + fl()Ui4 + rt0«jrf2 + aua A
i Su7i5. Przegląd wybranych zastosowań
'
309
| jjdzie mnożenie oznacza koniunkcję logiczną, dodawanie —alternatywę logiczną, a prii vhowanie reprezentuje logiczną negację. Zadanieto możnarozszerżyćnaprzypadek wię kszych multiplekserów. Ogólnie, dla k linii adresowych istnieją multipleksery o k + 2k liniach wejściowych. Wilson wykonał doświadczenia z muliplekserami o 6, 11 i 20 ■liniach wejściowych. W systemach ANIMAT i BOOLE zastosowano niemal identyczne systemy kIasyfigkujące. Klasyfikatory w systemie BOOLE składają się z pojedynczych warunków (po |jednej pozycji na linię) i jednobitowych akcji (0 lub 1). Podział wypłat odbywa się tak fjak w systemie ANlMAT; jednak w systemie BOOLE nie ma potrzeby stosowania al: gorytmu przyznawania ocen w żadnej postaci, gdyż każdy klasyfikator otrzymuje na grodę natychmiast po wykonaniu akcji (albo wcale jej nie otrzymuje)..
,,.
Liczba prob (x103)
Rys. 7.24. Wyniki osiągnięte przez system BOOLE dla zadania z multiplekserem (6 linii wejściowych). " Krzywa u góry przedstawia średni wynik (Śred) z 50 prób. Krzywa środkowa reprezentuje stosunek procentowy symboli uniwersalnych # (SymUn). Krzywa u dolu opisuje liczbę poprawnych regut (PReg) (na 400 ogólem) w populacji regul (Wilson, 1987a). Przedruk za zezwoleniem
Wyniki dla sześciu linii zostały przedstawione graficznie na rys. 7.24. Wykres i*g6rny obrazuje średnie ruchome z 50 prób wskaźnika procentowego poprawnych od'(jrowiedzi. Dolny wykres przedstawia liczbę reguł w bieżącej populacji należących do ośmioelementowego zbioru reguł idealnych. W tablicy 7.3 zamieszczono obraz migaw>kowy populacji uporządkowanej według malejącej siły reguł. Zwróćmy uwagę, że osiem . pierwszych reguł to dokładnie te reguły, które są potrzebne do emulacji multipleksera. Warto tu podkreślić skuteczność procesu uczenia się wobec faktu, że w początkowej, I Wygenerowanej losowo populacji 400 reguł nie znalazła się ani jedna z tych ośmiu. I^kuteczność ta wydaje się imponująca w porównaniu do wyników osiągniętych przez j-s^stem uczący się Barto i innych (1985). Aby osiągnąć ten sam poziom sprawności,
310
7. Zastosowania genetycznych systemów uczących się fi
i
|i
system BOOLE potrzebował o rząd wielkości mniej kroków czasowych niż specjalnie zaprojektowana siećjednostek uczących się. 'tjj Tablica 7.3. Obraz migawkowy populacji klasyfikatorów w systemie BOOLE (emulacja multipleksera z 6 liniami wejściowymi) po 15 000 prób Reguta Liczba egzemplarzy
56 52 48 46 45 41 39 35 7
4 3 3 2 2 2 2 2 2
Akcja
Takson
0 1 # 0 ft ft 0 1 # 1 tMt 0 0 0 # # ft 1 0 ff ff 0 ff 0 0 1 ff ff ff 1 1 # ff ft 0 1 1# #i f 1 1 0 ft # 1 ff ft I ff 1 # 1 I 1 ft # ft ft ff 0 if # 1 # 1 1 ft # 0 ft ft 0 1 # # ft 0 1 1 # i.t if 1 0 0 # 0 ft 0 0 # # # ft 1 ff if it t # 1 0 ft 0 ff ff
# 1# 0 # # 1 0 ff # ff fi 1 I fl # # #
1 0 łf # 0 0 0 0 fi # 1 fi 1 fi fi fi fi 0 1 0 ff fł 0 1 0 1 fi ft fi fi
/ I I I
/ I
/ / / , I I I I I I
/ / /
0 1 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0
0 0 0 0 I 0 1 1
Silu catkowita
7655 7541 7056 7095 6665 5964 6323 5145 1044 522 293 210 330 212 150 219 326 238 129 168 97
100 81
212 56 116
Źródlo: W ilson (1987a). Przedruk za zezwoleniem
W eksperymentach z 11 liniami wejściowymi Wilson dolączył mechanizm kontroli krzyżowania oparty na znormalizowanym mierniku ą|tropii populacji Hc:
-L(Si/^)ln(S,./Sr) II, = — !----------------------lnN gdzie S, oznacza sumaryczną silę i-tego podzbioru złożonego z identycznych klasyfikato rów, ST jest sumaryczną siłą wszystkich klasyfikatorów, a N - liczbą klasyfikatoróww populacji. Ten rodzaj sterowania można uważać za regulację progową. Jeśli zmiana entropii systemu osiągnie dostatecznie dużą wartość dodatnią lub ujemną, to prawdopo-
7.r>. Przegląd wybranych zastosowań
311
'dobieństwo krzyżowania zostaje odpowiednio zmniejszone lub zwiększone o ustalony wskaźnik procentowy (10%). W przeciwnym razie prawdopodobieństwo krzyżowania nie zmienia się. Wyniki tych eksperymentów są zilustrowane na rys. 7.25. Porównano tam przebiegi ze stałymi prawdopodobieństwami krzyżowania 0,5 (linia kropkowana) i 0,12 (linia przerywana) w stosunku do przebiegu z regulacją progową (linia ciągła). Wilson był w stanie złapać dwie sroki za ogon za pomocą swego mechanizmu krzyżo wania adaptacyjnego, który łączy szybką eksplorację przy wysokim tempie krzyżowa nia z końcową zbieżnością przy niskim tempie krzyżowania, kiedy populacja zaczyna krzepnąć. Dla potwierdzenia ogólności tej techniki niezbędne są jednak dalsze eks perymenty.'
Rys. 7.25. Wyniki osiągnięte przez system BOOLE z mechanizmem kontro(i krzyżowania dla zadania z multiplekserem (11 linii wejściowych). Linia kropkowana odpowiada prawdopodobieństwu krzyżowania pa= 0,5. Linia przerywana odpowiada p,,=0,12. Linia ciągla odpowiada zmiennemu pe (Wilson, 1987a). Przedruk za zezwoleniem
Przeprowadzono również wstępne doświadczenia z 20 liniami wejściowymi. W eksperymentach tych system BOOLE osiągnął 90-procentową poprawność po 70 000 ! ' prób, a liczba poprawnych reguł wyniosła 1200 na 1600 możliwych po 120000 prób. • Brzmi to zachęcająco, jeśli uświadomimy sobie rozmiar problemu. W przypadku nuilti„ pleksera z 20 liniami wejściowymi istnieje 2la =. 1,05 x 10ń - ponad milion - ciągów wejściowych oraz 2 • 3^0 s 6,97 x 10‘‘ - niespełna 7 miliardów - reguł. Tak więc, po .v 120000 prób system BOOLE miał okazję zetknąć się z mniej niż jedną ósmą wszystkich możliwych ciągów wejściowych, a mimo to program okazał się skuteczny w ponad 90% przypadków i wykazywał ciągłą poprawę. Próby rozwiązania tego samego problemu '*i . przy użyciu kilku popularnych, tradycyjnych technik uczenia się nie przyniosły wyraź^ nego sukcesu (S.W. Wilson, doniesienie prywatne, 1987).
7, Zastosowania genetycznych systemów uczących si§:
312 7 .5 .2 .
R ó w n o le g le s ie c is e m a n ty c z n e n a b a z ie k la s y fik a to ró w : s y s te m
C L -O N E
_______________________________________________________ _
Wyznawcy kierunku symbolicznego w sztucznej inteligencji mieli zwyczaj występować od czasu do czasu z krytyką koncepcji genetycznych systemów uczących się, jako zbyt prymitywnej, aby objaśnić procesy powstawania pojęć wyższego rzędu i posługiwania się nimi. S. Forrest (1982, 1985b,c, 1986) zdemaskowała ten symboliczny Szowinizm w swej rozprawie doktorskiej, prezentując sieć semantyczną wysokiego poziomu zreali zowaną w ramach systemu klasyfikującego. Forrest skupiła się na części wykonawczej systemu klasyfikującego (którą nazwaliśmy układem przetwarzania komunikatów), usiiwając z niej algorytm bucket brigade i algorytm genetyczny. Opracowała też kompilator do tłumaczenia specyfikacji napisanych w języku sieci semantycznych KL-ONE (Brach.man i Schmolze, 1985) na format systemów klasyfikujących. Czytelnik może się w tej chwili zastanawiać, dlaczego poświęcamy tyle uwagi systemowi nie zawierającemu/ układu uczącego się. Otóż Forrest przerzuciła most między systemami klasyfikującymi, a zagadnieniami będącymi od długiego czasu przedmiotem zainteresowania bardziej tra dycyjnie nastawionych badaczy sztucznej inteligencji. Odwzorowując z powodzeniem model symboliczny na system klasyfikujący, Forrest dostarczyła w pewnym sensie doOpis sieci KL-ONE
Rys. 7.26. Struktura systemu CL-ONE (Forrest, 1985c). Przedruk za zezwoleniem
( 7.5. Przegląd wybranych zastosowań
313
wodu, że systemy klasyfikujące mogą emulowuu /lo / >n m d l . i o / '- i / j n i p i / i / vm lbolist6w. W sytuacji, kiedy pierwsze systemy GBMI, skupiały się (i słusżnic) na uc/eniu feię prostych zachowań, wyznawcom kierunku symbolicznego mógło być tiudno doji/eć możliwości osiągnięcia przez nie wymaganego stopnia złożoności n,i drod/c ewolucji. łPraca Forrest wskazała na istnienie takich możliwości. i Aby' zrozumieć działanie systemu (któremu Fom-st n.idala po/mci miano CL-ONE), zapoznajmy się z jego ogólną strukturą, przedstawioną na rys. 7.26. System zawiera cztery główne składowe: 1) ;2) 3) 4)
analizator składniowy (parser) i generator klasyfikatorów; zarządca tablicy symboli; procesor dyrektyw zewnętrznych; system klasyfikujący.
jak pokazano na schemacie, generator klasyfikatorów otrzymuje na wejściu opis sieci KL-ONE i tłumaczy go na zestaw klasyfikatorów. Generuje on przy tym tablicę symboli, która jest potrzebna, aby w przyszłości niożna było rozszerzyć sieć o nowe pojęcia. ;Zapytanie użytkownika zostaje przetłumaczone na komunikat przez procesor dyrektyw zewnętrznych. Z kolei komunikat trafia do systemu klasyfikującego w celu prze.tworzefiia. Aby zrozumieć proces kompilacji, inusimy zapoznać się bliżej z koncepcją sieci semantycznej KL-ONE. Schemat sieci KL-ONEjest uwidoczniony na rys. 7.27. W rzeczywistości opis sieci zostaje wprowadzony do systemu przy użyciu notacji zbliżonej do składni języka LlSP, jak , na wyd. 7.1 (z wyjątkiem węzła Młodzieniec, który traktujemy jako nowe pojęcie, dołączo ne za pośrednictwem procesora dyrektyw). Na diagramach sieci KL-ONE pojęcia są ^jfeprezentowane za pomocą owali, na przykład Rzecz i Mężczyzna; natomiast role - za
(CONCEPTSPEC Person PRIMITIVE (SPECIALIZES Thing) (ROLE Limb (VRCONCEPT Legs)) (ROLE Sex (VRCONCEPT Gender))) (CONCEPTSPEC Legs PRIMITIVE (SPECIALIZES Thing)) (CONCEPTSPEC Gender PRIMITIVE (SPECIALIZES Thing)) (CONCEPTSPEC Male PRIMITIVE (SPECIALIZES Gender)) (CONCEPTSPEC Female PRIMITIVE (SPECIALIZES Gender)) (CONCEPTSPEC Man (SPECIALIZES Person) (ROLE Sex (VRCONCEPT Male))) (CONCEPTSPEC Woman (SPECIALIZES Person) (ROLE Sex (VRCONCEPT Female))) (CONCEPTSPEC Young PRIMITIVE (SPECIALIZES Thing)) (CONCEPTSPEC YoungMan (SPECIALIZES Person) (ROLESex (VRCONCEPTMale)) (ROLE Age (VRCONCEPT Young))) (CONCEPTSPEC HighRiskDriver (SPECIALIZES Person) (ROLE Sex (VRCONCEPT Male)) (ROLEAge (VRCONCEPTYoung))). Wyd. 7.1. Przykfad opisu struktury sieci KL-ONE (Forrest, 1983). Przedruk za zezwoleniem
314
7. Zastosowania genetycznych systemów uczących się
Rys. 7.27. Przykładowy schemat sieci KL-ONE ukazujący powiązania między pojęciami (owale) i rolami (kwadraty w kółkach). Przyktad ten, zaczerpnięty z pracy Forrest, miał ilustrować proces poszukiwania pojęć najbliższych pojęciu Młodzieńca (Forrest, 1985c). Przedruk za zezwoleniem
pomocą kwadratów w kółkach, na przykład Płeć, Kończyna, Wiek. Obiektami podstawo wymi w KL-ONE są pojęcia. Pojęcia mogą być powiązane ze sobą na najrozmaitsze sposoby. Na przykład pojęcie Osoby jest specjalizacją pojęcia Rzeczy, o czym świadczy podwójna strzałka na diagramiesieciowym. W terminologii KL-ONE mówi się, że węzeł Osoba ma dowiązanie typu SUPERC 0 do węzła Rzecz (w literaturze tego typu dowiązania są częściej oznaczane jako IS-A - JEST). Wyrażając to słowami powiedzielibyśmy, że pojęcie Osoby jest specjalizacją pojęcia Rzeczy albo że Osoba jest rodzajem Rzeczy (mówimy także, że pojęcie Rzeczy obejmuje [subsumes] pojęcie Osoby, ale o tym za chwilę). Z diagramu widać też, w jaki sposób pojęcia są powiązane za pomocą ról. (Pleć, Kończyna, Wiek). W języku KL-ONE ról używa się do definiowania dalszych pojęć. Można to zrobić określając relację między dwoma pojęciami, tak jak pokazano na rysunku. Na przykład na schemacie zdefiniowano pojęcie Mężczyzny jako Osoby o Płci Męskiej. W sieci KL-ONE potrzeba do tego celu dwóch osobnych dowiązań. W rozważanym przykładzie dowiązanie typu ROLE łączy pojęcie Mężczyzny z rolą Płeć, a dowiązanie typu VR
11 Od slown superamcept (pojęcie nadrzędne) Q>rzyp. tlum.).
f7i5. Przegląd wybranych zastosowań _________ _____ _____________________________ 315
(value restriction - zakres wartości) łączy rolę Płeć z pojęciem Męski. Przy takim sposo bie użycia role przypominają „sloty” wjęzyku reprezentacji ramowej. Zwróćmy uwagę, że niektóre pojęcia nie dają się zdefiniować za pomocą innych. W języku KL-ONE pojęcia takie nazywają się pierwotnymi (PRIMITIVE), a na diagramie zaznacza się je :gwiazdką. Na przykład pojęcie Osoby jest pierwotne i nie wymaga zdefiniowania. Od notujmy, że' także inne typy dowiązań w KL-ONE zostały zaimplementowane w sysftemie Forrest. Zainteresowany Czytelnik może odwołać się do oryginalnej pracy, aby się ,z nimi zapoznać, dowiedzieć się do czego służą, jak zostały zaimplementowane i dlacze go wybrano ten konkretny podzbiór KL-ONE. Cały ten aparat notacyjny jest interesujący sam w sobie, ale co możemy za jego pomocą osiągnąć? Możemy na przykład zadawać pytania (i otrzymywać na nie odpowie'dzi) w rodzaju: „Czy pojęcie Kobiety obejmuje pojęcie Mężczyzny?” (nie) albo „Czy Jpojęcie Mężczyzny obejmuje pojęcie Młodzieńca?” (tak). Aby odpowiadać na takie pytania, musimy wyjaśnić sobie znaczenie terminu obejmowanie [subsumption]. Mówiąc \v uproszczeniu,jedno pojęcie obejmuje drugie. jeżeli pojęcie obejmowane jest powiąza ne z obejmującym za pomocą ciągu dowiązań typu SUPERC albo jeżeli zachodzą pewne związki między definicjami obu pojęć. BardZiej precyzyjnie, pojęcie A obejmuje pojęcie ii, jeżeli B ma przynajmniej te same cechy pierwotne co A, jeżeli każda rola A jest rolą fi i jeżeli zakresy wartości ról A mieszczą w sobie zakresy wartości odpowiednich ról /1 (w rzeczywistości definicja tego terminujest bardziej skomplikowana, ale dla prostoty będziemy się trzymać skróconej wersji). Z tej definicji wynika jasno, dlaczego pojęcie .Mężczyzny obejmuje pojęcie Młodzieńca. Obydwa są specjalizacją tego samego pojęcia pierwotnego (Osoba*), rola Mężczyzny (Płeć) jest również rolą Młodzieńca, a zakres wartości tej roli u Mężczyzny (Męski) mieści w sobie analogiczny zakres wartości u Młodzieńca (też Męski). Zdolność do stwierdzania stosunku obejmowania i zachowy wania sieci dziedziczenia jest podstawą, na której opierają się liczne symboliczne sys temy wnioskowania. Moglibyśmy też pytać, które pojęcia są najbliższe innemu pojęciu. Taka automatycz>na klasyfikacja pojęć jest szczególnie ważna w dynamicznych bazach wiedzy, w których zachodzi potrzeba nieustannego przyswajania nowych pojęć. Przypuśćmy, że pytamy, które pojęcia w sieci z rys. 7.27 są najbliższe pojęciu Młodzieńca. Mówiąc bardziej formalnie: szukamy zbioru najbardz.iejszczegótowych pojęć obejmujących [most specific subsumers] dane pojęcie (będących jego uogólnieniem). W istocie, przykładowa sieć, którą tu omawiamy, posłużyła w rozprawie Forrest (1985) do ilustracji procesu poszukiwania pojęć najbliższych pojęciu Młodzieńca (są nimi Mężczyzna i NiebezpiecznyKierowca). Tak więc obeszliśmy wszystkie kąty, próbując dowiedzieć się czegoś o systemie KL-ONE, wciążjednak nie wiemy, jakim sposobem Forrest udało się odwzorować opis sieci KL-ONE na system klasyfikujący. Kluczem do tego są dowiązania. Zilustrujemy to na prostym przykładzie z dowiązaniami typu SUPERC (rys. 7.28). Pojęcie Surfing jest tu dowiązane do obejmującego je pojęcia SportyWodne. Dowiązaniu temu odpowiadają fnastępujące dwa klasyfikatory (w zapisie mnemonicznym): N O R M - S p o r ty W o d n e - S U P E R C - D O W N
=> NORM - S u r f
N O R M -S u r fin g -S U P E R C -U P
=> N O R M - S p o r t y W o d n e - S U P E R C - U P
i n rj - S U P ER C - DOWN
316
7. Zastosowania genetycznych systemów ucżących się
Rys. 7.28. Przykładowe dowiązanie typu SUPEi=tC (IS-A) ilustruje odwzorowanie, które Forrest zastosowała w kompilatorze CL-ONE (Forrest, 1985). Adaptacja za zezwoleniem \
W rzeczywistości nazwy mnemoniczne zostałyby tu zastąpione wzorcami z jedy-1 nek, zer i symboli uniwersalnych; warto jednak zwrócić uwagę na użycie dwóch klasyfi katorów, co umożliwia poruszanie się po grafie w obydwu kierunkach. Do reprezentacji innych typów dowiązaii potrzebajednego lub więcej klasyfikatorów. Pewne wskazówki na temat sposobu realizacji dowiązań można znaleźć analizując „paskalopodobny” opis zamieszczony na wyd. 7.2, Bardziej szczegółowy opis znajduje się w oryginalnej pracy, ■ Analizator składniowy i generator klasyfikatorów pospołu konstruują taki opis sicci klasyfikującej i jej realizację. Następnie monitor dyrektyw umieszcza komunikaty naliście komunikatów, aby zapoczątkować proces obejmowania i stawiania pytań na temat najbliższych pojęć. Forrest zaimplementowała też przy użyciu klasyfikatorów wiele przydatnych operacji arytmetycznych (dodawanie, wyznaczanie maksimum i minimum, porównywanie), mnogościowych (iloczyn, suma, dopełnienie i różnica zbiorów), syn chronizacyjnych (służących do koordynowania różnych działań współbieżnych) i pamię ciowych (operacje obsługi stosu push, pop, clear). W sumie, operacje te zapewniają systemowi CL-ONE pokaźną siłę wyrazu, szczególntó; jeśli wziąć pod uwagęjego „pry mitywną” podbudowę. Część omawianego studium była poświęcona oszacowaniu złożoności rozmaitycljj operacji. Forrest nie tylko dowiodła, że sieć semantyczna może zostać zrealizowana w postaci systemu klasyfikującego; pokazała również, że przydzielając każdemu klasyfi katorowi odrębny procesor (przy zapewnieniu odpowiedniej komunikacji między proce sorami), można uzyskać szybkie przetwarzanie zapytań. W pracy rozważa się także problem tzw. dekompilacjr. w jaki sposób wyrazić i przedstawić w zrozumiały dla użyt kownika sposób nowe pojęcia, które wyłaniają się w procesie uczenia się systemu klasy fikującego? Forrest wskazuje trzy możliwe metody podejścia do tego trudnego problemu
p7.5. Przegląd wybranych zastosowań
317
type tag = (NORM,O N ,HOLD,MEM,M U M ,PRE); boolcontrpl = NORM .. MEM; compare = (AFIELD,BFIELD,CFIELD); name = string; message = string; numeric = 0 .. 63; classifier,record = record case tag ; tagfield boolcontrol : /* Structural Variant */ (tagfield name); NUM
: /* Numeric Variant */ (tagfield compare numeric);
PRE
: /* PreDefined Message Variarit (tagfield message);
end; tag: 0 - 2, name; 3 - 31, compare : 21 - 25, numeric : 26 - 31, message : 3 - 31. Wyd. 7.2. Opis struktury danych reprezentującej klasyfikator w systemie CL-ONE wyrażony w skiadni ;,' wzorowanej na języku Pascal (Forrest, 1985c). Przedruk za zezwoleniem
' odwracania: śledzenie w czasie rzeczywistym, statyczną analizę reguł oraz analizę dynapftiiczną zadania. Opracowanie odpowiednich algorytmów nie jest jednak sprawą latwą, / powodu wielkiej dowolności wewnętrznych sposobów reprezentacji pojęć „zewnętrz_nych” . Niemniej jednak Forrest wykazała w swej doniosłej pracy, że takie reprezentacje ,n|ogą istnieć, mogą być efektywnie wyznaczane i, w konsekwencji, mogą powstawać dj‘ogą ewolucyjną w uczących się systemach klasyfikujących.
7.5 .3. .^
se kw e n cyjn ych : J B i TB
dzytelnik mógł odnieść wrażenie, że algorytmy genetyczne znajdują zastosowanie ■ofiprogramach uczących się wyłącznie wtedy, gdy te ostatnie przybierają postać reguł produkcji. Tak nie jest. Przykład adaptacji programu sekwencyjnego można znaleźć w pracy Cramera ( 1985). Cramer wyszedł od uniwersalnego języka PL (Brainerd i Landweber, 1.974), usunął instrukcje skoku i doszedł do prostego języka (PL-) służącego do obliczania funkcji pierwotnie rekurencyjnych. Wymyślił on dwie metody kodowania programów napisanych wjęzyku PL---- JB i TB - oraz użył zmodyfikowanych operacji ■genetycznych w procesie automatycznego generowania elementarnego algorytmu mno żenia. Omówimy teraz sam język, oba warianty kodowania, operacje genetyczne oraz ■\jytuki eksperymentów.
7. Zastosowania genetycznych systemów uczących się
318
Język PL— zawiera trzy instrukcje pierwotne i dwie pochodne, zapisane poniżej w skladni naśladującej język LISP: 1. 2. 3. 4. 5.
(:INC VAR) ; Zwiększ wartość zmiennej VAR o 1 (pierwotna) (: ZERO VAR) ; Wyzeruj zmienną VAR (pierwotna) (:LOOP VAR STAT) ; Powtórz instrukcję STAT VAR razy (pierwotna) (:SET VAR1 VAR2) ; Nadaj zmiennej VAR1 wartość VAR2 (pochodna) (:BLOCK STAT1 STAT2) ; Wykonaj sekwencyjnie instrukcje STAT1 i STAT2 (po chodna )
Paskalową operację mnożenia V5: = V4 * V3 można by w języku PL- zaimplementować następująco: (:ZERO V 5 ) (:LOOP V3 (:LOOP V4 (:INC V 5 ) ) )
Program ten dziata poprawnie, gdyż zmienna V5 zostaje zwiększona o 1 V4 razy, wszyst- * kiego V3 razy - co daje iloczyn V3 i V4. Chociaż język P L - jest wystarczająco mocny, w zaprezentowanej postaci nie nadaje się szczególnie dobrze do manipulacjj genetycznych. Starając się znaleźć format bardziej odpowiedni dla algorytmu genetycznego, Cramer opracował sposób kodowania instrukcji języka P L - za pomocą uporządkowanych trójek liczb całkowitych, który nazwał JB: (xyz) gdzie x jest kodem operacji, y - pierwszym argumentem, a z - drugim argumentem. Kody pięciu powyższych operacji są następujace:
0 1
: BLOCK
=
: LO OP
=
:SET :ZERO :INC
=2 =3 =4
W kodzie JB zmienne są reprezentowane przez swoje indeksy, a etykiety instrukoj| - przez numery odpowiednich trójek. Ponadto zbędne argumenty i niekompletne trójki liczb są ignorowane. * Na przykład ciąg (0 0 1 3 5 8 1 3 2 1 4 3 4 5 9 9 2)
zostanie zinterpretowany następująco: (0 0 1) ; instrukcja (3 5 8) ; instrukcja (1 3 2) ; instrukcja (1 4 3) ; instrukcja (4 5 9) ; instrukcja nadmiarowe liczby 9 i 2
główna ~^> (:BLOCK STAT1 STAT2) 0 —> (:ZERO V5) ; argument 8 ignorowany 1 ^ (:LOOP V3 STAT2) 2 ~ > (:LOOP V4 STAT3) 3 —> (IŃC V5) ; argument 9 ignorowany ignorowane
7.5. Przegląd wybranych zastosowań
319
Po uważnym przestudiowaniu powyższego kodu widać, że stanowi on implementację algorytmu mnożenia zapisanego przedtem w notacji PL-. Cramer nie podaje żadnych wyników związanych z zastosowaniem lcodu JB w eksperymentach genetycznych; zrezy gnował on z dalszych prób po przeprowadzeniu wstępnych eksperymentów (N.L. Cra mer, doniesienie prywatne, 1987). Cramer sądził, że operacje zmodyfikowanego krzyżo wania Smitha^ (Smith, 1980, 1983) nie byly wystarczające do zapewnienia skutecznego poszukiwania genetycznego z powodu wysokiej epistazy kodu; wniosek taki nie wydaje się jednak usprawiedliwiony bez przeprowadzenia dokładniejszych badań. Cramer kło potał się także potencjalną możliwością wygenerowania JB-programów, które się nie zatrzymują. Posługiwanie się etykietami instrukcji (zamiast samymi instrukcjami) jest iiównoważne wprowadzeniu bezwarunkowej instrukcji skoku. Upraszczając PL Cramer 1 miał nadzieję stworzyć język z gwarantowaną własnością zatrzymania. Programy w JB tńogły wpadać i wpadały (chociaż rzadko) w nieskończoną pętlę. Przemyślenia Cramera na temat .TB doprowadziły jednak w lcońcu do implemenP L - w postaci kodu drzewiastego, który zapewniał żądaną własność zatrzymania, metodzie tej, nazwanej kodem TB, stosuje się nawiasy w celu zagnieżdżania instrukęji do dowolnej skończonej głębokości. Używa się przy tym tych samych kodów operaćji, co w JB, natomiast liczba argumentów musi odpowiadać rodzajowi operacji. Przy kładowy algorytm mnożenia można zapisać w TB następująco: (0(35)(13)(14(45))>)
j;V> Cramer przeprowadził eksperymenty genetyczne z kodem TB, używając zmodyfikowa nych operacji genetycznych. Krzyżowanie partnerów polegało na wymianie dwóch loso wo wybranych poddrzew. Mutacja sprowadzała się do losowej zmiany liczby całkowitej; trzeba bylo przy tym zadbać, aby została zachowana zgodność między operacją a liczbą jej argumentów. Wspomniano też o inwersji, ale nie próbowano jej zastosować. iy- Próbując wygenerować poprawny algorytm mnożenia, Cramer obmyślił mecha nizm częściowego nagradzania mający faworyzować „zachowania quasi-multyplikatywrie” . W tym celu nagradzał on trzy rodzaje programów: 1) programy zmieniające wartości zmiennych wyjściowych; !) programy korzystające ze zmiennych wejściowych; programy, które nadawały zmiennej wyjściowej wartość równą wielokrotności zmien nej wejściowej. Ponadto nakładano kary na programy o zbyt długim kodzie, a każdy program, który przekroczył określony limit czasu wykonania, był przerywany i poddawany ocenie. W eksperymentach z TB obejmujących populacje 50-elementowe i 30 pokoleń znalezio no wielc programów wykonujących mnożenie. Cramer wykonał również symulację kontw której nie przyznawano żadnych nagród za częściowe rozwiązanie problemu. Eksperyment z częściowym nagradzaniem przyniósł o 72% więcej poprawnych progratnów mnożących niż eksperyment kontrolny. Mimo że taki „dowód co do zasady” wzbu dza mieszane emocje, potrzeba dalszych badań, aby wyciągnąć ostateczne wnioski co do tęgo typu genetycznych systemów uczących się. ■
320 __________________
7. Zastosowania genetycznych systemów uczących ,si$
7.6. Podsumowanie W rozdziale tym omówiliśmy kilka przykładów genetycznych systemów uczących się i (GBML). Celem systemów GBML jest udoskonalanie programów komputerowych na drodze selekcji, rekombinacji i innych manipulacji genetycznych wykonywanych na populacjach programów lub procedur zakodowanych w postaci ciągów symboli. Od kryliśmy korzenie systemów GBML datujące się z wczesnych lat sześćdziesiątych ,l i prześledziliśmy ich rozwój aż do czasów obecnych, prezentując najbardziej znamienne, przyklady. Poświęciliśmy sporo uwagi procesowi formalnego kształtowania się tego kierunku zainteresowań, począwszy od pierwszych ściśle zakreślonych ram (Holland, 1962c) a/, do późniejszych projektów procesorów schematów (Holland, 1971). Widzieliśmy, jak: doprowadził on w konsekwencji do sformułowania propozycji ogólnego języka sym bolicznego nadającego się do manipulacji genetycznych - języka przekazu (Holland, 1975) oraz do implementacji pierwszego systemu klasyfikującego (Holland i Reitman, 1978) - Systemu Kognitywnego 1 (CS-1). Te pierwsze próby utorowały drogę rosnącej ■ liczbie prac badawczych, które podzieliły się na kilka nurtów. Jednym z pytań, które stanęły przed badaczami była kwestia, czy jawne przyzna wanie ocen jest potrzebne albo choćby użyteczne. Holland wraz z innymi specjalistami od systemów klasyfikujących dali odpowiedź twierdzącą. Dystrybucja wyplat za pomocą algorytmu bucket brigade (czy to w stosunku do pojedynczych reguł, czy to całychj łańcuchów) stanowi integralną część tych systemów, umożliwiając im szybkie dostoso wanie się do trudnych środowisk. Przeciwną opinię głosił Smith (1980) i inni badacze, którzy wybrali metodę oceny użyteczności całego programu na podstawie długiej serii prób. Te systemy również okazały się zdolne do szybkiego uczenia się w trudnych środowiskach. Oba typy systemów nigdy jednak nie zostały poddane bezpośredniej kon-, frontacji w tych samych środowiskach i przy zastosowaniu jednakowych mierników ocen. Być może pewnego dnia to nastąpi, powinniśmy jednak uświadomić sobie wcześ niej, że ocena wyników takich eksperymentów będzie tendencyjna wskutek przyjęcia takiego lub innego kryterium(czy kryteriów) skuteczności. Zamiast podejmować próby; rozstrzygnięcia tego sporu, powinniśmy raczej zachęcać do równoległych eksperymen tów z obydwoma typami systemów, ponieważ każdy z nich ma coś do wniesienia w ^pi,. wę naszego rozumienia procesów genetycznego uczenia się. Niezależnie od indywidualnych stanowisk w kwestii przyznawania ocen, proslota syntaktyczna większości systemów GBML oparfych(na regułach wywołała wątpliwości,! czy tego typu systemy będą w stanie radzić sobie z „pojęciami” w rożumieniu tradycyjf nego nurtu sztucznej inteligencji. Wyjaśniliśmy ten problem na korzyść systemów GBML, opierając się na pracy Forrest, która zaprojektowała kompilator języka sieci KL-ONB na klasyfikatory (system CL-ONE). System ten otrzymuje na wejściu opis sieci ' semantycznej wysokiego poziomu i przekształca go na reprezentację w postaci systemu klasyfikującego. W systemie CL-ONE zaimplementowano, na poziomie klasyfikatorówt podstawowe operacje arytmetyczne, mnogościowe i synchronizacyjne. Odnotowaliśmy też, że w CL-ON15 nie występuje układ uczący się. Nie rozstrzygnięte pozostaje więc
7.6. Podsumowanie
................................................ .............................
.............................. 3 2 1
pytanie, czy sieci tego typu są zdolne do uczenia się. Niemniej jednak praca ta dowod/i, le pojęcia, którymi zajmuje się symboliczna gałąź sztucznej inteligi-niji, dają Mę w> razić j przetwarzać w ramach systemu klasyfikującego. j Kolejna nie rozstrzygnięta kwestia dotyczy formy reprezentacji programów. W li cznych systemach preferowano proste reguły ciągowe. W szczególności w. systemach ■równoległym odpalaniem proste, niezależne reguły to jakby drobne, dające się konroIować składniki programu, ponieważ reguły można łączyć i uzgadniać drogą prostej ękombinacji w celu znalezienia nowych reguł (lub zestawów reguł). Mimo całcj do godności tego podejścia nie można twierdzić, że jest ono jedynym możliwym. chociąż jstnieje niewiele prac na temat -systemów GBML działających na innych zasadach, Omówiona w tym rozdziale praca Cramera na temat języka sekwencyjnego P L - jest Jprzykładem podejścia, które odniosło pewien sukces. Sekwencyjne uporządkowanie instrukcji ma wiele wspólnego z operacjami rekonfiguracji, o których mówiliśmy w roz dziale piątym i być może dalsze przemyślenia idące w tym kierunku mogłyby okazać się owocne. Te i inne pytania będą nadal zadawane i nadal będą padać na nie odpowiedzi W miarę, jak będziemy się posuwać w kierunku szerszego zastosowania algorytmów genetycznych w problematyce uczących się maszyn. Możemy jednak pocieszyć się świa domością, że nie jesteśmy osamotnieni w naszej wędrówce; wiele dyscyplin dostarczy nam użytecznych wskazówek, analogii, a nawet narzędzi matematycznych (Holland, l,986b, str. 316-317);
{
Zaproponowane tu ramy matematyczne mają wiele wspólnego z modelami matematycznymi używanymi do badania innych systemów adaptujących się, takichjak systemy ekonomiczne, ekologiczne, układy fizyczne w stanach dalekich od równowagi, uklady odpornościowe itd. [>..] W każdej z tych dziedzin pojawiają się znajome tematy, opracowane matematy cznie, mające swój odpowiednik w pozostałych dziedzinach. Nawet skrócona lista takich tematów [...] jest imponująca: 1) zajmowanie nisz, ewolucja konwergentna i wymuszona różnorodność [ekoIogia]; 2) zasada konkurencyjnego wykluczania się [ekologia]; 3) sym bioza, pasożytnictwo, miniikra [ekologiaj; 4) epistaza, zmiany grup sprzężeniowych i re definicje „ccgielek” [genetyka]; 5) sprzężenia i „genetyczni autostopowicze” [genetyka]; 6) wielofunkcyjność „cegielek” [genetyka i biologia porównawcza]; 7) polimorfizm [ge netyka]; 8) rekombinacja selektywna [genetyka i immunologia]; 9) organizacja hierarchi czna [filogenetyka, biologia rozwoju, ekonomia i sztuczna inteligencja]; 10) ,,zespoly zna kowane” [genetyka molekularna, immunogcneza i teoria systemów adaptacyjnych]; I I ) radiacja adaptacyjna i zasada założyciela [ekologia i filogenetyka]; 12) kataliza krzyżowa [biochemia i genetyka molekularna]; 13) „opóźniony dochód” jako funkcja przeszłych su kcesów i bieżących zakupów [ekonomia]; 14) „opodatkowanie” jako narzędzie kontroli wydajności [ekonomia]; 15) „ekpIoatacja” (produkcja) a „eksploracja” (badania naukowe) [ekonomia i teoria systemów adaptacyjnych]; 16) „śledzenie” a „uśrednianie" [ekonomia i teoria systemów adaptacyjnych]; 17) niejawna ocena „cegielek” [teoria systemów adaptacyjnychJ; 18) obszary przyciągania atraktorów i stany dalekie od równowagi [fizyka]; 19) wzmacnianie malych zaburzeń losowych przy „powolnych” przejściach przez punkty krytyczne [fizyka]. Każdy system zlożony, zbudowany z elementów współdziałających ze
322 ________________________________7. Zastosowania genetycznych systemów uczących się
sobą w sposób nieliniowy będzie, w tym lub innym reżymie, wykazywał wszystkie wymie- ,! , nione własności. Ogólna teoria matematyczna takich systemów pozwoli wyjaśnić zarówno wszechobecność tych zjawisk, jak i związki między nimi. Całe szczęście, że lista była skrócona. Nie brak ani użytecznych analogii, ani modeli teoretycznych, które moglibyśmyzapożyczyć w poszukiwaniu lepszych metod GBMI , Mamy jeszcze tę przewagę nad naszymi kolegami i koleżankami, którzy mo/nlą się uprawiając dyscypliny „rzeczywiste” (w przeciwieństwie do „sztucznych” ), że możemy dokonywać starannie zaplanowanych symulacji o kontrolowanym rozmiarze i zakresie, nie troszcząc się szczególnie o zgodność między modelem a rzeczywistością. Mozen,> więc obserwować te nieliniowe zjawiska in silico z pewnym dystansem, mogąc swo-' bodnie wybierać to, co okaże się przydatne do stworzenia sprawniejszych systemów uczących się. Wobec takiej obfitości rozpościerających się przed nami rzeczywistych i sztucznych światów, żyjemy w ekscytującej epoce pod względem rozwoju tej dziedziny badań.
7.7. Zadania 7.1.
____________________________________________ s
Skonstruuj skuteczny zestaw regul dla zadania pokonywania labiryntu z siedmio ma węzłami w systemie CS-l z zastosowaniem i bez zastosowania koncepcji hierarchii domniemań. Porównaj liczbę reguł w każdym zestawie. Czy mamy tu do czynienia z ogólną prawidłowością? Uzasadnij swoją odpowiedź. 't^ 7.2. Rozwiąż poprzednie zadanie dla labiryntu z trzynastoma węzłami i porównaj wy-^ niki otrzymane w obydwu przypadkach. Objaśnij wyniki dotyczące przenoszenia wiedzy (rys. 7.5) w kontekście swojej odpowiedzi. ,<^. 7.3. Porównaj algorytm interwałowy zastosowany w systemie CS-l z algorytmem Zwc-; ket brigade z późniejszych systemów klasyfikujących. Zwróć uwagę na zalety i wady obu procedur pod względem efektywności obliczeniowej. 7.4. Porównaj podejścia Hollanda (CS-l) i Smitha (LS-1) do architektury systemu klasyfikującego. Przedyskutuj zalety i wady obu metod. 7.5. Porównaj na podstawie literatury mechanizmy uczenia się stosowane w sieciach neuronowych lub systemach konekcyjnych z analogicznymi mechanizmami w systemach klasyfikujących. Przedyskutuj npdobieństwa i różnice. Czego konekcjoniści mogą nauczyć się od adeptów (algorytmów genetycznych i na odwrót? 7.6. W systemie Wilsona EYE-EYE reguła ma postać macierzy 4 x 4 złożonej z sym boli alfabetu trójelementowego. Opracuj trzy różne operacje krzyżowania dla ta kiej reprezentacji i podaj dolne ograniczenie prawdopodobieństwa przeżycia sche matu przy każdej z tych operacji. 7.7. W systemie ANIMAT zastosowano operację częściowego przecięcia. Jaki ciąg otrzymamy w wyniku częściowego przecięcia następujących ciągów rodziciels kich (strefa przecięcia zostala zaznaczona za pomocą znaków A)?
7.8. ćwiczenia
komputerowe _____________________________________________________ 323
1 1 0 # X 0 # 1 0 1 1 :4 0 0 1 1 1 0 0 1 0 # 1 :4 A
A
Podaj dolne ograniczenie prawdopodobieństwa przeżycia schematu przy operacji częściowego przecięcia. 7 .8 . Oblicz prawdopodobieństwo otrzymania metodą losową „poprawnego” zestawu reguł w systemie BOOLli dla zadania emulacji multipleksera z 6 liniami, przy ośmioelementowej populacji, jeżeli wszystkie trzy alleIe są jednakowo praw dopodobne. Wykonaj analogiczne obliczenia przy zalożeniu, że symbol # jest wybierany z prawdopodobieństwem 0,8, a pozostałe dwa z jednakowym pra wdopodobieństwem. 7 .9 . Ile jest różnych JB-programów z 10 zmiennymi i zlożonych z co najwyżej 10 instrukcji? 7 .1 0 . Zaprojektuj język typu JB o mniejszej epistazie niż oryginalny kod Cramera. 7 .1 1 . Skonstruuj jednostki przekazu w języku przekazu Hollanda, które realizują re produkcję i krzyżowanie.
7.8. Ćwiczenia komputerowe A. Dostosuj program SCS do zadania poszukiwania żywności w lasach Wilsona. B. Napisz program uczący się mnożenia, posługując się metodą kodowania JB Cramera. Wykonaj taki sam eksperyment, używając dwójkowego odpowiednika kodu JB (zastosuj dwójkowy zapis liczb całkowitych). Porównaj i omów wyniki obu eks perymentów. C. Dostosuj program SCS do zadania pokonywania labiryntu z siedmioma węzłami (Rys. 7.4a). Wykonaj eksperymenty symulacyjne i porównaj swoje wyniki z wynika mi Hollanda i Reitmana (1978). D. Zaimplementuj jakąś wersję języka przekazu w wybranym przez siebie języku pro gramowania. E. Zastosuj program SCS do emulacji multipleksera z 6 liniami, zmieniając wartość parametru gapeńod (czas między kolejnymi wywołaniami AG). Użyj wartości mniej szej, równej i większej od pewnej nominalnej długości cyklu nagradzania. Porównaj efektywność on-line dla wszystkich trzech eksperymentów. Porównaj swoje wyniki z wynikami eksperymentów Bookera z parametrem LEARNRATE.
Rozdział
8
Rzut oka wstecz i przed siebie
Po lekturze siedmiu rozdziałów tej książki nasza podróż w krainę idei i osiągnięć sple cionych wspólnym hasłem wywoławczym - algorytmy genetyczne - zaledwie się rozpo częła. W retrospektywie wypada bcz żenady przyznać, że był to kierunek bottom up. Wychodząc od konkretów i dorzucając trochę uogólnień, mieliśmy zawsze na uwadze tylko rzeczy praktyczne. Nie przykładaliśmy natomiast większej wagi do zawiłości epistemologicznych, tak często spotykanych w literaturze z zakresu sztucznej inteligencji. Ale nawet ten „niedostatek” konstrukcyjny książki - jak większość omawianych tu spraw - zostal zainspirowany przykładem samej przyrody. Przyrodę obchodzi to, co skuteczne. Przyroda mnoży to, co zdoła przetrwać. Nie ma ona czasu na uczone kontenv placje, a my przyłączamy się do niej w tym oportunistycznym dążeniu do ulepszania, -r Nie oznacza to, że droga, którą przebyliśmy, nie miała podbudowy filozoficznej. Jeśli nie w słowach, to w czynach byIiSmy wierni trzem zasadom: abstrahowaniu opera-, cji i struktur z przykładów dostarczanych przez przyrodę, analizowaniu tych struktur i mechanizmów za pomocą aparatu matematycznego oraz zastosowaniu abstrakcyjnych modeli do celów praktycznych. Wprawdzie przedstawiono bardziej elegancką argumen tację (patrz Holland, Holyoak, Nisbett i Thagard, 1986), ale nawet bez wdawania sięj w subtelności, przy całej prostocie tego podejścia, udało się nam dojść do pewnycli koncepcji, które noszą znamiona prawdziwości. Rozpoczynając dociekania dotyczące procesów poszukiwania genetycznego, po stawiliśmy zasadnicze pytanie: jeśli znamy populację złożoną z ciągów kodowych oraz ich wskaźniki przystosowania, to jakie jej cechy możemy wykorzystać w celu ukierun kowania poszukiwań ku lepszym rozwiązaniom? Przez siedem długich rozdziałów pada ła wciąż ta sama odpowiedź: wzorce strukturalne o dużej wartości przystosowawczej. Nie dysponując wiedzą specyficzną dla zadania, możemy z pewną dozą zaufania korzys tać tylko z informacji zawartej we wzorcach strukturalnych o dużej wartości przystoso-i wawczej, występujących w ciągach należących do populacji. Jeśli nie dopuścimy dó
i8. Rzut oka wsteoz i przed siebie_______________ ______ _______________________________ 325
eksperymentowania z, kombinacjami tychże wzorców, to utkniemy przy najlepszym.,wyuiku.któryjużznam y. .:'',Vi,'i! Ta prosta konkluzja, która stała się naszym punktem wyjścia, jest niemożliwa do obalenia z zasadniczych względów. Można kwestionować naszą niechęć do korzystania I z wiedzy specyficznej dla zadania, ale gdybyśmy musieli na niej polegać, znaleźlibyśmy się szybko w logicznej pułapce: jak mianowicie taka wiedza trafia na początku do sys temu? Nie znaczy to, że powinniśmy odrzucać możliwość korzystania z wiedzy specyfi cznej dla zadania wtedy, kiedyjest ona dostępna; powinniśmy natomiast zachować ostro żność, aby nie ograniczyć w ten sposób zakresu stosowalności danej techniki czy sys temu. Na przykład można użyć wiedzy szczegółowej w celu wygenerowania korzystnej populacji początkowej dla algorytmu genetycznego lub systemu GBML, przyspieszając w ten sposób proces poszukiwania lub uczenia się. Taki sposób użycia informacji specy ficznej nie ogranicza możliwości późniejszego zastosowania samego algorytmu uczenia się lub poszukiwania do innych zadań. W przeciwieństwie do tego, wykorzystanie wie dzy szczegółowej w celu przykrojenia mechanizmu decyzyjnego lub operacji do konkret nego zadania rodzi ryzyko utraty ogólności, co może przekreślić możliwość zastosowa nia systemu poza pierwotnym obszarem. Jeśli więc myślimy serio o stworzeniu kanonięznych procedur poszukiwania i uczenia się, to musimy jako minimalny wymóg przyjąć postawę większej rezerwy wobec wiedzy szczegółowej. ’ Jeśli chodzi o poszukiwanie, to akceptując powyższejako wlaś.ciwy punkt wyjścia, musimy następnie szybko rozejrzeć się za metodami, które przetwarzają w sposób efek tywny dobrze przystosowane wzorce strukturalne przy minimum strat. Ten sposób myś lenia doprowadził nas do algorytmów genetycznych, do podstawowego twierdzenia i do przetwarzania schematów. Uważny Czytelnik mógłby znów postawić pytanie, czy zrobi liśmy to w sposób właściwy, i rzeczywiście, spora część historii implementacji algoryt mów genetycznych kręci się wokól problemu, jak robić to lepiej. Z pewnością mnóstwo decyzji implementacyjnych, które trzeba było podjąć przy najprostszej wersji algorytmu genetycznego, stwarza dogodne pole do ataków. Mniej podatna na krytykę jest spraw ność przetwarzania, którą odkryliśmy w algorytmach genetycznych, zwana ukrytą rów noległością, polegająca na tym, że w jednym pokoleniu złożonym z n ciągów kodowych jfcktywny udział w przetwarzaniu bierze jakieś n3 wzorców strukturalnych. Efekt potę gujący związany z ukrytą równoległością ma tak zasadnicze znaczenie, że jej obecność lub brak stały się dla nas kamieniem probierczym odróżniającym co jest, a co nie jest algorytmem genetycznym. W przypadku systemów uczących się stąpamy po jeszcze mniej pewnym gruncie. Dają one, oczywiście, niezliczone okazje do popełniania błędów i nie ma w istocie ■duwodii na to, że jakikolwiek sztuczny system uczący się jest choćby w przybliżeniu poprawny pod względem biologicznym. Ale znowu chwila namysłu pozwala nam żywić nadzieję, jeśli nie całkowitą pewność co do obranej drogi. Wyobraźmy sobie, że proces poszukiwania sztucznej inteligencji rozgrywa się w dwuwymiarowym układzie wspólfzędnych „zdolność uczenia się” - „stopień trudności” , jak pokazano na rys. 8.1. Przy < tradycyjnym podejściu wymaga się stworzenia złożonego systemu bez zdolności adap1 tścyjnych, o sprawności porównywalnej z umysłem ludzkim (punkt. A). Zdolność ucze| nia się jest traktowana jako dodatkowe wyposażenie - coś w rodzaju chromowanego
326
8. Rzut oka wstecz i przed siebiei
clekielka poznawczego - które można łatwo dołączyć, gdy tylko komuś uda się otworzyć magiczną furtkę, broniącą dostępu do tej umiejętności. Chociaż to podejście zaowocowa ło imponującymi przedsięwzięciami programistycznymi, to nie można tego samego po wiedzieć o sukcesach w zakresie opanowania zdolności uczenia się i jest mało praw-f dopodobne, aby coś miało się tu zmienić. Sama złożoność takich systemów, z ich labi ryntową strukturą wewnętrzną i podobnymi algorytmami, stanowi skuteczną przeszkodę dla możliwości uczenia się. W przeciwieństwie do tego, przy podejściu genetycznym wystarcza łatwiejszy punkt wyjścia (punkt B) oraz ewolucyjny (miejmy nadzieję, żc wczasie historycznym, nie biologicznym) rozwój.złożoności zdolnej do adaptacji. Klu czem do harmonijnego rozwoju coraz bardziej złożonych systemów uczących się jcsl wprowadzona przez Hollanda koncepcja hierarchii domniemań. Podejście to umożliwia narastanie nakładających się struktur zdolnych do konkurencji i kooperacji oraz repre zentujących różne poziomy szczegółowości, które to siły prowadzą do wyklarowania „poglądów większości” wśród sprzecznych opinii. Stoi ono w jaskrawej sprzeczności z tradycyjnymi metodami, które wymagają nienaturalnej zgodności struktur wiedzy za wartych w pewnej bazie wiedzy.
Stopiaii trudności 'if$iP
Rys. 8.1. Konstruując ztożone systemy bez zdolności adaptacyjnych utrudniamy możliwość uczenląfl się. Przy podejściu ewolucyjnym, stosowanym w systemach GBML, otrzymujemy systemy?” rozszerzalne, o rosnącej zdolności do uczenia się i powiększania złożoności
Niestety, podejście ewolucyjne reprezentowane przez zwolenników algorytmów: genetycznych nie zadowala tych, którzy oczekują błyskotliwych dowodów jako rękojmi, wartości intelektualnej; być może jest to wyjaśnienie, dlaczego przez ostatnie 25 lat rozwój algorytmówgenetycznych przebiegał bez większego rozgłosu. Jednak ostatnie prace z zakresu poszukiwania (Davis i Coombs, l987; Grefenstette i Fitzpatrick, l985) oraz systemów uczących się (Wilson, l987a) wyprowadzają nas po raz pierwszy na nieznane i porywające wody. Co więcej, mocna i otwarta podbudowa tych prac dajc nadzieje na późniejsze ulepszenia i rozszerzenia techniczne.
JkrRzut oka wstecz i przed siebie _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ _ _ _ ________________ 327
W zakresie poszukiwania najbliższa przyszłość niesie znaczne postępy. Umacniająię.fundamentów poszukiwania genetycznego wciąż trwa i jest nadal możliwe. Odnosi się to m.in. do osiągnięć napolu analizy statycznej i dynamicznej zadań przy użyciu ' funkcji WaIsha, jak również analizy dynamicznej za pomocą łańcuchów Markowa oraz jWeliniowych układów równań różnicowych i różniczkowych. Zastosowania mikroopera!cji i mechanizmów niskopoziomowych, takich jak dominowanie, inwersja, duplikacja ja zróżnicowanie płciowe, staną się powszechniejsze, podobnie jak i zrozumienie ich działania. To samo dotyczy mechanizmów wysokiego poziomu, jak nisze, bariery re.produkcyjne i migracja. Wszystko tojest nietrudne do przewidzenia, gdyż początki sąjuż ]widoczne. Nieco trudniej przepowiedzieć osiągnięcia, które mogą być wynikiem jeszcze |nie rozpoczętych badań. .Iednym z obszarów, w których możemy spodziewać się pojstępu.jest problem zdefinowania molekularnych operacji genetycznych. Być może pew nego dnia będziemy dysponowali sztucznymi odpowiednikami DNA, RNA, „skacząJcych” genów, odwróconych odcinków i armią innych genetycznych narzędzi. Metody te •*mogą dopomóc nam w przezwyciężeniu ograniczeń wynikających ze stosowani;i kodów $o stałej długości. Postęp w matematyce nieliniowej może również przyczynić się do przesunięcia obecnych granic analizy technik genetycznych. Wiele wyników osiągnię tych w teorii chaosu i fraktali ma bezpośrednie zastosowanie w analizie procesów po szukiwania genetycznego, a prace z zakresu systemów i miar rozmytych mogą dostar czyć dogodnej perspektywy, aby ujrzeć dzialanie algorytmów genetycznych w nieco ’iąnym świetle. W przypadku systemów uczących się nasza kryształowa kulajest nieco zamglona; śmożna jednak dokonać pewnych ekstrapolacji. Problemy klasyfikacyjne będą coraz częścipj rozwiązywane przy użyciu systemów klasyfikujących typu bodziec-reakcja. Techpiki te dojrzały do praktycznych zastosowań i w zadaniach od umiarkowanego do dużego fstOpnia trudności wydają się być co najmniej konkurencyjne w stosunku do istniejących |mętod maszynowego uczenia się i technik konekcyjnych. Można oczekiwać dalszego ‘postępu, gdy idzie o tworzenie na drodze ewolucji dłuższych łańcuchów i sieci klasyfika torów w systemach klasyfikujących oraz przejęcia pewnych narzędzi matematycznych stosowanych obecnie w analizie nieliniowych sieci neuronowych. Oczywiście cały po stęp nie może ograniczyć się do kwestii przyznawania ocen; należy kontynuować studia mające na celu rozszerzenie i analizę koncepcji operacji „wyzwalanych” [triggered operators], odgrywających istotną rolę w tworzeniu się sieci. Na dłuższą metę nastąpi prawdopodobnie ujednolicenie architektury systemów GBML w kierunku pierwotnego projektu języka przekazu. Unifikacja danych i operacji (która była wielkim osiągnięciem |w historii maszyn liczących) została slusznie opóźniona do chwili, w której zaczniemy llępiej rozumieć niektóre złożone współzależności w naszych systemach; taka unifikacja okaże się jednak logicznie nieunikniona, jeżeli systemy te mają kiedykolwiek osiągnąć zdolność do ulepszania swych własnych mechanizmów na drodze ewolucji w odpowie dzi na stawiane przed nimi nowe metazadania. Chociaż wszystkie te drażliwe pytania zwalniają tempo marszu, a zawikłane problefmy zmuszają nas do postojów, nasza wyprawa wcale nie znalazła się w impasie. Mając Łstałe bazy sprawdzonych idei, do których możemy się cofnąć .i wysunięte przyczółki jkpncepcji przyrodniczych, z których możemy dokonywać wypadów, śmialo zapuszczamy
328 ___________________________________________________ 8. Rzut oka wstecz i przed.sicbie
U się przed siebie, oczyszczając drogę toporem mateinatyki i kosą symulacji komp'.:iemvvych. Stojąc talc na rubieży algorytmów genetycznych i spoglądając w bezmiar rysująijyć^ się przed nami możliwości i zadań, możemy czuć się pewnie, wiedząc, co sIwor/.yła ewolucja, z zaufaniem do tego, co ju ż odkryliśmy i pełni oczekiwania wobec (cgo,)CO'l jeszcze mamy przed sobą.
Dodatek
A
Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństwa
Zrozumienie podstaw matematycznych algorytmów genetycznych nie przedstawia trud ności, ale wymaga gruntownej znajomości operacji na zbiorach skoijczonych, kombinatQfyki i elementarnego rachunku prawdopodobieństwa. Dodatek ten ma służyć z jednej strony jako krótkie wprowadzenie dla nowicjuszy, a z drugiej - jako zwięzła powtórka dla osób, którym wiedza ta już nieco wywietrzała z głów. Materiał ten może być trak towany jako tymczasowa kładka ratunkowa, ale nie trwały most łączący ze stałym lą dem. Ten ostatni można zbudować tylko uważnie studiując standardowe podręczniki (Fcller, '1968; Hines i Montgomery, 1980; Papoulis, 1984; Ross, 1976). Nie bacząc na to, zajmiemy się dalej zliczaniem skończonego i zgłębianiem prawdopodobnego. Omówimy regułę iloczynu, permutacje i kombinacje. Wprowadzimy pojęcie przestrzeni zdarzeń elementarnych, sformułujemy trzy aksjomaty prawdopodobieństwa i przedstawimy nie które wynikające z nich konsekwencje. Wspomnimy krótko o prawdopodobieństwie wa runkowym, twierdzeniu Bayesa, niezależności zdarzeń oraz o najprostszych rozkładach prawdopodobieństwa. Na zakończenie omówimy pojęcie wartości oczekiwanej dyskretijej zmiennej losowej i sformułujemy ważne twierdzenie graniczne.
_i_____________________________________ A.1. Reguła iloczynu Większość z nas uznaje umiejętność liczenia za oczywistą, jednak sposoby dokładnego zliczania wzorców, kategorii lub podziałów na grupy stanowią rodzaj abstrakcyjnej sztu ki noszącej miano kombinatoryki lub analizy kombinatorycznej. Większość wzorów kombinatorycznych daje się wyprowadzić z prostej zasady, zwanej regulą iloczynu: Jeżeli doświadczenie M ma m możliwych wyników, a doświadczenie N - n moż liwych wyników, to istnieje łącznie m -n wyników doświadczenia złożonego MN.
3 3 0 ___________ A. Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństwa
Prawdziwość tej zasady można wykazać, wypisując wszystkie możliwe wyniki w postaci macierzowej. Zamiast tego, zilustrujemy jej zastosowanie na kilku prostych przykładach,:. Przykład 1 Student spodziewa się piątki lub czwórki ze Struktur Danych. Nie jest natomiast pewien, którą z ocen 5, 4, 3 lub 2 otrzyma zAlgorytmów Genetycznych. Ile jest zestawów ócen z tych przedmiotów, które może on uzyskać? Odpowiedź: Istnieje m - n - 2 -4 = 8 możliwości, a mianowicie: 5 - 5 , 5 - 4 , 5 —3, 5 - 2 , 4 - 5 , 4 —4, 4 —3, 4 —2. Przykład 2 Ile sześciopozycyjnych numerów rejestracyjnych można utworzyć, jeżeli trzy pierwsze znaki mają być literami alfabetu łacińskiego, a trzy pozostałe cyframi? Odpowiedź: Można utworzyć 26 ■26 • 26 • 10 • 10 • 10 = 17 576000 numerów rejest racyjnych. Przykład 3 Ile numerów rejestracyjnych można utworzyć przy założeniachjalc wyżej, jeśli ponadto litery ani cyfry nie mogą się powtarzać? Odpowiedź: Pierwszą literę wybieramy spośród 26 możliwych. Drugą literę wybieramy' spośród 25 możliwych itd. Ostatecznie otrzymujemy 26 • 25 • 24 • 10 • 9 • 8 = 11232000 różnych numerów rejestracyjnych bez powtarzających się znaków. Przykład 4 W komitecie Narodów Zjednoczonych zasiadają przedstawiciele trzech krajów człon kowskich w następującym składzie: Japonia (7), Chiny (3), Stany Zjednoczone (6). Ile podkomitetów można utworzyć wybierając po jednym przedstawicielu każdego k raju ?1’ Odpowiedź: Można utworzyć 7 • 3 • 6 = 126 różnych podkomitetów.
A.2. Permutacje
__________________________________________
Permutacja jest to uporządkowanie zbioru złożonego z różnych przedmiotów. Dla przyldadu rozważmy sześć możliwych uporządkowań trzech liter A, B i C: ABC, ACB, BAC, BCA, CAB, CBA Ogólnie, w celu policzenia wszystkich permutacji n różnych przedmiotów, zauważmy, że pierwszy przedmiot możemy wybrać na n sposobów, a przy każdym następnym tracimy jeden stopień swobody. A zatem, zgodnie z regułą iloczynu, całkowita liczba permutacji /) przedmiotów jest równa n(/j. — l)(n - 2)...3 • 2 • 1 = «!. Istnieje więc n! (czytaj: n silnia) permutacji n przedmiotów.
' A.3. Kombinacje
331
Przykład 5 Na ile sposobów można ustawić zawodników w dziewięcioosobowym zespole base ballowym?
Ódpowiedź: 9! =
9 • 8 • ...3 • 2 ■ 1 = 362 880
Przykład 6 Przypuśćmy, że na pólce stoją cztery publikacje na temat algorytmów genetycznych ;(AG), sześć na temat systemów klasyfikujących (SK),jeden z dziedziny genetyki popula cji (GEN) i siedem ze sztucznej inteligencji (SI). Na ile sposobów można je poseg regować, zachowując podziat tematyczny?
Odpowiedź: Ustalmy pewien porządek tematów, powiedzmy AG, SK, GEN, SI. Mamy teraz 4! 6! I ! 7! - 87 091 200 uporządkowań prac w ramach wybranego porządku tema tycznego. Ponieważ same tematy można uporządkować na 4! sposobów, otrzymujemy l lącznie 4! • 87 091 200 = 2090188 800 tematycznych uporządkowań 18 publikacji. Jest I tp oczywiście znacznie mniej niż 18! ~ 6,402 x 1015 uporządkowań pozatematycznych. Niekiedy interesuje nas liczba wyborów uporządkowanych, których można dokoJa ć w grupie n przedmiotów. Przypuśćmy, że chcemy policzyć wszystkie możliwe wy; bory uporządkowane r przedmiotów ze zbioru n przedmiotów. Podobnych obliczeń doIjkonaliśmy już wjednym z wcześniejszych przykładów. Uogólniając ten wynik, otrzymaHrny następujący wzór na liczbę P(n,r) permutacji r elementów wybranych ze zbioru j|t-elementowego: P(n, r) - n(n - l)(n - 2)...(n - r -I- 1), (/• czynników) Wyrażając to za pomocą silni, uzyskamy bardziej zwartą postać wzoru: |;
P(n, r) = n(n - 1)(n - 2)...(» - r + 1) = n! / (n - r) 1
i Przykład 7 )PJa ile sposobów można ustawić dziewięciu zawodników z 15-osobowej drużyny base ballowej, zakładając, że każdy zawodnik może zagrać na każdej pozycji?
Odpowiedź: P( 15,9) = v-
15!/(15 - 9)! = 1 816214400.
_____________ _____________________ A.3. Kombinacje
W pewnych przypadkach interesuje nas liczba różnych wyborów nieuporządkowanych Wcombinacji) przedmiotów z danego zbioru. DIa przykladu rozważmy wszystkie wybory uporządkowaiu-. dwóch liter z trzech: AB, AC, BA, BC, CA, CB
A. Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństwa
332
Istnieje oczywiście 3'./(3 —2)! = 6 takich wyborów, jeśli jednak chcemy okieslić liczbę różnych par, pomijając ich porządek (utożsamiając np. AB i BA), to musimy ‘ podzielić liczbę wyborów uporządkowanych przez liczbę „duplikatów” . Ponieważ licz ba „duplikatów” jest równa liczbie uporządkowań r przedmiotów, zatem liczba kom binacji r-wyrazowycli ze zbioru n-elementowego (symbolicznie: C(n,r) lub ^” j, co czy-' tamy „n nad r” ) jest równa
C(n,
*<)■
n(n
— l)...(n — r + 1) _
{n - ;•)!/•!
Bardziej intuicyjne uzasadnienie tego wyniku można podać w postaci następującej rów ności werbalnej: Liczba wyborów nieuporządkowanych r spośród n przedmiotów
liczba uporządkowań r przedmiotów
liczba wyborów uporządkowanych r spośród ii przedmiotów
Przykład 8 -Senat Stanów Zjednoczonych liczy 100 senatorów. Ile pięcioosobowych podkomitetów* można utworzyć z członków tego szacownego ciala? >-4 O dpow iedź: Ponieważ kolejność wyboru w sklad komitetu nie jest istotna (pomijając względy prestiżowe oraz starszeństwa), istnieje ^ * ^ j = 75 287 520 takich podkomitetów,; Przykład 9 W grze w pokera każdy gracz otrzymuje pięć zakrytych kart. Na ile sposobów można rozdać karty danemu graczowi? Ś 52 \ :'f^ j różnycJi
sposobów.
A.4. Wzór dwumianowy Podamy tu wzór dwumianowy bez wyprowadzenia:
(
Ate'. Zdarzenia
_ — _____________________________________________________________
Je względu na powyższy
wynik, liczby
|BJ= C(n,
333
r) nażywają się współczynnikami
dwumianowymi. Wzór ten jest przydatny w rozmaitych obliczeniach kombinatorycznych i 'probabilistycznych. Przykład f0 ;-Pokazac, że 2 /=0 ^” | = 2".
Odpowiedź: Z " =0 ( l ) J ( i y - J ( " )
= (1 + 1)" = 2".
A.5. Zdarzenia Przypuśćmy, że dokonujemy eksperymentu, którego wynik zależy od przypadku. Zbiór wszystkich możliwych wyników takiego doświadczenia będziemy nazywać przestrze nią zdarzeń elementarnych (lub przestrzenią prób). Oto kilka przykładów: Rzut monetą: S - {orzeł, reszka} Rzut kostką do gry: S={1, 2, 3, 4, 5, 6} Rzut dwiema monetami: S=(O O , OR, RO, RR} Zdarzeniem E nazywamy dowolny podzbiór możliwych wyników doświadczenia (zdarzeń elementarnych). Oto dwa przyklady: Co najmniej jeden orzeł w dwóch rzutach: E =(O O , OR, RO} Więcej niż trójka przy rzucie kostką: E={4, 5, 6} Mając dwa zdarzenia E i F możemy utworzyć z nich nowe zdarzenia za pomocą ;operacji sumy i przecięcia (iloczynu) zbiorów. Suma zdarzeń E i F (symbolicznie: E ^jF ) JŚSt przedstawiona graficznie na diagramie Venna w postaci zakreskowanego obszaru pys. A.1). Podobnie iloczyn zdarzeń E i F (symbolicznie: EF) jest zilustrowany na
334 __________ A. Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństwa
R y s . A .2 . D ia g ra m V e n n a dla iloczynu z d a rz e ń E i F
R y s . A .3 . D ia g ra m V e n n a dla w y k lu c za ją c y c h s ię z d a rz e ń E i F
rys. A.2. Jeżeli iloczyn dwóch zdarzeń jest zbiorem pustym (E F = 0 ) to mówimy, że zdarzenia te wzajemnie się wykluczają (rys. A.3). Na koniec zdefiniujemy zdarzenie E c przeciwne do zdarzenia E, jako podzbi^l tych wszystkich zdarzeń elementarnych, które nie należą do E. Na rysunku A.4 prze®! stawiono graficznie przestrzeń zdarzeń elementarnych S, zdarzenie E i zdarzenie prze® ciwne Ec.
R y s . A .4 . D ia g ra m V e n n a d la z d a rz e n ia E i p rz e c iw n e g o d o ń z d a rz e n ia E :
A.6. Aksjomaty prawdopodobieństwa W rachunku prawdopodobieństwa przyjmuje się trzy aksjomaty, z których można wy prowadzić wszystkie inne wyniki. Definiujemy wielkość P(E) zwaną prawdopodohień-t slwem z.darz.epia E. Wielkość ta musi spełniać następujące aksjomaty:
A.6. Aksjomaty prawdopodobieństwa
335
Aksjomat 1 ()< P (E )< l. Prawdopodobieństwo zdarzeniajest liczbą z przedziaiu [0,l]. Aksjomat2 P (S )=
l
Prawdopodobieństwo całej przestrzeni S l) jest równe l. i?/ i
Aksjomat 3 ‘fola dowolnego ciągu parami wykluczających się zdarzeń E,, i = l , 2,... P (U E,) /»i
=
X P{E,) /=i
Prawdopodobieństwo sumy zdarzeń wykluczających się parami jest równe sumie praw dopodobieństw tych zdarzeń. Z powyższych aksjomatów wynikają twierdzenia rachunku prawdopodobieństwa; dalej sformułujemy kilka ważniejszych wyników bez podawania dowodu. prawdopodobieństwo zdarzenia przeciwnego
'pzn = i - p(E)
I
prawdopodobieństwo zdarzenia przeciwnego jest równe jeden minus prawdopodobieńst wo danego zdarzenia.
Prawdopodobieństwo sumy dwóch zdarzeń
P(E u F) = P(E) + P(F) - P(EF) Prawdopodobieństwo sumy dwóch zdarzeń jest równe sumie prawdopodobieństw tvch zdarzeń pomniejszonej o prawdopodobieństwo ich iloczynu. Chociaż podajemy n wzór bez dowodu, staje się on intuicyjnie oczywisty, jeśli odwołać się do diagramu enna z rys. A.2. Ilustruje on wyraźnie fakt podwójnego liczenia zdarzeń elementar/ch w przypadku sumowania zdarzeń nakładających się na siebie. Powyższy wzór yzględnia po prostu poprawkę do tej sumy, polegającą na odjęciu prawdopodobieństwa ;ęści wspólnej.
i
11 Zdarzenie S zazwyczaj nazywane jest zdarzeniem pewnym (pnyp. ihim.),
336
A. Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństwa
A.7. Przypadek jednakowych szans W wielu sytuacjach zakłada się, że mamy do czynienia zjednakowo prawdopodobnymi wynikami doświadczenia losowego; dla przykładu wymieńmy tu: rzut uczciwą monetą, obrót koła ruletki, rzut wyważoną kostką, wybór karty z dobrze potasowanej talii. Jeśli ograniczymy się do modeli, w których wszystkie zdarzenia elementarne uważa się za równie prawdopodobne, to prawdopodobieństwo dowolnego zdarzenia E wyraża się w prosty sposób: liczba elementów E . liczba elementów S Przykład 11 Jakie jest prawdopodobieństwo wyrzucenia 1 lub 2 oczek przy rzucie rzetelną kostką do gry? Odpowiedź: P(E) = 2/6 = l/3. Przykład 12 Jakie jest prawdopodobieństwo wyrzucenia w sumie 8 oczek przy rzucie dwiema ko; stlcami? O dpow iedź: Sumę 8 oczek można otrzymać na pięć sposobów: (2, 6), (6, 2), (3, 5), (5, 3) oraz (4, 4). Zatem P(E) = 5/(6 • 6) = 5/36. Przykład 13 Jakie jest prawdopodobieństwo wypadnięcia co najmniej jednego orła w 10 rzutach uczciwą monetą? Odpowiedź: Rozważmy zdarzenie przeciwne. Istnieje oczywiście tylkojeden sposób (R] R, R, R, R, R, R, R, R, R), ąby nie otrzymać ani jednego orła na 2 m możliwych 10-elementowych sekwencji. Zatem prawdopodobieństwo zdarzenia przeciwnego wynosi P(EC) = (l/2)'", skąd P(E) = 1 - (l/2)"' = 0,999. Przykład 14 Jakie jest prawdopodobieństwo otrzymania przy grze w pokera pokera cesarskiego z ręki? ■A ■(5 2 \ .ffi Odpowiedź: Są cztery pokery cesarskie (jcden w każdym kolorze) na ^ j możliwych rąk. Zatem P(E) = 4 / ( 52 j s l,5 x 10'6. Przykład 15 Jakie jest prawdopodobieństwo otrzymania przy grze w pokera strita z ręki?
337
A.8. Prawdopodobieństwo warunkowe
O dpow iedź Strit składa się z pięciu następujących po sobie kart nie będących tego j samego koloru (wówczas byłby to poker). Aby wyznaczyć liczbę stritów, rozważmy uporządkowanąsekwencję kdrt, w którejjeden strit został ujęty w nawiasy kwadratowe0: f A 2 3 4 5 ] 6 7 8 9 10 J Q K A Istnieje' oczywiście 4 ■4 •4 •4 ■4 = 45 różnych stritów typu A-2-3-4-5, ponieważ ka żdą z kart można wybrać z dowolnego z czterech kolorów; jednak dokładnie cztery ■z tych stritów są pokerami, tak więc mamy 45- 4 zwyczajnych stritów typu A-5. To samo obliczenie pozostaje w mocy dla każdego z pozostałych typów stritów w talii, a przesuJwając nawiasy wzdłuż wypisanej sekwencji stwierdzamy bez trudu, że jest 10 takich jitypów. W rezultacie istnieje 10(4S—4) zwyczajnych stritów na ^^^J rąk. A zatem P{E) = 10 200/2 598 960 = 0,00392.
A.8. Prawdopodobieństwo warunkowe \^ wieIu życiowych sytuacjach jedno zdarzenie zależy od drugiego Matwiej jest mówić o prawdopodobieństwie zajścia pewnego zdarzenia lub obliczać je, wiedząc, że zaszło inne związane z nim zdarzenie. Takie prawdopodobieństwo nazywamy warunkowym; ii|ywamy przy tym oznaczenia P{E IF) - prawdopodobieństwo warunkowe zdarzenia i p o d warunkiem, że zaszło zdarzenie F, Związek między prawdopodobieństwem waRnkowym, prawdopodobieństwem iloczynu obu zdarzeń oraz prawdopodobieństwem zdarzenią warunkującego wyraża się wzorem: P(EF)=P(EI F)P{F) 3lnacza to, że prawdopodobieństwo iloczynu dwóch zdarzeń jest równe iloczynowi ąawdopodobieństwa warunkowego jednego z tych zdarzeń pod warunkiem zajścia zdazenia warunkującego i prawdopodobieństwa zdarzenia warunkującego. rzykład 16 fitSia ma do wyboru dwa wykłady, jeden z algorytmów genetycznych i drugi z mechaniMpłynów. Kasia ocenia szanse otrzymania piątki na egzaminie z algorytmów genetycz nych na 50%, a na egzaminie z mechaniki płynów na 75%. Jakie są jej szanse, że zakończy semestr piątką z algorytmów genetycznych, jeżeli podejmie decyzję co do gikładu rzucając rzetelną monetą?
0 Sekwencja uwzględnia tzw. strila amerykańskiego albo łatanego {pnyp. r/nm.).
338
A. Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństWll
Odpowiedź: Niech A oznacza zdarzenie polegające na tym, że Kasia otrzyma z egzaminu, a B - zdarzenie polegające na tym, ie wybierze ona wykład z algory1im>w genetycznych. P(AB) = P(A I B)P(B) =
0,5 • 0,5 = 0,25
Kasia ma jedną szansę na cztery, że zakończy semestr piątką z algorytmów gene tycznych.
A.9. Rozbicia z d a rz e ń _____________________________________ W niektórych przypadkach łatwiej wyznaczyć prawdopodobieństwo danego zdarzenia, rozbijając je na dwa lub więcej wzajemnie wykluczających się zdarzeń (por. rys. A.5), Przypuśćmy, że interesuje nas prawdopodobieństwo zdarzenia E, ale umiemy więcej o nim powiedzieć w związku ze zdarzeniem F. Biorąc pod uwagę, że zdarzenia EF i EF' wykluczają się (patrz rys. A.5) oraz EF u EF1 = E, mamy stąd P(E) = P(EF) + P(EF'). Korzystając z pojęcia prawdopodobieństwa warunkowego, wprowadzonego w poprzed nim punkcie, możemy przepisać ostatnią równość w postaci:
P(E) = P(EIF)P(F) + P(E\FC)P(FC) = P(ElF)P(F) +
P(EIF')[1 -
P(F)]
R y s . A .5 . D ia g ra m ^ e n n a ilu stru ją cy ro zb ic ie z d a rz e n ia E n a z d a rz e n ia E F i E P
Przykład 17 Przypuśćmy, że w przykładzie 16 Kasia może wybrać wykład z mechaniki płynów (/da rzenie C) lub z algorytmów genetycznych (zdarzenieJ3), ale nie obajednocześnie i zalózmy, jak poprzednio, że podejmuje ona decyzję naprodstawie rzutu monetą. Obhc/yć prawdopodobieństwo, że Kasia otrzyma piątkę na egzaminie (zdarzenie A).
Odpowiedź: Rozbijmy zdarzenie A między dwa wykluczające się zdarzenia B i P(A) = P(A I B)P(B) + P(A I QP(Q = 0,5 • 0,5 + 0,75 • 0,5 = 0,625
0 Korzystamy przy tym
z fakUi, że C = I V
(p r z y p . tlu m .).
C°
A.11. Zdarzenia niezależne
339
---------------------------------------------------------- _
A.10. RegułaBayesa
SZzależności wyprowadzonej w poprzednim paragrafiemożna z kolei,w>pnw.idzie inny przydatny związek, zauważając, że prawdopodobieństwoiloczynu dwóch /dnr/eń ino/na otrzymać wybierając dowolne z nich jako zdarzenie warunkujące: P(EF) = P(E\F)P(F) = P(FlE)P(E) Spostrzeżenie to prowadzi'do reguły Bayesa, z której można korzystaćw celu wyznaczania prawdopodobieństw warunkowych w wielu ważnych przypadkach: P ( E \ D - P {E F )nE\E)P{E) ( j P(F) P(FlE)P(E) + P(FlE')P(E1)
A.11. Zdarzenia niezależne Mówimy, że zdarzenia E i F są niezależne, jeżeli zachodzi równość P(ElF) - P(E). piatem P(EF) = P(E)P(F) dla zdarzeń niezależnych0. Przykład 18 Jakiejest prawdopodobieństwo wyrzucenia dwóch oczek przy rzucie dwiema kostkami?
Odpowiedź: Wynik ten można uzyskać tylko w jeden sposób: na obu kostkach musi wypaść po jednym oczku (zdarzenie 1): P( 1 + 1) = P(1)P(1) = (l/6)(l/6) = 1/36 Tę samą odpowiedź można otrzymać, zauważając, że dwa oczka odpowiadają doktadnie ■jednemu z 36 zdarzeń elementarnych. Przykład 19 Qbliczyc prawdopodobieństwo wyrzucenia n orlów w n rzutach uczciwą monetą.
Odpowiedź: Niech H, będzie zdarzeniem polegającym na wyrzuceniu orla w i-tej
próbie
;(('=l,2...n). gW. #2-tf,.) = P(H<)P(HJ...P(H,,) = (i)"
|
11 W ra c h u n k u p ra w d o p o d o b ie ń s tw a z a d e fin ic je n ie z a le ż n o ś c i p o w s z e c h n ie p r z y jm u je s ię le o s ta tn ia ó w n o ść . J e s t o n a o g ó ln ie js z a , g d y ż o b e jm u je ró w n ie ż z d a r z e n ia o p r a w d o p o d o b ie ń s tw ie ró w n y m z e r u , d la
S
itórych p r a w d o p o d o b ie ń s tw o w a ru n k o w e n ie is tn ie je
(pn.y/>. tlum.).
340 __________ A. Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństwa'
A.12. Rozkład dwumianowy . ...............
... ,. ,
Często wykonujemy serię niezależnych prób losowych, przy czym p raw dop o dobi e ństwo „sukcesu” w każdej próbie jest stale (równe p). Każdą taką próbę nazywamy próbą Bernoulliego-, prawdopodobieństwa dwóch możliwych wyników takiej próby, sukcexu i porażki sumują się oczywiście do jedności: P(sukces) + P(porażka)=/x + (l -p ) = 1. Jeśli wykonujemy serię n prób Bernoulliego, to jest rzeczą naturalną zapytać, jakie jest prawdopodobieństwo jednego, dwóch, lub ogólnie k sukcesów. Obliczenia pokazują, że prawdopodobieństwo uzyskania dokładnie k sukcesów w n próbach Be rnoulliego jest równe P(/c sukcesów w n próbach) = ^” j p k (1 —p)"~k Jest tak, ponieważ w każdej konkretnej serii prób zajście dokładnie k sukcesów oznacza też zajście n - k porażek. Prawdopodobieństwo jednego takiego ciągu wyników jest rów-# iie p k{ \ —p)"~k. Końcowy wzór wynika z fakfu, że wszystkich takich ciągów jest Otrzymany wyżej rozkład prawdopodobieństwa nazywa się rozkładem dwumianowym.
A.13. Wartość oczekiwana zmiennej lo s o w e j________________ ^ W wielu przypadkach chcielibyśmy obliczyć przeciętny wynik pewnego doświadczenia, losowego. Mówiąc ściślej, chcielibyśmy wyznaczyć wartość oczekiwaną zmiennej loso-; wej. Niebawem dowiemy się, dlaczego wartość oczekiwaną można uważać za przeciętną wartość zmiennej losowej. Na razie po prostu sformułujemy jej definicję. Warlością oczekiwaną dyskretnej zmiennej losowej x nazywamy liczbę fi'f.v] = Y,xp(x) X
Może nas również interesować wartość oczekiwana pewnej funkcji zmiennej loś8f wej. Oblicza się ją następująco: E[g{x)] = S s W p ( x ) Przykład 20 Gracz placi stawkę $4,00 za rzut kostką, wygrywając sumę (w dolarach) równą liczbie wyrzuconych oczek. Obliczyć oczekiwaną wielkość czystego zysku (straty) tego graczatj Odpowiedź: Wartość oczekiwana wygranej = l/6+ 2/6 + 3/6 + 4/6 + 5/6 + 6/6 = 3,50. Za tem gracz ponosi czystą stratę równą $4,00-$3,50 = $0,50.
A.16. Zadania
___________________________________ 341
A.14. Twierdzenia graniczne W poprzednim punkcie wspomnieliśmy, że wartość oczekiwaną zmiennej lósowej można w pewnym sensie uważać za wartość przeciętną lub średnią.ale z czego to wynika? Mówi o tym jedno z najważniejszych twierdzeń granicznych W rachunku prawdopodo bieństwa, które przytaczamy tu bez dowodu: Mocne prawo wielkich liczb Niech będzie dany ciąg niezależnych zmiennych losowych x,, / =1, 2,... ojednakowym rozkładzie prawdopodobieństwa i skończonej wartości oczekiwanej m = E[xJ. Wtedy z prawdopodobieństwem 1 x, + x2 + ... + x„ --------=-------- ----- ^> m, n
gdy n ^ oo
Może nas także interesować rozkład sum częściowych. Centralne twierdzenie graniczne mówi, że w granicy jest to rozkład normalny (gaussowski), którego gęstość ma postać znanej krzywej w kształcie dzwonu. Z wyniku tego nie korzystaliśmy bezpośrednio w tej książce, po dokładne sformułowanie odsyłamy więc Czytelnika do standardowych źródeł.
__ ____________________________________A.15. Podsumowanie W tym zwięzłym dodatku zebraliśmy kilka podstawowych wyników z zakresu kombinatoryki i rachunku prawdopodobieństwa. Naszym zamiarem było przejrzenie podstaw Wcelu zrozumienia subtelności związanych z działaniem elementarnego algorytmu gene tycznego. Z tą myślą omówiliśmy regułę iloczynu i elementarne prawa analizy kombinatorycznej. Wprowadziliśmy pojęcia przestrzeni zdarzeń elementarnych i zdarzenia oraz podaliśmy aksjomaty prawdopodobieństwa. Omówiliśmy kilka ważniejszych pojęć i twierdzeń rachunku prawdopodobieństwa, w tym prawdopodobieństwo warunkowe, ^.twierdzenie Bayesa, wartość oczekiwaną zmiennej losowej oraz mocne prawo wielkich |liczb. Z tą podbudową dyskusja i analiza własności algorytmów genetycznych powinny przebiegać bardziej gładko.
A.16. Zadania ;A.1.
Ośmioro dzieci bawi się w „komórki do wynajęcia” na sześciu krzesłach. Gdy muzyka ustaje, sześć osób siada, a dwie pozostają na stojąco. Na ile różnych sposobów można usadzić osiem osób na sześciu krzesłach? Jeśli zaniedbać kolej ność siedzenia, ile można utworzyć kombinacji sześciu siedzących spośród ośmiu osób biorących udział w zabawie?
342 __________ A. Wiadomości z kombinatoryki i elementarnego rachunku prawdopodobieństwa
A.2.
Ile różnych permutacji można utworzyć z liter następujących wyrazów: ' a) algorytm b) matematyka
A.3.
A.4.
A.5. A.6.
A.7.
A.8.
A.9.
Numer karty kredytowej składa się z 10 pozycji, każda z których zawiera literę (A-Z) lub cyfrę (0-9). Ile różnych numerów kart kredytowych można utworzyć w ten sposób? Programista chce zapamiętywać kody kart kredytowych w pamięci komputera binarnego w najbardziej oszczędny sposób. Oblicz minimalną liczbę bitów potrzebnych do reprezentacji numeru, karty w pamięci komputera. Komitet sklada się z 13 studentów I roku, 6 studentów II roku, 7 studentów ED roku i 5 studentów IV roku. Zakładając, że przewodniczący komitetu zostaje wybrany losowo, oblicz prawdopodobieństwo, że przewodniczącym: a) będzie student IV roku; b) będzie student I roku; c) nie będzie student II roku; d) będzie student I lub III roku. Jakiejest prawdopodobieństwo otrzymania karety z ręki przy grze w pokera z peł ną talią kart? W szufladzie znajduje się 20 bialych i 10 czarnych skarpet. Jakie jest prawdopo dobieństwo wyciągnięcia dokładnie dw6ch czarnych skarpet przy losowym wybo rze pięciu skarpet jednocześnie? Jak zmieni się odpowiedź, jeśli skarpety są wy bierane pojedynczo i zwracane za każdym razem do szuflady? Na egzaminie testowym należy wybrać jedną z czterech odpowiedzi na każde z pięciu pytań. Jakie jest prawdopodobieństwo udzielenia co najmniej czterech poprawnych odpowiedzi metodą losowego zgadywania? Gracz trzyma w kieszeni dwie monety. Jedna z nich jest uczciwa, a druga ma po obu stronach orla. Gracz wyciąga z kieszeni losową monetę i wykonuje rzut. Oblicz prawdopodobieństwo, że moneta upadnie orłem do góry. Jeżeli wiadomo, że wypadł orzeł, tojakiejest prawdopodobieństwo, że wybrana moneta jest uczciwa? W ramach lotprii wypuszczono milion losów, wśród których znajduje się 1 wygrana w 10 wygranych 100 wygranych 1000 wygranych 10000 wygranych
wysokości $500000 w wysokości $50000 w wysokości $1000 w wysokości $100 w wysokości $10
Jaka jest oczekiwana wysokość straty gfaczt^ biorącego udział w tej loterii, jeżeli cena losu wynosi $2,00? Jakie jest prawdopodobieństwo wygrania jakiej kolwiek nagrody? A.10.
Pokaż, że rozkład dwumianowy p(j) = | *j/V (l - p)"^K j = 0, 1, .... /i, jest rze czywiście rozkładem prawdopodobieństwa.
Dodatek
B
Program SGA
■Zamieszczamy niżej pełny tekst programu SGA, będącego implementacją elementarnego algorytmu genetycznego w języku Pascal0 (wyd. B.l-B.9). Tekst źródłowy został po dzielony między dziewięć plików: sga.pas interfac.sga stats.sga initial.sga report.sga triops.sga genemte.sga utility.sga random.abp
program główny interfejs z funkcją celu statystyki populacyjne inicjalizacja raporty o stanie populacji reprodukcja, krzyżowanie i mutacja koordynacja następstwa pokoleń wejście-wyjście i inne podprogramy pomocnicze generatory liczb pseudolosowych (zob. niżej)
Wszystkie dane wejściowe programu są wprowadzane w trybie dialogowym, a raporty wynikowe zostają wysłane na standardowy plik Turbo Pascala lst skojarzony z drukarką. Plik random.abp zawiera definicje zmiennych globalnych oraz sześć podprogra mów związanych z generowaniem liczb pseudolosowych. Są to następujące procedury i funkcje: adyance-random warmup-random random
tworzenie nowego podciągu liczb pseudolosowych inicjalizacja podstawowego generatora liczba pseudolosowa z przedziału [0, 1]
11 W wersji Turbo Pascal 3 Q>nyp. iliim.)
344
B. Program SGA-
flip rnd
wynik symulowanego rzutu monetą (true = orzeł) pseuclolosowa liezba całkowita z danego zakresu (wybór z jednakowym prawdopodobieństwem) inicjalizacja generatora przy użyciu wartości początkowej podanej przez użytkownika
randomize
Podprogramy te są oparte na algorytmach opisanych przez Knutha (1981). p ro g ra m { A S im { (c ) {
sga; p l e G e n e t i c A l g o r i t h m - SGA - v l . ( D a v id E d w a rd G o ld b e r g 1 9B6 A l l R ig h t s R e s e r v e d
} > }
c o n s t maxpop m a x s t r in g
- 1 00 ; - 30;
ty p e
a llo le chrom osom o
- b o o le a n ; { A l l c l e « b i t p o s i t i o n ) — a r r a y (l..m a x s tr in g ] o f a lle le ; ( S tr in g
in d iv id u a l
- re c o rd c h r o m : c h ro m o s o m e ; { G e n o ty p e - b i t “s t r i n g J { P h e n o t y p e - u n s ig n e d i n t e g e r ) x :r e a l; fitn e s s :r e a l; ( O b je c t iv e f u n c t io n v a lu e ) p a r e n t l, p a re n t2 , x s it e : in t e g e r ; { p a re n ts & c ro s s p t j | end; - a r r a y (l..m a x p o p ) o f in d i v i d u a l ;
p o p u la tio n var
o ld p o p , n e w p o p : p o p u l a t l o n ; p o p s iz e , lc h ro m , g e n , m a x g e n :in te g e r ; p c r o s s , p m u ta tio n , s u m f i t n e s s : r e a l ; n m u t a t io n , n c r o s s : i n t e g e r ; a v g , m ax, m i n : r e a l ;
( In c lu d e u t i l i t y p ro c e d u re s {$ I u t ilit y .s g a J
and fu n c tio n s
( { { ( (
o f b it s
Two n o n - o v e r la p p in g p o p u l a t i o n s | ) | In t e g e r g lo b a l v a r ia b le s } II! R e a l g lo b a l v a r ia b le s } In te g e r s t a t i s t i c s ) R eal s ta tis tic s } }
( I n c l u d e p s e u d o - ra n d o m n u m b e r g e n e r a t o r a n d ra n d o m u t i l i t i e s { $ I r a n d o m .a p b ) ( In c lu d e in t e r f a c e ($ 1 i n t e r f a c . s g a ) { In c lu d e s t a t i s t i c s {$ I s ta ts .s g a ) ( In c lu d e i n i t . ($ 1 i n l t i a l . s g a { In c lu d e r e p o r t {$ I re p o rt.s g a )
r o u tin e s :
d e co d e an d o b jf u n c
c a lc u la tio n s :
r o u tin e s : } r o u tin e s :
( In c lu d e th e 3 o p e r a to r s : ($ X t r i o p s . s g a )
s ta tis tic s
in it ia liz e ,
re p o rt,
s e le c t
Wyd. B.1. Program glówny SGA (plik
s g a .p a s )
}
in itp o p ,
in itr e p o r t
)
(r e p r o d u c tio n ),
r o u tin e :
)
)
in itd a ta ,
w r ite c h r o m
{ In c lu d e new p o p u la t io n g e n e r a t io n ($ 1 g e n e r a t e . s g a }
\
)
,
cro sso v e r,
g e n e r a tio n
)
m u t a t io n
)
345
B. Program SGA
b e g in { M a in p r o g r a m ) gen :- 0 ; { S e t t h i n g s up ) In itia liz e ; re p eat { M a in i t e r a t i v e lo o p ) gen :- g en + 1; g e n e r a tio n ; ' s t a t i s t i c s ( p o p s i z e , m ax, a v g , m in , s u m f i t n e s s , re p o rt(g e n ); o ld p o p : — n e w p o p ;' { a d v a n c e t h e g e n e r a t i o n ) u n t i l ( g e n >** m a x g e n ) end. { E n d m a in p r o g r a m )
n e w p o p );
Wyd. B.1. {6d.)
{ in t e r f a c . s g a : c o n ta in s o b jf u n c , d ecod e { C h a n g e t h e s e f o r d i f f e r e n t p r o b le m
) )
fu n c tio n o b J f u n c ( x :r e a l) : r e a l; { F it n e s s fu n c tio n - f ( x ) - x **n } c o n s t c o e f - 1 0 7 3 7 4 1 8 2 3 .0 ; ( C o e f f i c i e n t t o n o r m a l i z e n - 10; { Pow er o f x ) b e g i n o b j f u n c ; - p o w e r ( x / c o e f , n ■) e n d ;
d o m a in
)
f u n c t i o n d e c o d e (c h r o m :c h r o m o s o m e ; l b i t s : i n t e g e r ) : r e a l ; { D e co d e s t r i n g a s u n s ig n e d b i n a r y i n t e g e r - t r u e - 1 , f a l s e - 0 v a r j:in te g e r ; a c c u ra , p o w e r o f 2 : r e a l ; b e g in a ccu m : - 0 . 0 ; p o w e r o f 2 : - 1 ; f o r j : ~ 1 t o l b i t s do b e g i n i f c h r o m [ j ] t h e n a ccu m : — a ccu m *+ p o w e r o f 2 ; p o w e ro f2 : — p o w e ro f2 * 2 ; end; d e co d e ; — accu m ; end;
}
Wyd. B.2. Interfejs z funkcjącelu (pNk interfac.sga) (
s ta ts .s g a
>
p ro ce d u re s t a t i s t i c s ( p o p s i z e : i n t e g e r ; v a r m a x ,a v g ,r a in ,s u m f it n e s s :r e a l; v a r p o p :p o p u la tio n ); ( C a lc u la t e p o p u la tio n s t a t i s t i c s } v a r j : in te g e r ; b e g in { In it ia liz e ) s u m fitn e s s :- p o p [ l J . f i t n e s s ; m in :- p o p [ l ] . f i t n e s s ; max :- p o p [ l ] . f i t n e s s ; { L o o p f o r m ax, m in , s u m f i t n e s s ) f o r j : - 2 t o p o p s i z e do w i t h p o p [ J J do b e g i n s u m f i t n e s s : - s u m f i t n e s s + f i t n e s s ; ( A c c u m u la t e f i t n e s s i f f it n e s s > m a x t h e n max : ~ f i t n e s s ; ( Mew max ) i f f i t n e s s < m l n t h e n m in : — f i t n e s s ; ( New m in ) end; ( C a lc u la te a v e ra g e ł nvg :- s u m fit n e s s / p o p s iz e ; end;
Wyd. B.3. Podprogramy do wyznaczania statystyk populacyjnych (plik
sum
s ta ts .s g a )
)
________ B. Program SGA
346
r.
(
in it ia l.s g a :
c o n ta in s
in it d a t a ,
in itp o p ,
in itr e p o r t,
in it ia liz e
)
p ro ce d u re i n it d a t a ; ( In t e r a c t iv e d a ta in q u ir y and s e tu p ) v a r c h :c h a r ; j : i n t e g e r ; b e g in r e w r i t e ( l s t ) ; ( S e t up f o r l i s t d e v ic e ) c lr s c r ; { C le a r s c re e n ) s k ip (c o n ,9 ); r e p c h a r ( c o n , ' ' , 2 5 ) ; w r i t e l n ( ' - - ............... - ............................... - ...................' ) ; r e p c h a r ( c o n , ' ' , 2 5 ) ; w r i t e l n ( ' A S im p le G e n e t ic A lg o r it h m - S G A ') ; r e p c h a r ( c o n , ' ' , 2 5 ) ; w r i t e l n ( ' < c) D a v l d E d w a r d G o l d b e r g 1 9 0 6 '> ; r c p c h a r (c o n ,' ', 2 5 ) ; w r i t e l n ( ' A l l R ig h t s R e s e rv e d ') ; r e p c h a r ( c o n , ' * , 2 5 ) ; w r i t e l n ( ' --- -------- -------------* -----— ----- ' ) I p a u s e (7 ); c l r s c r ; w r i t e l n ( ' * * * * * * * * SG A D a t a E n t r y a n d I n i t i a l i z a t i o n * * * * * * * * * * * * ' ) ; w r it e ln ; w r i t e ( 'E n t e r
p o p u la tio n
s i z e --- ---- > * ) ;
r e a d ln (p o p s iz e );
w r i t e ( ' E n t e r ch rom osom e l e n g t h ------ > ' ) ; w r i t e ( * E n t e r m ax. g e n e r a t i o n s - - - - - - > ' ) ;
r e a d ln (lc h r o m ); r e a d ln (m a x g e n ); w r it e ( 'E n t e r c ro s s o v e r p r o b a b ilit y - > ' ) ; . r e a d ln (p c r o s s ); w r i t e ( ' E n t e r m u t a t i o n p r o b a b i l i t y ; -- > ' ) ; r e a d l n ( p m u t a t i o n ) ; p a u s e (5 ); c l r s c r ; { I n i t i a l i z e ra n d o m n u m b e r g e n e r a t o r ) r a n d o m iz e ; p a u s e (2 ); c l r s c r ; ( I n i t i a l i z e co u n te rs ) f n m u t a t io n : - 0 ; n cro ss :— 0 ; % end; p ro ce d u re i n i t r e p o r t ; ( I n i t i a l re p o rt ) b e g in w r i t e l n ( l s t , ' ........................... - .................................................. - ........................................ f ) w r it e ln ( ls t , ') A S i m p l e G e n e t i c A l g o r i t h m - SG A - v l . 0 | ') w r i t e l n ( l s t , 'j (c ) D a v i d E d w a r d G o l d b e r g 1986 | ') w r ite ln (ls t,' j A l l R ig h t s R e s e rv e d |*) w r i t e l n ( l s t , ' ..........................................- ............................................................................... » ) s k ip (ls t,5 ); w r ite ln (ls t,' SG A P a r a m e t e r s ' ) ; w r ite ln (ls t,' ................................' ) ; w r ite ln (ls t); w r ite ln (ls t,' P o p u la t io n s iz e (p o p s iz e ) ', p o p s i z e ) ; w r ite ln (ls t,' Chrom osom e l e n g t h ( l c h r o m ) — ', lc h r o m ); w r ite ln (ls t,' M aximum # o f g e n e r a t i o n (m a x g e n ) — ', m a x g e n ) ; w r ite ln (ls t,' C ro sso v e r p r o b a b ilit y (p c r o s s ) - ', p c r o s s ) ; w r ite ln (ls t,' M u ta tio n p r o b a b i l i t y (p m u ttftio n ) - ', p m u t a t i o n ) ; s k ip (ls t,8 ); C. % w r ite ln (ls t,' I n i t i a l G e n e r a tio n S t a t i s t i c s ') ; w r It e ln (ls t ,' ---................................................................. ' ) ; w r ite ln (ls t); w r ite ln (ls t,' I n i t i a l p o p u l a t i o n maximum f i t n e s s - ', m a x ) ; w r ite ln (ls t,' I n i t i a l p o p u la tio n a v e ra g e f i t n e s s — ', a v g ) ; w r ite ln (ls t,' I n i t i a l p o p u l a t i o n m inim um f i t n e s s - ',m in ) ; w r ite in (ls t,' I n i t i a l p o p u l a t i o n sum o f f i t n e s s - ', s u m f it n e s s ) ; p a g e ( l s t ) ; ( New p a g e ) end;
Wyd. B.4. Podprogramy iniejalizaoji (plik
in ltlal.sga)
347
p i Program SGA
p ro ce d u re
in ltp o p ;
{ I n i t i a l i z e a p o p u l a t i o n a t ra n d o m } va r j , jl:in t e g e r ; b e g in f o r j : - 1 t o p o p s l z e do w i t h o l d p o p [ j ] do b e g i n f o r J 1 : — 1 t o lc h r o r o do c h r o r a [ j l ] : — f l l p ( 0 . 5 ) ; { A f a i r c o i n t o s s } xH : ~ d e c o d e ( c h r o r a , l c h r o m ) ; { D e c o d e t h e s t r i n g ) f it n e s s :- o b jf u n c (x ) ; { E v a lu a te i n i t a l f it n e s s ) p a r e n t l : — 0 ; p a r e fit2 :— 0 ; x s i t e : — 0 ; ( I n i t i a l i z e p r i n t o u t v a r s ) end; end; p ro ce d u re i n i t i a l i z e ; { I n i t i a l i z a t i o n C o o r d in a to r b e g in in itd a ta ; in itp o p ; s ta tis tic s (p o p s iz e , in it r e p o r t ; end;
m ax,
}
avg,
m in ,
s u m fitn e s s ,
o ld p o p );
V(yd. B.4. (cd.) ■1K W 1
{ re p o rt.s g a ;
c o n ta in s
w r ic e c h r o m ,
re p o rt
}
p r o c e d u r e w r i t e c h r o m ( v a r o u t : t e x t ; c h ro m :c h ro m o s o m e ; l c h r o m ; i n t e g e r ) ; { W r i t e a ch rom osom e a s a s t r i n g o f l ' s ( t r u e 's ) and 0 's ( f a l s e 's ) ) v a r j : in te g e r ; b e g in , f o r j : — lc h r o m d o w n to 1 do i f c h r o m [jJ th e n w r i t e ( o u t , ' l ' ) e ls e w r i t e ( o u t , '0 ') ; end; p ro ce d u re r e p o r t (g e n :in t e g e r ) ; ( W r it e th e p o p u la t io n r e p o r t ) c o n s t lin e le n g t h — 132; v a r j : in te g e r ; b e g in r e p c h a r (ls t ,' - ' ,lin e le n g t h ); w r i t e l n ( l s t ) ; r e p c h a r ( ls t ,' ', 5 0 ) ; w r it e ln ( ls t , 'P o p u la t io n r e p c h a r ( ls t ,' ', 2 3 ) ; w r it e ( ls t , 'G e n e r a t io n r e p c h a r ( ls t , ' ', 5 7 ) ; w r it e ln ( ls t , 'G e n e r a t io n w r ite ln (ls t); w r i t e ( l s t , ' tf s t r in g w r ite (ls t,' # p a re n ts x s i t e ') ; w r ite ln (ls t, ' s tr in g r e p c h a r (ls t , ' - ' , lin e le n g t h ); w r i t e l n ( l s t ) ; f o r j :~ 1 t o p o p s i z e do b e g i n w r i t e ( l s t , j :2 , ' ) ') ; 1 O ld s t r i n g ) w i t h o l d p o p [ j ] do b e g i n w r it e c h r o m ( ls t ,c h r o m ,lc h r o m ) ; w r i t e ( l s t , ' ' , x :1 0 , ' ' , f i t n e s s : 6 : 4 , end;
'ffl.
B.5. Podprogramy do sporządzania raportów (plik
R e p o r t ') ; ', g e n - l:2 ) ; * ,g e n ;2 );
'
re p o rt.s g a )
|');
x
f i t n e s s ') ;
x
f i t n e s s ') ;
348 _______________________________________________________
B. Program S Q p
L.
{ New s t r i n g } w i t h n e w p o p [ j j do b e g i n w r ite (ls t,' ' , j : 2 , ' ) ( ' , p a r e n tX :2 , ' , ' , p a r e n t2 :2 , ' ) ', x s it e :2 ,' ') ; w r it e c h r o m ( ls t ,c h r o m ,lc h r o m ) ; w r i t e l n ( l s t , ' ', x : 1 0 , ' ' , f it n e s s :6 :4 ); end; end; r e p c h a r ( ls t , ' - ' , X in e le n g th ); w r i t e l n ( l s t ) ; ( G e n e r a t i o n s t a t i s t i c s a n d a c c u m u la t e d v a l u e s ) w r i t e l n ( l s t , ' N o t e : G e n e r a t i o n ' , g e n : 2 , - ' & A c c u m u la t e d S t a t i s t i c s : ' , ' m a x - ', m a x : 6 : 4 , ' , r a in - ', m in :6 :4 , ' , a v g —' , a v g : 6 : 4 , ' , sum -' ,s u m fitn e s s :6 :4 , ' , n m u t a t i o n - ', n m u t a t i o n , ' , n c ro s s - ' , n c ro s s ); r e p c h a r ( X s t , '- ', l i n e le n g t h ) ; w r i t e l n ( l s t ) ; p a g e (.ls t); end;
Wyd. B.5. (cd.)
( (
tr io p s .s g a ) 3 - o p e ra to rs :
R e p r o d u c t io n ( s e l e c t . ) , & M u ta tio n (m u ta tio n )
C ro sso ve r
(c r o s s o v e r ), )
f u n c tio n
s e le c t (p o p s iz c :in te g e r ; s u m fitn e s s :r e a l; v a r p o p :p o p u la tio n ):in te g e r ; ( S e le c t a s in g le in d iv id u a l v i a r o u le t t e w h eel s e le c t io n ) v a r r a n d , p a r t s u m : r e a l ; ( Random p o i n t o n w h e e l , p a r t i a l sum } J:in te g e r ; ( p o p u la t io n in d e x ) b e g in p a r ts u m : - 0 . 0 ; j : - 0 ; r a n d : — rando m * s u m f i t n e s s ; re p e a t [ F in d w h e e l s l o t )
{ Z e r o o u t c o u n t e r a n d a c c u m u la t o r ) ( W h e e l p o i n t c a l c , u s e s rando m n u m b e r
j : - J + 1; p a r ts u m : — p a r ts u m + p o p ( j ] . f i t n e s s ; u n t i l ( p a r t s u m >— r a n d ) o r ( j — p o p s i z e ) ; { R e t u r n i n d i v i d u a l nu m b er ) s e le c t :— j ; end; fu n c tio n m u t a t i o n ( a l l e l e v a l : a l l e l e ; p m ^ t a t f s h :r e a l; v a r n m u t a t io n :in t e g e r ):a ^ e le ; { M u t a t e a n a l l e l e w / p m u t a t i o n , c o u n t nu m b er o f m u t a t i o n s v a r m u ta te :b o o le a n ; b e g in m u ta te : — f l i p ( p m u t a t i o n ) ; { F l i p th e b ia s e d c o in ) i f m u ta te t h e n b e g i n n m u t a t io n : — n m u t a t io n + 1; m u ta tio n : — n o t a l l e l e v a l ; { C h an g e b i t v a lu e ) end e ls e m u ta tio n :- a l l e l e v a l ; { No c h a n g e ) end;
Wyd. B.6. Operacje genetyczne (plik
trio p s .s g a )
)
[0 ,1 )
;j^ ^
p ro ce d u re
c r o s s o v e r ( v a r p a r e n t l , p a r e n t 2 , c h i l d l , c h ild 2 : c h r o m o s o m e ; v a r lc h r o r o , n c r o s s , n m u t a t i o n , j c r o s s : i n t e g e r ; v a r p c ro s s , p m u t a t io n :r e a l); t C ro ss 2 p a r e n t s C r in g s , p la c e i n 2 c h i l d s t r in g s ) v a r j:in t e g e r ; b e g in i f f l i p ( p c r o s s ) th e n b e g in ( Do c r o s s o v e r w i t h p ( c r o s s ) ) jc r o s s :- r n d (l, lc h r o m - l) ; ( C r o s s b e tw e e n 1 a n d 1 * 1 ) n c ro s s :- n c ro s s + 1; ( In c re m e n t c r o s s o v e r c o u n t e r } end e ls e ( O t h e r w is e s e t c r o s s s i t e t o f o r c e r o u ta tio n
) J c r o s s : » lc h r o m ; { 1 s t ex chang e, 1 to 1 and 2 to 2 } f o r j : - 1 t o j c r o s s do b e g i n c h i l d l [ j ] : - m u t a t i o n ( p a r e n t l [ j } , p m u ta tio n , n m u t a t io n ); c h i l d 2 j j ] : — m u t a t i o n ( p a r e n t 2 ( j ] , p m u ta tio n , n m u t a t io n ); end; { 2 nd e x c h a n g e , 1 t o 2 a n d 2 t o 1 } i'f j c r o s s O l c h r o m t h e n ( S k i p i f c r o s s s i t e i s lc h r o m - - n o c r o s s o v e r f o r j : - j c r o s s + 1 t o lc h r o m do b e g i n c h i l d l [ j ] : - m u t a t i o n ( p a r e n t 2 ( j ] , p m u ta tio n , n m u t a t io n ); c h L l d 2 [ j ] : - m u t a t i o n < p a r e n t l [ j j , p m u ta tio n , n m u t a t io n ); end; end;
)
Wyd. B.6. (cd.) ( g e n e r a te .s g a
)
p ro c e d u re g e n e r a tio n ; ( C r e a t e a new g e n e r a t i o n t h r o u g h s e l e c t , c r o s s o v e r , ( N o t e : g e n e r a t i o n a s s u m e s a n e v e n - n u m b e re d p o p s i^ e v a r j , m a t e l, m ate 2 , j c r o s s : i n t e g e r ; b e g in
and m u ta tio n
) )
J :- 1; re p eat m ate l
:-
{ s e l e c t , c r o s s o v e r , a n d m u t a t i o n u n t i l new p op i s f i l l e d ) s e l e c t ( p o p s i z e , s u m f it n e s s , o ld p o p ); ( p i c k p a i r o f m ate s )
m ate2 : - s e l e c t ( p o p s i z e , s u m f i t n e s s , o l d p o p ) ; { C r o s s o v e r a n d m u t a t i o n - m u t a t i o n em bed ded w i t h i n c r o s s o v e r ) e r o s s o v e r ( o l d p o p [ m a t e l ] . c h r o m , o ld p o p ( m a t e 2 ] . c h r o m , n e w p o p [j j. c h r o m , n e w p o p [j + l j . c h r o m , lc h ro m , n c r o s s , n m u ta tio n , j c r o s s , p c r o s s , p m u t a t io n ) ; { D ecode s t r i n g , e v a l u a t e f i t n e s s , & r e c o r d p a r e n ta g e d a t e o n b o th c h i l d r en } w i t h n e w p o p [j J do b e g i n x :- d e c o d e (c h ro m , lc h r o m ); f it n e s s :- o b jf u n c (x ); p a r e n t l :- m a t e l; p a r e n t 2 :«- m a te 2 ; x s it e :- j c r o s s ; end; w i t h n e w p o p ( J f f l ) do b e g i n x :- d e c o d e (c h ro m , lc h r o m ); f i t n e s s :*» o b j f u n c ( x ) ; p a r e n t l :• m a t e l; p a r e n t 2 : - m a te 2 ; x s it e :~ j c r o s s ; end; ( In c r e m e n t p o p u l a t i o n in d e x ) j :- J + 2; u n t i l j> p o p s iz e end;
Wyd.
B.7. Procedura koordynująca następstwo pokoleń (plik g e n e r a te .s g a )
350 ------------------------------------------------------------------------
B. Program SGA
1. ( u tility .s g a :
c o n ta in s p a u s e , p a g e ,
re p ch a r,
p ro c e d u re p a u s e (p a u s e le n g th :I n t e g e r ) ; ( Pau se a w h ile ) c o n s t m ax p a u se — 2 5 0 0 ; v a r j ,j 1 :in te g e r ; x :r e a l; b e g in f o r j : — 1 t o p a u s e l e n g t h do f o r j l : — 1 t o m a x p a u se do x : — 0 . 0 end; p ro c e d u re p a g e (v a r o u t :t e x t ); ( I s s u e fo r m f e e d t o d e v i c e o r f i l e b e g in w r it e ( o u t , c h r ( 1 2 ) ) en d ;
s k ip ,
pow er
}
+ 1 .0 ;
)
p ro ced u re r e p c h a r (v a r o u t :t e x t ; c h :c h a r ; r e p c o u n t :in t e g e r ); { R e p e a te d ly w r i t e a c h a r a c t e r t o a n o u tp u t d e v ic e ) v a r j:in t e g e r ; b e g in f o r j : — 1 t o re p c o u n t do w r i t e ( o u t , c h ) en d ; p ro ce d u re s k ip ( v a r o u t :t e x t ; s k ip c o u n t :in t e g e r ); ( S k ip s k ip c o u n t l i n e s o n d e v ic e o u t ) v a r j:in t e g e r ; b e g i n f o r j : - 1 t o s k i p c o u n t do w i L t e l n ( o u t ) e n d ; fu n c t io n p o w e r ( x , y : r e a l) : r e a l; { R a is e x to th e y t h pow er ) b e g in po w er :- e x p ( y * l n ( x ) ) e n d ;
Wyd. B.8. Podprogramy wejścia-wyjścia i inne podprogramy pomocnicze (plik utility.sga)
{ r a n d o m .a p b :
c o n t a i n s ra n d o m n u m b e r g e n e r a t o r a n d r e l a t e d u t i l i t i e s i n c l u d i n g a d v a n c e _ r a n d o m , w a rm u p _ ra n d o m , r a n d o m , r a n d o m iz e , f l i p , rn d }
{ G l o b a l v a r i a b l e s - D o n 't u s e t h e s e n a m es i n o t h e r c o d e ) var o l d r a n d : a r r a y [ 1 . . 5 5 ] o f r e a l ; ( A r r a y o f 55 ra n d o m n u m b e r s jr a n d :in t e g e r ; { c u r r e n t 'r a n d o m ) p ro c e d u re a d v a n ce _ra n d o m ; ( C r e a t e n e x t b a t c h o f 55 ra n d o m n u m b e rs ) v a t jl:in t e g e r ; n e w _ ra n d o m : r e a l ; b e g in f o r j l : - 1 t o 24 do b e g in n e w _ra n d o m : — o l d r a n d [ j l ] - o l d r a n d [ j l + 3 1 j ; i f (n e w _ ra n d o m < 0 . 0 ) t h e n n e w _ ra n d o m : — n e w _ ra n d o m + 1 . 0 ; o l d r a n d [ j 1 ] : — n e w _ra n d o m ; end; f o r j l : - 25 t o 55 do b e g in n e w _ra n d o m : - o l d r a n d [ j l J - o l d r a n d [ j l - 2 4 ] ; i f (new __random < 0 . 0 ) t h e n n e w _ ra n d o m : - n e w _ ra n d o m + 1 . 0 ; o l d r a n d ( j l ) : — n e w _ ra n d o m ; end; end;
Wyd. B.9. Podprogramy generatora liczb pseudolosowych (plik
r a n d o m .a b p )
)
B. Program SGA
351
p ro c e d u re w a rm u p _ r a n d o m (r a n d o m _ s e e d :r e a l); ( G e t rando m o f f a n d r u n n i n ) var jl,ii:in te g e r ; new __random , p re v _ _ ra n d o m : r e a l ; b e g in o l d r a n d [ 5 5 } : — ra n d o m _ s e e d ; n e w _ra n d o m : - 1 .0 e > 9 ; pre v__ra n d o m : - ra n d o m _ s,e e d ; f o r j l : - l t o 54 do b e g in i i : - 2 1 * j l mod 5 5 ; o l d r a n d ( i i ] : - n e w _ ra n d o m ; new__random : — p r e v _ r a n d o m ' - new__random ; i f (new __random < 0 . 0 ) t h e n n e w _ ra n d o m :- n e w _ ra n d o m + 1 .0 ; p r e v _ r a n d o m :- o ld r a n d (ii] end; a d va n ce _ran d o m ; jr a n d :- 0 ; end;
a d v a n ce _ra n d o m ; a d v a n ce _ra n d o m ;
f u n c t io n r a n d o m :r e a l; { F e t c h a s i n g l e ra n d o m n u m b e r b e t w e e n 0 . 0 { S e e K n u t h , D. ( 1 9 6 9 ) , v . 2 f o r d e t a i l s b e g in jr a n d : — jr a n d + 1; i f ( jr a n d > 5 5) th e n b e g i n j r a n d : - l ; a d va n ce _ _ ra n d o m e n d ; random : — o l d r a n d [ j r a n d ] ; end;
a n d 1 .0
- S u b tr a c tiv e
M e th o d
f u n c tio n f l i p ( p r o b a b i l it y : r e a l ) : b o o le a n ; { F l i p a b ia s e d c o in - tr u e i f head s ) b e g in if
p r o b a b i l i t y - 1 .0 th e n f l i p :- tr u e e ls e f l i p : — (ra n d o m <— p r o b a b i l i t y ) ;
end; f u n c tio n r n d (lo w , h ig h : in t e g e r ) : in t e g e r ; { P i c k a ra n d o m i n t e g e r b e t w e e n lo w a n d h i g h } v a r i:in t e g e r ; b e g in i f lo w >— h i g h t h e n i : — lo w e l s e b e g in i : — t r u n c ( ra n d o m * ( h ig h - lo w + 1 ) + l o w ) ; i f i > h ig h th e n i :- h ig h ; end; rn d : — i ; end; p r o c e d u r e r a n d o m iz e ; { G e t s e e d num ber f o r v a r r a n d o m s e e d :r e a l; b e g in re p e a t
ra n d o m a n d s t a r t
it
up
w r i t e ( ' E n t e r s e e d ra n d o m n u m b e r ( 0 . 0 . . 1 . 0 ) u n t i l (ra n d o m s e e d > 0 ) a n d ( r a n d o r a s e e d < 1 .0 ); w a r m u p _ r a n d o m (r a n d o m s e e d ); end;
Wyd. B.9. (cd.)
}
> ') ;
r e a d ln (r a n d o m s e e d );
) )
Dodatek
C
Program SCS
Zamieszczamy niżej pełny tekst programu SCS, będącego implementacją uproszczonego systemu klasyfikującego w języku Pascal. Tekst źródłowy został podzielony między piętnaście plików (wyd. C.l-C.15): scs.pas declare.scs initial.scs detector.scs report.scs timekeep.scs environ.scs perform.scs aoc.scs eJfector.scs reinforc.scs advance.scs ga.scs utility.scs io.scs
program główny definicje i deklaracje globalne inicjalizacja detektory środowiska raporty o stanie systemu symulacja upływu czasu i koordynacja zdarzeń środowisko dla zadania emulacji multipleksera (6 linii) układ przetwarzania komunikatów układ oceniający efektory procedury wzmacniające aktualizacja rejestru izby rozrachunkowej algorytm genetyczny (reprqduk^j'a, krzyżowanie, mutacja, meto da ścisku) podprogramy pomocnicze wejście-wyjście
Program SCS wymaga także dołączenia podprogramów generatora liczb pseudolosowych (plik ramlom.apb) zamieszczonych w dodatku B. Podczas iniejalizacji programu użytkownik musi podać nazwy zewnętrzne pięciu następujących plików:
C. Program SCS
cfile efiLe rfile tfile gfile
353
dane o klasyfikatorach dane o środowisku dane opisujące wzmocnienie dane .o zależnościach czasowych danedlaalgorytmugenetycznego
Przykładowe zawartości powyższych plików zostaly zamieszczone na końcu doidatku (wyd. C.16-C.22). Użytkownik musi ponadto podać nazwy zewnętrzne dwóch plików (urządzeń) wyjściowych: rep pfile
plik (urządzenie) przeznaczone dla raportów plik (urządzenie) przeznaczone dla tabel
Raporty drukowane zostają wyslane na urządzenie rep, natomiast sumaryczne staJtystyki - na urządzenie pfile.
p ro g ra m ( SC S ( (C ) { {$ I ($ 1 {$ I {$ I . {$ I {$ I t$ l ($ 1 ($ 1 {$ I ($ 1 ( $X ($ 1 ($ 1 {$ I
scs; A S im p le C l a s s i f l e r S y s te m ) D a v i d E . G o l d b e r g , 1987 ) A l l R ig h t s R e s e rv e d )
d e c la r e .s c s r a n d o m .a p b } io .s c s } u tillty .s c s e n v i r 0n . s c 9 d e te c to r.s c s p e rfo rm .s c s a o c .s c s ) e f fe c to r .s c s r e in fo r c .s c s t lm e k e e p .s c s advance. scs g a .s c s } re p o rt.s c s ) ln it ia l.s c s
)
) } ) ) ) ) } }
}
|Wyd. C.1. Program główny SCS (plik scs.pas)
b e g i n ( r a a ln ) In itia liz a tio n ; d e t e c t o r s ( e n v i r o n r e c , d e t e c t r e c , e n v m e s s a g e ); re p o rt< re p ); w i t h t i m e k e e p r e c do r e p e a t t im e k e e p e r (tim e k e e p r e c ); e n v lr o n m e n t (e n v ir o n r e c ); d e t e c t o r s ( e n v i r o n r e c , d e t e c t r e c , e n v m e s s a g e ); m a t c h c la s s if le r s (p o p u la t io n , en vm essag e, r a a t c h l i s t ) ; a o c (p o p u la tio n , m a t c h lis t , c le a r in g r e c ) ; e f fe c t o r (p o p u la t io n , c le a r in g r e c , e n v ir o n r e c ); r e in f o r c e m e n t(r e in fo r c e m e n t r e c , p o p u la tio n , c le a r in g r e c , e n v ir o n r e c ); i f r e p o r t f la g th e n r e p o r t ( r e p ) ; i f c o n s o le r e p o r t f la g th e n c o n s o le r e p o r t (r e in f o r c e m e n t r e c ); i f p l o t r e p o r t f l a g th e n p l o t r e p o r t ( p f i l e , r e in f o r c e m e n t r e c ); a d v a n c e (c le a r in g r e c ); i f g a f la g th e n b e g in g a (g a re c , p o p u la t io n ); i f r e p o r t f la g th e n r e p o r tg a (r e p , g a re c , p o p u la tio n ); end; u n t il h a lt; r e p o r t(r e p ); ( f in a l re p o rt ) c l o s e ( p f i l e ) ; ( c lo s e p lo t f i l e ) end.
Wyd. C.1. (cd.)
( d e c la r e .s c s :
d e c la r a tio n s
fo r
scs
)
const
m a x p o s itio n m a x c la s s w ild c a r d
— 50; - 100; - -1;
ty p e
b it tr it a c tio n c o n d itio n m essage c la s s t y p e
0 ,.1 ; { a b in a r y d i g it ) ( a te r n a r y d i g it ; 0-0; 1 - 1 ; - l- # ) b it; ( a b in a r a y d e c is io n ) a r r a y [l..m a x p o s itio n ] o f t r i t ; a r r a y [l..m a x p o s itio n ] o f b it ; re co rd c :c o n d it io n ; a ;a c tio n ; .s tre n g th , b id , e b id :r e a l; m a t c h f la g :b o o le a n ; ■ s p e c if ic it y :in t e g e r ; end; a r r a y [ l.. m a x c la s s ) o f c la s s t y p e ; re co rd c l i s t : a r r a y [ l . . m a x c l a s s ] o f In t e g e r ; n a c t iv e : In te g e r end; re c o rd £ c l a s s i f i e r : c la s s a V r a n c la s s i f ie r , n p o s it io n :in t e g e r ; ' p g e n e r a l, c b id , b id s ig in a , b id t a x , l i f e t a x , b i d l , b id 2 , e b i d l , e b id 2 , s u m s tr e n g th , m a x s tr e n g th , a v g s t r e n g t h , m in s t r e n g t h :r e a l
c la s s a r r a y c la s s lis t
p o p ty p c
-1..1 ;
end; var
p o p u la tio n :p o p t y p e ; m a t c h lis t :c la s s lis t ; e n v m e s s a g e :m e s s a g e ; r e p :te x t;
{ p o p u la tio n o f c l a s s i f i e r s { who m a t c h e d ) { e n v ir o n m e n t a lm essage } 1r e p o r t d e v i c e / f l l e )
Wyd. C.2. Definicje i deklaracje globalne (plik
d e c la re .s c s )
)
C. Program SCS
(
355
in it ia l.s c s :
in it ia liz a t io n
c o o r d in a t io n
}
p ro ce d u re in it r e p h e a d e r ( v a r r e p : t e x t ) ; { w r it e a h e ad e r to s p e c if ie d f ile / d e v . } b e g in w r l t e l n ( r e p , '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' ) ; w w w w
r ite ln r ite ln r ite ln r lte ln
(re p ,' A S im p le C l a s s i f i e r S y s te m - S C S ') ; (re p ,' '
.w r it e ln (r e p ); w r it e ln ( r e p ) ; end; p ro ce d u re in t e r a c t iv e h e a d e r ; { c le a r s c r e e n and p r i n t i n t e r a c t i v e b e g in c lr s c r ; in it r e p h e a d e r ( co n ) end; p ro ce d u re I n i t i a l i z a t i o n ; { c o o r d in a te in p u t and i n i t i a l i z a t i o n b e g in in t e r a c t iv e h e a d e r ; ( rando m nu m b er & n o r m a l i n i t . } r a n d o m iz e ; i n i t r a n d o m n o r m a l d e v i a t e ; ( file / d e v ic e i n i t . }
header
}
}
o p e n _ in p u t (c f ile , in t e r a c t iv e , ' c la s s ifie r ', o p e n _ in p u t (e f ile , i n t e r a c t i v e , ' e n v ir o n m e n t ', o p e n _ in p u t(r file , i n t e r a c t i v e , ' r e in fo r c e m e n t ', o p e n _ _ in p u t(tflle , in te r a c tiv e , ' tim e k e e p e r ', o p e n _ in p u t (g f ile , i n t e r a c t i v e , 'g e n . a l g o r i t h m ', o p e n _ o u tp u t( rep , in te r a c tiv e , ' re p o rt ', o p e n _ o u tp u t(p file , in te r a c tiv e , ' p lo t f i l e ', { segm ent i n i t i a l i z a t i o n ; c l a s s . , o b j . , d e t . , a o c , , in it r e p h e a d e r (r e p ); i n i t c l a s s i f i e r s ( c f i l e , p o p u la tio n ); in it r e p c la s s if ie r s ( r e p , p o p u la tio n ); in it e n v ir o n r a e n t (e file , e n v ir o n r e c ); in it r e p e n v ir o n m e n t (r e p , e n v ir o n r e c ) ; in it d e t e c t o r s (e f ile , d e te c tr e c ); in it r e p d e t e c t o r s (r e p , d e t e c t r e c ) ; in it a o c (c le a r in g r e c ); in it r e p a o c (r e p , c le a r in g r e c ) ; in it r e in f o r c e m e n t ( r f ile , r e in fo r c e r a e n tr e c ); in it r e p r e in fo r c e m e n t (r e p , r e in f o r c e m e n t r e c ); in i t t i m e k e e p e r ( t f il e , t im e k e e p r e c ); in it r e p t im e k e e p e r ( r e p , t im e k e e p r e c ); i n i t g a ( g f i l e , g a re c , p o p u la tio n ); in it r e p g a (r e p , g a r e c ); end;
Wyd. C.3. Podprogramy inicjalizacji (pIik initial.scs)
fn ); fn ); fn ); fn ); fn ); fn ); fn ); r e in f .,
tira e k e e p .,
ga
}
356 ._________ —
__________________________________________ __ _-..... - C. Program SCS
L { d e te c to r.s c s :
c o n v e r t e n v ir o n m e n t a l s t a t e s
{ d e te c to r d a ta
d e c la r a tio n s
ty p e
d re co rd - re c o rd end; {
v a r d e te c tre c :d re c o rd ;
to
en v.
m essage
}
)
F o r t h i s p r o b le m , no d e t e c t o r r o c o r d . i s r e q u ir e d . N o r m a lly , th e d e t e c t o r r e c o r d c o n t a i n s i n f o r m a t i o n f o r m a p p in g e n v i r o n m e n t a l s t a t e v a r i a b l e s t o th e e n v ir o n m e n t a l b it - s t r in g . {
dummy d e t e c t o r
re co rd
)
)
p ro ce d u re d e t e c t o r s ( v a r e n v ir o n r e c ;e r e c o r d ; v a r d e t e c t r e c :d r e c o r d ; v a r e n v m e s s a g e :m e s s a g e ); { c o n v e r t e n v ir o n m e n t a l s t a t e to e n v . m essage ) b e g in w i t h e n v i r o n r e c do { p l a c e s i g n a l m e s s a g e i n e n v . m e s s a g e } en vm essag e :- s i g n a l end; p r o c e d u r e w r i t e m e s s a g e ( v a r r e p : t e x t ; v a r m e s s :m e s s a g c ; { w r i t e a m essage i n b i t - r e v e r s e o r d e r ) va r j:in te g e r ; b e g in f o r j : - lm e s s a g e d o w n to w r i t e ( r e p , m e s s [ j 1:1 ) end;
1 do
lm e s s a g e :in t e g e r );
»
p ro ce d u re
r e p o r t d e t e c t o r s ( v a r r e p : t e x t ; v a r e n v m e s s a g e :m e s s a g e ; n p o s it io n :in t e g e r ); o u t e n v ir o n m e n t a l m essage }
{ w r ite b e g in w r ito ln (r e p ); w r i t e ( r e p , 'E n v i r o n m e n t a l m e s s a g e : ') ; w rite m e s s a g e (r e p , e n vm e s sa g e , n p o s i t i o n ) ; w r ite ln (r e p ); end; p ro ce d u re i n it d e t e c t o r s ( v a r e f i l e : t c x t ; ( dummy d e t e c t o r i n i t i a l i z a t i o n ) b e g in e n d ; p ro ce d u re in it r e p d e t e c t o r s (v a r r e p :t e x t ; ( dummy i n i t i a l d e t e c t o r s r e p o r t ) b e g in e n d ;
var
d e te c tr e c :d r e c o r d );
var
d e te c tr e c :d r e c o r d );
Wyd. C.4. Implementacja detektorów środowiska (plik detector.scs) ( r e p o rt.s c s :
r e p o r t c o o r d in a t io n
( re p o rt d e c la r a tio n s } v a r p f ile :t e x t ; ( p lo t f i l o
r o u t in e s
)
)
p ro ce d u re r e p o r th e a d e r (v a r r e p :t e x t ) ; ( sen d r e p o r t h e a d e r to s p e c i f i e d f i i e / d e v . b e g in p a g e (re p ); w r i t e l n ( r e p , 'S n a p s h o t R e p o r t ' ) ; w r i t e l n ( r e p , ' ------- ----------- ' ) ; w r ite ln (r e p ); end;
)
Wyd. C.5. Procedura koordynująca drukowanie raportów i podprogramy sporządzające raporty (plik report.scś)
t0 .
Program SCS
357
p ro ce d u re r c p o r t ( v a r r e p :t e x t ) ; { r e p o r t c o o r d in a t io n r o u t in e } b e g in re p o rth e a d e r< re p ); r e p o r t t lm e (r e p , tim e k e e p r e c ); r e p o r te n v ir o n m e n t(r e p , e n v ir o n r e c ) ; * r e p o r t d e t c c t o r s (r e p , en vm essag e, p o p u la t io n .n p o s it io n ) ; r e p o r t c la s s if ie r s ( r e p , p o p u la tio n ); re p o rta o c (re p , c lb a r ln g r e c ); r e p o r tr o in fo r c e m e n t(r e p , r e in f o r c e m e n t r e c ); end; p ro c e d u re c o n s o le r e p o r t (v a r r e in f o r c e m e n t r e c :r r o c o r d ); { w r i t e c o n s o le r e p o r t ) b e g in w it h r e in f o r c e m e n t r e c do b e g in c l r s c r ; { c le a r th e s c re e n ) w r i t e l n ( ' 1----------------------------------- | ' ) ; w r ite ln (' I t e r a t i o n — ', t o t a l c o u n t : 8 : 0 ) ; w r ite ln (' P c o r r e c t — ', p r o p o r t io n r e w a r d : 8 : 6 ) ; w r ite ln (' P50 c o r r e c t — ', p r o p o r t io n r e w a r d 5 0 :8 : 6 ) ; w r i t e l n ( ' j - ----- --------------- ------------ | ' ) ; end en d ; p ro ce d u re p lo t r e p o r t ( v a r p f i l e : t e x t ; v a r r e in f o r c e m e n t r e c :r r e c o r d ); { w r ite p lo t r e p o rt to p f i l e } b e g in w i t h r e in f o r c e m e n t r e c do b e g in w r i t e l n ( p f l l e , t o c a l c o u n t : 8 : 0 , ' ' , p r o p o r t io n r e w a r d :8 :6 ,* ' , p r o p o r tio n r e w a r d 5 0 :8 :6 ); end en d;
Wyd. C.5. (cd.)
1
(
tim e k e e p .s c s :
tim e k e e p e r r o u t i n e s
( d a ta d e c la r a t io n s ) c o n s t i t e r a t i o n s p e r b l o c k - 10000;
)
( 10000 i t e r a t i o n s
p e r b lo c k
)
ty p e
tre c o rd — re c o rd ( tim e k e e p e r r e c o r d t y p e ) i n i t i a l i t e r a t i o n , i n i t i a l b l o c k , i t e r a t i o n , b lo c k , r e p o r t p e r io d , g a p e r io d , c o n s o le r e p o r t p e r io d , p lo t r e p o r t p e r io d , n e x t p lo t r e p o r t , n e x tc o n s o le r e p o r t, n e x tr e p o r t, n e x tg a : in t e g e r ; r e p o r t f la g , g a f la g , c o n s o le r e p o r t f la g , p lo t r e p o r t f la g :b o o le a n end;
var
tim e k e e p r e c : t r e c o r d ; t f i l e : te x t;
fu n c tio n a d d tim e (t, d t ; ln t e g e r ; v a r c a r r y f la g : b o o le a n ) : in t e g e r ; { in c r e m e n t i t e r a t i o n s c o u n t e r an d s e t c a r r y f l a g i f n e c e s s a r y ) v a r te m p a d d :ln t e g e r ; b e g in tem p ad d : - t + d t ; c a r r y f l a g : - (te m p a d d >- i t e r a t i o n s p e r b l o c k ) ; i£ c a r r y f l a g th e n tem p a d d : — tem p a d d mod i t e r a t i o n s p e r b l o c k ; a d d tim e : — tem p a d d end;
Wyd. C.6. Podprogramy do symulacji uplywu czasu i koordynacji zdarzeń (plik
tim e k e e p .s c s )
C. Program SC§|
358
p ro c e d u re in it t lm e k e e p e r ( v a r t f i l e : t e x t ; v a r tim e k e e p r e c : t r e c o r d ) ; ( i n i t i a l i z e tim e k e e p e r ) v a r d u m m y f la g : b o o le a n ; b e g i n w i t h t i m e k e e p r e c do b e g i n i t e r a t i o n :- 0 ; b lo c k ;- 0; r e a d ln (t f ile , in it ia lit e r a t io n ) ; r e a d ln (t f ile , in it ia lb lo c k ); r e a d l n ( t f il e , r e p o r tp e r io d ); r e a d l n ( t f i l e , c o n s o le r e p o r t p e r io d ); r e a d l n ( t f i l e , p lo t r e p o r t p e r io d ); r e a d l n ( t f i l e , g a p e r io d ); it e r a t io n :— i n i t i a li t e r a t i o n ; b lo c k :- i n i t i a l b l o c k ; n e x t g a : - a d d t i m e ( i t e r a t i o n , g a p e r i o d , d u m m y f la g ); n e x t r e p o r t : - a d d t i m e ( i t e r a t i o n , r e p o r t p e r i o d , d u m m y f la g ); n e x t c o n s o l e r e p o r t : - a d d t i m e ( i t e r a t i o n , c o n s o l e r e p o r t p e r i o d , d u m m y f la g ); n e x t p l o t r e p o r t : - a d d t i m e ( i t e r a t i o n , p l o t r e p o r t p e r i o d , d u m m y f la g ); end en d; p ro ce d u re in it r e p t im e k e e p e r (v a r r e p :t e x t ; { i n i t i a l tim e k e e p e r r e p o r t } b e g i n w i t h t i m e k e e p r e c do b e g i n w r ite ln (r e p ); w r i t e l n ( r e p , 'T i m e k e e p e r P a r a m e t e r s ' ) ; w r i t e l n ( r e p , ' .............- ................................. ' ) ; w w w w w w end
r ite ln (r e p , r ite ln (r e p , r ite ln (r e p , r ite ln (r e p , r ite ln (r e p , r ite ln (r e p , end;
var
'I n i t i a l ite r a tio n 'I n i t i a lb lo c k 'R e p o r t p e r i o d 'C o n s o l e r e p o r t p e r i o d — 'P l o t r e p o r t p e r io d 'G e n e t ic a lg o r it h m p e r io d -
', ', ', ', ', ',
tim e k e e p r e c :t r e c o r d );
In itia lite r a tio n :8 ); in it ia lb lo c k :8 ); r e p o r t p e r Io d :8 ); c o n s o le r e p o r t p e r io d :8 ); p lo t r e p o r t p e r io d :8 ); g a p e r io d :8 );
p ro c e d u re tim e k e e p e r (v a r t im e k e e p r e c :t r e c o r d ) ; ( k e e p t im e a n d s e t f l a g s f o r t i m e - d r i v e n e v e n t s } v a r c a r r y f l a g , d u m m y f la g : b o o le a n ; b e g i n w i t h t i m e k e e p r e c do b e g i n i t e r a t i o n :- a d d t im e (it e r a t io n , 1, c a r r y f l a g ) ; i f c a r r y f l a g th e n b lo c k :- b lo c k + 1; r e p o r t f la g :- (n e x t r e p o r t - i t e r a t i o n ) ; i f r e p o r t f la g th e n ( r e s e t ) n e x t r e p d r t : — a d d t i m e ( i t e r a t i o n , r e p o r t p e r i o d , d u m m y f la g ); c o n s o le r e p o r t f la g :- (n e x tc o n s o le r e p o r t - i t e r a t i o n ) ; i f c o n s o le r e p o r t f la g t h e n n e x t c o n s o l e r e p o r t : — a d d t i m e ( i t e r a t i o n , c o n s o l e r e p o r t p e r i o d , d u m m y f la g ); p lo t r e p o r t f la g ;- (n e x t p lo t r e p o r t - i t e r a t i o n ) ; i f p l o t r e p o r t f l a g th e n n e x t p l o t r e p o r t : - a d d t i m e ( i t e r a t i o n , p l o t r e p o r t p e r i o d , d u m m y f la g ); g a f la g :- (n e x tg a ~ i t e r a t i o n ) ; i f g a f l a g t h e n n e x t g a : - a d d t i m e ( i t e r a t i o n , < ^ a p e r i o d , d u m m y f la g ); end e n d ; i -g p ro ce d u re r e p o r t t im e (v a r r e p :t e x t ; v a r tim e k e e p r e c :t r e c o r d ); ( p r i n t o u t b l o c k a n d i t e r a t i o n nu m b er ) b e g i n w i t h t im e k e e p r e c do w r ite ln (r e p , ' [ B lo c k :It e r a t io n ] [ ', b l o c k , ': ', i t e r a t i o n , ' end;
Wyd. C.6. (cd.)
}');
( environ.scs: multiplexer environment ) ( e n v ir o n m e n t d e c l a r a t i o n s ) ty p e e re co rd ^ re co rd la d d r e s s , ld a t a , ls ig n a l, a d d re ss, c la s s if ie r o u t p u t :In t e g e r ; s ig n a l:m essage; end; var
o u tp u t,
e n v ir o n r e c :e r e c o r d ; e f ile :t e x t ;
p ro ce d u re g e n e r a t e s ig n a l(v a r e n v ir o n r e c :e r e c o r d ); ( g e n e r a t e rand o m s i g n a l ) v a r j : in te g e r ; b e g i n w i t h e n v i r o n r e c do f o r j : - 1 t o l s i g n a l do i f f lip < 0 . 5 ) th e n s i g n a l [ j ] :- 1 e l s e s i g n a l [ j ] :- 0 en d ; f u n c t i o n d e c o d e ( v a r m e s s :m e s s a g o ; s t a r t , l e n g t h : i n t e g e r ) : i n t e g c r ; | d e c o d e s u b s t r i n g a s u n s ig n e d b i n a r y i n t e g e r ) v a r j , accu m , p o w e r o f 2 : in t e g e r ; b e g in accum : - 0 ; p o w e r o f 2 : — 1 ; f o r j :~ s t a r t t o s t a r t + l e n g t h - 1 do b e g i n accu m : - accu m + p o w e r o f 2 * m e s s ( j ) ; p o w e ro f2 : - p o w e r o f 2 * 2 ; end; d e c o d e : - accu m end;
p ro ce d u re m u lt ip le x e r o u t p u t ( v a r e n v ir o n r e c : e r e c o r d ) ; ( c a lc u la t e c o r r e c t m u lt ip le x e r o u tp u t ) v a r j : in te g e r ; b e g i n w i t h e n v i r o n r e c do b e g i n ( d ecod e th e a d d re s s ) a d d r e s s :«• d e c o d e ( s i g n a l , l , l a d d r e s s ) ; ( s e t th e o u tp u t ) o u tp u t : — s ig n a l( la d d r e s s + a d d re s s + 1] en d e n d ; p ro c e d u re e n v ir o n m e n t (v a r e n v ir o n r e c : e r e c o r d ) ; { c o o r d in a te m u lt ip le x e r c a l c u l a t i o n s ) b e g in g e n e r a t e s ig n a l(e n v ir o n r e c ); m u lt ip le x e r o u t p u t (4 n v ir o n r e c ); end;
p ro ce d u re ln lt e n v ir o n m e n t (v n r e f i . l e : t e x t ; v n r e n v ir o n r e c :c r e c o r d ) ; { I n i t i a l i z e th e m u l t i p l e x e r e n v ir o n c m e n t ) v a r j : in te g e r ; b e g i n w i t h e n v i r o n r e c do b e g i n r e a d ln (e f ile , ln d d re s s ); { r e a d nu m b er o f a d d r e s s l i n e s ) ld a ta :— r o u n d (p o w e r i(2 .0 , l a d d r c s s ) ) ; ( c a l c u l a t e num ber o f d a ta ls ig n a l :la d d r c s s + ld a t a ; { c a lc u la t e le n g th o f s ig n a l ) a d d re ss :«• 0; { z e ro o u t m u lt ip le x e r ) o u tp u t :~ 0 ; c L a s s lfio r o u U p u t :- 0; f o r j :en d e n d ;
W y d . C .7 .
1 to
ls ig n a l
do s i g n a l ( j )
:- 0;
Symulator środowiska dla zadania emulacji multipleksera z 6 liniami wejściowymi (plik e n v iro n .s c s )
lin e s )
360
C. Program SCS
i. p ro ce d u re ln lt r e p e n v ir o n m e n t (v a r r e p : t e x t ; v a r e n v ir o n r e c :e r e c o r d ) ; { w r lt o i n i t i a l e n v ir o n m e n t a l r e p o r t ) b e g i n w i t h e n v i r o n r e c do b e g i n w r ite ln (r e p ); w r i t e l n ( r e p , 'E n v i r o n m e n t a l P a r a m e t e r s ( M u l t i p l e x e r ) ' ) ; w r i t e l n ( r e p , ' ........................... - - - - — - — ------ ----------- -' ) ; w r it e ln (r e p , 'N u m b e r o f a d d r e s s l i n e s - ' , la d d r e s s :8 ); w r ite ln (r e p , 'N u m b e r o f d a t a l i n e s - ', ld a ta :8 ); w r ite ln (r e p , 'T o t a l num ber o f l i n e s - ', ls ig n a l:8 ); end en d ;
p r o c e d u r e w r i t e s i g n a l ( v a r r e p : t e x t ; v a ,r s i g n a l : m e s s a g e ; ( w r ite a s ig n a l in b it- r e v e r s e o rd e r ) v a r j : in te g e r ; b e g in f o r j : - l s i g n a l d o w n to 1 do w r i t e ( r e p , s i g n a l { j 1:1 ) end;
ls ig n a l:in te g e r );
p ro ce d u re r e p o r te n v ir o n m e n t(v a r r e p : t e x t ; v a r e n v ir o n r e c : e r e c o r d ) ; { w r it e c u r r e n t m u ltip le x e r ln f o \ b e g in w it h e n v ir o n r c c do b e g in w r ite ln (r e p ); w r i t e l n ( r e p , 'C u r r e n t M u lt ip le x e r S t a t u s ') ; w r i t e l n ( r e p , ' — -------------------- u ------- ' ) ; w r it e ( r e p , 'S ig n a l — ') ; w r ite s ig n a l(r e p ,s ig n a l,ls ig n a l); w r it e ln (r e p ); w r it e ln ( r e p , 'D e c o d e d a d d r e s s — ' , a d d r e s s :8 ); w r it e ln ( r e p , 'M u lt ip le x e r o u t p u t ' , o u tp u t :8 ); w r lte ln (r e p ,* C la s s lfle r o u tp u t ', c la s s ifie r o u tp u t:8 ); end en d ;
Wyd. C.7. (cd.) ( p e rfo ro u s c s :
p e rfo rm a n c e s y s te m
- c la s s ifie r
( p e rfo rm a n c e d e c l a r a t i o n s - m ost a r e va r c f ile :t e x t ; ( c la s s ifie r f ile }
in
m a t c h in g
d e c la r e .s c s
f u n c t io n r a n d o m c h a r (p g e n e r a l: r e a ^ ) : in t e g e r ; { s e t p o s i t i o n a t rando m w i t h s p e c i f i e d g e n e r a l i t y b e g in i f f l l p ( p g e n e r a l ) th e n ran d o m ch ar : — w ild c a r d e l s e i f f l i p ( 0 . 5 ) th e n ra n d o m c h a r :- 1 o l s e r a n d o m c h a r :~ 0 end;
)
)
p r o b a b ilit y
p ro ce d u re
)
r e a d c o n d it io n ( v a r c f i l e : t e x t ; v a r c : c o n d it i o n ; v a r p g e n e r a l:r e a l; v a r n p o s it io n :ln t o g o r ); ( re a d a s in g le c o n d itio n ) v a r c h :c h a r ; j : i n t e g e r ; b o g ln f o r J : — n p o s i t i o n d o w n to 1 do b e g i n r e a d ( c f lle , c h ); case ch o f :0; '0 ': c [ j ] 'l ': c f j ] :1; : — w ild c a r d ; '# ': c ( j ) : — ra n d o m c h a r (p g e tie r a l); 'R ': c [ j ) end end end;
W yd. C.8. Podprogramy układu przetwarzania komunikatów (plik
p e rfo rm .s e s)
p ro ce d u re
r e a d c la s s lf ie r (v a r
c f l le : t e x t ; v a r c la s s :c la s s ty p e ; p g e n e r a l:r e a l; n p o s it io n :in t e g e r );
( re a d a s in g le c l a s s i f i e r } v a r c h :c h a r ; b e g i n w i t h c l a s s do b e g i n r e a d c o n d it io n ( c f lle , c , p g e n e r a l,n p o s it io n ); r e a d (c f ile ,c h ); r e a d {c f ile , a ); r e a d ln (c f ile , s tre n g th ); b i d : - 0 .0 ; c ^ i d : - 0 .0 ; m a t c h f la g : - f a l s e end en d ;
( ( { ( (
read condtion ) read ":" & ignore } read action, a single trlt ) read strength ) initialization )
fu n c tio n c o u n t s p e c if ic it y ( v a r c :c o n d it io n ; n p o s it io n :in t e g e r ) :in t e g e r ; { co u n t c o n d itio n s p e c i f i c i t y ) v a r te m p : i n t e g e r ; b e g in terap : - 0 ; w h ile n p o s it io n >- 1 do b e g in i f c [ n p o s i t i o n J O w i l d c a r d t h e n tem p : — tem p + 1 ; n p o s it io n : — n p o s it io n - 1; end; c o u n t s p e c i f i c i t y : - te m p ; end; p ro ce d u re i n i t c l a s s i f i e r s ( v a r c f i l e : t e x t ; v a r p o p u la tio n :p o p t y p e ); { in it ia liz e c la s s ifie r s ) v a r j : in te g e r ; b e g i n w i t h p o p u l a t i o n do b e g i n r e a d ln (c f ile ,n p o s it io n ); r e a d ln (c f ile ,n c la s s ifie r ); r e a d ln (c f ile ,p g e n e r a l); r e a d ln ( c f ile ,c b ld ); r e a d ln (c f ile ,b ld s ig m a ); r e a d ln (c f ile ,b ld t a x ); r e a d ln (c f ile ,lif e t a x ); r e a d ln (c f ile , b i d l ) ; r e a d ln (c f ile ,b id 2 ); r e a d ln (c f ile ,e b id l); r e a d ln < c f ile ,e b id 2 ); f o r j : - 1 t o n c l a s s i f i e r do b e g i n r e a d c l a s s i f i e r ( c f i l e , c l a s s i f i e r [ j ] , p g e n e r a l, n p o s i t i o n ) ; w i t h c l a s s i f i e r ( j ] do s p e c i f i c i t y : - c o u n t s p e c i f i c l t y ( c , n p o s i t i o n ) ; end; end en d ; p ro ce d u re i n i t r e p c l a s s i f i e r s ( v a r r e p :t e x t ; ( I n i t i a l r e p o r t on p o p u la t io n p a ra m e te rs b e g i n w i t h p o p u l a t i o n do b e g i n w r ite ln (r e p ); w r i t e l n ( r e p , 'P o p u l a t i o n P a r a m e t e r s ' ) ; w r i t e l n ( r e p , ' ...................... - ....................... ' ) ; w r i t e l n ( r e p , 'N u m b e r o f c l a s s i f i e r s — w r i t e l n ( r e p , 'N u m b e r o f p o s it io n s w r it e ln ( r e p , 'B id c o e f f ic ie n t — w r i t e l n ( r e p , 'B id sp re a d w r i t e l n ( r e p , 'B id d i n g ta x w r i t e l n ( r e p , 'E x i s t e n c e ta x ~ w r it e ln ( r e p , 'G e n e r a lit y p r o b a b ilit y w r it e ln ( r e p , 'B id s p e c i f i c i t y b a s e w r i t e l n ( r e p , 'B i d s p e c i f i c i t y m u lt. w r it e ln ( r e p , 'E b id s p e c i f i c i t y b a se w r i t e l n ( r e p , 'E b i d s p e c i f i c i t y m u lt. —
P y d . C.8. (ccl.)
v a r p o p u la tio n ;p o p t y p e );
)
' ,n c la s s ifie r :8 ); ' ,n p o s itio n :8 ); ' ,c b id :8 :A ); ' ,b id s ig m a :8 :4 ); ' ,b id t a x :8 :4 ); ' ,llf e t a x :8 :4 ); ' ,p g e n e r a l:8 :4 ); ' ,b id l:8 :4 ); ', b i d 2 : 8 : 4 ) ; ' ,e b id l:8 :4 ); ', e b i d 2 : 8 : 4 ) ;
C. Program SGS|
362
p ro ce d u re w r lt e c o n d it io n (v a r r e p :t e x t ; v a r c :c o n d it io n ; n p o s it io n :in t e g e r ); { c o n v e r t i n t e r n a l c o n d it io n fo r m a t t o e x t e r n a l fo rra a t and w r i t e to f i l e / d e v . v a r j:in te g e r ; b e g in f o r j : — n p o s i t i o n d o w n to 1 do case c ( j ] o f 1: w r i t e ( r e p , '1 ') ; 0: w ild c a r d : end end;
w r i t e ( r e p , '0 ') ; w r i t e ( r e p , '# ') ;
p ro ce d u re w r i t e c l a s s i f i e r ( v a r
r e p :te x t; c la s s :c la s s ty p e ; n u m b e r ,n p o s it io n :in t e g e r ) ;
( w r it e a s in g le c l a s s i f i e r ) b e g i n w i t h c l a s s do b e g i n * w r i t e ( r e p , n u m b e r:5 ,' ', s t r e n g t h : 8 : 2 , ' ', b i d : 8 : 2 , ' ', e b i d : 8 : 2 ) ; i f m a t c h f la g th e n w r l t e ( r e p , ' X ' ) e l s e w r i t e ( r e p , ' ') ; w r ite c o n d itio n (r e p , c , n p o s itio n ); w r i t e l n ( r e p , ' : ' , *[ ' , a , ' j ' ) end e n d ; p ro ce d u re r e p o r t c la s s i f ie r s ( v a r r e p :t e x t ; { g e n e ra te c l a s s i f i e r s r e p o r t ) ' v a r j : in t e g e r ; b e g i n w i t h p o p u l a t i o n do b e g i n w r ite ln (r e p );
v a r p 6 p u la tio n :p o p t y p e );
w r i t e l n ( r e p , 'N o . S tre n g th b id e b id M C la s s ifie r ' ) i w r i t e l n ( r e p , ' ........................... - ................................................................................................ ' ) ; w r ite ln (r e p ); f o r j : ~ 1 t o n c T L a s s i f i e r do w r it e c la s s if ie r ( r e p , c l a s s i f i e r [ j ] , j , n p o s itio n ); end en d ; f u n c t i o n m a t c h ( v a r c : c o n d i t i o n ; v a r m :m e s s a g e ; n p o s i t i o n : i n t e g e r ) : b o o l e a n ; { m a tc h , a s i n g l e c o n d i t i o n t o a s i n g l e m e s s a g e ) v a r m a t c h t e m p :b o o le a n ; b e g in in a tc h te m p : — t r u e ; w h i l e (m a tc h te m p - t r u e ) a n d ( n p o s i t i o n > 0 ) do b e g i n m a tc h te m p : - ( c f n p o s i t i o n ] — w i l d c a r d ) o r ( c [ n p o s i t i o n ] — m [ n p o s l t i o n ) ) ; n p o s itio n :— n p o s itio n - 1 end; m a tc h : - m a tc h te m p end; p r o c e d u r e m a t c h c l a s s i f i e r s ( v a r p o p u l a t i o n : p o p t y p o ; v a r e m e s s :m e s s a g e ; v a r m a t c h lis t :c la s s lis t ); ( m a tc h a l l c l a s s i f i e r s a g a i n s t e n v i r o n m e n t a l ^ e s s a g e a n d c r e a t e m a t c h l i s t v a r j : in t e g e r ; b e g i n w i t h p o p u l a t i o n do w i t h m a t c h l i s t do b e g ^ n a c tiv e :— 0; f o r J : - 1 t o n c l a s s i f i e r do w i t h c l a s s i f i e r [ j ] do b e g i n m a t c h f la g :~ m a t c h (c , e m e ss, n p o s i t i o n ) ; i f m a t c h f la g th e n b e g in n a c t i v e : - n a c t iv e + 1; c lis t[n a c tiv e ] :— j end end; end en d ;
w y d . C .8 . (cd.)
)
( aoc.scs: apportionment of credit routines ) 1 aoc d a ta d e c la r a t io n s - aoc u se s c f i l e f o r ty p e cre co rd ~ re c o rd w in n e r , o ld w in n e r : in t e g e r ; b u c k e t b r ig a d e f la g :b o o le a n ; end; var
in p u t
}
c le a r in g r e c :c r e c o r d ;
p ro ce d u re i n i t a o c ( v a r c le a r in g r e c : c r e c o r d ) ; ( i n i t i a l i z e c le a r in g h o u s e r e c o r d } v a r c h :c h a r ; b e g i n w i t h c l e a r i n g r e c do b e g i n r e a d ln ( c f ile , c h ); b u c k e t b r ig a d e f la g :- (c h - ' y ' ) o r (c h - ' Y ' ) ; w in n e r :- 1; o ld w in n e r :- 1 { 1 st c la s s if ie r end end;
p ic k e d
as
1 s t o ld w in n e r
p ro ce d u re i n it r e p a o c ( v a r r e p :t e x t ; v a r c le a r in g r e c : c r e c o r d ) ; ( i n i t i a l r e p o r t o f c le a r in g h o u s e p a ra m e te rs ) b e g i n w i t h c l e a r i n g r e c do b e g i n w r ite ln (r e p ); w r i t e l n ( r e p , 'A p p o r t i o n m e n t o f C r e d i t P a r a m e t e r s ' ) ; w r i t e l n ( r e p , ' ............................................................................... ' ) ; w r i t e ( r e p , 'B u c k e t b r i g a d e f l a g ') ; i f b u c k e t b r ig a d e f la g th e n w r i t e l n ( r e p , ' t r u e ') e ls e w r it e ln (r e p , 'f a l s e ') ; end end;
fu n c tio n
a u c t io n ( v a r p o p u la tio n :p o p t y p e ; v a r m a t c h l i s t : c l a s s l i s t ; o ld w in n e r :in t e g e r ) : in t e g e r ; { a u c t i o n among c u r r e n t l y m a t c h e d c l a s s i f i e r s - r e t u r n w i n n e r ) v a r j , k , w i n n e r : i n t e g e r ; b ld m a x lm u r o :r e a l; b e g i n w i t h p o p u l a t i o n do w i t h m a t c h l i s t do b e g i n > bidm axim um : - 0 . 0 ; w in n e r :- o ld w in n e r ; ( i f no m a t c h , o l d w i n n e r w i n s a g a i n } i f n a c t i v e > 0 t h e n f o r J : — 1 t o n a c t i v e do b e g i n k : - c l i s t { j J ; w i t h c l a s s l f i e r [ k ] do b e g i n b id :- c b id * ( b i d l + b id 2 * s p e c i f i c i t y ) * s t r e n g t h ; e b i d : - c b i d * ( e b i d l + e b id 2 * s p e c i f i c i t y ) * s t r e n g t h + n o is e ( 0 . 0 , b id s ig r a a ); I f ( e b l d > b id m a x im u m ) t h e n b e g i n w in n e r :~ k ; b idm axim um : — e b i d end end en d ; a u c t io n :- w in n e r en d e n d ; p ro c e d u re c le a r in g h o u s e ( v a r p o p u la tio n :p o p t y p e ; v a r c l e a r i n g r e c : c r e c o r d ) ; { d i s t r i b u t e p a y m e n t fr o m r e c e n t w i n n e r t o o l d w i n n e r ) v a r p a y m e n t :r e a l; b e g i n w i t h p o p u l a t i o n do w i t h c l e a r i n g r e c do b e g i n w i t h c l a s s i f i e r [ w i n n e r ] do b e g i n ( p a y m e n t ) p aym en t : — b i d ; s t r e n g t h :- s t r e n g t h - paym ent end; i f b u c k e t b r ig a d e f la g t h e n { p a y o ld w in n e r r e c e i p t i f bb i s on ) w i t h c l a s s i f i e r [ o l d w i n n e r ] do s t r e n g t h : — s t r e n g t h + p a y m e n t end en d;
Vtfyd. C.9. Podprogramy algorytmu przyznawania ocen (plik aoc.scs)
}
364 _______________________________________________________
C. Program SCS<
i,
p ro ce d u re t a x c o lle c t o r ( v a r p o p u la tlo n :p o p t y p e ); ( c o l l e c t e x i s t e n c e a n d b i d d i n g t a x e s fr o m p o p u l a t i o n m em bers ) v a r j: in t e g e r ; b id ta x s w itc h :r e a l; b e g i n w i t h p o p u l a t i o n do b e g i n { l i f e t a x fr o m e v e r y o n e & b l d t a x fr o m a c t i v e s ) i f (lif e t a x o 0 . 0 ) o r. < b id t a x O 0 . 0 ) t h e n f o r j : - 1 t o n c l a s s l f i e r do w it h c l a s s i f i e r [ j ] do b e g in i f m a t c h f la g t h e n b id t a x s w i t c h : - 1 .0 e l s e b id t a x s w i t c h : — 0 .0 ; s tr e n g t h :- s tr e n g t h - lif e t a x * s t r e n g t h - b id t a x * b id ta x s w itc h * s tr e n g th ; end; end en d ; p ro ce d u re r e p o r t a o c (v a r r e p :t e x t ; v a r c le a r in g r e c :c r e c o r d ) ; { r e p o r t who p a y s t o whom } b e g in w r ite ln (r e p ); w i t h c l e a r i n g r e c do w r i t e l n ( r e p , 'N e w w i n n e r [ ' , w i n n e r , ' } : O l d w l r i n e r ( ' , o l d w l n n e r , ' ) ' ) end; p ro ce d u re
a o c (v a r p o p u la tlo n :p o p t y p e ; v a r m a t c h l i s t : c l a s s l i s t ; v a r c le a r in g r e c :c r e c o id ); ( a p p o r tio n m e n t o f c r e d i t c o o r d i n a t o r ) b e g in w i t h c l e a r i n g r e c do w i n n e r : - a u c t i o n ( p o p u l a t i o n , m a t c h l i s t , ta x c o lle c t o r (p o p u la tio n ); c le a r in g h o u s e (p o p u la t io n , c l e a r i n g r e c ) ; end;
o ld w in n e r );
Wyd. C.9. (cd.)
\
o ffe c to r.s c s :
e ffe c to r
ro u tin e
)
p ro ce d u re
e f f e c t o r ( v a r p o p u la tlo n :p o p t y p e ; v a r c l e a r i n g r e c : c r e c o r d ; v a r e n v ir o n r e c :e r e c o r d ); ( s e t a c t io n in o b je c t as d ic t a t e d b y a u c t io n w in n e r ) b e g i n w i t h p o p u l a t i o n do w i t h c l e a r i n g r e c do w i t h e n v i r o n r e c do c la s s lf io r o u t p u t :- c l n s s if ie r lw in n e r ) . a end;
Wyd. C.10. lmpiementacjaefektor0w(pliketfec/or.scs)
( r e in fo r c ,s c s :
reinforcement and c r i t ^ r i o ^ p r o c e d u r e s
}
( r e in f o r c e m e n t d a ta d e c l a r a t i o n s ) ty p o r r e c o r d — r e c o r d { r e i n f o r c e m e n t r e c o r d t y p e ) re w o rd , re w a rd c o u n t, t o t a lc o u n t , co u n t5 0 , re w a rd co u n t5 0 , p r o p o r tio n r e w a r d , p r o p o r tio n r e w a r d 5 0 : r e a l ; la s t w in n e r : in t e g e r ; end; var
r e in f o r c e m e n tr e c : r r e c o r d ; r file :te x t; ( r e in f o r c e m e n t f i l e
Wyd. C.11. Podprogramy wzmacniające (plik
re in fo rc < s c s )
- r file
)
p ro ce d u re ln lt r e in f o r c e m e n t ( v a r r f l l e : t e x t ; ( i n i t i a l i z e r e in f o r c e m e n t p a ra m e te rs ) b e g in w i t h r e i n f o r c e m o n t r e c do b e g i n r e a d l n ( r f i l e , re w a rd ); re w a rd co u n t :~ 0 .0 re w a r d c o u n t 5 0 :- 0 .0 t o t a lc o u n t : —0 . 0 co u n t5 0 . :- 0 .0 p r o p o r tio n r e w a r d : —0 . 0 p r o p o r tio n r e w a r d 5 0 ;~ 0 .0 la s t w in n e r : — 0 ; en d e n d ; p ro ce d u re in it r e p r e in f o r c e r o e n t ( v a r r e p : t e x t ; ( i n i t i a l r e in fo r c e m e n t r e p o r t ) b e g i n w i t h r e i n f o r c e m e n t r o c do b e g i n w r ite ln (r e p ); w r i t e l n ( r e p , 'R e i n f o r c e m e n t P a r a m e t e r s ' ) ; w r i t e l n < r e p , ' .................... - ..............- ................ ' ) ; w r i t e l n ( r e p , 'R e i n f o r c e m e n t r e w a r d - ', ond e n d ;
var
var
r o in f o r c e m e n t r e c :r r e c o r d );
r e in fo r c e r a e n tr e c :r r e c o r d )
r e w a r d :8 :l);
fu n c tio n c r i t e r i o n ( v a r r r e c : r r e c o r d ; v a r e n v ir o n r e c :e r e c o r d ) :b o o le a n ; { r e t u r n t r u e i f c r i t e r i o n i s a c h ie v e d } v a r te m p fla g :b o o le a n ; b e g in w i t h r r e c do w i t h e n v i r o n r e c do b e g i n te m p fla g :- (o u t p u t « - c l a s s i f i e r o u t p u t ) ; t o t a lc o u n t :- t o t a lc o u n t + 1; co u n t5 0 : — c o u n t5 0 + 1; ( in c re m e n t re w a rd c o u n t e r s } i f t e m p fla g th e n b e g in re w a r d c o u n t :~ re w a r d c o u n t + 1; r e w a r d c o u n t 5 0 : - r e w a r d c o u n t 5 0 + 1; end; ( c a l c u l a t e r e w a r d p r o p o r t io n s : r u n n in g & l a s t . 5 0 ) p r o p o r tio n r e w a r d :- r e w a r d c o u n t / t o t a lc o u n t ; i f ( r o u n d (e o u n t5 0 - 5 0 .0 ) - 0 ) th e n b e g in p r o p o r t io n r e w a r d 5 0 :- r e w a rd c o u n t5 0 / 5 0 .0 ; re w a rd c o u n t5 0 :- 0 .0 ; co u n t5 0 :- 0 .0 ( r e s e t } end; c r i t e r i o n :- te m p fla g ; end en d ; p ro c e d u re p a y r e w a r d (v a r p o p u la tio n :p o p t y p e ; v a r r r e c : r r e c o r d ; v a r c le a r in g r e c : c r e c o r d ); ( pay re w a rd to a p p r o p r ia te i n d iv id u a l ) b e g i n w i t h p o p u l a t i o n do w i t h r r e c do w i t h c l e a r i n g r e c do w i t h c l a s s i f i e r ( w i n n e r ] do b e g i n s t r e n g t h :«• s t r e n g t h + r e w a r d ; la s t w in n e r :- w in n e r end en d; p ro c e d u re r e p o r t r e in f o r c e r a e n t (v a r r e p : t e x t ; v a r r e in f o r c e r a e n t r e c : r r e c o r d ) ; ( r e p o r t a w a rd ) b e g i n w i t h r e i n f o r c e r a e n t r e c do b e g i n w r ite ln (r e p ); w r i t e l n ( r e p , 'R e i n f o r c e m e n t R e p o r t ' ) ; w r i t e l n ( r e p , ' .............................................. ' ) ; w r i t e l n ( r e p , 'P r o p o r t io n C o r r e c t (fr o m s t a r t ) - ', p r o p o r tlo n r e w a r d :8 :4 ); w r i t e l n ( r e p , 'P r o p o r t io n C o r r e c t ( l a s t f i f t y ) — ', p r o p o r tio n r e w a r d 5 0 :8 :4 ); w r i t e l n ( r e p , ' L a s t w i n n i n g c l a s s i f i e r nu m b er — ', la s c w in n e r :8 ); end en d ;
yd. C.11. (cd.)
366
C. Program SCS
p ro ce d u re
r e in f o r c e r a e n t ( v a r r e in f o r c e m e n t r e c : r r e c o r d ; v a r p o p u la tio n :p o p t y p e ; v a r c le a r ln g r e c :c r e c o r d ; v a r e n v ir o n r e c :e r e c o r d ); c r it e r io n s a t is fie d )
( make p a y m e n t i f b e g in if
c r it e r io n ( r e i n f o r c e m e n t r e c , e n v ir o n r e c ) th e n p a y r e w a r d (p o p u la t lo n , r e in f o r c e m e n t r e c , c l e a r i n g r e c ) ;
end;
Wyd. C.11. (cd.)
( a d v a n c e .s c s :
advance v a r ia b le s
f o r n e x t t im e s t e p
)
p ro c e d u re a d v a n c e (v a r c l e a r l n g r e c : c r e c o r d ) ; ( a d v a n c e w in n e r ) b e g i n w i t h c l e a r i n g r e c do o l d w i n n e r : ~ w i n n e r e n d ;
Wyd. C.12. Procedura aktualizacji rejestru izby rozrachunkowej (plik
{ g a .s c s :
g e n e t ic
a lg o r ith m
code
fo r
SCS
a d v a n c e .s c s )
)
( d a ta d e c la r a t io n s ) c o n s t m a x m a tin g ,~ 1 0 ; ty p e
m ro c o rd — r e c o r d m a t e l, m ate 2 , m o r t l, m o rt2 , s i t e c r o s s : i n t e g e r end; m a rra y - a r r a y [ l..m a x m a t in g J o f m re c o rd ; g re co rd — re c o rd p r o p o r t i o n s e l e c t , p m u ta tio n , p c r o s s o v e r : r e a l ; n c r o s s o v e r , n m u t a t io n , c r o w d i n g f a c t o r , c r o w d in g s u b p o p , n s e le c t : in t e g e r ; , m a t i n g : m a r r a y ; { m a t in g r e c o r d s f o r g a r e p o r t ) end;
var
g a re c :g re c o rd ; g file :te x t;
p ro ce d u re in i t g a ( v a r g f i l e : t e x t ; v a r g a r e c :g r e c o r d ; v a r p o p u la tio n :p o p t y p e ); { i n i t i a l i z e ga p a r a m e te r s ) b e g i n w i t h g a r e c do w i t h p o p u l a t i o n do b e g i n r e a d ln (g f ile , p r o p o r tio n s e le c t); r e a d l n ( g f i l e , p m u ta tio n ); r e a d ln (g f ile , p c ro s s o v e r); r e a d l n ( g f i l e , c r o w d in g fa c to r ); r e a d l n ( g f i l e , c r o w d in g s u b p o p ) ; n s e le c t :~ r o u n d (p r o p o r t io n s e le c t * n c l a s s i f i e r * 0 . 5 ) ; ( n u m b e r o f m a te p a i r s t o s e l e c t ) n m u ta tio n end end;
:-
0;
n c ro sso ve r
:-
0;
Wyd. C.13. Podprogramy algorytmu genetycznego (plik
g a .s c s )
p ro ce d u re in it r e p g a ( v a r r e p :t e x t ; v a r g a r e c :g r e c o r d ); { i n it ia l re p o rt ) b e g in w i t h g a r e c do b e g in w r ite ln (r e p ); w r L t e l n ( r e p , 'G e n e t ic A lg o r it h m P a r a m e t e r s ') ; w r i t e l n ( r e p , ' --- ------------ -------- - — - — ' ) ; p r o p o r tio n s e le c t:8 :4 ); w r it e ln (r e p , 'P r o p o r t io n to s e le c t / g e n — n s e lo c t :8 ); w r ite ln (r e p , 'N u ra b e t t o s e l e c t — p r o u ta tio n :8 :4 ); w r ite ln (r e p , 'H u t a t i o n p r o b a b i l i t y p c ro s s o v e r;8 :4 ); w r ite ln (r e p , 'C r o s s o v e r p r o b a b i l i t y — c r o w d in g fa c to r :8 ); w r ite ln (r e p , 'C r o w d i n g f a c t o r c r o w d ln g s u b p o p :8 ); w r ite ln (r e p , 'C r o w d i n g s u b p o p u l a t i o n — end en d ; f u n c tio n s e l e c t ( v a r p o p u la t io n :p o p t y p e ):in t e g e r ; ( s e l e c t a s i n g l e i n d i v i d u a l a c c o r d in g to s t r e n g t h v a r ra n d , p a r ts u m :r e a l; j : in te g e r ; b e g i n w ijth p o p u l a t i o n do b e g i n p a rts u m : - 0 .0 ; j :- 0 ; r a n d ' : ~ ra n d o m * s u m s t r e n g t h ; re p eat
)
j :- j + 1; p a rts u m ;- p a rts u m + c l a s s i f i e r ( j ] . s t r e n g t h u n t i l ( p a r t s u m >- r a n d ) o r ( J - n c l a s s i f i e r ) ; s e le c t :- j ; end en d ; fu n c tio n m u t a t io n (p o s it io n v a lu c : t r i t ; p m u t a t io n :r e a l; ( m u ta te
a s in g le
p o s itio n
w ith
v a r n m u t a t io n :in t e g e r ):t r it ; s p e c ifie d p r o b a b ilit y }
v a r te m p r a u t a tio n :in te g e r ; b e g in i f f l i p ( p m u t a t i o n ) th e n b e g in t e m p m u ta tio n : - ( p o s i t i o n v a l u e + r n d ( l , 2 ) n m u ta tio n :- n m u ta tio n + 1; end e l s e t e m p m u t a t io n : - p o s i t i o n v a l u e ; m u t a t i o n : - t e m p m u ta tio n end; fu n c tio n b m u t a t io n (p o s it io n v a lu e :b it ;
+
1 ) mod 3 - 1 ;
p m u ta tio n :r e a l;
v a r n m u t a t io n :in t e g e r ):b it ; s p e c ifie d p r o b a b ilit y )
{ m u ta te a s i n g l e b i t w i t h v a r t e m p m u ta tio n :ln te g e r ; b e g in i f f li p ( p m u t a t i o n ) th e n b e g in t e m p m u ta tio n : - ( p o s i t i o n v a l u e + 1 ) mod 2 ; n m u t a t i o n : — n m u t a t i o n + 1; en d e l s e t e m p m u t a t io n : — p o s i t i o n v a l u e ; b m u ta C io n :~ t e m p m u ta tio n
C. Program SC5
368
p ro ce d u re c r o s s o v e r (v a r p a r e n t l, p a re n t2 , c h i l d l , c h ild 2 : c la s s t y p e ; p c ro s s o v e r, p m u ta tio n :r e a l; v a r s it e c r o s s , n p o s ltio n , n c ro s s o v e r, n m u t a C io n :in t e g e r ); ( c r o s s a p a i r a t a g iv e n s i t e w i t h m u t a t io n on th e t r i t t r a n s f e r ) v a r in h e r it a n c e :r e a l; j : ln t e g e r ; b e g in i f f l i p ( p c r o s s o v e r ) th e n b e g in s ite c r o s s :— r n d (l, n p o s itio n ); n c ro s s o v e r :- n c ro s s o v e r + 1; end e ls e s it e c r o s s :— n p o s it io n + 1 { t r a n s f e r , b u t no c r o s s ) ; ( t r a n s f e r a c t io n p a r t r e g a r d le s s o f s it e c r o s s ) c h i l d l . a : — b m u t a t io n ( p a r e n t l. a , p m u ta tio n , n m u ta tio n ); c h il d 2 . a : — b m u t a t io n (p a r e n t 2 .a , p m u ta tio n , n m u ta tio n ); ( t r a n s f e r and c r o s s above c ro s s s i t e ) j :— s ite c r o s s ; w h i l e ( j <— n p o s l t i o n ) do b e g i n c h i l d 2 . c ( j ] : - m u t a t i o n ( p a r e n t l . c [ j ] , p m u ta tio n , n m u t a t io n ); c h i l d l . c [ j j : - m u t a t i o n ( p a r e n t 2 . c [ j ] , p m u ta tio n , n m u t a t io n ); j :- j end; {
+ 1
j : - 1; t r a n s f e r o n l y b e lo w c r o s s s i t e } w h i l e ( j < s i t e c r o s s ) do b e g i n > c h il d l . c [ j ] :- m u t a t io n (p a r e n t l.c [j], c h ild 2 . c ( j] :- m u t a tio n < p a r e n t2 .c (j],
p m u ta tio n , p m u ta tio n ,
n m u ta tio n ); n m u ta tio n );
j :- j + 1 end; { c h ild r e n i n h e r i t a v e ra g e o f p a r e n t a l s t r e n g t h v a lu e s ) in h e r it a n c e :— a v g ( p a r e n t l.s t r e n g t h , p a r e n t 2 .s t r e n g t h ); w i t h c h i l d l do b e g i n s t r e n g t h :- i n h e r it a n c e ; m a t c h f la g :- f a l s e ; e b id :- 0 .0 ; b i d :- 0 .0 ; s p e c ific ity end; w i t h c h i l d 2 do s t r e n g t h :e b id :- 0 .0 ; s p e c ific ity end; end;
:-
c o u n t s p e c if ic it y (c ,
b e g in i n h e r it a n c e ; m a t c h f la g b id :- 0 .0 ; ;— c o u n t s p e c if ic it y (c ,
n p o s itio n );
:-
fa ls e ;
n p o s itio n );
f u n c t io n w o r s t o f n ( v a r p o p u la tio n ;p o p t y p e ; n : i n t e g e r ) : i n t e g e 1 s e l e c t w o r s t i n d i v i d u a l f r o m ra n d o m s u b p o p u l a t i o n o f s i z e v a r j , w o r s t , c a n d id a t e :in t e g e r ; w o r s t s t r e n g t h :r e a l; b e g i n w i t h p o p u l a t i o n do b e g i n ( i n i t i a l i z e w i t h ra n d o m s e l e c t i o n ) w o r s t :«- r n d ( l , n c l a s s i f i e r ) ; w o rs ts tre n g th :- c la s s if ie r [ w o r s t ]. s t r e n g t h ; ( s e l e c t a n d c o m p a re fr o m r e m a i n i n g s u b p o p c & L a tio n ) i f ( n > 1 ) t h e n f o r j : - 2 t o n d o b d g ln < f c a n d id a t e : - r n d ( l , n c l a s s i f i e r ) ; i f w o rs ts tre n g th > c la s s ifie r [c a n d id a te ].s tr e n g th rh e n w o r s t :- c a n d id a t e ; w o rs ts tre n g th :- c la s s if ie r ( w o r s t ]. s t r e n g t h ; end; end; 1 re tu rn w o rst ) w o rs to fn :— w o rs t; end e n d ;
Wyd. C.13. (cd.)
r; n
)
( b e g in
369
Program SCS
fu n c t io n m a tc h c o u n t(v a r c l a s s i f i e r l , c l a s s i f i e r 2 : c l a s s t y p e ; n p o s it io n :ln t c g e r ):in t e g e r ; ( c o u n t num ber o f p o s it io n s o f s i m i l a r i t y ) v a r te m p c o u n t, J : i n t e g e r ; b e g in i f ^ ( c l a s s i f i e r X . a - c l a s s i f i e r 2 . a ) t h e n te m p c o u n t :■ 1 e l s e te m p c o u n t : - 0 ; f o r J : - 1 t o n p o s i t ^ o n do i f ( c l a s s i f i e r l . c ( J ] - c l a s s i f i e r 2 . c ( J ] ) t h e n te m p c o u n t : — t e m p c o u n t + 1 ; m a t c h c o u n t : — t e m p c o u n t; end; f u n c t io n c r o w d in g (v a r c h ll d : c la s s t y p e ; v a r p o p u la tio n :p o p t y p e ; c r o w d i n g f a c t o r , c r o w d in g s u b p o p : i n t e g e r ) : i n t e g e r ; { r e p la c e m e n t u s i n g m o d i f i e d De J o n g c r o w d i n g ) V a r popm em ber, j , m a t c h , m a tch m a x , m o s t s i m i l a r : i n t e g e r ; b e g i n ' w i t h p o p u l a t i o n do b e g i n m atchm ax : — >1; m o s t s i m i l a r : - 0 ; i f (c r o w d in g f a c t o r < 1 ) th e n c r o w d in g fa c t o r : — 1 ; f o r j : - 1 t o c r o w d in g f a c t o r do b e g in popm em ber :«- w o r s t o f n ( p o p u l a t i o n , c r o w d in g s u b p o p ) ; ( p i c k w o r s t o f n m atch :~ m a t c h c o u n t (c h ild , c la s s if ie r { p o p m e m b e r ] , n p o s i t i o n ) ; i f m a tc h > m atch m a x t h e n b e g i n m atch m a x :*- m a t c h ; m o s t s i m i l a r : - popm em ber; end; end; c r o w d in g : - m o s t s i m i l a r ; end e n d ;
p ro ce d u re s t a t i s t i c s ( v a r p o p u la tio n :p o p t y p e ); ( p o p u l a t i o n s t a t i s t i c s - m ax, a v g , m in , sura o f s t r e n g t h v a r j:in t e g e f; b e g in w it h p o p u la t io n do b e g in ' w i t h c l a s s i f i e r ( l ] d o b e g in m a x s tre n g th : — s t r e n g t h ; m in s t r e n g t h : — s t r e n g t h ; s u m s tre n g th :- s t r e n g t h ; end;
j :- 2; w h i l e ( j <- n c l a s s i f i e r ) do w i t h c l a s s i f i e r ( J ] m a x s tre n g th :- m a x (r a a x s tr e n g t h , s t r e n g t h ) ; m in s t r e n g t h : - m i n ( m in s t r e n g t h , s t r e n g t h ) ; s u m s tre n g th
:-
s u ra s tre n g th + s t r e n g t h ;
J :- j + 1: end; a v g s tre n g th end en d ;
Wyd. C.13.
(cd.)
: — s u m s tre n g th / n c l a s s i f i e r ;
do b e g i n
)
}
C. Program SC:
370
p ro c e d u re g a (v a r g a r e c :g r e c o r d ; v a r p o p u la tio n :p o p t y p e ); { c o o r d i n a t e s e l e c t i o n , m a t in g , c r o s s o v e r , m u t a t i o n , & r e p la c e m e n t ) v a r j: i n t e g e r ; c h il d l , c h ild 2 ;c la s s t y p e ; b e g i n w i t h g a r e c d o w i t h p o p u l a t i o n do b e g i n s ta tis tic s (p o p u la tio n ); { g e t a v e r a g e , m ax, m in , s u m s t r e n g t h ) f o r j : — 1 t o n s e l e c t do w i t h r a a t l n g [ j ] do b e g i n m ate l :— s e le c t (p o p u la t io n ); { p i c k m a te s ) • m a te 2 : — s e l e c t ( p o p u l a t i o n ) ; c r o s s o v e r ( c la s s if ie r [ r a a t e l], c la s s lf le r ( m a t e 2 ] , c h i l d l , c h ild 2 , p e r o s s o v e r , p m u ta tio n , s i t e c r o s s , n p o s it lo n , n c r o s s o v e r , n m u ta tio n ); { c r o s s & m u ta te ) m o r t l : — c r o w d i n g ( c h i l d l , p o p u l a t i o n , c r o w d i n g f a c t o r , c r o w d ln g s u b p o p ) ; s u m s tre n g th : — s u m s tre n g th - c l a s s i f i e r [ m o r t l ] . s t r e n g t h *f c h i l d l . s t r e n g t h ; ( u p d a t e s u m s tr e n g L h ) c l a s s i f i e r [ m o r t l ] ; — c h i l d l ; ( i n s e r t c h i l d i n m o r t l 's p la c e ) m o rt2 : - c r o w d i n g ( c h i l d 2 , p o p u l a t i o n , c r o w d i n g f a c t o r , c r o w d in g s u b p o p ) ; s u m s tre n g th : — s u m s tre n g th - c l a s s i f i e r ( r a o r t 2 ) . s t r e n g t h + c h ild 2 .s t r e n g t h ; ( u p d a te s u m s tre n g th ) c la s s if ie r [ m o r t 2 ] :— c h ild 2 ; ** end; end en d ; p ro c e d u re r e p o r t g a (v a r r e p :t e x t ; v a r g a r e c :g r e c o r d ; v a r p o p u la tio n :p o p t y p e ); { r e p o r t o n m a t in g , c r o s s o v e r , a q d r e p la c e m e n t ) v a r j:in t e g e r ; b e g i n w i t h g a r e c do w i t h p o p u l a t i o n do b e g i n p a g e (re p ); w r i t e l n ( r e p , 'G e n e t i c A lg o r ith m R c p o r t ') ; w r i t e l n ( r e p , ' ---- - - - - - - - ------- --------- * ) ; w r ite ln (r e p ); ' w r it e ln ( r e p , 'P a ir M a te l M a te 2 S it e C r o s s M o rtl M o r t 2 ') ; w r i t e l n ( r e p , ' ......................... .. — .................... .. - - - * .......... ..............- * • - '); f o r j : — 1 t o n s e l e c t do w i t h m a t i n g [ j ] do w r ite ln (r e p ,j:3 ,' ', m a t e l: 3 , ' ', m a t e 2 : 3 , ' ', s it e c r o s s : 3 , ' ', m o r t l: 3 , ' ', m o r t 2 : 3 ) ; w r ite ln (r e p ); w r i t e l n ( r e p , ' S t a t i s t i c s R e p o r t ') ; w r i t e l n ( r e p , ' ........................................' ) ; * , avgs tr e n g t h :8 :2 ); w r i t e l n ( r e p , ' A v e ra g e s tre n g th ' , m axs t r e n g t h : 8 : 2 ) ; w r i t e l n ( r e p , * ' M aximum • s tre n g th w r i t e l n ( r e p , ' M in im u m s tre n g th ' , m in s t r e n g t h : 8 : 2 ) ; w r i t e l n ( r e p , ' Sum of s tre n g th ' , sum s t r e n g t h : 8 : 2 ) ; w r i t e l n ( r e p , ' H um b er o f c r o s s i n g s ' ,n c r o s s o v e r :- 8 ); w r ite ln (r e p ,' end en d ;
Wyd. C.13. (cd.)
N u m ber o f m u t a t i o n s
' ,n m u t a t io n :8 );
Program SCS
{ u tility .s c s :
371
u tility
p ro ce d u re s
and fu n c tip n ś
)
f u n c t io n p 'o w e r i( x : r e a l; i : i n t e g e r ) : r e a l ; v a r p o w e r te m p :r e a l; b e g in p o w e rte m p : — 1 . 0 ; i f 1-0 t h e n p o w e rte m p : — 1 . 0 e l s e i f i> 0 t h e n rep ea t p o w e rte m p : — p o w e rte m p * x ; i :~ i - 1 u n t i l i~ 0 e l s e i f i< 0 t h e n re p e a t p o w e rte m p : - p o w e rte m p / x ; i :- i + 1 u n t i l i- 0 ; p o w e r i : - p o w e rte m p end; { g l o b a l v a r i a b l e s f o r r a n d o m n o r m a ld e v ia t e v a r r n d x 2 :r e a l; r n d c a lc f la g :b o o le a n ;
- w a tc h
p ro c e d u re in it r a n d o m n o r m a ld e v ia t e ; { i n i t i a l i z a t i o n r o u t i n e f o r r a n d o m n o r m a ld e v ia t e b e g in r n d c a lc f l a g :- t r u e en d ; f u n c t io n ra n d o m n o r m a ld e v ia te ; r e a l ; { ran d o m n o r m a l d e v i a t e a f t e r ACM a l g o r i t h m v a r t , r n d x l:r e a l ; b e g in i f r n d c a lc f l a g th e n b e g in , rn d x l :- s q r t (- 2 .0 * ln (r a n d o r a )); : - 6 .2 8 3 1 8 5 3 0 7 2 * ra n d o m ; rn d x 2 : — r n d x l * s i n ( t ) ; r n d c a lc f la g :— f a ls e ; r a n d o m n o r m a ld e v ia t e : - r n d x l * c o s ( t ) en d e l s e b e g in r a n d o m n o r m a ld e v ia t e : - r n d x 2 ; r n d c a lc f la g :— tru e end; end;
fo r
c o n f lic t in g
)
267 / B o x - M u l l e r M e th o d
t
f u n c t io n n o is e (m u , s i g m a : r e a l ) : r e a l ; { n o r m a l n o i s e w i t h s p e c i f i e d m ean & s t d d e v : rou & s ig m a b e g i n n o i s e : — r a n d o m n o r m a ld e v ia t e * s ig m a + mu e n d ; fu n c tio n r n d r e a l( l o , h i : r e a l ) : r e a l ; { r e a l ra n d o m n u m b e r b e t w e e n s p e c i f i e d l i m i t s b e g in r n d r e a l : — r a n d o m * (h i- lo ) + l o e n d ;
}
fu n c tio n m a x (x , y : r e a l ) : r e a l ; { r e t u r n maximum o f tw o v a l u e s ) b e g i n i f x > y t h e n max : - x e l s e max
:— y
end;
fu n c tio n m in (x , y : r e a l ) : r e a l ; { r e t u r n m inim um o f tw o r e a l v a l u e s } b e g i n i f x < y t h e n m in : - x e l s e m in
:— y
end;
d. C.14. Podprogramy pomocnicze (plik utility.scs}
nam es
}
)
)
372
C. Program Scs
fu n c tio n a v g (x , y : r e a l ) : r e a l ; ( r e t u r n a v e r a g e o f tw o r e a l v a l u e s b e g in a v g : — 0 .5 * (x + y ) en d ;
)
fu n c tio n h a lt :b o o le a n ; { T e s t f o r k e y p re s s and q u e ry f o r h a l t c o n s t t im e s — 1 0 0 ; v a r t e m p : b o o le a n ; c h : c h a r ; j : i n t e g e r ; b e g in j :« 0; r e p e a t j : ~ j+ 1 u n t i l k e y p r e s s e d o r tem p : - ( j < t i m e s ) ; tem p t h e n b e g i n w r i t e ( 'H a lt (y / n )? tem p : — ( c h - ' y ' ) end; h o l t : - tem p ; end;
fla g
)
(j> - tim e s );
if
> ' ) ; r e a d ln (c h ); o r (c h - 'Y * ) ;
Wyd. C.14. (cci.)
( * 10 R o u t i n e s - F i l e o p e n in g r o u t i n e s * ) ty p e q u e ry _ ty p e — ( in t e r a c t iv o , b a t c h ) ; tx t — s tr in g [8 0 ]* ; var
q f la g :q u e r y _ t y p e ; fn :tx t;
p ro ce d u re p a g e (v a r o u t : t e x t ) ; b e g in w r i t e ( o u t , c h r ( 1 2 ) ) en d ; p ro ce d u re
o p e n _ in p u t(v a r in p u t : t e x t ; q u e r y _ f la g :q u e r y _ t y p e ; m e s s a g e :tx t; v a r f ile n a m e : t x t ) ; b e g in i f ( q u e r y _ f la g - b a t c h ) th e n a s s lg n ( in p u t , f lle n a m e ) e l s e b e g in w r i t e ( ' E n t e r ' , m o s s a g e , ' f i l e n a m e : ' ) ’» * ® * 4 1 n ( f i l e n a m e ) ; a s s ig n (in p u t ,file n a m e ); end; r e s e t (in p u t ); end; p ro ce d u re
o p e n _ o u tp u t(v a r o u t p u t : t e x t ; q u e r y _ _ fla g :q u e r y _ ty p e ; m e s s a g e :tx t; v a r f ile n a m e : t x t ) ;
b e g in i f ( q u e r y _ f la g - b a t c h ) th e n a s s ig n (o u t p u t . f ile n a m e ) e l s e b e g in *® ' w r i t e ( ' E n t e r ', m e s s a g e , ' f i l e n a m o r . ' ) ; ^ e a d l n ( f i l e n a m e ) ; a s s ig n (o u tp u t, file n a m e ); , end; r e w r ite (o u tp u t); end;
Wyd. C.15. Podprogramywejścia-wyjścia(piik/ascs)
ifc Program SCS
373
o o 2000 50 50
{ ( t ( ( (
-i
in lt la llt e r a t io n ) in le ia lb lo c k ) r c p o r t p e r lo d ) c o n s o le r e p o r t p e r io d p lo C r e p o r tp e r lo d ) g a p e r io d )
Wyd. C.16. Przykładowy plik tfiletpUk time.dta)
2
•( n u m b e r o f a d d r e s s
lin e s
on m u lt ip le x e r
)
( e n v lr o n .d ta
)
Wyd. C.17. Przykładowy plik efile (plik environ.dta)
1 .0
(
re w a rd
(
)
r e in f.d ta
)
yd. C.18. Przykładowy plik rfile (plik reinf.dta)
0 .2 0 0 .0 2 1 .0 3 3
( ( 1 { (
p r o p o r t io n s e le c t p m u C a tlo n ) pcTO Ssover ) c r o w d in g fa e to r ) o r o w d ln g s u b p o p )
iWyd. C.19. Przykładowy pUk gfile (plik ga.dta)
f.'
6 10 0 .5 0 .1 0 0 .0 7 5 0 .0 1
0.0 1.0 0.0 1.0 0.0 tm tt000 :0 # # # 1 0 0 :1 # # 0 # 0 1 :0 m rtJt01 : l # 0 # # 1 0 :0 # l# # 1 0 :1 0 # # # ll:- 0 1 # # # 1 1 :1
tt m # m : 0 # # # # # # :1 n
( ( ( ( ( ( 1 ( ( { ( 10 10 10 10 10 10 10 10 10 10
n p o s ltio n } n c la s s if ie r ) p g e n e ral ) c b id ) b id s ig m a ) b id C a x ) life ta x ) b id 1 ) b id 2 ) e b ld 1 } e b id 2 ) ( p e r fe c t r u le s
(
g e n e ra l r u le s
( p e rfe c t.d ta
}
)
)
b u c k e t b r ig a d e f la g
)
Wyd. C.20. Przykładowy plik cfHe zawiera dane do eksperymentów z zestawem regul idealnych z rozdz. 6 (plik perfect.dta)
C. Program SCS
374
1 6 7 0 .5 0 .1 0 .0 7 5 0 .0 1 0 .0 0 1 .0 0 0 .0 0 1 .0 0 0 .0 # # # 0 0 0 :0 # # 0 # 0 1 :0 #0##10: 0 0 # # # 1 1 :0 # # # # # # :1 0 # # # 1 1 :1 # # # # # # :0 n
{ { { ( ( t ( { ( { ( 10 10 10 10 10 10 10
n p o s itlo n ) ( le s s C h a n (p e r fe c C ). n c la s s lf le r ) p g e n e ral ) c b ld ) b ld s ig m a ) b ld C a x 1 llfe t a x ) b ld 1 ! b ld 2 } e b id 1 ) e b id 2 ) ( d e fa u lC h i e r a r c h y )
( m o n k ey w r e n c h e s
)
( b u c k e t b r lg a d e fla g
)
Wyd. C.21. Przykładowy plik cfile zawiera dane do eksperymentów z hierarchią domniemań*, z rozdz. 6 (plik lessthan.dta)
6 100 0 .5 0 .1 0 0.075 0 .0 1 0 .0 0 0
0 .2 5 0.125 0.25 0.125 RRRRKR:0 RRRRRR:0 RRRRKR:0 RRRKHR:0 RRRRRR:0 RRHWtR:0 RRRRRR:0 RKRRRR:0 RRRRRR:0 RRSRRR:0 RRRRRR:1 RRRRBR:1 RRRRRR:1 RRRHRK:1 RRRRRR:1 RHKBRR:1 RRRHHR:1 RRKRRR:1 RRRWW:1 RRRRRR:1 n
t ( ( ( ( ( ( t ( ( ( 10
nposlelon' ) nclasslfler ggeneral ) cbid ) bldsigma ) bidCax ) llfeCax ) bld 1 ) bld 2 ) ebld 1 ) ebld 2 )
{
c la s s lO O .d c a
}
,1 0
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 { bucketl
Wyd. C.22. Przykładowy plik c file zawiera dane do eksperymentów ze startem od zera z rozdz. 6 (plik c la s s 1 0 0 .d ta ). Dla oszczędności zamieszczono tylko po 10 reguł każdego typu
Dodatek
D
Transformacja współczynników partycyjnych i jej zastosowanie w problemie doboru kodu
* Algorytm genetyczny działa efektywnie, kiedy schematy-cegiełki, czyli stosunkowo wąskib schematy niskiego rzędu o ponadprzeciętnej wartości przystosowawczej, łączą się, tworząc optymalne lub niemal optymalne rozwiązania. Przekonanie, że proces taki za|phodzi w rzeczywistości - hipoteza cegiełek - było często przyjmowane na wiarę. Niedafwno opracowano jednak metody analizy, dzięki którym można przewidywać, czy dane fzestawienie funkcji, kodu i operacji genetycznych powinno (lub nie) prowadzić do znaj dowania lepszych rozwiązań. Metody te dzielą się na dwie kategorie - dynamiczne i statyczne. Podejście dynamiczne, z którym mieliśmy okazję zapoznać się krótko w rozdziale drugim przy omawianiu mimimalnego problemu zwodniczego, polega na pełnej analizie popagacji współzawodniczących klas schematów, opisanej za pomocą nieliniowych 5wnan rekurencyjnych odpowiadających danemu zestawowi operacji genetycznych, ietodzie kodowania oraz funkcji przystosowania. Tego typu analiza prowadzi do roztrzygających wniosków w przypadku zadań o niedużych rozmiarach. Otrzymane ostalio (Bridges i Goldberg, 1987) równania propagacji przy reprodukcji i krzyżowaniu J a przypadku ogólnych kodów /-bitowych umożliwiają analizę dynamiczną problemów wyższego rzędu. W podejściu statycznym (Bethke, 1981; Iiolland, 1987b) oblicza się średnie przy stosowania schematów, korzystając z efektywnych metod transformacji. Dysponując ty mi średnimi, możemy następnie stwierdzić, czy hipoteza o cegiełkach jest w danym przypadku spełniona (tzn. czy wąskie schematy niskiego rzędu o wysokiej wartości przylstosowawczej łączą się tworząc szersze, wyższego rzędu schematy o jeszcze wyższej 'wartości przystosowawczej), czy nie (tzn. czy problem jest AG-zwodniczy). Holland {(doniesienie prywatne, 1987) rozszerzył ostatnio swoją metodę analizy na populacje o niejednostajnym rozkładzie ciągów kodowych. Można pokazać, że w przypadku je dnostajnym techniki Bethkego i Hollanda są równoważne. W tym dodatku wybraliśmy
i
376 ______________________________________
D. Transformacja współczynników partycyjnych
L notację Hollanda i omawiamy jego metodę współczynników partycyjnych; następnie użyjemy jej do analizy prostej kombinacji funkcji i kodu. Naszkicujemy także zastoso wanie tej metody do konstruowania problemów AG-zwodniczych.
D.1. Transformacjawspółczynników partycyjnych ...............................................
..
Rozważmy odwzorowanie / przestrzeni ciągów kodowych długości 1 w zbiór liczb rze czywistych: / : { 0 ,1 } '^ R Określamy schematy ciągów kodowych tak jak zwykle i dla każdej klasy (partycji) schematów o tym samym zbiorze pozycji ustalonych definiujemy ińdeks partycyjny j: j(H) = iaL(h,)2>-' i=i gdzie i jest numerem pozycji w ciągu kodowym, a funkcja a przyjmuje wartość 0, gdyi /i,= * oraz wartość 1 w przeciwnym przypadku. W ten sposób funkcja j przyporząd kowuje w sposób jednoznaczny indeks każdej z 2' partycji w przestrzeni ciągów kodo wych, zawierających ciągi o jednakowym zbiorze pozycji ustalonych. I tak na przyklad, schematowi *** odpowiada indeks partycyjny y(***) = 0. Schematy **0 i **1 należą dotej samej partycji o indeksie j= 1, a schematowi 0*1 odpowiada indeks partycyjnyJ(0*l) = 5. 4 W celu wyznaczenia współczynników partycyjnych definiujemy także funkcję a, określoną na zbiorze wszystkich schematów, która przyjmuje wartość 1, jeżeli sche4, mat zawiera parzystą liczbę zer oraz wartość —1 w przeciwnym przypadku: CT(H)= n (-i)<'<'"> /=] gdzie p(A.() przyjmuje wartość 1 dla /z, = 0 i 0 w pozostałych przypadkach. Mając już określone funkcje j i 0, możemy teraj.zdefiniować współczynniki par*f> tycyjne Ej za pośrednictwem układu równań postafci: /(/-/) = l o ( H ' ) e jm irzni Sumowaniejest tu rozciągnięte na wszystkie „nadschematy” H ' schematu H. Powyższy układ liczy oczywiście 3' takich równań, jednak tylko 2' z nich to rów nania niezależne, ponieważ mamy tylko 2' „niewiadomych” ey (można na to spojrzeć w ten sposób, że dokonujemy transformacji 2' wskaźników przystosowania ciągów kodo-
D.2. Przyktad:
f(x )= x 1
na trzech bitach _____ __ ____________________________________ 377
wych na 2' innych współczynników rzeczywistych). Nie będziemy tutaj dowodzić po prawności tej transformacji; dodajmy jednak, że w jednym z prostych dowodów zamiast bitów rozw ażasię dwuwartościowe zmienne u„ przebiegające zbiór {—1, 1}. Można łatwo wtedy pokazać, że każdą funkcję / można wyrazić w postaci wielomianu /-tego stopnia zmiennych u, i że istnieje wzajemnie jednoznaczna odpowiedniość między współczynnikami tego wielomianu a liczbami er Poprawność transformacji wynika wówczas bezpośrednio z postaci wielomianu. W następnym punkcie zapoznamy się bli żej z tą metodą, obliczając współczynniki partycyjne dla prostej funkcji i kodu.
I ........ .,_________________D.2. Przykład: f( x ) = x 2 na trzech bitach Chcąc lepiej zrozumieć transformację współczynników partycyjnych, wyznaczmy współ czynniki Ej dIa konkretnej funkcji f(x )= x 2 i trójpozycyjnego zapisu dwójkowego. Na początek wypiszemy osiem równań, po jednym dla każdego schematu zawierającego jedynie gwiazdki i jedynki: /(***) = e<, / ( * * 1) =
e,, + e ,
/( * 1*) = Eo + Ea
/(* 11) = £„ + £,+£2 + 83 / ( 1 **) = 60 + 64 / 0 * 1 ) = £|,+£| + 64 + 65 / ( 1 1 *)
=
£ 0 + E 2 + £ 4 + £ fl
/(1 1 1 ) = E,,+E, + e 2 + e , + e., + E5
Powyższe wyliczenie wskazuje na możliwość dość efektywnego obliczania współczyn! ników partycyjnych (szybka transformacja Walsha okazałaby się jeszcze bardziej efek'}tywna, ale posłużyliśmy się tą triangularyzacją dla zachowania pewnych intuicji fizycz>:nych): należy wyznaczyć średnie przystosowania schematów we wskazanej kolejności, a następnie obliczyć wartości Ej metodą eliminacji. Po wykonaniu tych rachunków otrzy' mamy następujące w arto ści/i Ey. Indeks partycyjny j
Schemat H
/(H )
0 1 2 3 4 5 6 7
*** ** 1 *1* =i=ll 1=i==i= l=i=l ll=i= 111
17,5 21,0 24,5 29,0 31,5 37,0 42,5 49,0
*J 17,5 3,5 7,0 1,0 14,0 2,0 4,0 0,0
378
D. Transformacja współczynników partycyjnych
Po obliczeniu współczynników partycyjnych możemy obliczyć bez trudu średnie przy stosowanie każdego wybranego schematu. Na przykład/(**0) = E ,,-e ,= 17,5-3,5= 14; Można to zweryfikować obliczając bezpośrednio:/(**0) = (0 + 4 + 1 6 + 36)/4= 14,0. Ob liczenia dIa innych schematów są równie proste, ale musimy teraz zająć się wyjaśnie niem sensu współczynników e, oraz ich roli w analizie algorytmów genetycznych i prze twarzaniu schematów.
D.3. Interpretacjawspółczynników partycyjnych__________________________________________ Fakt, że umiemy obliczać współczynniki partycyjne w dość efektywny sposób, jest po krzepiający, aIe naprawdę chodzi nam o zrozumienie rodzaju nieliniowości, która ujaw nia się we wskaźnikach przystosowania dwójkowych ciągów kodowych, gdy stosujemy algorytm genetyczny. Aby rozpoznać związek między nieliniowością a współczynnikami partycyjnymi, zwróćmy uwagę na pewne głębsze zależności występujące w naszym przykładzie. Rozważmy mianowicie wzory na przystosowanie dla dwóch konkurujących schematów, np. **1 i **0: /(* * l) = e,, + e, / ( * * 0 ) = e ,,-e ,
Ponieważ współczynnik e0 jest równy po prostu średniej ze wszystkich ciągów kodo wych (czyli przystosowaniu schematu ***), więc współczynnik e, jest bezpośrednim miernikiem wkładu cyfry 1 umieszczonej na ostatniej pozycji ciągu. W konsekwencji jest to średni przyrost (w stosunku do średniej z populacji ogólnej) wynikający z obecno ści cyfry 1 na tej pozycji. Podobne wnioski można wyciągnąć w odniesieniu do pozo stałych współczynników partycyjnych rzędu. 1 (e2 i e4) oraz ich wpływu na wskaźniki przystosowania konkurujących schematów: /(* l* ) = e0+ e 2 / ( * 0 * ) = e 0- e 2 / ( l * * ) = e 0+ e 4 / ( 0 * * ) = e 0- e 4
Teraz niemal samo nasuwa się rozpatrzenie schematów wyższego rzędu.'Możemy myśleć o konstruowaniu przybliżeń niskiego rzędu dla schematów wyższego rzędu, sumując przyrosty (lub ubytki) w stosunku do średniego przystosowania po wszystkich schema tach pierwszego rzędu. Na przykład, ponieważ schemat *11 jest przecięciem schematów *1* i **1, przybliżenie pierwszego rzędu dla przystosowania tego schematu znajdziemy, biorąc sumę e, i e2 i dodając ją do średniego ogólnego przystosowania (e„). Używając daszka (A) dla zaznaczenia, że mamy do czynienia z wartością przybliżoną, otrzymuje my następujący związek:
D.4. Zastosowanie współczynników partycyjnych do analizy problemów zwodniczych______ 379
/(*11) = e,, + e, + e2 Porównując to z dokładnym wzorem na przystosowanie schematu * 11, otrzymamy róż nicę między przybliżeniem pierwszego rzędu a wartością dokładną:
/(*H ) ^ / ( * ll) = S 3 W tym przypadku współczynnik partycyjny drugiego rzędu, e3, opisuje wkład do przy stosowania wynikający z epistatycznej interakcji bitów na dwóch ostatnich pozycjach. Ogólnie, możemy wyjaśnić rolę odgrywaną przez wyższe współczynniki partycyjne. Określają one wkład do przystosowania wnoszony przez interakcje epistatyczne pewnych konfiguracji dwóch lub więcej bitów. Rozwinięcie idei przybliżeń wyższych rzędów dla wskaźników przystosowania schematów nie przedstawia większych trudności. Zamiast się tym zajmować, przejdziemy do zbadania roli współczynników partycyjnych w anali zie i konstrukcji problemów AG-zwodniczych.
D.4. Zastosowanie współczynników partycyjnych ___________________________ do analizy problemów zwodniczych Współczynniki partycyjne opisują efekty nieliniowezwiązane z funkcją odwzorowującą wektory binarne w zbiór liczb rzeczywistych. Chociaż jest to samo w sobie rzeczą jinteresującą, w studiach poświęconych algorytmom genetycznym współczynniki party cyjne są wykorzystywane głównie w dwóch celach: do zbadania, czy dany problem jest AG-zwodniczy, oraz do konstrukcji takich problemów. W tym punkcie zapoznamy się z prostymi przykładami analizy zwodniczości. Analiza zwodniczości jest zadaniem bardzo prostym. Rozważmy nasz trzybitowy przykładowy problem. Czy potrafimy powiedzieć na podstawie znajomości współczyn ników Ej czy fu n k cja/jest zwodnicza? Ponieważ punktem optymalnym jest 111, więc aby wystąpiła zwodniczość, musiałby istnieć pewien schemat zawierający 0, o wyższym przystosowaniu niż konkurujące z nim schematy zawierające tylko gwiazdki i jedynki. W przypadku schematów pierwszego rzędu musiałaby więc zachodzić przynajmniej jed na z następujących nierówności: / ( ... . < /(**0) /(*1*) < /(*0*) /(1**) < / ( 0 ... . W terminach współczynników partycyjnych nierówności te przyjmują równoważną po stać:
D. Transformacja współczynników partycyjnych
380
Sprawdzając tabelę wartości współczynników ejt stwierdzamy, że żaden z nich nie jest ujemny, a zatem zwodniczość problemu nie może być pierwszego rzędu ^ednobitowat Możemy następnie wypisać dodatkowe nierówności dla schematów drugiego rzędu?' i znów w tym przypadku żadna z nich nie okaże się myląca. Wyciągamy stąd wniosek", że nasz problem nie jest zwodniczy i wobec tego powinien być podatny na rozwiązanie za pomocą elementarnego algorytmugenetycznego. Gdybyśmy stwierdzili, żę co na|mniej jeden z warunków zwodniczości jest spełniony, moglibyśmy podejrzewać, że ma my do czynienia z problemem AG-trudnym. Aby to potwierdzić, należałoby jednak przeprowadzić dalszą analizę, gdyż funkcja AG-zwodnicza nie musi być AG-trudna Qak w przypadku minimalnego problemu zwodniczego), natomiast funkcja AG-trudna ieM zawszeAG-zwodnicza0. '
D.5. Konstruowanie problemów AG-zwodniczych za pomocą współczynników partycyjnych________________ Badanie, czy dany problem jest zwodniczy, jest rzeczą użyteczną, ale chcielibyśmy także wiedzieć, jak konstruować problemy częściowo lub całkowicie zwodnicze. Jest to nie trudne do osiągnięcia przy użyciu współczynników partycyjnych. W tym punkcie na szkicujemy wyprowadzenie niezbędnych warunków optymalności i zwodniczości. Zatóżmy, jak poprzednio, że punkt 111 jest optymalny. Wynika stąd siedem nieró wności postaci / j ,, >f m, /j,, >/,„„ itd. Korzystając z transformacji współczynników partycyjnych, możemy je wyrazić w postaci: e , + e 3+ e 5+ e 7 > 0 e 2 + e 3 + e f, + e 7 > 0 e , + e 2 + e 5 + e f, > 0 £,l + £ 5 + £ fi + £ 7 > 0
£, + £ 3+ £ 4 + E6 > 0 E j + E j + E,, + E , > 0 £ , + E 2+ E4+ £ 7 > 0
Te siedem warunków optymalności należy uzupelnić co najmniej jednym warunkiem zwodniczości, aby wprowadzić zwodnicze efekty nieliniowe. Dla zwodniczości pierw szego rzędu potrzeba spełnienia co najmniej jednego w następujących warunków:
0 N iedawno pojawily się doniesienia na tem at istnienia funkcji nie spelniajncych warunku zwodniczo ści, dla których algorytm y genetyczne /.acliowuj;i się źle. (S. Forrest, M . M itchell: W hat M akes a Problem Hard for a Genelie Algorithm ? Som c Anom alous Results and T heir Explanation, Machine Learning, 13 (I992))
{priyp. tlwn.).
0.7. Zadania ---- -------------------------------------------------------------------------------------------------------------- 381 e, < 0 e2 < 0 e4 < 0
%' W przypadku zwodniczości drugiego rzędu musi być spełniony jeden lub więcej z na stępujących układów warunków: B2 + e 3 < 0 ; ' E , + e 3 < 0 ;
I'1
£ ,+ e 2 < 0 ;
tir-
e, + e 4 < 0;
s 4+ e 5 < 0;
e , + e 5 < 0;
i|
e2+ e4 < 0 ;
e 4+ e f i < 0 ;
e 2+ e 6 < 0 ;
Konstrukcję konkretnego problemu zwodniczego pozostawiamy jako ćwiczenie.
I_____________________________ _ _ _ _ _
D.6. Podsumowanie
•W tym dodatku przedstawiliśmy metodę analizy statycznej schematów za pomocą współ czynników partycyjnych Hollanda. Procedura ta umożliwia bezpośrednią analizę wskaź ników przystosowania schematów dla zadanej funkcji przystosowania i danego kodu. Umożliwia również konstrukcję funkcji o określonej epistazie. Badąnia tego typu po zwalają rzucić więcej światła na problem doboru funkcji, kodu i operacji genetycznych w celu osiągnięcia większej efektywności algorytmu genetycznego.
E
______________________________________
D.7. Zadania
| D.1. Wyznacz współczynniki partyćyjne dla funkcji f(x ) ~ (x—3,5)2 (określonej na zbio rze {0, 1, .... 7}), jeśli parametr x jest kodowany przy użyciu trójpozycyjnego zapisu dwójkowego. Co można powiedzieć o wszystkich współczynnikach rzędu i 1? Dlaczego? |D .2. Oblicz współczynniki partycyjne dla funkcji f(x , y, z) = 10+x + 2y+4z, gdzie x, y i z są zmiennymi dwuwartościowymi o dziedzinie {—1, 1}, jeżeli układ paramet rów (x, y, z) jest kodowany w postaci ciągu z 'y 'x ', gdzie operacja primowania oznacza odwzorowanie 1 ^ 1, -1 ~^>0. Co można powiedzieć o wszystkich współ czynnikach partycyjnych rzędu 2 i 3 i dlaczego? D.3. Uogólnij wyniki zadania D.2 na przypadek dowolnej /-argumentowej funkcji linio wej postaci/(jc,, ..., Xi) = Y,a,Xi + b, gdzie x ,e (-1 , 1} i kodu postaci x',x'i-s -x Z x 'i, , przy czym x', e {0, 1}. },D.4. Oblicz współczynniki partycyjne dla funkcji f(x , y, z)= lO+x + 2y + 4 z - x y + 2yz-x y z, gdzie x, y i z są zmiennymi dwuwartościowymi o dziedzinie {—1, 1}, jeżeli układ parametrów (x, y, z) jest kodowany w postaci ciągu z 'y 'x ', przy czym x ', y ', z 'e {0, 1}. Jaki związek zachodzi między współczynnikami wielomianu a wartoś ciami współczynników partycyjnych? Czy jest to zależność ogólna?
382
D. Transformacja współczynników partycyjnyoh
D.5. Stwierdziliśmy wcześniej, że współczynnik partycyjny rzędu 3 (e7) dla funkcji, , f(x)= xr przy dwójkowym zapisie pozycyjnym jest równy zeru. Pokaż, że jest lak dla dowolnej funkcji kwadratowej f(x). D.6. Oblicz współczynniki partycyjne dla funkcji f(x )= x przy czterobitowym kodzie Graya dla nieujemnych liczb całkowitych. Jaki jest w tym przypadku najwyższy rząd nieliniowości? D.7. Skonstruuj trzybitową funkcję zwodniczą, którajest zwodnicza pierwsźegorzędu na każdej z trzech pozycji oraz zwodnicza drugiego rzędu na dwóch najmniej znaczących pozycjach. Zdefiniuj funkcję, podając jej wartości we wszystkich ośmiu punktach. Przyjmij, ż e / ul jest maksimum globalnym.
D.8. Ćwiczenia kom puterow e______________________________ ^ A. Napisz program komputerowy do obliczania wskaźników przystosowania dowolnego ciągu kodowego lub schematu przy zadanych współczynnikach partycyjnych. B. Napisz program komputerowy do obliczania współczynników partycyjnych e, przy zadanych wskaźnikach przystosowania ciągów kodowych /,. C. Oblicz współczynniki Walsha dla pewnej funkcji metodą szybkiej transformaty Walsha. Porównaj współczynniki' Walsha ze współczynnikami partycyjnymi obliczonymi za pomocą programu z ćwiczenia B.
Bibliografia
A c k le y , D . H . ( 1 9 8 5 ) . A c o n n e c tio n is t a lg o r ith m fo r g e n e tic searc h. P ro c e e d in g s o f a n
I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 1 2 1 - 1 3 5 . A n to n is s e , H .J ., & K e lle r, K . S. ( 1 9 8 6 ) . D y n a m ic e v a lu a tio n o f im p r e c is e ly s p e c ifie d k n o w l ed ge. P ro c e e d in g s o f th e D i g i t a l A v io n ic s S ystem s C onference, 5 9 6 - 6 0 0 . A n to n is s e , H . J., & K e lle r, K . S. ( 1 9 8 7 ) . G e n e tic o p e ra to rs fo r h ig h -le v e l k n o w le d g e r e p r e se n ta tio n s. G e n e tic a lg o r ith m s a n d th e ir a p p lic a tio n s : P ro c e e d in g s o f th e S e co n d I n t e r
n a t io n a l C o n fe re n c e o n G e n e tic A lg o rith m s , 6 9 —7 6 . A v r ie l, M . ( 1 9 7 6 ) . N o n lin e a r p r o g r a m m in g : a n a ly s is a n d m eth o d s. E n g le w o o d C liffs, NJ: P re n tic e -H a ll. A x e lro d , R . ( 1 9 8 5 , A u g u s t). M o d e lin g th e e v o lu tio n o f n o r m s . P a p e r p re s e n te d at th e A m e ric a n P o litic a l S c ie n c e A s s o c ia tio n M e e tin g , N e w O rle a n s , LA. A x e lr o d , R . ( 1 9 8 5 , N o v e m b e r ). T he s im u la t i o n o fg e n e tic s a n d e v o lu tio n . P a p e r p r e s e n te d a t A C o n fe r e n c e o n E v o lu tio n a r y T h e o r y in B io lo g y a n d E c o n o m ic s , U n iv e r s ity o f B ie le fe ld , F e d e ra l R e p u b lic o f G e rm a n y . A x e lro d , R. ( 1 9 8 7 ) . T h e e v o lu tio n o f s tra te g ie s in th e ite r a te d p r is o n e r ’s d ile m m a . In L. D a v is ( E d . ) , G e n e tic a lg o r ith m s a n d s im u la te d a n n e a lin g ( p p . 3 2 - 4 1 ) . L o n d o n : P itm a n . B a g Ie y ,J . D . ( 1 9 6 7 ) . T h e b e h a v io r o f a d a p tiv e sy stem s w h ic h e m p lo y g e n e tic a n d c o r r e la tio n a lg o rith m s . ( D o c t o r a l d is s e rta tio n , U n iv e r s ity o f M ic h ig a n ) . D is s e r ta tio n A b s tra c ts I n te r n a tio n a l, 2 8 ( 1 2 ) , 5 1 0 6 B . (U n iv e r s ity M ic r o film s N o . 6 8 - 7 5 5 6 ) B a ile y ,J . E., & K ris h n a k u m a r, K . ( 1 9 8 7 ) . T o ta l e n e r g y c o n tr o l c o n c e p ts a p p lie d to flig h t in w in d s h e a r. P ro c e e d in g s o f th e A IA A G u id a n c e , N a v ig a tio n , a n d C o n tr o l C onference, 5 2 5 532. B a k e r,J . E. ( 1 9 8 5 ) . A d a p tiv e s e le c tio n m e th o d s f o r g e n e tic a lg o rith m s . P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 1 0 1 - 1 1 1 . B a k e r,J . E. ( 1 9 8 7 ) . R e d u c in g b ias a n d in e ffic ie n c y in th e s e le c tio n a lg o rith m . G e n e tic
a lg o r ith m s a n d t h e ir a p p lic a tio n s : P ro c e e d in g s o f th e S e c o n d I n t e r n a t io n a l C o n fe re n ce o n G e n e tic A lg o r ith m s , 14—2 1 .
384 _____________________________________________ ___________________ _
— B ibliografi|~
B a r ric e lii, N . A. ( 1 9 5 7 ). S y m b io g e n e tic e v o lu tio n pro c ess es r e a liz e d b y a r tific ia l m e th o d s .
M e th o d o s , 9 ( 3 5 —3 6 ) , 1 4 3 —1 8 2 . B a r ric c lli, N . A . ( 1 9 6 2 ) . N u m e r ic a l te s tin g o f e v o lu tio n th e o rie s . A C TA B io tb e o re tic a , 16, 6 9 -1 2 6 . B a rto , A. G :, A n a n d a n , P., & A n d e rs o n , C . W . ( 1 9 8 5 ) . C o o p e r a t iv ity in n e tw o rk s o f p a tte rn r e c o g n iz in g s to c h a s tic le a rn in g a u to m a ta . P ro c e e d in g s o f tb e F o u r th Y a le W o rk s h o p o n
A p p lic a tio n s o f A d a p tiv e S ystem s T heory, 8 5 —9 0 . B e ig h tIe r, C . S., P h illip s , I) . T., & W ild e , D . J. ( 1 9 7 9 ) . F o u n d a tio n s o f o p t i m l z a t i o n ( 2 n d . e d .). E n g le w o o d C liffs, NJ: P re n tic e -H a ll. B e le w , R. ( 1 9 8 1 ) . [O p e r a tio n d e s c r ip tio n fo r M o d e l T cla s s ifie r s y s te m ]. U n p u b lis h e d m a n u s c rip t. B e llm a n , R. ( 1 9 6 1 ) . A d a p tiv e c o n t r o l processes: A g u id e d to u r. P rin c e to n , NJ: P rin c e to n U n iv e rs ity Press. B e n n e tt, W . H ., & D c Jong, K. A. ( 1 9 8 9 ).
A d a p tiv e s e a rch te c h n iq u e s a n d th e d e s ig n o f d e c e n tra liz e d c o n t r o l system s (N R 1 . M e m o r a n d u m R e p o r t). W a s h in g to n , D C : N a v a l R e s e arc h L a b o ra to ry . B e rn s te in , A., & R u b in , 11. ( 1 9 6 5 ) . A r t ific ia l e v o lu tio n o f p r o b le m -s o lv e r s . T h e A m e r ic a n
B e h a v io r a lS c ie n tis t, 8 ( 9 ) , 1 9 —2 3 . B e rry , R .J . ( 1 9 6 5 ) . G enetics. L o n d o n : E n g lis h U n iv e r s ity Press. B c th k e , A. D . ( 1 9 7 6 ) . C o m p a ris o n o f g e n e tic a lg o r it h m s a n d g r a d ie n t- b a s e d o p tim iz e r s
o n p a r a l l e l p ro ce sso rs: E ffic ie n c y o f u se o f p ro c e s s in g c a p a c ity (T e c h n ic a l R e p o r t N o . 1 9 7 ). A n n A rb o r: U n iv e r s ity o f M ic h ig a n , L o g ic o f C o m p u te r s G r o u p . B e th k e , A. D . ( 1 9 7 8 ) . G e n e tic a lg o r it h m s a s f u n c t i o n o p tim iz e r s (T e c h n ic a l R e p o r t N o . 2 1 2 ) . A n n A rb o r : U n iv e r s ity o f M ic h ig a n , L o g ic o f C o m p u te r s G ro u p . B e th k e , A. D . ( 1 9 8 1 ) . G e n e tic a lg o r ith m s as fu n c t io n o p tim iz e r s . ( D o c t o r a l d is s e rta tio n , U n iv e r s ity o f M ic h ig a n ). D is s e r ta tio n A h s t r a c t s I n t e r n a t io n a l 4 1 ( 9 ) , 3 5 0 3 B - ( U n iv e r s it y M ic ro film s N o . 8 1 0 6 1 0 1 ) B e th k e , A . D ., Z e ig le r, B. P., & S trauss, D . M . ( 1 9 7 4 ) . C o n v e rg e n c e p ro p e r tie s o f s im p le
g e n e tic a lg o r ith m s (T e c h n ic a l R e p o r t N o . 1 5 9 ) . A n n A rb o r : U n iv e r s ity o f M ic h ig a n , D e p a r tm e n t o f C o m p u te r a n d C o m m u n ic a tio n S cien ces . B ic k e l, A . S., & B ic k c l, R. W . ( 1 9 8 7 ) . T r e e s t r u c tu r e d r u le s in g c n e tic a lg o rith m s . G e n e tic a lg o r ith m s a n d t h e ir a p p lic a tio n s : P ro c e e d in g s o f th e S e co n d I n t e r n a t io n a l C o n fe re n c e
o n G e n e tic A [g o r ith m s , 7 7 —8 1 . B led so e , W . W . ( 1 9 6 1 , N o v e m b e r ). T h e u se o f b io lo g ic a l c o n c e p ts i n th e a n a ly t ic a l s tu d y o fs y s te m s . P a p e r p re s e n te d a t th e O R S A -T IM S N a tio n a l M e e tin g , San F ra n c is c o , C A . B led soe , W . W ., & B ro w n in g , 1. ( 1 9 5 9 ) . P a tt e r n r e c o g n itio n a n d re a d in g b y m a c h in e . P r o
cee d in gs o f th e E a s te m J o in t C o m p u te r C o n fe re n c e , 2 2 5 —2 3 2 . B o n o m i, E., & L u tto n ,J . L. ( 1 9 8 4 ). T h e N - c i t y tr a v e lin g salesm an p r o b le m : S ta tis tic a l m e c h a n ic s a n d th e M e tro p o lis a lg o r ith m . S IA M R e v ie w , 2 6 ( 4 ) , 5 5 1 —5 6 9 . B o o k e r, L. B. ( 1 9 8 1 ). M o n d a y e v e n in g s a te llite session. In J . R. S am pso n ( E d . ) , A S yn o p s is
o f t h e F i f t h A n n u a l A n n A r b o r A d a p tiv e S y s te m s W o rk s h o p (p p . 8 1 —8 6 ) . A n n A r b o r : U n iv e rs ity o f M ic h ig a n , D e p a r tm e n t o f C o m p u t e r a n d C o m m u n ic a tio n S cien ces, L o g ic o f C o m p u te rs G ro u p .
|gibliografia __________________________________________ ___________________________ 3 8 5
B o o k e r, L. B. ( 1 9 8 2 ) . In te llig e n t b e lia v io r as an a d a p ta tio n to th e task e n v ir o n m e n t’1( D o c to ra l d is s e rta tio n , T e c h n ic a l R e p o r t N o . 2 4 3 . A n n A rb o r : U n iv e r s ity o f M ic h ig a n ; b o g ic o f C o m p u te r s G r o u p ). D is s e r t a t io n s A b s t r a c t s I n t e m a t io n a l, 4 3 ( 2 ) , 4 6 9 B . (U n iv e r s it y M1c r o f ilm s N o .8 2 l4 9 6 6 )
., ,
*
'..
;
B o o k e r, L. B. ( 1 9 8 5 ) . Im p r o v in g th e p e r fo r m a n c e o f g c n e tic a lg o r ith m s in cla s s ifie r sys tem s. P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 8 0 - 9 2 . B o o k e r, L. B. ( 1 9 8 7 ) . Im p r o v in g s e arc h in g e n e tic a lg o rith m s . In L. D a v ls ( E d . ) , G e n e tic
a lg o r ith m s a n d s im u la te d a n n e a lin g (p p . 6 1 —7 3 ) . L o n d o n : P itm a n . B o o k e r, L. B., & D e J o n g , K . A . ( 1 9 8 5 ) . A D O P T ( C o m p u te r p r o g ra m in C f o r g e n e tic a lg o rith m s ). W a s h in g to n , D C : N a v a l R ese arch L a b o ra to ry . B o o k e r, L. B., G o ld b e rg , D . E., & H o lla n d , J. H . ( 1 9 8 7 ) C la s s ifie r syste m s a n d g e n e tic
a lg o r ith m s (T e c h n ic a l R e p o r t N o . 8 ) . A n n A rb o r : U n iv e r s ity o f M ic h ig a n , C o g n itiv e S ci e n c e a n d M a c h in e In te llig e n c e L a b o ra to ry . B o rla n d In te r n a tio n a l, In c . ( 1 9 8 5 ) . T u rb o P a s c a l V e rs io n 3 -0 re fe re n ce m a n u a l. Scotts V alle y, C A : a u th o r. B o s w o rth , J., F o o , N ., & Z e ig le r, B. P. ( 1 9 7 2 ) . C o m p a r is o n o f g e n e t ic a lg o r ith m s w it h
c o n ju g a te g r a d ie n t m e th o d s ( C R - 2 0 9 3 ). W a s h in g to n , D C : N a tio n a l A e ro n a u tic s a n d Space A d m in is tra tio n . B o w c n , D . ( 1 9 8 6 ) . A s tu d y o f th e effects o f in t e r n a lly d e t e r m in e d c ro s s o v e r a n d m u t a
t io n ra te s o n g e n e tic a lg o r it h m o p tim iz a tio n . U n p u b lis h e d m a n u s c rip t, U n iv e r s ity 6 f A l ab am a, Tuscaloosa. B o x , G . E. P, ( 1 9 5 7 ) . E v o lu tio n a r y o p e r a tio n : A m e th o d fo r.in c r e a s in g in d u s tria l p ro d u c -
t iv it y . J o u r n a l o f th e R o y a l S ta tis tic a l S o c ie ty C, 6 ( 2 ) , 8 1 - 1 0 1 . B ra c h m a n , R .J ., & S c h m o lz e ,J . ( 1 9 8 5 ) . A n o v e r v ie w o f th e K L - O N E k n o w le d g e r e p re s e n ta tio n system . C o g n itiv e S c ie n c e , 9 ( 2 ) , 1 7 1 —2 1 6 . Br:(dy, R. M . ( 1 9 8 5 ) . O p tim iz a tio n s tra te g ie s g le a n e d fr o m b io lo g ic a l e v o lu tio n ( L e tt e r to th e e d ito r ]. N a tu re , 3 1 7 , 8 0 4 ^ 3 0 6 . B ra in e rd , W . S., & L a n d w e b e r, L. H . ( 1 9 7 4 ) . T h e o ry o f c o m p u ta tio n . N e w Y o rk : W ile y In te rs c ie n c e . B ra ite n b e rg , V. ( 1 9 8 4 ) . Vehicles. C a m b r id g e , M A : M l T Press. B re m e rm a n n , H . J. ( 1 9 6 2 ) . O p tim iz a tio n th ro u g h e v o lu tio n a n d r e c o m b in a tio n . In M . C. Y o v its ,G .T .J a c o b i, & G . D . G o ld s te in (E d s .), S e lf- o r g a n iz in g s y s te m s ( p p . 9 3 —1 0 6 ) . W a s h in g to n , D .C .: S p a rta n B ooks. B re m e rm a n n , H .J . ( 1 9 6 3 ) . L im its o f g e n e tic c o n tr o l. IE E E T ra n s a c tio n s o n M iU ta r y E le c -
tro n ic s , M IL - 7 ( 2 - 3 ) , 2 0 0 - 2 0 5 . B re m e rm a n n , H . J. ( 1 9 6 7 ) . Q u a n tita tiv e aspects o f g o a l-s c c k in g s e if-o rg a n iz in g system s.
P rogress in T h e o re tic a l B io lo g y , 1, 5 9 - 7 7 . B re n t, R. P. ( 1 9 7 3 ) - A lg o r ith m s f o r m in im iz a t io n w it h o u t d e riv a tiv e s . E n g le w o o d C liffs, NJ: P re n tic e -H a ll. B rid g e s , C . L., & G o ld b e rg , D . E. ( V 9 8 7 ) . A n an alys is o f r e p r o d u c t io n a n d c ro s s o v e r in a b in a ry -c o d e d g e n e tic a lg o rith m . G e n e tic a lg o r ith m s a n d t b e ir a p p lic a tio n s : P ro c e e d in g s o f t h e S e c o n d In te r n a tio n a t C o n fe re n c e o n G e n e tic A lg o rith m s , 9 —13.
386
Bibliografia
L B rin d le , A . ( 1 9 8 1 ) . G e n e tic a lg o r ith m s f o r f u n c t i o n o p t im iz a t io n . U n p u b lis h e d d o c to ra l d is s e rta tio n , U n iv e r s ity o f A lb e rta , E d m o n to n . B rin d le , A ., & S am pson, J. ( 1 9 7 9 ) . A n a ly s is o f fr e q u e n c y e r r o r i n th re e s a m p lin g a lg o rith m s . U n p u b lis h e d m a n u s c rip t, U n iv e r s ity o f A lb e r ta , D e p a r t m e n t o f C o m p u tin g S c ie n c e , E d m o n to n . B rin d le , A ., & S a m p s o n ,J . ( 1 9 8 1 ) . G e n e tic a lg o r it h m s a s a d a p tiv e s e a rc h m e c h a n is m s f o r
f u n c t i o n o p t im iz a t io n . U n p u b lis h e d m a n u s c rip t, U n iv e r s ity o f A lb e rta , D e p a r t m e ilt o f C o m p u te r S c ie n c e , E d m o n to n . B urks, A. W . ( E d . ) . ( 1 9 7 0 ) . Essays o n c e llu la r a u to m a ta . U rb a n a : U n iv e r s ity o f Illin o is Press. B urks, A . W . ( 1 9 8 6 ) . A r a d ic a lly n o n -v o n -N e u m a n n -a r c h ite c tu r e t b r le a r n in g a n d d is c o v e ry .
P ro c e e d in g s o f t h e C o n fe re n c e o n A lg o r ith m s a n d H a r d w a r e f o r P a r a l l e l P rocessing, 1— 17. B urks, A . W ., Z e ig le r, B. P., Laing, R. A ., & H o lla n d , J. H . ( 1 9 7 4 ) . B io lo g ic a lly m o tiv a te d a u to m a to n th e o r y a n d a u to m a to n m o tiv a te d b io lo g ic a l re s e a rc h . P ro c e e d in g s o f th e 1 9 7 4
C o n fe re n c e o n B io lo g ic a lly M o tiv a te d A u t o m a t a T he o ry, 1—12. C a v ic c h io , D . J. ( 1 9 7 0 ) . A d a p tiv e s e a rc h u s in g s im u la te d e v o lu t io n U n p u b lis h e d d o c to ra l d is s e rta tio n , U n iv e r s ity o f M ic h ig a n , A n n A rb o r. C a v ic c h io , D . J . ( 1 9 7 2 ) . R e p ro d u c tiv e a d a p tiv e p lan s . P ro c e e d in g s o f th e A C M 1 9 7 2 A n -,
n t i a l C onference, 1—11. C o h e n , M . D . ( 1 9 8 1 ) . T h e p o w e r o f p a r a lle l th in k in g . f o u r n a l o f E c o n o m ic B e h a v io r a n d
O r g a n iz a tio n , 2 ( 4 ) , 2 8 5 - 3 0 6 . C o h e n , M . D . ( 1 9 8 4 ) . C o n flic t a n d c o m p le x ity : G o a l d iv e r s ity a n d o rg a n iz a tio n a l se arc h e ffectiven ess . T h e A m e r ic a n P o litic a lS c ie n c e R e v ie w , 7 8 ( 2 ) , 4 3 5 —4 5 1 . C o h e n , M . D . ( 1 9 8 6 , O c t o b e r ) . A l-b a s e d m o d e ls o f o r g a n iz a t io n a l designs. P a p e r p r e s e n te d a t O R S A /r iM S J o in t N a tio n a l M e e tin g , M ia m i, FL. C o h e n , M . D . ( 1 9 8 7 , J u n e ). A d a p ta tio n o f o r g a n i z a t i o n a l ro u tin e s . P a p e r p re s e n te d at th e W o r k s h o p o n O rg a n iz a tio n a l S c ie n c e , M a ssac h u sse tts In s t it u t e o f T e c h n o lo g y , C a m b r id g e , M A . C o h o o n ,J . P., & H e g d e , S. U ., M a r tin , W . N ., & R ic h a rd s , D . ( 1 9 8 7 ) . P u n c tu a te d e q u ilib ria : A p a ra lle l g e n e tic a lg o r ith m . G e n e tic a lg o r ith m s a n d t h e ir a p p lic a tio n s : P ro c e e d in g s o f
th e S e c o n d I n t e m a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s , 1 4 8 —1 5 4 . C o h o o n ,J . P., & Paris, W . D . ( 1 9 8 6 ) . G e n e tic p la c e m e n t. P ro c e e d in g s o f th e lE E E I n t e r
n a t io n a l C o n fe re n c e o n C o m p u te r-A id e d D e s ig n , 4 2 2 —4 2 5 . C o n ra d , M . ( 1 9 7 9 ) . B o o ts tra p p in g o n th e a d a p tiv e la n d s c a p e . B ioS ystem s, 11, 1 6 7 - 1 8 2 . C o n ra d , M ., H a r th , E., H o lla n d ,J ., M a r tin e z , H ., P a tte e , H ., R ad a, R., W a ltz , D ., & Z e ig le r, B. ( 1 9 8 4 ) . N a tu ra l a n d a r tific ia l in te llig e n c e . C o g n itio t^ a n e k B r a in Theory, 7 ( 1 ) , 8 9 —10 4. C o o m b s , S., & D a v is , L. ( 1 9 8 7 ) . G e n e tic a lg o r ith m s a n d c o m m u n ic a t io n lin k s p e e d design: C o n s tra in ts a n d o p e ra to rs . G e n e tic a lg o r ith m s a n d t h e ir a p p lic a tio n s : P ro c e e d in g s o f th e
S e c o n d In te r n a tio n a l C o n fe re n c e o n G e n e tic A lg o r ith m s , 2 5 7 —2 6 0 . C ra m e r, N . L. ( 1 9 8 5 ) . A re p r e s e n ta tio n fo r th e a d a p tiv e g e n e r a tio n o f s im p ie s e q u e n tia l p ro g ra m s . P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 1 8 3 —1 8 7 .
p jb lio g ra fia ______________________________________________________________________ 387 D a vis, L. ( 1 9 8 5 a ) . A p p ly in g a d a p tiv e a lg o rith m s t o e p is ta tic d o m a in s . P ro c e e d in g s o f t b e
9 t h I n t e r n a t io n a l J o i n t C o n fe re n c e o n A r t i f i c i a l In te llig e n c e , 1 6 2 —1 6 4 . D a vis, L. ( 1 9 8 5 b ) . J o b s h o p S c h e d u lin g w it h g e n e tic a lg o rith m s . P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tlc A lg o r ith m s a n d T h e ir A p p lic a tio n s , 1 3 6 —1 4 0 . D avis, L. ( lid .). ( 1 9 8 7 ) . G e n e tic a lg o r ith m s a n d s im u la te d a n n e a lin g . L o n d o n : P itm a n . D avis, L., & C o o m b s , S. ( 1 9 8 7 ) . G e n e tic a lg o rith m s a n d c o m m u n ic a tio n lin k s p e e d desigiv. th e o r e tic a l c o n s id e ra tio n s . G e n e tic a lg o r ith m s a n d t h e ir a p p lic a tio n s : P ro c e e d in g s o f t h e
S e co n d I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s , 2 5 2 —256. D avis, L., & C o o m b s , S.
(1 9 8 9 ).
O p t im iz in g n e tw o r k l in k s iz e s w itb g e n e tic a lg o r ith m s .
In M . Elza's, T . O r e n , & B. P. Z e ig le t,,M o d e llin g a n d s im u la t i o n m e th o d o lo g y : K n o iv le d g e
system s p a ra d ig m s . A m s te rd a m : N o r th -I-Io lla n d . D avis, L., & R itte r, F. ( 1 9 8 7 ) . S c h e d u le o p tim iz a tio n w it h p r o b a b ilis tic searc h. P ro c e e d in g s o f t h e 3 r d IE E E C o n fe re n c e o n A r t if ic ia lI n t e llig e n c e A p p l ic a ti o n s , 2 3 1 - 2 3 6 . D avis, L., & S m ith , D . ( 1 9 8 5 ) . A d a p tiv e d e s ig n f o r la y o u t s y n th e s is (T e x a s In s tru m e n ts in te r n a l r e p o r t ). D allas: T e x a s In s tru m e n ts . D avis, L., & S te e n s tru p , M . ( 1 9 8 7 ) . G e n e tic a lg o rith m s a n d s im u la te d a n n e a lin g : A n o v e r v ie w . In L. D a v is ( E d . ) , G e n e tic a lg o r ith m s a n d s lm u I a t e d a n n e a lin g ( p p . 1 - 1 1 ) . L o n d on: P itm a n . D avis, R., & K in g , J. ( 1 9 7 6 ) . A n o v e r v ie w o f p r o d u c tio n system s. In E. W . E lc o c k & D . M ic h ie (E d s .), M a c h in e In te llig e n c e 8 (p p . 3 0 0 - 3 3 2 ) . N e w Y o rk : W ile y . D e G r o o t, M . I I. ( 1 9 7 0 ) . O p t im a l s ta t is t ic a l d e c is io n s . N e w Y o rk : M c G r a w -H ill. D e Jo ng , K. A. ( 1 9 7 5 ) . A n analysis o f th e b e h a v io r o f a class o f g e n e tic a d a p tiv e system s. ( D o c t o r a l d is s e rta tio n , U n iv e r s ity o f M ic h ig a n ). D is s e r ta tio n A b s tra c ts I n t e r n a t io n a l 3 6 ( 1 0 ) , 514015. (L In iv e r s lty M ic ro film s N o . 7 6 - 9 3 8 1 ) D e Jo ng , K. A. ( 1 9 7 6 ) . A r t i f i c i a l g e n e tic a d a p tiv e system s (T e c h n ic a l R e p o r t N o . 7 6 —7 ) . P itts b u rg h : U n iv e r s ity o f P itts b u rg h , D e p a r tm e n t o f C o m p u te r S c ie n c e . D e J o ng , K. A. ( 1 9 8 0 a ) . A d a p tiv e sy s te m d e sig n: A g e n e tic a p p ro a c h . IE E E T ra n s a c tio n s
o n Systems, M a n , a n d C yb e rn e tics, S M C -1 0 (9 ), 5 6 6 —5 7 4 . D e Jong, K. A. ( 1 9 8 0 b ) . A g e n e tic -b a s e d g lo b a l f u n c t i o n o p t im iz a t io n te c h n iq u e ( T e c h n ic a l R e p o rt N o . 8 0 - 2 ) . P itts b u rg h : U n iv e r s ity o f P itts b u rg h , D e p a r t m e n t o f C o m p u te r S cien ce. D e Jong, K. A. ( 1 9 8 1 ). A d a p tiv e s e a rc h p ro c e d u re s J 'o r la rg e c o m p le x spaces (T e c h n ic a l R e p o rt N o . 8 1 - 2 ) . P itts b u rg h : U n iv e r s ity o fP itts b u r g h , D e p a r tm e n t o f C o m p u t e r S cien ce. D e J o n g , K. A. (c a . 1 9 8 2 ). [P ascal v e rs io n o f a g e n e ra l-p u rp o s e g e n e tic a lg o r ith m c o m p u te r p ro g ra m |. U n iv e rs ity o f P itts b u rg h , D e p a r tm e n t o f C o m p u te r S c ie n c e . D e J o n g , K. A. ( 1 9 8 5 ) . G e n e tic a lg o rith m s : A 1 0 y e a r p e rs p e c tiv e . P ro c e e d in g s o f a n I n
te r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 1 6 9 - 1 7 7 . D e Jo ng , K. A. ( 1 9 8 7 ) . O n u s ing g e n e tic a lg o rith m s to s e arc h p ro g ra m spaces. G e n e tic
a lg o r ith m s a n d th e ir a p p lic a tio n s : P ro c e e d in g s o f t h e S e co n d I n t e r n a t io n a l C o n fe re n ce o n G e n e tic A lg o rith m s , 2 1 0 —2 1 6 . D e w d n e y , K. A. ( 1 9 8 5 ). E x p lo r in g th e fie ld o f g e n e tic a lg o rith m s in a p r im o r d ia l c o m p u te r sea fu ll o f flih s . S c ie n tific A m e r ic a n , 2 5 3 ( 5 ) , 2 1 —3 2 .
388 __________ ____________________________________________ ———— .......— L
Bibliografia
D o la n , C . I'., & D y e r , M . G . ( 1 9 8 7 ). T o w a rd th e e v o lu t io n o f s y m b o ls . G e n e tic a lg o r ith m s a n d th e ir a p p lic a tio n s : P ro c e e d in g s o f th e S e co n d I n t e r n a t io n a l C o n fe re n c e o n G e n e tic
A lg o rith m s , 1 2 3 - 1 3 2 . E n g la n d e r, A. C . ( 1 9 8 5 ). M a c h in e le a rn in g o f v is u a l r e c o g n itio n u s in g g e n e t ic a lg o rith m s .
P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 1 9 7 - 2 0 1 . E tte r, D . M ., H ic k s , M . J, & C h o , K . 11. ( 1 9 8 2 ) . R e c u rs iv e a d a p tiv e f il t e r d e s ig n u s in g an a d a p tiv e g e n e tic a lg o r ith m . P ro c e e d in g s o f IE E E I n t e r n a t i o n a l C o n fe re n c e o n A c o u s tic s ,
Speech a n d S ig n a l P ro c e s s in g 2, 6 3 5 ^ > 3 8 . fa r m e r , D ., laiped es, A., P a c k a rd , N ., & W e n d r o lf, B. (E d s .). ( 1 9 8 6 ) . E v o lu tio n , ga m e s, a n d
le a rn in g . A m s te rd a m : N o r th -H o lIa n d . fa r m e r , J. D ., P a ck ard , N . H ., & P e re ls o n , A. S. ( 1 9 8 5 , J u ly ). The im m u n e s y s te m a n d a r t i f i c i a l in te llig e n c e . P a p e r p re s e n te d at an In te r n a t io n a l C o n fe r e n c e o n G e n e t ic A lg o rith m s a n d T h e ir A p p lic a tio n s , P itts b u rg h . P a rm c r,J . D ., P a ck ard , N . H ., & P e re ls o n , A. S. ( 1 9 8 6 ) . Th e im m u n e s y s te m , a d a p ta tio n , a n d m a c h in e le a rn in g . In D . P a rm e r, A . L apcd cs, N . P a c k a rd , & 15. W c n d r o ff ( E d s .) , E v o lu tio n ,
g a m e s a n d le a r n in g ( p p . 18 7 —2 0 4 ). A m s te rd a m : N o r t h - i lo lla n d .( R e p r in t e d fr o m P b ysica , 2 2 0 , 1 8 7 —2 0 4 ) P edanzo , A .J . ( 1 9 8 6 a ). D a r w in ia n e v o lu tio n as a p a ra d ig m fo r A I re s e a rc h . S IG A R T N e w s
letter, 9 7 , 2 2 - 2 3 . fe lle r , W . ( 1 9 6 8 ). A n in t r o d u c t io n to p r o b a b i l i t y th e o r y a n d its a p p lic a t io n . N e w Y o rk : W iIc y . fis h e r, R. A. ( 1 9 5 8 ). T h e g e n e tic th e o ry o f n a t u r a l s e le c tio n (r e v . e d .). N e w Y o r k : D o v e r. fit z p a t r ic k ,J . M ., G r e fe n s te tte ,J .J ., & V a n G u c h t, D . ( 1 9 8 4 ) . Im a g e r e g is tr a tio n b y g e n e tic search. P ro c e e d in g s o f lE E E S o u tb e a s t C onference, 4 6 0 - 4 6 4 . P le tc h e r, R., & P o w e ll, M . J. D . ( 1 9 6 3 ). A ra p id ly c o n v e rg e n t d e s c e n t m e t h o d f o r m in im i za tio n .
Com puterJournal, 6,
1 6 3 -1 6 8 .
fo g e l, I..J ., O w e n s , A .J ., & W alsh , M .J . ( 1 9 6 6 ). A r t i f i c i a l in te llig e n c e t h r o u g h s im u la te d
e v o lu tio n . N e w Y o rk : J o h n W ile y . f o o , N . Y., &
g e n e tic
lio s w o r th , J. I.. ( 1 9 7 2 ) . A lg e b ra ic , g e o m e tric , a n d s to c h a s tic aspects o f
o p e ra to rs
(C R -2 0 9 9 ).
W a s h in g to n ,
DC:
N a tio n a l
A e r o n a u tic s
and
S pace
A d m in is tra tio n . fo r r e s t, S. ( 1 9 8 2 , A u g u s t). A p a r a lle l a lg o r it h m f o r c la s s ific a tio n in K I.-O N E n e tw o rk s (C o n s u l N o te N o . 1 5 ). M a rin a d e l Rey, CA: U n iv e r s ity o f S o u t h c r n C a lif o r n ia , In f o r m a t io n S cien ces In s titu te . fo r r e s t, S. ( 1 9 8 5 a ). D o c u m e n ta tio n fo rP R IS O N E R S D IL E M M A a n d N O R M S p r o g r a m s th a t
use th e g e n e tic a ig o r ith in . U n p u b lis h e d m a n u s c rip t. U n iv e r s ity o f M ic h ig a n , A n n A rb o r, fo r r e s t, S. ( 1 9 8 5 b ). Im p le m e n tin g s e m a n tic n e t w o r k i t r u c w ir e s us in g th e c la s s if ie r sy stem .
P ro c e e d in g s o f a t t I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 2 4 - 4 4 . fo r r e s t, S. ( 1 9 8 5 c ) . A s tu d y o f p a r a lle lis m in th e c la s s ifie r system a n d its a p p l i c a t i o n to
c la s s ific a tio n i n K L -O N E s e m a n tic n e tw o rk s . U n p u b lis h e d d o c to ra l d is s e r t a t io n , U n iv e r sity o f M ic h ig a n , A n n A rb o r.
389
Bibliografia Fo rre s t, S. ( 1 9 8 6 ) . T h e cla s s ifie r system : A c o m p u ta tio n a l m o d e l th a t s u p p o rts m a c h ih e in te llig e n c e . P ro c e e d in g s o f th e 1 9 8 6 I n t e r n a t io n a l C o n fe re n c e o n P a r a lle l P rocessing, 7 1 1 -7 1 6 . Fo rre s t, S.
( 1 9 8 9 ).
M o d e llin g h ig h -le v e l s y m b o lic s tru c tu re s in p a ra lle l system s th at
s u p p o rt le a rn in g . In M . Elzas, T. O r e n , & B. P. Z e ig le r (E d s .), M o d e llin g a n d s im u la tio n
m e th o d o lo g y : K n o w le d g e s y ste m s p a ra d ig m s , A m s te rd a m : N o r th -H o Ila n d . F o rs yth , K. ( 1 9 8 1 ) . B cag le— A D a r w in ia n a p p ro a c h to p a tte r n re c o g n itio n . K ybernetes, / 0 ( 3 ) , 1 5 9 -1 6 6 . F o rs yth , R., & Rada, R. ( 1 9 8 6 ) . M a c h in e le a rn in g : A p p lic a t io n s i n e x p e rt system s a n d
in f o r m a t io n re trie v a l. C h ic h e s te r: E llis H o r w o o d . F o u rm a n , M. P. ( 1 9 8 5 ). C o m p a c tio n o f s y m b o lic la y o u t u s in g g e n e tic a lg o rith m s . P ro ce e d
in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 141 -1 5 3 .
F rantz, D. R. ( 1 9 7 2 ) . N o n -lin e a ritie s in g e n e tic a d a p tiv e se a rc h . ( D o c to r a l'd is s e r ta tio n , U n iv ersity o f M ic h ig a n ). D is s e r ta tio n A b s tra c ts I n t e r n a t io n a l, 3 3 ( 1 1 ) , 5 2 4 ( ) B - 5 2 4 lB . (U n iv e rs ity M icro film s No. 7 3 - 1 1 , 1 1 6 ) Fraser, A. S. ( 1 9 6 0 ) . S im u la tio n o f g e n e tic system s b y a u to m a tic d ig ita l c o m p u tc r s .5 -Iin k age, d o m in a n c e an d epistasis. In O . K e m p th o r n e ( E d . ) , B io m e tr ic a lg e n e tic s ( p p . 7 0 - 8 3 ) . N e w Y o rk : M a c m illa n . Fraser, A. S. ( 1 9 6 2 ) . S im u la tio n o f g e n e tic s y s te m s ./o w w r // o fT h e o r e tic a lB io lo g y , 2, 3 2 9 — 346. Frey, P. W . ( 1 9 8 6 ) . A b it-m a p p e d classifier. Byte, 1 1 (1 2 ) , 1 6 1 - 1 7 2 . F rie d b e rg , R. M . ( 1 9 5 8 ). A le a rn in g m a c h in e : P a rt I. IB M J o u r n a l o fR e s e a rc h a n d D e v e l-
o p m e n t, 2 ( 1 ), 2 - 1 3 . F rie d m a n , G . J. ( 1 9 5 9 ) . D ig ita l s im u la tio n o f an e v o lu tio n a r y p ro c ess . G e n e ra lS y s te m s
Y earbook, 4, 1 7 1 - 1 8 4 . F iijik o , C ., & D ic k in s o n ,J . ( 1 9 8 7 ) . U s in g th e g c n e tic a lg o r ith m t o g e n e r a te LISP s o u rc e c o d e to s o lv e th e p r is o n e r ’s d ile m m a . G e n e tic a lg o r ith m s a n d th e ir a p p lic a tio n s : P r o
cee d in gs o f th e S e co n d I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s , 2 3 6 - 2 4 0 . G e ra rd y , R. ( 1 9 8 2 ) . P ro b a b ilis tic fin ite sta te sy stem id e n tific a tio n . I n t e r n a t io n a l J o u r n a l
o f G e n e ra 1 Systems, 8, 2 2 9 —2 4 2 . G illie s , A. M . ( 1 9 8 5 ) . M a c h in e le a r n in g p ro c e d u re s f o r g e n e r a t in g im a g e d o m a in fe a tu r e delectors. U n p u b lis h e d d o c to ra l d is s e rta tio n , U n iv e r s ity o f M ic h ig a n , A n n A rb o r. G lo v e r, D . E. ( 1 9 8 6 ) . E x p e r im e n ta tio n w it h an a d a p tiv e s e a rc h s tra te g y fo r s o lv in g a k e y b o a rd d e s ig n /c o n fig u ra tio n p r o b le m (D o c to r a l d is s e rta tio n . U n iv e r s ity o f lo w a ) . D is s e r-
t a t io n A b s t r a c t s I n t e r n a t io n a l, 47, 2 9 9 6 B . (U n iv e r s it y M ic r o film s N o . 8 6 2 2 7 6 7 ) G lo v e r, D . E. ( 1 9 8 7 ) . S o lv in g a c o m p le x k e y b o a rd c o n fig u r a tio n p r o b le m th ro u g h g e n e r a liz e d a d a p tiv e searc h. In L. D a v is ( E d . ) , G e n e tic a lg o r ith m s a n d s im u la te d a n n e a lin g (p p . 12—3 1 ) . L o n d o n : P itm a n . G o K lb e rg ,
D.
E.
( 1 9 8 0 a ). A d a p tiv e
c o n t r o l o f g a s p ip e lin e
system s.
U n p u b lis h e d
m a n u s c rip t. G o ld b e rg , D . E. ( 1 9 8 0 b ) . S o m e s im p le e x p e rim e n ts i n g e n e tic - lik e a d a p ta tio n . U n p u b lis h e d m a n u s c rip t.
390 ______________________________________________________________________
Bibliografia
L G o ld b e rg , D . E. ( 1 9 8 1 a ) . A lg e b r a ic a n U p r o b a b ilis t ic p ro p e r tie s o f g e n e tic a lg o r ith m s , U n p u b lis h e d m a n u s c rip t. G o ld b e rg , D . E. ( 1 9 8 1 b ). R o b u s t le a r n in g a n d d e c is io n a lg o r ith m s f o r p ip e lin e o p e ra
tio n s . U n p u b lis h e d d is s e rta tio n p ro p o s a l, U n iv e r s ity o f M ic h ig a n , A n n A rb o r. G o ld b e rg , D . E. ( 1 9 8 1 c ) . S yste m id e n t if ic a t i o n
v ia g e n e tic a lg o r ith m . U n p u b lis h e d
m a n u s c rip t. G o ld b e rg , D . E. ( 1 9 8 2 ) . SGA: A s im p le g e n e tic a lg o r it h m (c o m p u t e r p ro g ra m in P ascal). A n n A rb o r: U n iv e r s ity o f M ic h ig a n , D e p a r tm e n t o f C iv il E n g in e e rin g . G o ld b e rg , D . E. ( 1 9 8 3 ) . C o m p u te r -a id e d gas p ip e lin e o p e r a tio n u s ing g e n e tic a lg o r ith m s a n d r u le le a rn in g ( D o c t o r a l d is s e rta tio n , U n iv e r s ity b f M ic h ig a n ) . D is s e r ta tio n A b s tra c ts
I n te r n a tio n a l, 4 4 ( 1 0 ) , 3 1 7 4 B . ( U n iv e r s it y M ic r o film s N o . 8 4 0 2 2 8 2 ) G o ld b e rg , D . E. ( 1 9 8 4 , M a y ). C o m p u te r-a id e d p ip e lin e o p e r a tio n u s in g g e n e tic a lg o
r ith m s a n d r u le le a rn in g . P a p e r p re s e n te d at th e 1 9 8 4 A P I P ip e lin e C y b e rn e tic s S y m p o s iu m , H o u s to n , T X . G o ld b e rg , D . E. ( 1 9 8 5 a ) . C o n tr o llin g d y n a m ic sy stem s w i t h g e n e tic a lg o r ith m s a n d r u le le a rn in g . P ro c e e d in g s o f th e 4 th Y a le W o rk s h o p o n A p p lic a tio n s o f A d a p tiv e S yste m s
Theory, 9 1 - 9 7 . G o ld b e rg , D . E. ( 1 9 8 5 b ) . D y n a m ic sy s te m c o n tr o l u s in g r u le le a r n in g a n d g e n e t ic a lg o rith m s . P ro c e e d in g s o f th e 9 t h I n t e m a t i o n a l J o i n t C o n fe re n c e o n A r t i f i c i a l In te llig e n c e ,
1, 5 8 8 - 5 9 2 . G o ld b e rg , D . E. ( 1 9 8 5 c ) . G e n e tic a lg o rith m s a n d r u le le a rn in g in d y n a m ic sy s te m c o n t r o l .
P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p l i c a tio n s , 8 —15. G o ld b e rg , D . E. ( 1 9 8 5 d ). O p t im a l i n i t i a l p o p u l a t io n s iz e f o r b in a ry - c o d e d g e n e t ic a l
g o r ith m s ( T C G A R e p o r t N o . 8 5 0 0 1 ) . Tusca loo sa: U n iv e r s ity o f A la b a m a , T h e C le a r in g h o u s e fo r G e n e tic A lg o rith m s . G o ld b e rg , D . E. ( 1 9 8 6 a ). T h e g e n e tic a lg o r ith m a p p ro a c h : W h y , h o w , a n d w h a t n e x t? I n K . S. N a r e n d ra ( E d . ) , A d a p tiv e a n d le a r n in g system s: T h e o ty a n d a p p lic a tio n s ( p p . 2 4 7 — 2 5 3 ) . N e w Y o rk : P le n u m Press. G o ld b e rg , D . E. ( 1 9 8 6 b ) . S im p le g e n e tic a lg o r ith m s a n d th e m in im a l, d e c e p tiv e p r o b l e m ( T C G A R e p o r t N o . 8 6 0 0 3 ) . Tu sca lo o sa: U n iv e r s ity o f A la b a m a , T h e C le a rin g h o u s e f o r G e n e tic A lg o rith m s . G o ld b e rg , D . E. ( 1 9 8 6 c ) . A ta le o f tw o p ro b le m s : B ro a d a n d e f fic ie n t o p t im iz a t io n u s in g g e n e tic a lg o rith m s . P ro c e e d in g s o f th e 1 9 8 6 S u m m e r C o m p u te r S im u la t io n C o n fe re n c e ,
44^ 8.
G o ld b e rg , D . E. ( 1 9 8 7 a ) . C o m p u te r -a id e d gas p ip e lin e o p e r a tio n u s in g g e n e tic a lg o r it h m s a n d r u le le a rn in g . P a r t E G e n e tic a lg o rith m s in p ip e lin e o p tim iz a t io n . E n g in e e r in g w i t h
C o m p u te rs , 3 5 - 4 5 . G o ld b e rg , D . E. ( 1 9 8 7 b ). C o m p u te r -a id e d gas p ip e lin e o p e r a tio n u s ing g e n e tic a l g o r i t h m s an d r u le le a rn in g . P a rt II: R u le le a rn in g c o n tr o l o f a p ip e lin e u n d e r n o rm a l a n d a b n o r m a l c o n d itio n s . E n g in e e rin g w it h C o m p u te rs , 4 7 —5 8 . G o ld b e rg , D . E. ( 1 9 8 7 c ) . A n o te o n th e d is r u p t io n d u e to c ro s s o v e r in a b in a r y - c o d e d
g e n e tic a lg o r it h m (T C G A R e p o r t N o . 8 7 0 0 1 ) . T lisca lo o s a: U n iv e r s ity o f A la b a m a , T h e C le a rin g h o u s e fo r G e n e tic A lg o rith m s .
Bibliografia____________________________________________ _______________ _________ 3 g j
G o ld b e rg , D . E. ( 1 9 8 7 d ). S im p le g e n e tic a lg o rith m s a n d th e m in im a l, d e c e p tiv e p ro b le m In L. D a v is ( E d . ) , G e n e tic a lg o r ith m s a n d s im u la te d a n n e a lin g (p p . 7 4 —8 8 ) . I.o n d o n : P itm a n .
... }
■
G o ld b e rg , D . E.
( 1 9 8 9 ).
|,
G e n e tic s -b a s e d m a c h in e le a rn in g : W h e n c e it c a m e , w h e r e i t ’s
go in g . In M . Elzas, T. O r e n , & B. P. Z e ig lc r ( E d s .), M o d e llin g a n d s im u la t i o n m e th o d o lo g y :
K n o w le d g e s y s te m s p a ra d ig m s . A m s te rd a m : N o r th -H o lla n d .
»1
G o ld b e rg , D . E., & K u o , C „ H . ( 1 9 8 5 , O c t o b e r ) . G e n e tic a lg o r ith m s in p ip e lin e o p t i m i
z a tio n . P a p e r p re s e n te d at th e 1 9 8 5 m e e tin g o f th e P ip e lin e S im u la tio n In te r e s t G ro u p , A lb u q u e r q u e , N M . G o ld b e rg , D . E., & K u o , C . I I. ( 1 9 8 7 ) . G e n e tic a lg o rith m s in p ip e lin e
0
p lim iz a t i 0 n. / 0 m 7 te//
o f C o m p u t e r s i n C iv ilE n g in e e r in g , 1 ( 2 ) , 1 2 8 —1 4 1 . G o ld b e rg , D . U., &
U n g le , R. ( 1 9 8 5 ) . A lle le s , lo c i, a n d th e tr a v e lin g salesm an p r o b le m .
P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e ir A p p lic a tio n s , 1 5 4 - 1 5 9 . G o ld b e rg , D . E., & R ic h a rd s o n , J. ( 1 9 8 7 ) . G e n e tic a lg o rith m s w it h s h a rin g fo r m u ltim o d a l fu n c tio n o p tim iz a tio n . G e n e tic a lg o r ith m s a n d th e ir a p p lic a tio n s : P ro c e e d in g s o f th e Sec
o n d I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o rith m s , 4 1 - 4 9 . G o ld b e rg , D . E., & S a m ta n i, M . P. ( 1 9 8 6 ) . E n g in e e rin g o p tim iz a t io n v ia g e n e tic a lg o rith m .
P ro c e e d in g s o f th e N in t h C o n fe re n c e o n E le c tr o n ic C o m p u ta tio n , 4 7 1 - 4 8 2 . G o ld b e rg , D . E., & Segrest, P. ( 1 9 8 7 ) . F in ite M a rk o v c h a in analysis o f g e n e tic a lg o rith m s .
G e n e tic a lg o r ith m s a n d t h e ir a p p lic a t io n s : P ro c e e d in g s o f t h e S e c o n d In te r n a tio n a l C o n f e r e n c e o n G e n e tic A lg o rith m s , 1 - 8 . G o ld b e rg , D . E., & S m ith , R. E. ( 1 9 8 6 , O c t o b e r ) . A l m eets OR: B l i n d in f e r e n t ia l se a rch
w it h g e n e tic a lg o rith m s . P a p e r p re s e n te d at th e O I(S A A 'IM S J o in t N a tio n a l M e e tin g , M ia m i, FL. G o ld b e rg , D . E., & S m ith , R. E. ( 1 9 8 7 ) . N o n s ta tio n a r y ft 1 n c ti 0 n o p tim iz a t io n us in g g e n e tic a lg o rith m s w it h d o m in a n c e a n d d ip lo id y . G e n e tic a lg o r ith m s a n d t h e ir a p p lic a tio n s : P r o
ceedings o f th e th e S e co n d I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s , 5 9 ^ > 8 . G o ld b e rg , D . E., & T h o m a s , A. L. ( 1 9 8 6 ) . G e n e tic a lg o r ith m s :A b ib lio g r a p h y 1 9 6 2 —1 9 8 6 ( T C G A R e p o rt N o . 8 6 0 0 1 ) . Tu scaloo sa: U n iv e r s ity o f A la b a m a , T h e C le a rin g h o u s e fo r G e n e tic A lg o rith m s . G o rd o n , M . D . ( 1 9 8 4 ) . A d a p tiv e s u b je c t in d e x in g in d o c u m e n t re tr ie v a l. ( D o c t o r a l d is s e r ta tio n , U n iv e rs ity o f M ic h ig a n ) D is s e r ta tio n A b s tra c ts In t e r n a t io n a l, 4 5 ( 2 ) , 6 1 lB . ( U n i v e rs ity M ic ro film s N o . 8 4 l 2 l 4 8 ) G re e n e , D . P., & S m ith , S. E ( 1 9 8 7 ) . A g e n e tic sy stem fo r le a rn in g m o d e ls o f c o n s u m e r c h o ic e . G e n e tic a lg o r ith m s a n d t h e ir a p p lic a tio n s : P ro c e e d in g s o f th e S e c o n d In t e r n a
t io n a l C o n fe re n c e o n G e n e tic A lg o rith m s , 2 1 7 - 2 2 3 . G r e fe n s te ttc ,J .J . ( 1 9 8 1 ) . P a r a lle l a d a p t iv e a lg o r it h m s f o r f u n c t io n o p t im iz a t io n ( T e c h n ic a l
R e p o rt
No.
C S -8 1 -1 9 ).
N a s h v ille :
V a n d e r b ilt
U n iv e rs ity ,
C o m p u te r
S c ie n c e
D e p a rtm e n t. G re fe n s te tte , J. J. ( 1 9 8 4 a ). G E N ES IS : A sy stem fo r u s in g g e n e tic s e a rc h p r o c e d u re s . P r o
ce e d in gs o f th e 1 9 8 4 C o n fe re n c e o n I n t e llig e n t S ystem s a n d M a c h in e s , l 6 l - l 6 5 . G re fe n s te tte , J. J. ( 1 9 8 4 b ). A u s e r’s g u id e to GENESIS (T e c h n ic a l R e p o r t N o . C S - 8 4 - 1 1). N a s h v ille : V a n d e r b ilt U n iv e rs ity , D e p a r tm e n t o f C o m p u te r S c ie n c e .
392
Bibliogralfep
G re fe n s te tte , J. J. ( E d . ). ( 1 9 8 5 a ). P ro c e e d in g s o f c in I n t e r n a t io n a l C o n fe re n c e o n G e n e tic
A lg o r ith m s a n d T h e ir A p p lic a tio n s . H ills d a le , NJ: L a w re n c e E rlb a u m A ssociates. G re fe n s te tte , J. J. ( 1 9 8 5 b ). R e p re s e n ta tio n d e p e n d e n c ie s i n g e n e tic a lg o rith m s . U n p u b lis h e d m a n u s c rip t. G r e fe n s te tte ,J .J . ( 1 9 8 6 ) . O p tim iz a tio n o f c o n tr o l p a ra m e te rs fo r g e n e tic a lg o rith m s . IE E E
T ra n s a c tio n s o n Systems, M a n , a n d C y b e rn e tic s , S M C -1 6 ( 1 ), 1 2 2 —1 2 8 . G r e fe n s te tte , J. J. ( E d .). ( 19 8 7 a ). G e n e tic a lg o r ith m s a n d t h e ir a p p lic a tio n s : P ro c e e d in g s
o f th e S e c o n d I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s . H ills d a le , NJ: L a w re n c e E rlb a u m Associates. G re fe n s te tte , J. J. ( 1 9 8 7 b ). In c o r p o r a tin g p r o b le m s p e c ific k n o w le d g e in to g e n e tic a lg o rith m s . In 1.. D a v is ( E d . ) , G e n e tic a lg o r ith m s a n d s im u la te d a n n e a lin g ( p p . 4 2 ^ 5 0 ) . L o n d o n : P itm a n . G r c fe n s le ttc ,J .J . ( l 9 8 7 c ) . M u ltile v e l c r e d it a s s ig n m e n t in a g e n e tic le a rn in g s y s te m . Ge-
n e tic a lg o r ith m s a n d th e ir a p p lic a tio n s : P ro c e e d in g s o f th e S e co n d I n t e r n a t io n a l C o n f e r e n c e o n G e n e tic A lg o rith m s , 2 0 2 —2 0 9 . G r e fc n s te tte ,J .J ., & E itz p a tr ic k ,J . M . ( 1 9 8 5 ) . G e n e tic s e a rc h w it h a p p r o x im a te fu n c tio n e v a lu a tio n s . P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d
T h e ir A p p lic a tio n s , 1 1 2 — 1 2 0 . G r e fe n s te tte , J. J., G o p a i, R., R o s m a ita , B. J., & V a n G u c h t , D . ( 1 9 8 5 ) . G e n e tic a lg o rith m s fo r th e tr a v e lin g salesm an p r o b le m . P ro c e e d in g s o f a n I n t e r n a t io n a l C o n fe re n c e o n G e
n e tic A lg o r it h r n s a n d T h e ir A p p lic a tio n s , 1 6 0 —1 6 8 . G rosso, P. B. ( 1 9 8 5 ). C o m p u te r s im u la t i o n o f g e n e tic a d a p ta tio n : P a r a lle l s u b c o m p o
n e n t in te r a c tio n in a m u ltilo c u s m o d e l, ( D o c t o r a l d is s e rta tio n . U n iv e rs ity o f M ic h ig a n , U n iv e rs ity M ic ro film s N o . 8 5 2 0 9 0 8 ) . H a d a m a rd ,J . ( 1 9 4 9 ). The p s y c h o lo g y o f in v e n tio n in th e m a th e m a tic a l fie ld . P rin c e to n , NJ: P rin c e to n U n iv e rs ity Press. M aslcv (S k a n la n d ), M . ( 1 9 8 6 ). A c / a s s ifie r s y s te m fo r th e p r o d u c tio n b y c o m p u te r o f p a s t
tense v e rb -fo rm s . M a n u s c rip t s u b m itte d fo r p u b lic a tio n . H astings, I I. M ., & W a n c r, S. ( 1 9 8 5 ). B io lo g ic a lly m o tiv a te d m a c h in e in te llig e n c e . S IG A R T N ew sle tte r, 95, 2 9 - 3 1 . H ic k lin , J. P. ( 1 9 8 6 ). A p p lic a t io n o f t h e g e n e tic a lg o r it h m to a u t o m a t ic p r o g r a m g e n e r
a tio n . U n p u b lis h e d m aste r's thesis, U n iv e rs ity o f Id a h o , M o s c o w . H illia rd , M . R., & L iep in s, G . E. ( 1 9 8 6 ) . G e n e tic a lg o r ith m s as d is c o v e ry p ro g ra m s . P r o
cee d in gs o fth e S o u th e a s te rn C h a p te r o fT IM S 2 2 n d A n n u a lM e e t in g , 16. H illia rd , M . R., & L iep in s, G . E. ( 1 9 8 7 ) . R e p re s e n ta tio n a l issues in m a c h in e le a rn in g . In M . Z e m a n k o v a & M . L. E m ric h (E d s .), P ro c e e d in g s o f th e I n t e r n a t io n a ! S y m p o s iu m o n M e th -
o d o lo g ie s f o r In te llig e n tS y s te m s . K n o x v ille , T N : O a k R id g c v N a tio n a l L a b o ra to ry . H illia rd , M . R., L iep in s, G . E., P a lm e r, M ., M o r r o w , M ., & - R i c i l r d s o n , J . ( 1 9 8 7 ) . A c la ssifier based system fo r d is c o v e rin g s c h e d u lin g h e u ris tic s . G e n e tic a lg o r ith m s a n d tb e ir a p p l i
c a tio n s : P ro c e e d in g s o f th e S e co n d I n t e r n a t io n a l C o n fe re n c e o n G e n e tic A lg o rith m s , 2 3 1 -2 3 5 . H in e s , W . W ., & M o n tg o m e r y , D . C . ( 1 9 8 0 ). P r o b a b i lit y a n d s ta tis tic s in e n g in e e rin g a n d
m a n a g e m e n t s cie n ce ( 2 n d e d .). N e w Y o rk : W ile y .
Bibliografia
393
H o fs ta d tc r, D . R. ( 1 9 7 9 ) . G 6 d e l, Escher, B a c h : A n e te r n a l g o ld e n b ra id . N e w Y o rk : Basic B ooks. H o lla n d ,J . H . ( 1 9 5 9 ) . A u n iv e rs a l c o m p u te r c a p a b le o f e x e c u tin g a n a r b it r a r y n u m b e r o f s u b p ro g ra m s s im u lta n e o u s ly . 1 9 5 9 P ro c e e d in g s o f th e E a s t e m J o i n t C o m p u te r C o n fe r
ence, 1 0 8 - 1 1 2 . H o lla n d ,J . 11. ( 1 9 6 0 ) . Ite r a tiv e c ir c u it c o m p u te rs . P ro c e e d in g s o f t h e l 9 6 0 W este rn J o i n t
C o m p u te r C onference, 2 5 9 —2 6 5 . H o lla n d ,J . H . ( 1 9 6 2 a ) . C o n c e r n in g e ffic ie n t a d a p tiv e system s. In M . C . Y o v its , G . T. J a c o b i, & G . D . G o ld s te in (E d s .), S e lf o r g a n iz in g s yste m s ( p p . 2 1 5 —2 3 0 ) . W a s h in g to n : S parta n B ooks. H o Ila n d ,J . H . ( 1 9 6 2 b ) . In fo r m a tio n p ro c e s s in g in a d a p tiv e system s. I n f o r m a t io n Process
in g in th e N e rv o u s System , P ro c e e d in g s o f th e I n t e r n a t io n a l U n io n o f P h y s io lo g ic a l S c i ences, 3, 3 3 0 - 3 3 9 . H o lla n d ,J . 1-1. ( 1 9 6 2 c ) . O u t lin e fo r a lo g ic a l th e o r y o f a d a p tiv e system s. J o u r n a l o f t b e
A s s o c ia t io n f o r C o m p u t in g M a c h in e r y , 3 , 2 9 7 —3 1 4 . H o lla n d , J. H . ( 1 9 6 5 ) . S o m e p r a c tic a l aspects o f a d a p tiv e system s th e o ry . In A. K e n t & O . E. T a u lb e e (E d s .), E le c tr o n ic I n f o r m a t io n H a n d lin g ( p p . 2 0 9 - 2 1 7 ) . W a s h in g to n , D C : S parta n B ooks. H o lla n d ,J . H . ( 1 9 6 6 ) . U n iv e rs a l spaces: A basis fo r s tu d ie s o f a d a p ta tio n . In E. R. C a ia n ie tlo ( E d . ) , A u to m a ta T h e o ry ( p p . 2 1 8 - 2 3 1 ) . N e w Y o rk : A c a d e m ic Press. H o lla n d , J. H . (c a . 1 9 6 6 ) . E f f ic ie n t a d a p ta tio n o v e r classes o f n o n - lin e a r e n v iro n m e n ts : U n p u b lis h e d m a n u s c rip t. H o lla n d ,J . H . ( 1 9 6 7 ) . N o n lin e a r e n v ir o n m e n ts p e r m itt in g e ffic ie n t a d a p ta tio n . In J . T . T o u ( E d .), C o m p u te r a n d I n f o r m a t io n Sciences ■I I ( p p . 1 4 7 —1 6 4 ). N e w Y o r k : A c a d e m ic Press. H o lla n d ,J . H . ( 1 9 6 8 ) . H ie r a r c h ic a l d e s c rip tio n s o f u n iv e r s a l spaces a n d a d a p tiv e s y s te m s (T e c h n ic a l R e p o r t O R A P ro je c ts 0 1 2 5 2 a n d 0 8 2 2 6 ) . A n n A rb o r : U n iv e r s ity o f M ic h ig a n , D e p a r t m e n t o f C o m p u te r a n d C o m m u n ic a tio n Sciences. H o lla n d ,J . H . ( 1 9 6 9 a ) . A d a p tiv e p la n s o p tim a l fo r p a y o ff-o n ly e n v ir o n m e n ts . P ro c e e d in g s
o f th e 2 n d H a w a ii I n t e r n a t io n a l C o n fe re n c e o n S ystem Sciences, 9 1 7 —9 2 0 . H o lla n d ,J . H . ( 1 9 6 9 b ) . G o a l-d ire c te d p a tte r n r e c o g n itio n . In S. W a ta n a b c ( E d . ) , M e th o
d o lo g ie s o f p a tte r n r e c o g n itio n (p p . 2 8 7 —2 9 6 ) . N e w Y o rk : A c a d e m ic Press. H o lla n d ,J . H . ( 1 9 6 9 c ) . A n e w k in d o f tu r n p ik e th e o r e m . B u lle t in o f th e A m e r ic a n M a th -
e m a tic a lS o c ie ty , 75, 1 3 1 1 - 1 3 1 7 . H o lla n d , J. I I. ( 1 9 7 0 a ). H ie r a r c h ic a l d e s c rip tio n s o f u n iv e rs a l spaces a n d a d a p tiv e system s. In A . W . B urks ( E d . ) , Essays o n c e llu la r a u t o m a t a ( p p . 3 2 0 - 3 5 3 ) . U rb a n a : U n iv e r s ity o f Illin o is Press. H o lla n d ,J . H . ( 1 9 7 0 b ). R o b u s t a lg o r ith m s fo r a d a p ta tio n set in a g e n e r a l fo rm a l fr a m e w o rk .
P ro c e e d in g s o f th e IE E E S y m p o s iu m o n A d a p tiv e Processes - D e c is io n a n d C o n tro l, X V II, 5 .1 -5 .5 . H o lla n d , J. H . ( 1 9 7 1 ) . P ro c e s s in g a n d p ro c e s s o rs fo r s c h e m a ta . In E. L. Jacks ( E d . ) , Asso-
c ia tiv e in f o r m a t io n p ro c e s s in g (p p . 1 2 7 —1 4 6 ) . N e w Y o r k : A m e ric a n E lsev ier. H o lla n d ,J . H . ( 1 9 7 3 a ) . G e n e tic a lg o rith m s a n d th e o p tim a l a llo c a tio n s o f tria ls . S IA M J o u r
n a l o f C o m p u tin g 2 ( 2 ), 8 8 - 1 0 5 .
Bibliografia
394
H o lla n d ,J . H . ( 1 9 7 3 b ) . S chem ata an d in trin s ic a lly p a ra lle l a d ap tatio n . In K . S. Fu & J . S. T o u (E d s .), P roce e ding s o f tb e NSF W o rk s h o p o n L e a rn in g System T h e o ry a n d its A p p li-
c a tio h s (p p . 4 3 ^ 6 ) . G ain es ville: U n iv e rs ity o f F lo rid a. H o lla n d , J. H . ( 1 9 7 4 ) . A b r ie f discussion o f th e r o le o f co -a d a p te d sets in th e process o f a d aptatio n. In B. D y k e & J . W . M a c C lu e r (E d s .), C o m p u te r s im u la tio n in h u m a n p o p u
la t io n s tu d ie s (p p . l 6 l - l 6 5 ) . N e w Y o rk : A c a d e m ic Press. H o lla n d , J. H . ( 1 9 7 5 ) . A d a p ta tio n i n n a t u r a l a n d a r t i f i c i a l systems, A n n A rb o r: T h e U n i v e rsity o f M ic h ig a n Press. H o lla n d , J.' H . ( 1 9 7 6 a ). A d a p ta tio n . Progress i n T h e o re tic a l B io lo g y , 4, 2 6 3 - 2 9 3 . H o lla n d , J. H . ( 1 9 7 6 b ) . A n in tro d u c tio n to in trin s ic p a ra lle lis m . In W . H a n d le r ( E d .) , P ro
ceedings o f th e T e n th A n n iv e rs a ry C o n v o c a tio n f o r I M M D (p p . 4 7 - 5 5 ) . E rla ng en, FRG: U n iv e rs ity o f Erlang en. H o lla n d ,J . H . ( 1 9 7 6 c ) . N e w pe rs p e c tiv e s in n o n lin e a rity , o r w h a t to d o w h e n th e w h o le is m o re th an th e sum o f its parts. In E Suppe & P. D . A s q u ith (E d s .), P roceedings o f the
P h ilo s o p h y o fS c ie n c e A s s o c ia tio n M e e tin g (p p . 2 4 0 - 2 5 5 ) . East Lansing, M I: P hilo so p h y o f Science A ssociation. H o Ila n d ,J . H . ( 1 9 7 6 d ) . Studies o f th e sp on tan eou s e m e rg e n c e o fs e lf-r e p lic a tin g system s using c e llu la r au to m a ta an d fo rm a l gram m ars. In A. L in d e n m a y e r & G . R o z e n b e rg (E d s .),
A u to m a ta , Languages, D e v e lo p m e n t{p p . 3B 5—4 0 4 ) . N e w Y o r k : N o r th -H o lIa n d . H o lla n d , J. H . (c a . 1 9 7 7 ). A c o g n itiv e system w it h p o w e rs o fg e n e r a liz a tto n a n d a d a p
ta tio n , U n p u b lis h e d m a n u s c rip t, U n iv e rs ity o f M ic h ig a n , D e p a rtm e n t o f C o m p u te r and C o m m u n ic a tio n Sciences, A n n A rb o r. H o lla n d ,J . H . ( 1 9 8 0 a ) . A d a p tiv e a lg o rith m s fo r d is c o v e rin g a n d u s ing g e n e ra l p a tte rn s in g ro w in g kn ow ledge-bąses. In te r n a t io n a l J o u r n a l o f P o lic y A n a ly s is a n d I n fo r m a tio n
Systems, 4 ( 3 ) , 2 4 5 - 2 6 8 . H o lla n d , J. H . ( 1 9 8 0 b ). A d a p tiv e k n o w le d g e a c q u is itio n U n p u b lis h e d research proposal. Iio lla n d ,J . H . ( 1 9 8 1 ) . G e n e tic a lg o rith m s a n d a d a p ta tio n (T e c h n ic a l R e p o rt N o . 3 4 ) . A n n A rb o r; U n iv e rs ity
o f M ic h ig a n , D e p a rtm e n t o f C o m p u te r a n d C o m m u n ic a tio n
Sciences. .H o lla n d ,J . H . ( 1 9 8 3 a ). In d u c tio n in a r t i f i c i a l in te llig e n c e (T e c h n ic a l R e p o r t). A n n A rb o r: U n iv e rs ity o f M ictyigan, D e p a rtm e n t o f C o m p u te r a n d C o m m u n ic a tio n Sciences. H o lla n d , J. I I . ( 1 9 8 3 b ) . A m o re d e ta ile d d is c u s s io n o f c la s s ifie r system s (T e c h n ic a l R e p o r t ). A n n A rb o r: U n iv e rs ity o f M ic h ig a n , D e p a rtm e n t o f C o m p u te r an d C o m m u n ic a tio n Sciences. H o Ila n d ,J . H . ( 1 9 8 4 ) . G e n e tic a lg o rith m s an d a d a p ta tio n . In O . G . S elfrid g e, E. L. Rissland,
& M . A. A rb ib (E d s .), P ro ce e ding s o f the N A TO A d v a n c e d R esearch In s titu te o n A d a p tiv e C o n tro l o f Ill- D e fin e d Systems (p p . 3 1 7 - 3 3 3 ). N e w Y o rk : P le H o lIa n d ,J . H . ( 1 9 8 5 a ) . A m a th e m a tic a l fr a m e w o r k f o r k t u a
Press.
le a rn in g in c la s s ifie r
system s (R e s e a rc h M e m o R IS -2 5 r). C a m b rid g e , M A : T h e R o w la n d In s titu te fo r S cience, H o lIa n d ,J . H . ( 1 9 8 5 b ). P ro p e rtie s o f th e b u c k e t b rig a d e . P ro c e e d in g s o f a n I n t e r n a t io n a l
C onference o n G e n e tic A lg o rith m s a n d T h e ir A p p lic a tio n s , 1—7. H o lla n d , J. H . ( 1 9 8 6 a ). E scaping brittlen ess: T h e p o s s ib ilitie s o f g e n e ra l p u rp o s e le a rn in g a lg o rith m s a p p lie d to p a ra lle l ru le -b a s e d system s. In R. S. M ic h a ls k i, J. G . C a rb o n e ll, & T . M . M itc h e ll (E d s .), M a c h in e L e a rn in g I I (p p . 5 9 3 ^ > 2 3 ) . Los A lto s , C A : M o rg a n K au fm ann .
Bibliografia
39 5
H o lla n d , J. H . ( 19 8 6 b ) . A m a th e m a tic a l fr a m e w o rk fo r s tu d y in g le a rn in g classifier systems. In D . F a rm e r,A . Lapedes, N . Packard, & B. W e n d ro ff ( E ds.), E v o lu tio n , g a m c s a n d le a m in g (p p . 3 0 7 - 3 1 7 ) . A m s terda m : N o r th -H o lla n d . (R e p r in te d fro m Physica, 22D , 3 0 7 - 3 1 7 ) H o lla n d ,J . H . ( 1 9 8 7 a ) . D e riv e d M a r k o v m atrices. U n p u b lis h e d m a n u scrip t. H o lla n d ,J . H . ( 1 9 8 7 b ) . G e n e tic a lg o rith m s an d classifier systems: Fo un dation s and fu tu re d ire c tio n s . G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P roce e ding s o f the Second I n te r
n a t io n a l C o nference o n G e n e tic A lg o rith m s , 8 2 - 8 9 . H o lIa n d ,J . H ., & Burks, A. W . ( 1 9 8 1 ) . A rc h ite c tu re a n d la n g u a g e s fo r p a r a lle l c o m p u tin g
w it h c la s s ifie r systems. U n p u b lis h e d research proposal. H o lla n d , J. H ., & Burks, A. W . ( 1985.). A d a p tiv e c o m p u tin g system c a p a b le o f le a rn in g
a n d d is c o v e ry [P a te n t a p p lic a tio n filin g no. 0 6 -6 1 9 -3 4 9 ). W ash in g to n , D C : U . S. P ate nt O ffic e . H o lla n d ,J . H ., B urks, A. W ., C r ic h to n ,J . W ., & Finley, M . R. ( 1 9 6 3 ) . M a c h in e a d a p tiv e system s (T e c h n ic a l R e p o rt O R A P ro je c t 0 5 0 8 9 ) . A n n A rb o r: U n iv e rs ity o f M ic h ig a n , D e p a rtm e n t o f C o m p u te r an d C o m m u n ic a tio n Sciences. H o lla n d , J. H ., H o ly o a k , K. J., N is b e tt, R. E., & T h a g a rd , P. R. ( 1 9 8 6 ) . In d u c tio n : Processes
o f inference, le a rn in g , a n d d iscovery. C a m b rid g e : M I T Press. H o lla n d , J. H ., H o ly o a k , K .J ., N is b e tt, R. E., & Th ag ard , P. R .( 1 9 8 .7 ) . C la s s ifie rs ystem s , Q m orphism s, an d in d u c tio n . In L. D avis (E d .), G e n e tic a lg o rith m s a n d s im u la te d a n n e a l-
in g (p p . 1 1 6 - 1 2 8 ) . H o lla n d ,J . H ., & R e itm a n ,J . S. ( 1 9 7 8 ) . C o g n itiv e system s b a s e d o n a d a p tiv e a lg o rith m s . In D . A. W a te rm a n & F. H aye s-R o th ( l:d s .), P a tte rn d ire c te d in fe re n c e system s (p p . 3 1 3 —3 2 9 ) . N e w Y o rk: A c a d e m ic Press. H o lls tie n , R. B. ( 1 9 7 1 ) . A rtific ia l g e n e tic a d a p ta tio n in c o m p u te r c o n tr o l system s. ( D o c to ra l d isserta tio n , U n iv e rs ity o f M ic h ig a n ). D is s e rta tio n A b s tra c ts In te r n a tio n a l, 3 2 ( 3 ) , 1 5 1 0 B . (U n iv e r s ity M ic ro film s N o . 7 1 - 2 3 ,7 7 3 ) Jog, P... & V an G u c h t, D . ( 1 9 8 7 ) . P a rallelisatio n o f p ro b a b ilis tic se q u e n tia l search algorithn1s. G e n e tic a lg o rith > n s a n d th e ir a p p lic a tio n s : P ro ce e ding s o f th e S econd In te r n a
t io n a l C o nference o n G e n e tic A lg o rith m s , 1 7 0 - 1 7 6 . Jones, W . T., & C h ia ra v ig lio , L. ( 1 9 7 9 ) . Is s c ie n c e an a d a p tiv e system? B e h a v io r a l Science, 2 4 ( 5 ) , 3 2 5 -3 3 3 K atn pfncr, R. R. ( 1 9 8 1 ) . C o m p u ta tio n a l m o d e lin g o f e v o lu tio n a r y le a rn in g . U n p u b lis h e d d o c to ra l d isserta tio n , U n iv e rs ity o f M ic h ig a n , A n n A rb o r. K arg, R. L., & T h o m p s o n , G . L. ( 1 9 6 4 ) . A h e u ris tic a p p ro a c h to s o lv in g tra v e lin g salesm an p ro b le m s . M a n a g e m e n t Science, 1 0 (2 ) , 2 2 5 —2 4 8 . K a tz ,J . L ( 1 9 8 5 ) . A rtific ia l in te llig e n c e research at M itre . A IM a g a z in e , 6 ( 3 ) , 2 2 8 - 2 3 2 . K auffm an, S. A ., & S m ith , R. G . ( 1 9 8 6 ) . A d a p tiv e a u to m a ta based o n D a r w in ia n s e lectio n . In D . Fa rm er, A. Lapedes, N . Packard, & B. W e n d ro ff (E d s .), E v o lu tio n , g a m e s a n d le a rn in g (p p . 6 8 ^ L 2 ) . A m s terd a m : N o r th -H o lla n d . (R e p r in te d fro m P hysica, 22D , 6 8 - 8 2 ) K hoogar, A. R. ( 1 9 8 7 , N o v e m b e r ). G e n e tic a lg o r ith m s o lu tio n s f o r in v e rs e r o b o t k in e
m atics. P ap e r p re s e n te d a t d ie 1 9 8 7 U n iv e rs ity o f A lab am a A C M S tu d e n t C o n fe re n c e , B ir m in g h a m , AI.. K irk p a tric k , S., G e la tt, C . D ., & V e c c h i, M . P. ( 1 9 8 3 ) . O p tim iz a tio n b y s im u la te d an nealing .
Science, 2 2 0 ( 4 5 9 8 ) , 6 7 1 ^ > 8 0 .
396
Bibliograf(a K lo p f, A. I I . ( 1 9 6 5 ) . liv o lu t io n a r y p a tte r n re c o g n itio n system s (T e c h n ic a l R e p o r t). Chi-i
cago: U n iv e rs ity o f Illin o is , In fo rm a tio n E n g in e e rin g D e p a rtm e n t, B io e n g in e e rin g Section.' K n u tli, D . E. ( 1 9 8 1 ). T b e A r l o fC o m p u te r P r o g r a m m in g ( 2 n d ed ., v o l. 2 ) . R eading, M A : A ddison-W esley. K iic h in s k i, M . J. ( 1 9 8 5 ) . lS a ttle m a n a g e m e n t system s c o n tr o l r u le o p tim iz a tio n u s in g
a r t i f i c i a l in te llig e n c e ( Technical R e p o rt N o . N S W C M P 8 4 - 3 2 9 ) . D a h lg re n , VA: N a v a l Sur- ' face W eap on s C e n te r. L a w ler, E. L. ( 1 9 7 6 ) . C o m b in a to r ia l o p tim iz a tio n : N e tw o rk s a t u l m a tro id s . N e w Y ork: H o lt, R in e h a rt and W in s to n . U e p in s , G . E., & H illia rd , M . R. ( 1 9 8 6 a , O c to b e r ). G e n e ric a lg o rith m s a t u l n a t io n a lly a d v e rtis e d b r a n d a lg o rith m s — c a n th e d u m b m a c h in e s le a rn to d is c rim in a te . P ap e r p re se nte d at 'The In te rn a tio n a l S ym posium o n M e th o d o lo g ie s fo r In te llig e n t Systems, K n o x v ille , T N . Liepins, C>. E., &. H illia rd , M . R. (1 9 8 6 b , O c to b e r ). G e n e t ic a lg o r it h m s a s a p a r a d ig m f o r m a c h in e le a rn in g . P ap e r p re s e n te d a t th e O R S A A lM S J o in t N a tio n a l M e e tin g , M ia m i, FL. Liepins, G . E., H illia rd , M . R., P alm er, M ., & M o rr o w , M . ( 1 9 8 7 ) . G re e d y ge netics. G e n e tic
a lg o rith m s a n d th e ir a p p lic a tio n s : P ro c e e d in g s o f th e S econd In t e r n a t io n a l C onference o n G e n e tic A lg o r ith m s , 9 0 - 9 9 . Lindsay, R. K. ( 1 9 8 5 ). A rtific ia l in te llig e n c e research at th e U n iv e rs ity o f M ic h ig a n .A /A fn g -
aztne, 6 ( 2 ) , 6 4 - 7 2 . M acLaren , L. ( 1 9 8 1 ). Tuesday e v e n in g s a te llite session. In J . R. Sam pson (E d .) , A S ynopsis
o f the P ifth A n n u a l A n n A r b o r A d a p tiv e System s W orkshop, (p p . 8 7 - 9 1 ) . A n n A rb o r: U n iv e rs ity o f M ic h ig a n , D e p a rtm e n t o f C o m p u te r an d C o m m u n ic a tio n s S ciences, L o gic o f C o m p u te rs G ro u p . M a rtin , E G., & C o c k e rh a m , C. C. ( 1 9 6 0 ) . H ig h sp eed s e le c tio n studies. In O . K c m p th o rn e ( E d .), B io m e tr ic a l g e n e tic s ( pp. 3 5 - 4 5 ) . Lo nd on: P e rg a m o n Press. M a rtin , N . ( 1 9 7 3 ). C o n v e rg e n c e p ro p e rtie s o f a class o f p ro b a b ilis tic a d a p tiv e schem es ca lle d se q u e n tia l re p ro d u c tiv e plans. (D o c to r a l d is s e rta tio n , U n iv e rs ity o f M ic h ig a n ), D is
s e rta tio n A b s tra c ts In te rn a tio n a l, 3 4 ( 8 ) , 3 7 4 6 B -3 7 4 7 B . (U n iv e r s it y M ic ro film s N o . 7 4 3685) M a rtin e z , H. M . ( 1 9 7 9 ) . An a u to m a to n an alo gue o f u n ic e llu la r ity . B iosystem s, 11, 1 3 3 162. M a u ld in , M . I.. ( 1 9 8 4 ). M a in ta in in g d iv e rs ity in g e n e tic search. P ro ce e d in g s o f t h e N a tio n a l
C onference o n A r t i f i c i a l In te llig e n c e , 2 4 7 - 2 5 0 . M e rc e r, It. E. ( 1 9 7 7 ). A d a p tiv e search u s in g a re p ro d u c tiv e m e ta p la n . U n p u b lis h e d m as ter's thesis, U n iv e rs ity o fA lb e r ta , E d m o n to n . M e rc e r, R. E., & S am pso n,J . R. ( 1 9 7 8 ) . A d a p tiv e search us iqg a r e p ro d u c tiv e m cta-p la n .
Kybernetes, 7, 2 1 5 - 2 2 8 .
I
M in ga, A. K. ( 1 9 8 6 , A p r il). G e n e tic a lg o rith m s in a e rospace design. P ap e r p re s e n te d at th e A lA A S o u the aste rn R egional S tud en t C o n fe re n c e , H u n ts v ille , AL. M in ga, A. K. ( 1 9 8 7 , A p r il). H o n e y c o m b d esign u s in g a g e n e tic a lg o rith m . P ap e r p re s e n te d at th e A lA A S o u the aste rn R eg ion al S tu d e n t C o n fe re n c e , A tla n ta , G A . M insky, M . L. ( 1 9 6 7 ) . C o m p u ta tio n : F in ite a n d i n f in it e m ach in e s. E n g le w o o d Cliffs, NJ: P re n lic c T la ll.
Bibliografia
397
N e ld e r,J . A., & M cad, R. ( 1 9 6 5 ). A s im p le x m e th o d fo r fu n c tio n .m in im iz a tio n . C o m p u te r
J o u rn a l, 7, 3 0 8 —31 3. O liv e r, 1. M ,, Sm ith, D . J., & H o lla n d , J. R. C. ( 1 9 8 7 ) . A stu d y o f p e rm u ta tio n crossover o p erato rs o n th e tra v e lin g salesm an p ro b le m . G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s :
P roceedings o f the Second In te r n a t io n a l C o nference o n G e n e tic A lg o rlth m s , 2 2 4 - 2 3 0 . O o s th u izc ii, D . G. ( 1 9 8 7 ) . SU PER G R A N : A c o n n c c tio n is t a p p ro a c h to Ie a rn in g ,in te g r a tin g g e n e tic a lg o rith m s and grap h ip d u c tio n . G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P r o
ceedings o f th e S e c o n d In te m a tio n a l C o nference o n G e n e tic A lg o rith m s , 1 3 2 —139. Papoulis, A. ( 1 9 8 4 ) . P r o b a b ility , ra n d o m v a ria b le s , a n d s to c h a s tic processes ( 2 n d e d .). N e w Y ork: M c G ra w -H ill. P erry, Z . A. ( 1 9 8 4 ) . E x p e rim e n ta l study o f s p e c ia tio n in e c o lo g ic a l n ic h e th e o r y us ing g e n e tic alg orith m s. (D o c to r a l d is s e rta tio n , U n iv e rs ity o f M ic h ig a n ). D is s e rta tio n A b stra cts In te rn a tio n a l, 4 5 ( 1 2 ) , 3 8 7 0 B . (U n iv e r s ity M ic ro film s N o . 8 5 0 2 9 1 2 ) P e ttit, E., & Swigger, K. M . ( 1 9 8 3 ). A n analysis o f g e n etic-b ase d p a tte rn tra c k in g an d cogn itivc -b a sed c o m p o n e n t tra c k in g m o d e ls o f a d a p ta tio n . P ro ce e ding s o f th e N a tio n a l C o n
fe re n c e o n A r t i f i c i a l In te llig e n c e , 3 2 7 —3 3 2 . Pettey, C. B., Leuze, M . R., & G re fe n s te tte ,J .J . ( 1 9 8 7 ) . A p a ra lle l g e n e tic a lg o rith m . G e n e tic
a lg o rith m s a n d th e ir a p p lic a tio n s : P roce e ding s o f th e S econd I n t e r n a t io n a l C o nference o n G e n e tic A lg o rith m s , 1 5 5 - 1 6 1 . Pike, M . C . ( 1 9 8 0 ). A lg o rith m 2 6 7 ra n d o m n o rm a l d e v ia te [G 5 ]. In , C o lle c te d a lg o rith m s f r o m ACM, II, 2 6 7 . N e w Y o rk: A sso ciation fo r C o m p u tin g M a c h in e ry . Post, E. L. ( 1 9 4 3 ) . F o rm a l re d u c tio n s o f th e g e n e ra l c o m b in a to ria l d e c is io n p ro b le m .
A m e r ic a n J o u r n a lo fM a th e m a tic s ,6 5 , 1 9 7 - 2 6 8 . Rada, R. ( 1 9 8 1 a ). E v o lu tio n and.gradualness, IlioS ystem s, 14, 2 1 1 - 2 1 8 . Rada, R. ( 1 9 8 1 b ) . E v o lu tio n a ry s tru c tu re and search (D o c to r a l d is s e rta tio n , U n iv e rs ity o f Illin o is ). D is s e rta tio n A b s tra c ts In te rn a tio n a l, 42, 6 9 0 -B . Rada,'R. (1 9 8 4 a ) . A u to m a tin g k n o w le d g e a c q u isitio n . In R. Porsyth ( E d .), E x p e rt systems: P rin c ip le s a n d case s tu d ie s (p p . 1 9 0 - 2 1 0 ) . N e w Y o rk: C h a p m a n and H all. Rada, R. ( 1 9 8 4 b ) . P ro b a b ilitie s and p re d ic a te s in k n o w le d g e re fin e m e n t. P roce e ding s o f
th e IIiE E W o rksho p o n P rin c ip le s o fK n o w le d g e -b a s e d S y s te m s , 1 2 3 - 1 2 8 . Rada, R. ( 1 9 8 5 ) . G radualness fa cilitates k n o w le d g e re fin e m e n t. IEE E T ra n s a c tio n s o n P a t-
te rn A n a ly s is a n d M a c h in e Inte lle ge n ce , / M A // - 7 ( 5 ) , 5 2 3 —5 3 0 . Rada, R., R h in e, Y., & S m a llw o o d , J. ( 1 9 8 4 ). R u le re fin e m e n t. P ro ce e ding s o f th e S ociety o f
C o m p u te r A p p Iic a tio n s in M e d ic a l Care, 6 2 ^ > 5 . R adciilfe, A. ( 1 9 8 1 ) . A p r o b le m so lvin g te c h n iq u e based o n genetics. C re a tiv e C o m p u tin g
3 (2 ), 7 8 -8 1 . Raghavan, V. V., & A g a rw a l, B. ( 1 9 8 7 ) . O p tim a l d e te r m in a tio n o f u s e r-o rie n te d clusters: A n ap p lic a tio n fo r th e re p ro d u c tiv e plan. G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P r o ceedings o f th e S e c o n d In te m a tio n a l C o nference o n G e n e tic A lg o rith m s , 2 4 1 —2 4 6 . Raghavan, V. V., & B irc h a rd , K. ( 1 9 7 9 ) . A c lu s te rin g strateg y based o n a fo rm a lis m q f th e re p ro d u c tiv e processes in n a tu ra l systems. P roce e ding s o f the S econd In te r n a t io n a l C o n fe re n c e o n I n f o r m a t io n S torage a n d R e trie v a l, / 4 ( 2 ) , 1 0 -2 2 . R ech en berg, I. ( 1 9 6 5 , A u g u s t). C y b e rn e tic s o Iu tio n p a th o f a n e x p e r im e n ta lp r o b le m
(R o y a l A irc ra ft E sta blis hm ent T ra n s la tio n N o . 1 1 2 2 , B. F. To m s , T ra n s .). F a rn b o ro u g h Hants: M in is try o f A v ia tio n , R oyal A irc ra ft Establishm ent. R ech en berg, I. ( 1 9 7 3 ) , E v o lu tio n s tra te g ie [E v o lu tio n S trategy]. S tuttgart: F ro m m an n H o Izb o o g . R ech en b erg , 1. ( 1 9 8 6 , J u ly ) , L ite r a tu r n a c h w e is z u r E v o lu tio n s tr a te g ie [B ib lio g ra p h y fo r th e E v o lu tio n S trategy]. U n p u b lis h e d m a n u s c rip t, T e c h n is c h e U n iv e rs ita t B e rlin , Fachgeb Ie t B io n lk u n d E v o lu tio n s te c h n ik , B e rlin . Reed, J., T o om bs , R., & B a rrlc e lli, N . A. ( 1 9 6 7 ) . S im u la tio n o f b io lo g ic a l e v o lu tio n and m a c h in e le a r n i n g . / o / m w / o fT h e o r e tic a l B io lo g y , 17, 3 1 9 - 3 4 2 . R eiter, C . ( 1 9 8 6 ) . T o y universes. S cie n ce 8 6 , 7 ( 5 ) , 5 5 - 5 9 . R e n d e ll, L. A. ( 1 9 8 3 a ). A d o u b ly lay ered , g e n e tic p e n e tra n c e le a rn in g system . P roce e ding s
o f tb e N a tio n a l C onference o n A r t i f i c i a l In te llig e n c e , 3 4 3 - 3 4 7 . R e n d e ll, L. A. ( 1 9 8 3 b ) . A n e w basis fo r state space le a rn in g system s an d a successful im p le m e n ta tio n . A r t i f i c i a l In te llig e n c e , 20, 3 6 9 - 3 9 2 . R e n d e ll, L. A. ( 1 9 8 5 ) . G e n e tic plans and th e p ro b a b ilis tic le a rn in g system : Synthesis an d results. P roceedings o f a n In te r n a t io n a l C o n fe re n ce o n G e n e tic A lg o r ith m s a n d T h e ir
A p p lic a tio n s , 6 0 —7 3 . R eynolds, R. G . ( 1 9 7 5 ) .
T ow a rd s a n e xte nd e d th e o ry o f a d a p ta tio n
U n p u b lis h e d
m anuscript. R eynolds, R. G . ( 1 9 7 9 ) . A n a d a p tiv e c o m p u te r m o d e l o f th e e v o lu tio n o f a g ric u ltu r e f o r
h u n te r-g a th e re rs in the v a lle y o f O axaca, M e x ic o . U n p u b lis h e d d o c to ra l d isserta tio n , U n i v e rsity o f M ic h ig a n , A n n A rb o r. • R eynolds, R. G . ( 1 9 8 6 ) . A n a d a p tiv e c o m p u te r m o d e l fo r th e e v o lu tio n o f p la n t c o lle c tin g and e a rly ag ric ulture’ in th e ea stern v a lle y o f O ax aca . In K. V. F la n n e ry ( E d .) , G u ila N a -
q u itz : A r c h a ic fo r a g in g a n d e a rly a g ric u ltu r e in O axaca, M e x ic o (p p . 4 3 9 - 5 0 0 ) . N e w Y o rk: A c a d e m ic Press. R iolo, R. L. ( 1 9 8 6 a ) . CPS-C: A p a c k a g e o f d o m a in in d e p e n d e n t s u b ro u tin e s f o r im p le
m e n tin g c la s s ifie r system s in a r b it r a r y u s e r-d e fin e d e n v iro n m e n ts (T e c h n ic a l R e p o rt). A n n A rb o r: U n iv e rs ity o f M ic h ig a n , Logic o f C o m p u te rs G ro u p . R iolo, R. L. ( 1 9 8 6 b ). LETSEQ: A n im p le m e n ta tio n o f th e CFS-C c la s s ifie rs y s te m in a task-
d o m a in th a t in v o lv e s le a rn in g to p re d ic t le tte rs e q u e n c e s (T e c h n ic a l R e p o rt). A n n A rb o r: U n iv e rs ity o f M ic h ig a n , Logic o f C o m p u te rs G ro u p . R iolo, R. I.. ( 1 9 8 7 a ). B u c k e t b rig a d e p e rfo rm a n c e : I. Long sequences o f classifiers. G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P roceedings o f the S econd I n t e r n a t io n a l C onference
o n G e n e tic A lg o rith m s , 1 8 4 - 1 9 5 . R iolo, R. L. ( 1 9 8 7 b ) . B u c k e t b rig a d e p e rfo rm a n c e : II. D e fa u lt h iera rc h ies . G e n e tic a lg o
rith m s a n d th e ir a p p lic a tio n s : P roceedings o f the Second I n t e r n a t io n a l C onference o n G e n e tic A lg o rith m s , 1 9 6 - 2 0 1 . R ob ertso n, G . G . ( 1 9 8 6 ) . [Lisp ve rs io n o f classifier system p ro g ra m fo r e x e c u tio n o n th e C o n n e c tio n M a c h in e ]. R o b ertso n , G . G . (1 9 8 7 a ) . P a ra lle l im p le m e n ta tio n o f g e n e tic a lg o rith m s in a classifier system . In L. D avis (E d .), G e n e tic a lg o rith m s a n d s im u la te d a n n e a lin g (p p . 1 2 9 - 1 4 0 ) . London: P itm an. R ob ertso n, G. G . ( 1 9 8 7 b ) . P a ra lle l im p le m e n ta tio n o f g e n e t ic a lg o rith m s in a classifier system . G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P ro ce e ding s o f the Second In te r n a
t io n a l C o nference o n G e n e tic A lg o rith m s , 1 4 0 - 1 4 7 .
Bibliografia
399
R osenberg, R. S. ( 1 9 6 6 ). A c o m p iite r s im u la tio n o f a b io lo g ic a lp o p u la tio n . U n p u b lis h e d m anu script. R osenberg, R. S. ( 1 9 6 7 ) . S im u la tio n o f g e n e tic p o p u la tio n s w it h b io c h e m ic a l p ro p e rtie s . (D o c to r a l d isserta tio n , U n iv e rs ity o f M ic h ig a n ). D is s e rta tio n A b s tra c ts in t e r n a t io n a l
2 8 (7 ) , 2 7 3 2 B . (U n iv e r s ity M ic ro film s N o . 6 7 - 1 7 , 8 3 6 ) R osenberg, R. S. ( 1 9 7 0 a ). S im u la tio n o f g e n e tic p o p u la tio n s w it h b io c h e m ic a l p ro p erties : I. T h e m o d e l. M a th e m a tic a l B iosciences, 7, 2 2 3 —2 5 7 . R osenberg, R. S. ( 1 9 7 0 b ) . S im u la tio n o f g e n e tic p o p u la tio n s w it h b io c h c m ic a l p ro p e rtie s : II. S elec tio n o f cros sov er p ro b a b ilitie s . M a th e m a tic a l B iosciences, 8, 1 - 3 7 . Rosm aita, B. JL ( 1 9 8 5 a ). E x o d u s : A n e x te n s io n o f th e g e n e tic a lg o r ith m to p ro b le m s d e a l
in g w it h p e rm u ta tio n s . U n p u b lis h e d m a s te r’s thesis, V a n d e r b ilt U n iv e rs ity , N a s h v ille , T N . Rosm aita, B. J. ( 1 9 8 5 b ). E X O D U S u s e r’s m a n u a l( v e r s io n 1 .8 ) (T e c h n ic a l R e p o rt C S -850 6 ) . N ash ville: V a n d e rb ilt U n iv ersity , D e p a rtm e n t o f C o m p u te r S cience. Ross, S. ( 1 9 7 6 ) . A f i r s t c ourse in p ro b a b ility . N e w Y o rk : M a c m illa n . S am pso n,J. R. ( 1 9 7 8 ) . [S u m m a ry o f th e T h ir d A n n u a l A d a p tiv e Systems W o rk s h o p , A nn A rb o r]. U n p u b lis h e d m an u scrip t. S am pson,J. R. ( 1 9 7 9 ) . [S u m m a ry o f th e F o u rth A n n u a l A d a p tiv e Systems W o rk s h o p , A n n A rb o r]. U n p u b lis h e d m an u scrip t. Sam pson, J. R. ( 1 9 8 1 a ) . [S u m m a ry o f th e S ixth A n n u a l A d a p tiv e System s W o rk s h o p , A n n A rb o r]. U n p u b lis h e d m an u scrip t. Sam pson, J. R. ( 1 9 8 1 b ) . A S yn o p sis o f the F ifth A n n u a l A n n A r b o r A d a p tiv e Systems
W orkshop. A n n A rb o r: U n iv e rs ity o f M ic h ig a n , D e p a rtm e n t o f C o m p u te r an d C o m m u n i c a tio n Sciences, Logic o f C o m p u te rs G ro u p . Sam pson,J. R. ( 1 9 8 4 ) . B io lo g ic a l in fo r m a tio n processing. N e w Y o r k : J o h n W ile y . Sam pson, J. R., & B rin d le , A. ( 1 9 7 9 ) . G e n e tic a lg o rith m s fo r h in c tio n o p tim iz a tio n . P ro-
ceedipgs o f th e N in t h M a n ito b a C o nference o n N u m e r ic a l M a th e m a tic s a n d C o m p u tin g , 3 1 —47. Sam uel, A. L. ( 1 9 5 9 ) . S o m e studies in m a c h in e le a rn in g using th e ga m e o fc h e c k e rs . IB M
J o u r n a l o fR e s e a rc h a n d D e v e lo p m e n t, 3 ( 3 ) , 2 1 0 —2 2 9 . Sannier, A. V., II, & G o o d m a n , E. D . ( 1 9 8 7 ) . G e n e tic le a rn in g p ro c e d u re s in d is trib u te d e n v iro n m e n ts . G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P roce e ding s o f th e S econd I n
te r n a tio n a l C o nference o n G e n e tic A lg o rith m s , 1 6 2 —169. Schaffer, J. D . ( 1 9 8 4 ) . Som e e x p e rim e n ts in m a c h in e le a rn in g u s in g v e c to r e v a lu a te d
g e n e tic a lg o rith m s . U n p u b lis h e d d o c to fa l d is s e rta tio n , V a n d e rb ilt U n iv ersity , N ash ville. Schaffer, J. D . ( 1 9 8 5 a ) . L e a rn in g m ulticlass p a tte rn d is c rim i- n a tio n . P ro ce e ding s o f a n
In te r n a tio n a l C onference o n G e n e tic A lg o rith m s a n d T h e irA p p U c a tio n s , 7 4 - 7 9 . S chaffer,J. D . ( 1 9 8 5 b ) . M u ltip le o b je c tiv e o p tim iz a tio n w it h v e c to r e v a lu a te d g e n e tic a l g o rithm s. P roceedings o f a n In te r n a tio n a ! C o nference o n G e n e tic A lg o r ith m s a n d T h e ir
A p p lic a tio n s , 9 3 - 1 0 0 . Schaffer, J. D . ( 1 9 8 7 ) . S om e effects o f s e le c tio n p ro c e d u re s o n h y p e rp la n e s a m p lin g by g c n e tic alg orith m s . In L. D avis (E d .) , G e n e tic a lg o rith m s a n d s im u la te d a n n e a lin g (p p . 8 9 —1 0 3 ). Lo nd on: P itm an. Schaffer, J. D ., & G re fe n s te tte , J. J. ( 1 9 8 5 ) . M u lti-o b je c tiv e le a rn in g via g e n e tic alg o rith m s .
P roceedings o f th e 9 th I n t e r n a t io n a lJ o in t C o n fe re n ce o n A r t i f i c i a l In te llig e n c e , i , 59.3— 595.
Bibliografia
400
S ch afier,J. D., & M orishim a, A. ( 1987). An ad a p tiv e c ro ss o v e r d istrib u tio n m ech an ism for g e n e tic alg o rithm s. G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P roceedings o fth e S e c o n d I n te r n a tio n a l C o nference o n G e n e tic A lg o rith m s , 3 6 - 4 0 . S ch ro d t, P. A. ( 1986a). P re d ictin g in te rn a tio n a l ev en ts. Byte, / / ( 12), 1 7 7 -1 9 2 . S ch ro d t, P A. ( i9 8 6 b , M arch). Set p re d ic tio n o f in t e r n a t io n a l b e h a v io r u s in g a H o lla n d classifier. P ap er p re se n te d at th e 1 9 8 6 -m eetin g o f th e In te rn a tio n a l S tudies A ssociation, A naheim , CA. S ch ro d t, P A. ( 1987). P a tte rn m atching, se t p re d ic tio n , an d foreign po licy analysis. In S .J. Cimbsila ( E d .), A r t i f i c i a l in te llig e n c e a n d n a t io n a l s e c u rity ( pp. 8 9 - 1 0 7 ) . L exington: Lex in g to n Hooks. Schw efcl, I-I. (1 9 8 1 ). N u m e r ic a l o p tim iz a tio n o f c o m p u te r m o d e ls (M . pinnis, T rans.). C h ich e ster: Jo h n Wiley. (O rig in a l w o rk p u b lish e d 1977). Segrest, P D. ( 1 9 8 7 ). GAS g e n e tic a n n e a lin g s im u la tio n f o r c o m b in a to r ia l o p tim iz a tio n . U n p u b lish ed m an u scrip t, U niversity o f Alabam a, 'R iscaloosa. Shaefer, C. G. ( l9 8 5 a ). C o m p a ris o n s o f m e th o d s fo r s o lv in g n o n lin e a r e q u a tio n s ( R e se arc h M em o RIS-24r). C am bridge, MA: R ow land In stitu te for S cience. Shaefcr, C. G. ( 1985b), D irected tre e s m e th o d fo r fittin g a p o te n tia l fo n ctio n . P roceedings o f a n I n t e r n a t io n a l C onference o n G e n e tic A lg o > ith m s a n d T h e irA p p lic a tio n s , 2 0 7 -2 2 5 .
Shaefer, C. G. ( 1 9 8 7 ). T h e ARGOT strategy: A daptive re p re s e n ta tio n g c n c tic o p tim izer te c h n iq u e . G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P ro ce e ding s o f th e Second In te r n a t io n a l C o n fe re n ce o n G e n e tic A lg o rith m s , 5 0 - 5 8 . Sim on, I I. A. ( 1969). The sciences o f t h e a r t if ic ia l. C a m b rid g e, MA: MIT Press. Sirag, D .J ., & W eisser, D .J . (1 9 8 7 ). Toward a u n ilied th e rm o d y n a m ic g e n e tic o p erato r. G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P ro ce e ding s o f the S econd In te r n a t io n a l C o n fe re n c e o n G e n e tic A lg o rith m s , 1 1 6 -1 2 2 .
Slagle,J. R., Sc H am burger, I I.
(
1985). An e x p e r t sy stem for a re so u rc e allo catio n p ro b lem .
C o m m u n ic a tio n s o f th e ACM, 2 8 (9 ) , 9 9 4 - 1 0 0 4 .
Sm ith, D. ( 1985). Bin p ack in g w ith adaptive search . P ro ce e ding s o f a n I n te r n a t io n a l C o n fe re n c e o n G e n e tic A lg o r ith m s a n d T h e irA p p U c a tio n s , 2 0 2 - 2 0 6 . Sm ith, R. II ( 1 9 8 7 ). D iploid g e n e tic alg o rith m s for se a rc h in tim e v arying en v iro n m en ts. P roceedings o f the 2 5 th A n n u a l S outheast R e g io n a l C on fe re n ce o f th e ACM, 1 7 5 -1 7 8 .
Sm ith, R. E. ( 1988). A n in v e s tig a tio n o f d i p l o i d g e n e tic a lg o rith m s f o r a d a p tiv e search o f n o n s ta tio n a r y fu n c tio n s . U n p u b lish ed m a s te r’s thesis, U niversity o f Alabam a, 'Hiscaloosa. Sm ith. S. E ( 1980). A le a rn in g system based o n g e n e tic a d a p tiv e a lg o rith m s . U n p ublished d o c to ra l d isse rta tio n , U niversity o f Pittsburgh. Sm ith, S. F. ( 1983). F lexible learn in g o fp ro b lc m so lv in g h c i^ is tic s th ro u g h ad ap tiv e search. P roceedings o f t h e 8 th ln t e r n a t io n a lJ o in t C o n fe re n ce o n A r t i f i c i a l In te llig e n c e , 4 2 2 -
425. Sm ith, S. F. ( 1984). A daptive le arn in g system s. In R. F orsyth (E d .), lix p e r t systems: P r in c ip le s a n d case s tu d ie s ( p p . 169—189). N ew York: C h apm an an d Hall. Sm ith, T., & D e Jo n g , K. A. ( 1981). G e n e tic alg o rith m s ap p lied to th e calib ratio n o fin fo rm atio n d riv e n m o d els o f US m ig ratio n p a tte rn s. P ro ce e d in g s o f th e l 2 t h A n n u a l P itts b u rg h C o nference o n M o d e llin g a n d S im u la tio n , 9 5 5 - 9 5 9 .
401
Bibliografia Spendlcy, W., H c x t, G. R., & H im s w o rth , F. R. ( 1 9 6 2 ) . S e q u en tial a p p lic a tic m s o fs im p le x designs In o p tim iz a tio n an d e v o lu tio n a ry o p e ra tio n . T echnom etrics, 4, Stackhouse,' C. P., & Z e ig le r, B. P.
(1 9 8 9 ).
4 4 l^ 4 6 l.
L e a rn in g p lateaus i n a n a d a p tiv e ru Ie -b a S e d
system . In M . EIzas, T. O r e n , & B. P. Z e ig le r (E d s .), M o d e llin g a n d s im u la tio n m e th o d -
o lo g y : K n o w le d g e system s p a ra d ig m s . A m s terd a m : N o r th -H o lla n d . Stadnyk,^ I. ( 1 9 8 7 ) . S chem a re c o m b in a tio n in p a tte rn re c o g n itio n p ro b le m s . G e n e tic a lg o rith m s a n d t h e ir a p p lic a tio n s : P ro ce e ding s o f th e S econd In t e r n a t io n a l C o n fe re n ce o n
G e n e tic A lg o rith m s , 2 7 - 3 5 . Syslo, M . M ., D e o , N ., & K o w a lik ,J . S. ( 1 9 8 3 ) . D is c re te o p t im iz a t io n a lg o rith m s w ith
P a s c a lp ro g ra m s . E n g le w o o d CliRs, NJ: P re n tic e -lla lI. Suh,J. Y., & V an G u c h t, D . ( 1 9 8 7 ). In c o rp o ra tin g h e u ris tic in fo r m a tio n in to g e n e tic search.
G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P ro ce e ding s o f th e S econd In te r n a t io n a l C onfe re n c e o n G e n e tic A lg o r ith m s , 1 0 0 - 1 0 7 . S uh,J. Y., & V an G u c h t, D . ( 1 9 8 7 ,J u ly ). D is tr ib u te d g e n e lic a lg o r ith m s (T e c h n ic a l R e p o rt N o. 2 2 5 ). B lo o m in g to n : In d ia n a U n iv e rs ity , C o m p u te r S c ie n c e D e p a rtm e n t. Takahashi, Y., Rabins, M . J., & A uslandcr, D . M . ( 1 9 7 0 ) . C o n tr o l a n d d y n a m ic systems. Reading, M A : A ddison-W eslcy. Tanese, R. ( 1 9 8 7 ) . P a ra lle l g e n e tic a lg o rith m s fo r a h y p e rc u b e . G e n e tic a lg o rith m s a n d
th e ir a p p lic a tio n s : P roce e ding s o f th e S econd In t e r n a t io n a l C o n fe re n ce o n G e n e tic A l g o rith m s , 1 7 7 - 1 8 3 . T h o m p s o n , B., & T h o m p s o n , B. ( 1 9 8 6 ) . E v o lv in g k n o w le d g e fro m data. C o m p u te rL a n -
guage, 3 ( 1 1 ), 2 3 - 2 6 . U hr, L., & VossIer, C. ( 1 9 6 1 ) . A p a tte rn re c o g n itio n p ro g r:im th a t g e n erates evaluates and adjusts its o w n o p erato rs . A n n a ls o f th e N e w Y o rk A c a d e m y o fS c ie n c e , 5 0 ( 1 8 9 ) , 5 5 5 — 569. U la m , S., & S chran dt, R. ( 1 9 8 6 ) . Som e e le m e n ta ry a tte m p ts at n u m e ric a l m o d e lin g o f p r o b lem s c o n c e rn in g rates o f e v o lu tio n a ry processes. In D . F a rm er, A. Lapedes, N . Packard, & B. W c n d ro U '(E d s .), E v o lu tio n , ga m e s a n d le a rn in g (p p . 4 - 1 2 ) . A m s terd a m : N o r th -H o lland. (R e p rin te d frO m Phy$ica, 22D , 4 - 1 2 ) . V a le n zu e la -R e n d o n , M . ( 1 9 8 6 ) . A c o m p u te r a rc h ite c tu re f o r g e n e t ic a lg o rith m s o r the p a r a lle l h ie ra rc h ic g e n e tic a lg o rith m . U n p u b lis h e d m a n u scrip t. V in c e n t, T. L., & G ra n th a m , W . J. ( 1 9 8 1 ) . O p t im a lit y in p a ra m e te rie s y s te m s . N e w Y ork: W iley . vo n N e u m a n n ,J . ( 1 9 6 6 ) . T he o ry o f s e lf-re p ro d u c in g a u to m a ta (E d ite d an d c o m p le te d b y A. W. B u rks). U rbana: U n iv e rs ity o f Illin o is Press. W a te rm a n , D . A. ( 1 9 6 8 ). M a c h in e le a rn in g h e u ris tic s ( D o c to ra l d is s e rta tio n , S tanford U n i v e rs ity R e p o rt N o . C S 1 1 8 , A .I. 7 4 ) . Stanford, CA: Stan ford U n iv e rs ity , D e p a rtm e n t o f C o m p u te r Science. W e in b e rg , R. ( 1 9 7 0 ) . C o m p u te r s im u la tio n o f a liv in g c e ll (D o c to r a l d is s e rta tio n , U n iv e r sity o f M ic h ig a n ). D is s e rta tio n s A b s tra c ts In te rn a tio n a l, 3 l ( 9 ) , 5 3 1 2 B . (U n iv e r s ity M ic ro film s N o . 7 1 - 4 7 6 6 ) W es tc rd a le , T. H . ( 1 9 7 4 ). A n a p p lic a tio n o fF is h e r's th e o re m o n n a tu ra l s e le c tio n to som e re -e n fo rc e m e n t a lg o rith m s fo r c h o ic e s tra tc g ie s .y c u n w t/ o fC y b e rn e tic s , 4, 3 1 —42. W esterd ale , T. H . ( 1 9 8 5 ) . T h e b u c k e t b rig a d e is n o t g e n e tic . P ro ce e ding s o f a n in te r n a
t io n a l C onference o n G e n e tic A lg o rith m s a n d T h e ir A p p llc a tio n s , 4 5 - 5 9 .
40 2
Bibliografia W csterd ale , T. H . ( 1 9 8 6 ) . A re w a rd sc h e m e fo r p r o d u c tio n system s w it h o v e rla p p in g c o n flic t sets. IEEE T ra n s a c tio n s o n Systems, M a n , a n d C ybernetics, SM C -1 6 ( 3 ), 3 6 9 - 3 8 3 . W esterd ale , T. H . ( 1 9 8 7 ) . A itru is im in th e b u c k e t b rig a d e . G e n e tic a lg o rith m s a n d th e ir
a p p lic a tio n s : P roce e ding s o f th e S econd In t e r n a t io n a l C o n fe re n ce o n G e n e tic A lg o rith m s , 2 2 - 2 5 . W e tze l, A. ( 1 9 8 3 ) . E v a lu a tio n o ft h e effectiveness o fg e n e tic a lg o r ith m s in c o m b in a to r ia l
o p tim iz a tio n . U n p u b lis h e d m a n u s c rip t, U n iv e rs ity o fP itts b u r g h , P ittsburgh. W h a t th e b ra in b u ild e rs h a ve in m in d . ( 1 9 8 7 , M a y 2 ) . T h e E c o n o m is t, p p . 9 4 - 9 6 . W h itle y , D . ( 1 9 8 7 ) . U sing re p ro d u c tiv e e v a lu a tio n to im p ro v e g e n e tic search an d h e u ris tic discovery. G e n e tic a lg o rith m s a n d th e ir a p p lic a tio n s : P ro ce e ding s o f th e Second I n t e r
n a tio n a l C onference o n G e n e tic A lg o rith m s , 1 0 8 —1 1 5 . W ils o n , S. W . ( 1 9 8 1 ) . A u b e rtp ro c e s s in g a n d in te llig e n t v is io n (T e c h n ic a l r e p o r t ). C a m brid ge, M A : P o la ro id C o rp o rta tio n . W ils o n , S. W ( 1 9 8 3 ) . O n th e r e tin o -c o rtic a l m ap p in g . I n t e r n a t io n a l f o u r n a l o f M a n -M a -
c h in e S tu d ie s, 18, 3 6 1 - 3 8 9 . W ils o n , S. W . ( 1 9 8 5 a ). A d a p tiv e "cor,tical" p a tte rn re c o g n itio n . P roce e ding s o f a n In te r
n a tio n a l C onference o n G e n e tic A lg o rith m s a n d T b e ir A p p lic a tio n s , 1 8 8 —196. W ils o n , S. W . ( 1 9 8 5 b ) . K n o w le d g e g r o w th in an a rtific ia l a n im a l. P roceedings o f a n I n t e r
n a tio n a l C onference o n G e n e tic A lg o rith m s a n d T h e ir A p p lic a tio n s , 1 6 - 2 3 W ils o n , S. W . ( 1 9 8 5 c ) . K n o w le d g e g ro w th in an a rtific ia l an im a l. P ro ce e ding s o f th e 4 t h
Yale W orkshop o n A p p lic a tio n s o fA d a p tiv e S y s te m s Theoty, 9 8 —10 4. W ilso n, S. W . ( 1 9 8 6 a ). C la s s ifie rs y s te m le a rn in g o f a b o o le a n f u n c t io n (R e s e a rc h M e m o R lS -2 7 r). C am bridge,_M A : R o w la n d In s titu te fo r S cien ce. W iIsd n, S. W . ( 1 9 8 6 b ). C la s s ifie rs y s te m s a n d t h e A n im a t p r o b le m (R e s e a rc h M e m o RlS3 6 r ). C a m b rid g e, M A : R o w la n d In s titu te fo r Science. W ils o n , S. W . ( 1 9 8 6 c ) . H ie r a rc h ic a l c re d it a llo c a tio n in a c la s s ifie rs y s te m (R e s e a rc h M e m o R lS -3 7 r). C a m b rid g e , M A : R o w la n d In s titu te fo r S cience. W ils o n , S. W . ( 1 9 8 6 d ) . K n o w le d g e g r o w th in an a rtific ia l a n im a l. In K . S. N a re n d ra ( li d . ) ,
A d a p tiv e a n d le a rn in g systems: T h e o ry a n d a p p lic a tio n s (p p . 2 5 5 —2 6 4 ) . N e w Y ork: P len u m Press. W ils o n , S. W. ( 1 9 8 7 a ). C lassifier system s and th e A n im a t p ro b le m . M a c h in e L e a rn in g , 2 ( 3 ) ,
199- 228. W ilso n, S. W . ( 1 9 8 7 b ) . T h e g e n e tic a lg o rith m an d b io lo g ic a l d e v e lo p m e n t. G e n e tic a lg o
rith m s a n d th e ir a p p lic a tio n s : P roce e ding s o f th e S econd In te r n a t io n a l C o nference o n G e n e tic A lg o rith m s , 2 4 7 - 2 5 1 . W ils o n , S. W . ( 1 9 8 7 c ) . H ie ra rc h ic a l c r c d it a llo c a tio n in a classifier system . In L. Davis,
G enetic a lg o rith m s a n d s im u la te d a n n e a lin g (p p . 1 0 4 4 1 1 5 l Lo nd on: P itm an. W ilso n, S. W . ( 1 9 8 7 d ). H ie ra rc h ic a l c r e d it a llo c a tio n in a cla ssifier system . P ro ce e ding s o f
the Tentb I n te r n a tio n a l J o i n t C o nference o n A r t i f i c i a l In te llig e n c e , 2 1 7 - 2 2 0 . W ilso n, S. W . ( 1 9 8 7 e ). Q u a s i-D a rw in ia n le a rn in g in a cla ssifier system . P roceedings o f the
V o u rth In te r n a tio n a l W o rk s h o p o n M a c h in e L e a rn in g 5 9 ^ > 5 . W ilso n, S. W .
(1 9 8 9 ).
H ie ra rc h ic a l c r e d it a llo c a tio n in a classifier system . In M . Elzas, T.
O re n , & B. P. Z e ig Ie r (E d s .), M o d e llin g a n d s im u la tio n m e th o d o lo g y : K n o w le d g e system s
pa ra d ig m s, A m sterdam : N o rth -H o lIa n d .
Bibliografia
403
W o n g , P .J., & Larson, R. E. ( 1 9 6 8 ) . O p tim iz a tio n o f n a t u r a l gas p ip e lin e system s via d y n a m ic p ro g ra m m in g . IEE E T ra n s a c tio n s o f A u t o m a t ic C o n tro l, A C - lJ ( 5 ) , 4 7 5 —4 8 1 . Z e ig le r, B. P ,B o s w o r th , J. L., & B e th k e , A. D . ( 1 9 7 3 ) . N o is y f u n c t io n o p tim iz a tio n b y
g e n e tic a lg o r ith m s (T e c h n ic a l R e p o rt N o . l 4 3 ) . A n n A rb o r: U n iv e rs ity o f M ic h ig a n , D e p a rtm e n t o f C o m p u te r an d C o m m u n ic a tio n Sciences. Z h o u , H . 0 9 8 5 ) . C lassifler system s w it h lo n g te rm m e m o ry . P roce e ding s o f a n In te r n a
tio n a l C o nference o n G e n e tic A lg o r itb m s a n d T h e ir A p p lic a tio n s , 1 7 8 - 1 8 2 . Z h o u , H . ( 1 9 8 6 ) . C o n c e p tu a l le a rn in g b y b u i l d i n g f i n i t e a u to m a ta f r o m e x a m p le s v ia g e n e tic a lg o r ith m M a n u s c rip t s u b m itte d fo r p u b lic a tio n .
Skorowidz rzeczowy
A AO (p. algorytmy genetyczne) akcja 236, 246, 302 algorytm lmcke.t brigade 240-245 - interwałowy 282 - Poncc’a de Leon 282 - przyznawania ocen 237 algorytmygeiietyczne 17-41 -, cechy charakterystyczne 23 -, historia 104-122 - , implementacje współbieżne 224-228 - , mierniki efektywności 124-125 ~, modele De ionga 125-136 -, podej^cie obiektowe 226-228 - , opis dzialunia 26-31 -, podstawowe twierdzenie 50 -, podstawy matematyczne 45-71 -, symulacja odręczna 32-34 - , terminologia 38-39 - w Pascalu (p. SGA) - w systemie klasyfikującym 245-246 - wykaz zastosowań 141-144 - 7. diploiduInoścją 164-178 ailel 38, 45, 162 - dominujący 163 - recesywny 163 ANIMAT 300-304
B bariery reprodukcyjne 210-212, 294 hlokowy zapis pozycyjny ze standaryznej:i parametrów 97-98
B O O L E 308-311
c ccgiclkn 37, 44, 59 chrom osom 38 chrom osom y hom ologiczn e 162 ci;)g kodow y 24, 38, 45 - , dekodow anie 33, 82 - , reprezentacja rozszerzona 181 C L -O N E 312-317 CS-1 281-285 eyfrow a angiografin różnicow a 153-154 cykl uzgadniania 237 czynnik ścisku 133, 255
D dclccja 195-196 detektor 38, 110, 238 diploidalność 162-178 dom inow anie 162-165 dopasow anie 36, 239 - częściow e 2 11, 293 duplikacja 195-196 dw ójkow y znpis pozycyjny (p, zapis pozycyjny) dylem at w ięźnia 155-157 dyskretyzncjn 99
E cfcktor 238 efektyw ność oJf-line 124-125
efektyw ność on-line 124-125 ek sp resja aIlcItt 163 en tro p ia populacji 310 ep istaza 30, 66, 116 H Y E-E Y E 2 9 7 -3 0 0
F fenotyp 38 - , w SG A 76 frek w cn cjan lleH 173-176 - sch em ató w 67-68 front Pareto 216 funkcja eelu 27 - - , aproksym acja 222-224 — , p rzykład 24 — , przek ształcan ie 90-91 - generacy jn a poto m stw a 109 - przy sto so w an ia 27, 9 0 - 9 1 - w spóludzialu 206-207 funkcje testo w e De Jo n g a 122-123
G g atunek 2 0 0 gen 38, 45 - , stan h elerozygolyczny 163 - , stan hom ozygotycziiy 163 genetyczne system y uczącc się. 232-273, 277-319 --------, historia 233-234, 277-307 --------, w ykaz zastosow ań 234-236 g enotyp 38, 162 - , w SG A 76
40 5
Skorowidz rzeczowy_______ gra w pokera 291 - w sześć pionków 107-108 grupa wykonawcza 302 - zgodna 302
H hapIoidalność 162 hierarchia domniemań 265-270 hipotczn cegiełek 59-63 hybrydyzacja 218-220
i identyfikator kojarzeniowy 212 inwersja 180-184, 190-192 izba rozrachunkowa 241
j język KL-ONE 312-315 - PL- 317-319 - przekazu 279-280 jednostka przekazu 279-280
K klasyfikator 234, 239-240 ~, uaktywnianie 241-242 kod dwójkowy (p. zapis dwójkowy) - Graya 115-116 -JB 3 1 8 . - permutacyjny 185 - TB 319 - , zasady konstrukcji 95, 117 kodowanie binarnp (p. zapis dwójko wy) -, geny „rzeczywiste" 117-118 - niechlujne 196 kojarzenie 28, 34, 82 - , rcguly zgodności 211 - w reprezentacji rozszerzonej 184 - , typy 115 komunikat 238-239 - zewnętrzny 238, 248 kooperacja pici 197-200 krzyżowanie 28 - adaptacyjne 109, 310-311 - drzew 319 - proste 28, 66-67 - struktur o zmiennej dIugości 289-290 - szachownicowe 300 - uogólnione (p. k. wiełopunktowe) -wielopunktowe 117, 134-135 - zaclilanne 221
L lista kom unikatów 238 locus 38 LS-1 286-291
M m askow anie 163-164 M D P (p. m im iinnIny problem zw od niczy) m etoda iterow anych ulepszeń pozy cyjnych 219 - k a r 100 m etody aproksym acyjne 222-224 - k o dow ania 94-97 - niszow e 205-210 - optym nlizacji i poszukiw ania 18*22 — , analityczne 18-19 — , enum cracyjne 20-21 — , lokalne 19 — , losow e 21 — , zrandom izow anc 2 1-22 - w yboru losow ego 136 m inim alny problem zw odniczy 63-70 m odel eiitarystyezny 130 - trialleliczny 166 — , w Pascalu 176-178 - w artości oczekiw anej 130-131 - ze ściskiem 134, 205, 246 — , w Pascalu 255 m utacja 27, 31 - , w arianty niestandardow e 113, 118, 121-122
N nagroda 242, 256, 260-261 nisza 200
o odległość H am m inga 115, 210 odporność 18, 22 o ferta 241 - , w ysokość 241, 247, 250, 268 - , w ysokość efektyw na 243, 247 - , w ysokość stacjonarna 244 operacja CX 189-190 - częściow ego p rzecięcia 302-303 -d o p e łn ie n ia częściow ego 117 - inw ersji 180-181 - kreacji 302 - krzyżow ania 28, 34, 79 - m utacji 31, 34, 80, 246 - O X 188-189
-P M X i86-187 - reprodukcji 27-28, 33, 78
opcracje genetyczne 31 - rekonfiguracji 178-194 - wzbogacone wiedza 220-222 optymalizacja 22 - , cele 22-23 - , melody 18-22 -strukturalna konstrukcji 151-152 - waninkowa 100 - wielokryteriahm 212-217 oplymalność w sensie Pareto 213 osłona rcccsywów (p. maskowanie)
p planowaniecwolucyjnc 118-120 podntek 243, 252 podzial 202-204, 293, 302 populacja 25, 46* - , przyklad 26-27 - , w SGA 76 - , statystyki 84 - , średnie przystosowanie 47, 67 - , wielkość 77 populacje inieszane 126 - rozlgczne 77 pozycja 39, 45 - ustalona 46 prawdopodobieństwo mutacji 50, 86, 246 - krzyżowania 49, 86 presclekcja 112, 205 problem AG-trudny 63, 70 - zwodniczy 62, 63-70 procesory schematów 278-279 produkcja (p, regula przepisywania) programowanie ewolucyjne 120-122
przetnrg 241 przybliżona ewnluncja funkcji 154, 223 przychód 243 puIn rodzicielska 28, 33 punkt krzyżownnia 28, 34
R rcgula przepisywania 236 reprodukcja 27, 78 (p. też selekcja) rozwiaznnie niczdominowonc 213-214 - zdominowane 213-214 ruIctka 27-28
s schemat 36, 46 - a ciag kodowy 36-37, 96 -, liczba reprezentantów w populacji 46
406
schemat porządkowy 192-194 -, prawdopodobieństwo przeżycia 49-50. -, rozpiętość 46 -, rząd 46 -, średnie przystosowanie 47, 173 schematy jako hiperptaszczyzny 70-71 - konkurujące 56 -, periodyczność 60-63 -,propagacja46-52, 172-176 SCS 246-273 -, algorytm genetyczny 252-255 -, detektory i efektory 258-259 -, procedury wzmacniające 260-261 -, program gl6wny 261 -, struktury danych 246-248 -, środowisko 255-258 -, testy 262-273 -, uklad oceniający 249-252 -, uklad przetwarzania komunika tów 248-250 segregacja 194 sekcja dopasowania 187, 188 selekcja 27, 115, 130, 136, 140 (p. też reprodukcja) -elitarystyczna 130 -, metoda wyboru losowego wg reszt 136-138 -, model wartości oczekiwanej 130-131 • - przez nadawanie rang 140 - wg reguly ruletki 27-28, 78-79 SGA 75-90 -, funkcja celu 82-83 -, generowanie liczb losowych 78 -, krzyżowanie 79-80 -, mutacja 80-81 -, program główny 83-84 -, reprodukcja 78-79 - , struktury danych 76-78 -, testy 84-90 sieci semantyczne 312-317 sila klasyfikatora 241, 243-245, 247 -, stacjonarna 244, 268 skalowanie 91, 108, 138-140 -a-obcinające 139 - liniowe 92-94, 139 - potęgowe 139
Skorowidz rzeczowy specjacja 200 specjalizacja plci 197-200 sprzężenia 116-117, 194 strategia ewolucyjna 120 struktura 38 - dwuwymiarowa 300 struktury wielochromosomowe 194-195 symbol uniwersalny 36, 239, 248 symulacja żywej komórki 108-110, 113-114 - procesów genetycznych 105. symulowane wyżarzanie 22, 222 system klasyfikujący 236-245 - w Pascalu (p. SCS) systemy adaptacyjne 105-107 - GBML (p. genetyczne systemy uczące się) - produkcji 236 szczegółowość 250, 268 szum losowy 243, 251
T takson 281 techniki oparte na wiedzy 217-224 transformacja Walsha 60, 62 trdnslokacja 195 turnieje losowe 137 twierdzenie o schematach 50
U uklad occniający 240-245 — , stabilność 244 — , symulacja odręczna 241-242 - przetwarzania komunikatów 238-240 - -, symulacja odręczna 240 - wykonawczy (p. uklad przetwarza nia komunikatów) ukryta równoległość 38, 57-59 uzgadnianie 239
V VEGA 215
W warunek klasyfikatora 236, 246, 239 więzy 100 - periodyczne 172 wskaźnik przystosowania 27, 33-34, 76
-, zdeprecjonowany 207 wspinaczka 19 współczynnik inwestycyjny 241 - sprzężenia 109 - wymiany 126, 245 wykładnicze prawo wzrostu 47, 50 wyplata 242, 252 wzorzcc dominacji 166, 169 - kojarzeniowy 211-212 - podobieństwa (p. schemat)
Z zadanie automatycznego generowa nia programów 317-319 - emuincji multipleksera 255-256, 308-311 - koordynacji wideokamery 297-300 - o czarnej skrzynce 24, 27, 32 - pokonywania labiryntu 283-284 - poszukiwania pożywienia i unika nia trucizn 294-297 -rozpoznawaniepostaci 110-113 - rozpoznawania wzorców 293 -sterowania gazociągiem 144-150, 304-308 - wędrówki po Icsie 300-304 zagadnienie dwuramicnnego bandy ty 53-56 ------z podziałem wyplaty 202-203 -komiwojażera 185, 187-188 - t-ramiennego bandyty 56-57 - plecakowe 169-172 zapis dwójkowy 32, 94 — , dokładność 97 zasada minimalnego alfabetu 95 - znaczących cegielek 95 zbieżność 23 - przedwczesna 89, 91 zbiór parametrów 38 zgodność (p. dopasowanie) zróżnicowanie plcipwe 196-200
Skorowidz identyfikatorów
A
a 246 accum 82 action 246 address 257 advance 261 allele 76, 176 aoc 249 auction 250 avg 78 ’ B
bid 247, 250 bid1 250 bid2 250 bidsigma 251 bidtax 252 bit 246 bucketbrigadeflag 250
c c 246 chid 250 cfde 248 child 255 childl 79 child2 79 chromosome 76 classarray 247 classifier 247 classifieroutput 257 classlist 248
classtype 246 clearinghouse 251 clearingrec 250 c7/.rf 248 coeff 82 condition 246 crecord 250 crav.wver 79 crowding 255 crowdingfactor 253 crowdingsubpop 255 D
decode 82, 258 decodeparms 98 detectors 258 dominance 176
E ebid 247, 250 ebidJ 251 eWrf2 252 effector 258 efde 248 ettv/rawHfitt/ 258 environrec 257 envmessage 247 erecord 257 extractparm 97 F
fertilization 177 fitness 76, 93
flip 78 fmultiple 93
G ga 252 gaflag 261 gametogencsis 176 garec 252 ££/l 78 generatesignal 258 generation 81, 177 g#/e 248 grecord 252
H halt 261
i individual 76, 93 initialization 261 initialize 83
L laddress 257 lchrom 78, 82 ldata 257 //^eta* 252 lsignal 257
M map^parm 98 mapdominance 176
408 marray 253 match 248, 255 malchclassifiers 249 matchcoimt 255 matchJlag 247 matchlist 248 matchmax 255 mateJ 82, 253 mate2 82, 253 mating 253 max 78 maxgen 76 maxparm 98 maxpop 76 maxxtring 76 message 248 min 78 minparm 98 mortI 253 mort2 253 miiltiplcxeroutput 258 mutation 80, 178
N
nactive 248 nclassiJicr 247 ncross 79 ncrossover 253 newpop 76 nmutation 79, 253 nparms 98 nposition 247
Skorowidz identyfikatorów
o objective 93 objfunc 83 oUlpop 77 oldwiimer 250 output 257
P parentl 79 parcnt2 79 partsum 78 payment 252 pcross 78, 86 {)crossover 252 pfile 248 pmutation 78, 86, 252 pop 137 popsize 82, 86 poptype 78, 247 population 76, 247 poweroftwo 82 prescale 93 preselect 137 proportionselect 252
rep 248 report 84, 261 reportflag 261 reportga 261 r^/e 248
rnd
78
s scale 93 scalepop 93 select 78, 137, signal 257
254
.n/6'cm w 253
specificity 250 statistics 84, 254 strength 247, 251 sumfitness 78, 84 sumstrengih 255
T Uvccollector 252 tfdc 248 timekeeper 261 trit 246
u uavg
93
uinox 93
R rand 78 random 78 reinforcement 261 reinjbrcementrec 261
W N T W arszaw a 1995 W ydanie I Ark. wyd. 31,4. Ark. druk. 25,5. Sym bol E t/20581/M EN D ru k arn ia W ydawnictw Naukow ych S.A. w Łodzi Zam . 5809/2712-1
umin
93
w winner 250 worstofn 255 writcchrom 85,
178