Dodatek D Transformacja współczynników partycyjnych i jej z
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Ä…skie schematy niskiego rzÄ™du o ponadprzeciÄ™tnej wartoÅ›ci przystosowawczej, Å‚Ä…czÄ… siÄ™, tworzÄ…c optymalne lub niemal optymalne rozwiÄ…zania. Przekonanie, że proces taki zachodzi w rzeczywistoÅ›ci - hipoteza cegietek - byÅ‚o czÄ™sto przyjmowane na wiarÄ™. Niedawno opracowano jednak metody analizy, dziÄ™ki którym można przewidywać, czy dane zestawienie funkcji, kodu i operacji genetycznych powinno (lub nie) prowadzić do znajdowania 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 propagacji współzawodniczÄ…cych klas schematów, opisanej za pomocÄ… nieliniowych równaÅ„ rekurencyjnych odpowiadajÄ…cych danemu zestawowi operacji genetycznych, metodzie kodowania oraz funkcji przystosowania. Tego typu analiza prowadzi do rozstrzygajÄ…cych wniosków w przypadku zadaÅ„ o niedużych rozmiarach. Otrzymane ostatnio (Bridges i Goldberg, 1987) równania propagacji przy reprodukcji i krzyżowaniu dla przypadku ogólnych kodów /-bitowych umożliwiajÄ… analizÄ™ dynamicznÄ… problemów wyższego rzÄ™du. W podejÅ›ciu statycznym (Bethke, 1981; Holland, 1987b) oblicza siÄ™ Å›rednie przystosowania schematów, korzystajÄ…c z efektywnych metod transformacji. DysponujÄ…c tymi Å›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 przystosowawczej Å‚Ä…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 jednostajnym techniki Bethkego i Hollanda sÄ… równoważne. W tym dodatku wybraliÅ›my 376 D. Transformacja współczynników partycyjnych 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 zastosowanie 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 / w zbiór liczb rzeczywistych: /: {0, l}'^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 indeks partycyjny j: gdzie i jest numerem pozycji w ciÄ…gu kodowym, a funkcja a przyjmuje wartość 0, gdy h,= * oraz wartość 1 w przeciwnym przypadku. W ten sposób funkcjay przyporzÄ…dkowuje w sposób jednoznaczny indeks każdej z 2' partycji w przestrzeni ciÄ…gów kodowych, zawierajÄ…cych ciÄ…gi o jednakowym zbiorze pozycji ustalonych. I tak na przykÅ‚ad schematowi *** odpowiada indeks partycyjnyy'(***) = 0. Schematy **0 i **1 należą do tej samej partycji o indeksiej=l, a schematowi 0*1 odpowiada indeks partycyjny y(0*l) = 5. W celu wyznaczenia współczynników partycyjnych definiujemy także funkcjÄ™ o^, okreÅ›lonÄ… na zbiorze wszystkich schematów, która przyjmuje wartość 1, jeżeli schemat zawiera parzystÄ… liczbÄ™ zer oraz wartość -1 w przeciwnym przypadku: gdzie p(A,.) przyjmuje wartość 1 dla fy = 0 i 0 w pozostaÅ‚ych przypadkach. MajÄ…c już okreÅ›lone funkcje j i o, możemy teraz zdefiniować współczynniki par-tycyjne e; za poÅ›rednictwem ukÅ‚adu równaÅ„ postaci: • f(H) = 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ównania niezależne, ponieważ mamy tylko 2' "niewiadomych" e; (można na to spojrzeć w ten sposób, że dokonujemy transformacji 2' wskaźników przystosowania ciÄ…gów kodo- D.2. PrzykÅ‚ad: f(x)=f na trzech bitach 377 wych na 2' innych współczynników rzeczywistych). Nie bÄ™dziemy tutaj dowodzić poprawnoÅ›ci tej transformacji; dodajmyjednak, że wjednym z prostych dowodów zamiast bitów rozważa siÄ™ dwuwartoÅ›ciowe zmienne M,., przebiegajÄ…ce zbiór {-l, 1}. Można Å‚atwo wtedy pokazać, że każdÄ… funkcjÄ™ / można wyrazić w postaci wielomianu /-tego stopnia zmiennych ut i że istnieje wzajemnie jednoznaczna odpowiedniość miÄ™dzy współczynnikami tego wielomianu a liczbami e.. 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. D.2. PrzykÅ‚ad: f(x)=x2 na trzech bitach ChcÄ…c lepiej zrozumieć transformacjÄ™ współczynników partycyjnych, wyznaczmy współczynniki Ej dla konkretnej funkcji/(*)=*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*) = e"+e2 /(*11) = e0+e,+e2+e3 /(1**) = e()+e4 /(1*1) = e()+e,+e4+e5 ' ' " ' * /(11*) = efl+e2 + e4+e6 /(111) = en + e,+e2+e3 + e4 + e5 Powyższe wyliczenie wskazuje na możliwość dość efektywnego obliczania współczynników partycyjnych (szybka transformacja Walsha okazaÅ‚aby siÄ™ jeszcze bardziej efektywna, ale posÅ‚użyliÅ›my siÄ™ tÄ… triangularyzacjÄ… dla zachowania pewnych intuicji fizycznych): należy wyznaczyć Å›rednie przystosowania schematów we wskazanej kolejnoÅ›ci, a nastÄ™pnie obliczyć wartoÅ›ci e; metodÄ… eliminacji. Po wykonaniu tych rachunków otrzymamy nastÄ™pujÄ…ce wartoÅ›ci/i e;.: Indeks partycyjny j Schemat H f(H} e 0 1 2 3 4 5 6 7 *** **1 *1* *11 1** 1*1 11* 111 17,5 17,5 21,0 3,5 24,5 7,0 29,0 1,0 31,5 14,0 37,0 2,0 42,5 4,0 49,0 0,0 378 D. Transformacja współczynników partycyjnych Po obliczeniu współczynników partycyjnych możemy obliczyć bez trudu Å›rednie przystosowanie każdego wybranego schematu. Na przykÅ‚ad/(**0) = e0-e, = 17,5-3,5=14. Można to zweryfikować obliczajÄ…c bezposrednio:/(**0) = (0 + 4+16 + 36)/4=14,0. Obliczenia dla innych schematów sÄ… równie proste, ale musimy teraz zająć siÄ™ wyjaÅ›nieniem sensu współczynników e, oraz ich roli w analizie algorytmów genetycznych i przetwarzaniu schematów. D.3. Interpretacjawspółczynników partycyjnych______________________________________ Fakt, że umiemy obliczać współczynniki partycyjne w dość efektywny sposób, jest pokrzepiajÄ…cy, ale naprawdÄ™ chodzi nam o zrozumienie rodzaju nieliniowoÅ›ci, która ujawnia 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, /(**O) = e,,-e, Ponieważ współczynnik e0 jest równy po prostu Å›redniej ze wszystkich ciÄ…gów kodowych (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 pozostaÅ‚ych współczynników partycyjnych rzÄ™du 1 (e2 i e4) oraz ich wpÅ‚ywu na wskaźniki przystosowaniakonkurujÄ…cychschematów: /(*O*) = e0-e2 , , ,. /(l**) = e0+e4 ' • • - • /(0**) = e0-L4 ^ - 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 schematach 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 (^) dla zaznaczenia, że mamy do czynienia z wartoÅ›ciÄ… przybliżonÄ…, otrzymujemy nastÄ™pujÄ…cy zwiÄ…zek: D.4. Zastosowanie współczynników partycyjnych do analizy problemów zwodniczych 379 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Ä…: , ; . W tym przypadku współczynnik partycyjny drugiego rzÄ™du, 83, opisuje wkÅ‚ad do przystosowania 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 analizie i konstrukcji problemów AG-zwodniczych. D.4. Zastosowanie współczynników partycyjnych ___________do analizy problemów zwodniczych Współczynniki partycyjne opisujÄ… efekty nieliniowe zwiÄ…zane z funkcjÄ… odwzorowujÄ…cÄ… wektory binarne w zbiór liczb rzeczywistych. Chociaż jest to samo w sobie rzeczÄ… interesujÄ…cÄ…, w studiach poÅ›wiÄ™conych algorytmom genetycznym współczynniki partycyjne 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ółczynników e; czy funkcja/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 jedna z nastÄ™pujÄ…cych nierównoÅ›ci: /(**D (**0) /(*1*) (*0*) * '' /0**)(0**) W stać: terminach współczynników partycyjnych nierównoÅ›ci te przyjmujÄ… równoważnÄ… po-Å„: e, <0 e2<0 e,<0 380 D. Transformacja współczynników partycyjnych SprawdzajÄ…c tabele wartoÅ›ci współczynników e,, stwierdzamy, że żaden z nich nie jest ujemny, a zatem zwodniczość problemu nie może być pierwszego rzÄ™du ^ednobitowa). 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 algorytmu genetycznego. GdybyÅ›my stwierdzili, że co najmniej jeden z warunków zwodniczoÅ›ci jest speÅ‚niony, moglibyÅ›my podejrzewać, że mamy 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 jest zawsze AG-zwodnicza ". 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 nietrudne do osiÄ…gniÄ™cia przy użyciu współczynników partycyjnych. W tym punkcie naszkicujemy wyprowadzenie niezbÄ™dnych warunków optymalnoÅ›ci i zwodniczoÅ›ci. Załóżmy, jak poprzednio, że punkt 111 jest optymalny. Wynika stÄ…d siedem nierównoÅ›ci postaci/,|]>/o/(x,, itd. KorzystajÄ…c z transformacji współczynników partycyjnych, możemy je wyrazić w postaci: e2+e3- e,+L2- 0 0 0 0 e2+e3 + e4+e5 ei p r p i p t T^ 09 T^ C^ T^ 07 0 0 Te siedem warunków optymalnoÅ›ci należy uzupeÅ‚nić co najmniej jednym warunkiem zwodniczoÅ›ci, aby wprowadzić zwodnicze efekty nieliniowe. Dla zwodniczoÅ›ci pierwszego rzÄ™du potrzeba speÅ‚nienia co najmniej jednego z nastÄ™pujÄ…cych warunków: 0 Niedawno pojawiÅ‚y siÄ™ doniesienia na temat istnienia funkcji nie speÅ‚niajÄ…cych warunku zwodniczoÅ›ci, dla których algorytmy genetyczne zachowujÄ… siÄ™ źle. (S. Forrest, M. Mitchell: What Makes a Problem Hard for a Genetic Algorithm? Some Anomalous Results and Their Explanation, MachinÄ™ Learning, 13 (1992)) . tlum.). D.7. Zadania 381 e, <0 E2<0 ., • ,. ,. • ' 84<0 ,-.-, .r. ,. • W przypadku zwodniczoÅ›ci drugiego rzÄ™du musi być speÅ‚niony jeden lub wiÄ™cej z nastÄ™pujÄ…cych ukÅ‚adów warunków: , + e2<0; , + e4 < 0; 2 + e4 < 0; 0; 0; 0; 0; _ ( + e6<0; e2 + e6<0; -^ KonstrukcjÄ™ konkretnego problemu zwodniczego pozostawiamy jako ćwiczenie. 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. Badania tego typu pozwalajÄ… rzucić wiÄ™cej Å›wiatÅ‚a na problem doboru funkcji, kodu i operacji genetycznych w celu osiÄ…gniÄ™cia wiÄ™kszej efektywnoÅ›ci algorytmu genetycznego. D.7. Zadania D.1. Wyznacz współczynniki partycyjne dla funkcji/(*) = (*-3,5)2 (okreÅ›lonej na zbiorze {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 1? Dlaczego? D.2. Oblicz współczynniki partycyjne dla funkcji/(*, y, z) = 10+* + 2y + 4z, gdzie x, y i z sÄ… zmiennymi dwuwartoÅ›ciowymi o dziedzinie {-l, 1}, jeżeli ukÅ‚ad parametró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 liniowej postaci/(*!, ..., xj) = ^,atx, + b, gdzie xte {-l, 1} i kodu postaci x',x',_\ ...x'2x'h przy czym x'<= {0, 1}. D.4. Oblicz współczynniki partycyjne dla funkcji/(*, y, z)=\Q+x + 2y + 4z-xy + 2yz--xyz, gdzie x, y i z sÄ… zmiennymi dwuwartoÅ›ciowymi o dziedzinie {-l, 1}, jeżeli ukÅ‚ad parametrów (*, y, z) jest kodowany w postaci ciÄ…gu z 'y 'x', przy czym *', 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 partycyjnych D.5. StwierdziliÅ›my wczeÅ›niej, że współczynnik partycyjny rzÄ™du 3 (e7) dla funkcji f(x)=x1 przy dwójkowym zapisie pozycyjnym jest równy zeru. Pokaż, że jest tak dla dowolnej funkcji kwadratowej f(x). D.6. Oblicz współczynniki partycyjne dla funkcji/(*)=* 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óra jest zwodnicza pierwszego rzÄ™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/ln jest maksimum globalnym. D.8. Ćwiczenia komputerowe 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 f,. 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.