• Nie Znaleziono Wyników

Obliczenia ewolucyjne - geneza i zastosowanie

N/A
N/A
Protected

Academic year: 2021

Share "Obliczenia ewolucyjne - geneza i zastosowanie"

Copied!
50
0
0

Pełen tekst

(1)BIULETYN INSTYTUTU AUTOMATYKI I ROBOTYKI WAT NR 15, 2001. Obliczenia ewolucyjne – geneza i zastosowanie Krzysztof MURAWSKI Cybernetics Faculty, Military University of Technology 00-908 Warsaw, S. Kaliskiego 2, POLAND Streszczenie. W artykule omówiono stan wiedzy z zakresu symulowanej ewolucji oraz przedstawiono bieżące kierunki jej rozwoju. Pokazano przykładowe jej zastosowania. Załączono obszerny wykaz literatury związanej z tematem.. 1. Wstęp Pierwsze informacje dotyczące symulowanej ewolucji pojawiły się w latach 1950 – 1960. Wówczas to A. S. Fraser, G. E. P. Box, G. J. Friedman , W. Bledsoe, H. J. Bremermann podjęli badania dotyczące zastosowania systemów ewolucyjnych. W tym też czasie pojawiły się pierwsze artykuły [54], [60], [61], [116], [117], dotyczące prezentowanego tematu. W dużej mierze celem prac prowadzonych przez prekursorów symulowanej. ewolucji. było. naśladowanie,. komputerowe. symulowanie. zachodzącego. w naturze procesu ewolucji. Pionierem badań nad sztuczną inteligencją był Artur Samuel (1901 – 1990), który w 1950 roku sformułował pytanie: „How can computers learn to solve problems without being explicitly programmed? In other words: how can computers be made to do what is needed to be done, without being told exactly how to do it?”1 Jest to do dziś pytanie podstawowe dla rozwoju sztucznej inteligencji i obliczeń ewolucyjnych. Wyraża bowiem powątpiewanie, czy maszyna będzie w stanie zrealizować te wszystkie czynności, które w naturalny sposób wykonywane są przez człowieka. Czy będzie mogła samodzielnie dochodzić do rozwiązania postawionego problemu? Następne dwadzieścia pięć lat to czas, kiedy ukształtowały się główne kierunki rozwoju symulowanej ewolucji: programowanie ewolucyjne (L. Fogel, A. Owens, M. Walsh, 1966) [108], strategie ewolucyjne (I. Reachenberg, 1973) [215], algorytmy genetyczne (J. H. Holland, 1975) [155]. Odpowiedź na postawione przez siebie pytanie Arthur Samuel sprecyzował, gdy kierunki te były już dobrze rozwinięte. W 1983 roku 1. Źródło: http://www-csli.stanford.edu/Archive/calendar/1996-97/msg00009.html.. 55.

(2) Krzysztof Murawski. stwierdził [220]: „The aim [is] ... to get machines to exhibit behavior, which if done by humans, would be assumed to involve the use of intelligence.” Tym samym dał wyraz celowości prowadzenia dalszych prac dotyczących zgłębiania zasad rządzących zarówno sztuczną inteligencją i obliczeniami ewolucyjnymi. Późniejsze lata charakteryzowały się dużą liczbą prowadzonych badań, których przedmiotem była formalna analiza głównych kierunków rozwoju symulowanej ewolucji. Przedstawioną przez J. H. Hollanda w 1975 roku teorię schematów dla algorytmów genetycznych [154], [155] poddawano częstym weryfikacjom [5], [8], [10], [13], [47], [103], [122], [156], [173], [212], [284]. W 1989 roku J. D. Schaffer podjął wyzwanie przedstawienia mocy operatora mutacji w algorytmach genetycznych [221]. D. B. Fogel (kontynuując prace L. Fogla) w 1990 roku [106] stwierdził, że stosowanie operatora krzyżowania, przyjętego przez J. H. Hollanda za podstawowy w algorytmach genetycznych, jest mniej korzystne od zastosowania operatora mutacji. Odpowiedzią na zaprezentowaną tezę były prace K. A. De Jonga, W. M. Spearsa, D. M. Vosea, E. G. Liepinsa, D. J. Schaffera i J. L. Eshelmana. Prowadzone przez K. A. De Jonga, W. M. Spearsa, D. M. Vose, E. G. Liepinsa badania [82], [246], [311], dotyczyły analizy stosowania operatora krzyżowania i jego wpływu na uzyskiwaną wydajność algorytmów genetycznych. D. J. Schaffer i J. L. Eshelman kontynuując badania poprzedników przeprowadzili empirycznie analizę porównawczą operatorów krzyżowania i mutacji [222]. Badacze ci, podobnie jak ich poprzednicy, wyciągnęli wniosek, że operator mutacji nie jest wystarczający w każdym przypadku. Obecnie, w literaturze przedstawiającej teorię stosowania operatorów genetycznych w obliczeniach ewolucyjnych, występujące wcześniej spory zanikły. Większość prac dotyczy podstaw teoretycznych, opracowania nowych – efektywniejszych algorytmów ewolucyjnych, adaptacji istniejących algorytmów do konkretnych zastosowań w celu zwiększenia ich sprawności (skrócenia czasu obliczeń, podniesienia jakości uzyskiwanych rozwiązań – uzyskiwania rozwiązań bliższych optymalnym). Główne kierunki prac będące przedmiotem zainteresowania badaczy zajmujących się symulowaną ewolucją przedstawiono poniżej: 1. Rozwój algorytmów ewolucyjnych (ang. evolutionary algorithms): [15], [16], [18], [19], [20], [21], [22], [26], [51], [199], [207], [208], [209], w szczególności:. 56. ♦. programowania ewolucyjnego (ang. evolutionary programming): [13], [51], [107];. ♦. strategii ewolucyjnych (ang. evolution strategies): [12], [13], [14], [52], [53], [138];.

(3) Obliczenia ewolucyjne – geneza i zastosowanie ♦. algorytmów genetycznych (ang. genetic algorithms): [13], [17], [28], [34], [35], [36], [50], [125], [127], [129], [130], [154], [155], [156], [181], [188], [189], [190], [192], [206], [284];. ♦. programowania genetycznego (ang. genetic programming): [166], [167], [168], [169], [170], [171], [172].. 2. Badania dotyczące teorii schematów: ♦. analiza i weryfikacja istniejących teorii: [5], [8], [10], [13], [47], [103], [122], [154], [155], [156], [173], [212];. ♦. opracowanie nowych teorii : [284].. 3. Badania dotyczące teorii obliczeń ewolucyjnych i ich aplikacji: [30], [31], [79], [85], [94], [121], [207], [208], [209], [233], [243], [251], w szczególności: ♦. algorytmów genetycznych: [4], [65], [66], [73], [74], [77], [81], [86], [88], [90], [93], [105], [111], [118], [131], [144], [150], [154], [155], [156], [181], [188], [189], [190], [192], [198], [203], [235], [273];. ♦. strategii ewolucyjnych: [150], [199].. 4. Badania dotyczące teorii operatorów genetycznych: ♦. mutacji (ang. mutation): [11], [13], [24], [25], [27], [36], [106], [243], [248], [243], [249], [288];. ♦. krzyżowania (ang. crossover): [9], [13], [62], [63], [82], [83], [97], [99], [102], [165], [223], [231], [234], [238], [246], [247], [248], [249], [256], [288].. 5. Badania dotyczące metod selekcji genotypów: [23], [33], [36], [38], [48], [71], [207], [226], [266]. 6. Badania dotyczące opracowania nowych technik ewolucyjnych: ♦. nieuporządkowanych algorytmów genetycznych (ang. messy genetic algorithms): [123], [263];. ♦. komórkowych algorytmów genetycznych (ang. cellular genetic algorithms): [137], [274], [278];. ♦. hybrydowych strategii genetycznych (ang. hybrid genetic strategies): [140], [185];. ♦. łączenia algorytmów genetycznych i sieci neuronowych: [224], [244], [245], [281];. ♦. wyspowego modelu algorytmu genetycznego (ang. island model genetic algorithms): [269].. 7. Zastosowania praktyczne: [199], [287] – [313]. 57.

(4) Krzysztof Murawski. 2. Obliczenia ewolucyjne Obliczenia ewolucyjne (ang. evolutionary computing – EC), algorytmy ewolucyjne (ang. evolutionary algorithms – EAs) to ogólne określenia używane do opisu grupy metod wykorzystujących w procesie rozwiązywania problemu model obliczeniowy oparty na symulacji procesu ewolucji. Jak zaznaczono we wstępie, głównymi kierunkami symulowanej ewolucji są: programowanie ewolucyjne (EP), strategie ewolucyjne (ES), algorytmy genetyczne (GA), co zapiszemy skrótowo w sposób następujący:. EC = EP + ES + GA . Evolutionary Computing = Evolutionary Programming + Evolution Strategies + Genetic Algorithms. W szerszym ujęciu obliczenia ewolucyjne należą do grupy algorytmów poszukiwania dopuszczalnego, akceptowalnego rozwiązania zadania w zbiorze wszystkich możliwych rozwiązań. Umiejscowienie ich wśród metod poszukiwania rozwiązania dopuszczalnego, z uwzględnieniem technik deterministycznych i niedeterministycznych, przedstawia rys. 1. Search techniques. Calculus based. Direct. Indirect. Non guided. Guided. Fibonacci Newton Greedy Tabu Search. Enumeratives. Random. Guided. Las Vegas. Simulated Annealing. Genetic Programming. Evolutionary Algorithms. Evolutionary Evolutionary Genetic Strategies Programming Algorithms Parallel GAs. Backtracking Dynamic Programming. Neural Networks. Non guided. Branch & Bound. Hopfield Kohonen Maps Multilayer Perceptrons. Sequential GAs. Rys. 1. Techniki poszukiwania rozwiązań dopuszczalnych2. Wszystkie z wymienionych obliczeń ewolucyjnych wykorzystują jako podstawę techniki symulacyjne. Typowa symulacja dotyczy ewolucji pojedynczych struktur (osobników). 58.

(5) Obliczenia ewolucyjne – geneza i zastosowanie. w procesie np.: selekcji, mutacji, krzyżowania, inwersji. Przebieg procesu ewolucji w dużej mierze zależy od wyników, jakie uzyskują poszczególne osobniki w „środowisku” zdefiniowanym w postaci funkcji przystosowania (ang. fitness function). Rys historyczny oraz działanie poszczególnych algorytmów dokładniej przedstawimy w punktach: a) programowanie ewolucyjne w punkcie 2.5; b) strategie ewolucyjne w punkcie 2.6; c) algorytmy genetyczne w punkcie 2.7. 2.1.. Pojęcia podstawowe Pojęcia stosowane w genetyce komputerowej są w większości odpowiednikami nazw. funkcjonujących w genetyce naturalnej. Wyróżnić tu należy następujące z nich (rys. 2): ♦. gen. – pojedynczy element chromosomu, aij ;. ♦. chromosom – łańcuch lub ciąg kodowy, uporządkowany ciąg genów;. ♦. genotyp. – struktura złożona z chromosomów właściwa dla danego osobnika;. ♦. osobnik. – element. populacji,. rozwiązanie. określane. też. jako. punkt. w przestrzeni poszukiwań, występujący w algorytmie ewolucyjnym w postaci genotypu3; ♦. populacja. – zbiór osobników (o określonej liczebności);. ♦. allel. – wartość danego genu;. ♦. locus. – miejsce położenia genu w genotypie (w szczególnym przypadku w chromosomie);. ♦. fenotyp. – zespół wartości odpowiadający danemu genotypowi.. Do ważnych pojęć stosowanych w genetyce komputerowej należy również zaliczyć, nie określoną w formalny sposób w genetyce naturalnej, funkcję przystosowania (oceny). Funkcja ta pozwala ocenić stopień adaptacji poszczególnych osobników. Wyznacza wartość wskaźnika stanowiącego podstawę wyboru osobników najbardziej wartościowych. Przyjmuje się, że osobniki najbardziej wartościowe generują największe wartości funkcji przystosowania. Wybór osobników najbardziej wartościowych polega na wyznaczeniu osobników, którym odpowiadają największe wartości funkcji oceny. Graficzną reprezentację omawianych pojęć przedstawia rys. 2.. 2. Źródło: http://www.wi.leidenuniv.nl/~gusz/Flying_Circus/1.Reading/ 2.Tutorial/index.html. Przy małej liczbie zmiennych genotyp składa się z jednego chromosomu. Dopuszczalnym jest wówczas stwierdzenie, że osobnik w algorytmie ewolucyjnym reprezentowany jest w postaci chromosomu.. 3. 59.

(6) Krzysztof Murawski. Gen Allel = 1  a1,1  Osobnik =  a2,1  a3,1. a1, 2 a2, 2 a3, 2. a1,3 a2 , 3 a3,3. a1, 4 a2 , 4 a3, 4. a1,5 a2 , 5 a3,5. 2 1 Fenotyp = 0.2 0.4  1 0. 5. 4. 7. 5 5. 1 0 .2. 6 7. a1,6   Chromosom a2 , 6  a3,6  Lokus = [ 1, 1 ]. 1 .2  1.4  0.2. Osobnik 1 1. 2. 0.2 0.4 1. 0. 0. 1. 5. 4. 7. 1.2. 5. 1. 6. 1.4. 5. 0.2. 7. 0.2. Osobnik 2. Genotyp. 2. 3. 1.2 0.4. 2. 0. 1.1 0.8. 5. 1.2. 2. 1.2. 4.1 1.6 6. 8.2. Populacja 3. 6. Funkcja przystosow ania osobnika pierwszego F = ∑∑ ai , j = 47.6 i =1 j =1. Rys. 2. Graficzna reprezentacja podstawowych pojęć genetyki komputerowej. Na rysunku 2 do populacji genetycznej należą osobniki Os1 i Os2. Każdy z osobników reprezentowany jest przez strukturę złożoną z trzech chromosomów. Ewolucja chromosomów jest realizowana poprzez selekcję i działania operatorów genetycznych. Składające się na genotyp chromosomy powstały, w tym przypadku, ze złożenia sześciu genów. Wartości poszczególnych genów (allele) odzwierciedlają zakodowane, poszukiwane parametry zadania. Funkcja przystosowania, której argumentami są należące do ocenianego fenotypu allele, określa w stosunku do pozostałych osobników populacji stopień konkurencyjności osobnika. Funkcja ta przyjmuje zwykle postać zależną od rodzaju rozwiązywanego przez algorytm ewolucyjny zadania. Wartość funkcji przystosowania wyznaczana jest osobno dla każdego chromosomu. Przedstawiona na rysunku 2 przykładowa funkcja przystosowania sumuje allele należące do jednego fenotypu. Maksymalna z otrzymanych wartości funkcji bezpośrednio określa osobnika najlepiej przystosowanego. Osobnik ten ma zwykle największe szanse przetrwania selekcji chromosomów. 2.2.. Kodowanie parametrów zadania Algorytmy ewolucyjne wykorzystuje się najczęściej jako narzędzie do poszukiwania. dopuszczalnego rozwiązania w zbiorze wszystkich możliwych rozwiązań. Użycie obliczeń ewolucyjnych wymusza więc potrzebę zakodowania poszukiwanych parametrów zadania w postaci chromosomów. Dobór odpowiedniej metody kodowania parametrów do typu 60.

(7) Obliczenia ewolucyjne – geneza i zastosowanie. rozwiązywanego zadania nie jest zadaniem trywialnym. Metoda kodowania parametrów nie powinna faworyzować żadnego z możliwych do otrzymania rozwiązań. Na sposób kodowania parametrów. może. jednak. wpływać. przyjęty. algorytm. ewolucyjny.. Przykładowo. w klasycznym algorytmie genetycznym stosuje się kodowania binarne, podczas gdy strategie ewolucyjne dopuszczają wartości ze zbioru liczb rzeczywistych. Możliwa jest więc różna reprezentacja genu w algorytmach genetycznych i strategiach ewolucyjnych (rys. 3). Choć powszechnie stosowane są standardowe, typowe metody kodowania chromosomów, to ostatecznie wybór sposobu kodowania parametrów może zostać wymuszony przez wiele czynników. Gen. 1. 0. 0. 1. 0. 1. -1. Algorytmy genetyczne. 1.2. 5. 0.5. 1. -3. Strategie ewolucyjne. Rys. 3. Reprezentacja genu w algorytmach genetycznych i strategiach ewolucyjnych. Do typowych metod kodowania parametrów zadania zaliczyć należy kodowanie binarne, kodowanie logarytmiczne oraz kodowanie rzeczywiste. Binarne kodowanie chromosomów wykorzystuje system dwójkowy. Należące do chromosomu geny stanowią sekwencje zer i jedynek. Pozycja w ciągu odpowiada kolejnym potęgom liczby dwa. Przykładowo sekwencja [1011] odpowiada liczbie 11. W przypadku kodowania liczb rzeczywistych w algorytmie genetycznym korzysta się z odwzorowania przedziału w L , w R na przedział [0, 2L – 1], [219], wówczas:. wB = wL + wD ⋅. gdzie:. wR − wL 2L − 1. ,. (1). wB. - wartość zakodowanej liczby rzeczywistej, w B ∈ [w L , w R ] ⊂ R ;. wL. - wartość lewego końca przedziału liczbowego;. wR. - wartość prawego końca przedziału liczbowego;. wD. - dziesiętna wartość ciągu binarnego stanowiącego zakodowaną postać liczby wB ;. 61.

(8) Krzysztof Murawski. L. - długość. ciągu. kodowego. przeznaczonego. do. zakodowania. liczby. z przedziału [ w L , w R ] . Wartość L wyznacza się z zależności:. (wR − wL )⋅10q ≤ 2L −1, gdzie:. (2). q - wymagana dokładność obliczeń (liczba miejsc po przecinku). Kodowanie logarytmiczne jest odmianą kodowania binarnego, stosowaną głównie. w celu zmniejszenia długości chromosomów. Wykorzystywane jest ono najczęściej w problemach optymalizacyjnych z wieloma parametrami i o dużych przestrzeniach poszukiwań [219]. Ciąg binarny reprezentujący wartość genu w kodowaniu logarytmicznym umownie podzielony jest na trzy człony oznaczające w kolejności (od lewej do prawej): ♦. pierwszy bit ciągu – bit znaku funkcji wykładniczej (α );. ♦. drugi bit ciągu. – bit znaku wykładnika funkcji wykładniczej (β ) ;. ♦. pozostałe bity. – reprezentują wartość wykładnika funkcji wykładniczej (bin ) .. Gen o wartości [α β bin ] określa liczbę: w gdzie: [bin]10 – wartość dziesiętna cią. 62. B. = (− 1 )β e. (− 1 )α [bin ]10. ,. (3).

(9) Obliczenia ewolucyjne – geneza i zastosowanie. 2.3.. Operatory genetyczne Jak wspomniano wcześniej, algorytmy ewolucyjne bazują na modelu obliczeniowym. opartym na naturalnym procesie ewolucji. W modelu tym ewolucja chromosomów przebiega dzięki wykorzystaniu operacji selekcji i operatorów genetycznych. Podstawowe operatory genetyczne to: mutacja [11], [172], [190], [235], [243], [273] i krzyżowanie [56], [82], [97], [155], [222], [231], [234], [238], [246]. Mimo, iż w algorytmach ewolucyjnych są one w powszechnym użyciu, to jednak nie do końca sprecyzowana została ich rola i wpływ na przebieg procesu ewolucji. Dodatkowym utrudnieniem podczas weryfikacji uzyskiwanych wyników jest fakt, że pod tą samą nazwą operatora często kryją się różne warianty implementacyjne (tab. 1). Tabela 1. Najczęściej stosowane warianty implementacyjne operatorów mutacji i krzyżowania Mutacja. Krzyżowanie. jednopunktowa (ang. one point mutation). jednopunktowe (ang. one point crossover). wielopunktowa (ang. multi point mutation);. wielopunktowe (ang. multi point crossover) równomierne (ang. uniform crossover) ukośne (ang. diagonal crossover). W świecie organizmów żywych „mutacja jest jedną z form zmienności genotypowej (szczególnie u drobnoustrojów). Mechanizm ten wiąże się ze zmianami w jądrowym DNA (kwasy nukleinowe) i jest niezależny od wpływów środowiska, a więc pojawia się spontanicznie”4. Podobnie w klasycznym algorytmie genetycznym operator mutacji odgrywa zdecydowanie drugoplanową rolę. Na ogół przejawia się to w przyjmowaniu bardzo małego prawdopodobieństwa jej wystąpienia (0 ≤ p m ≤ 0.1) . Głównym zadaniem mutacji w GA jest umożliwienie odtworzenia zniszczonego podczas krzyżowania chromosomu (wartość funkcji przystosowania potomka jest mniejsza od wartości funkcji przystosowania rodzica). Jej działanie w GA polega na negacji wskazanego do zamiany bitu (allela). W strategiach ewolucyjnych mutacja, w zależności od implementacji, polega na zamianie jednego lub większej liczby alleli na inne.. 4. Źródło: Wielka Internetowa Encyklopedia Multimedialna, http://wiem.onet.pl/wiem/00d2ec.html.. 63.

(10) Krzysztof Murawski. Pozycja do zmiany= 3 1. 10. 1. 10. Poddawany mutacji rodzic Dopuszczalne wartości genów. Wynik działania operatora mutacji. Rys. 4. Schemat działania jednopunktowej mutacji. Pozycje do zmiany= 2, 5, 8, 9 1. 10. 1. 10. Poddawany mutacji rodzic Dopuszczalne wartości genów. Wynik działania operatora mutacji. Rys. 5. Schemat działania wielopunktowej mutacji. Wykonanie mutacji z prawdopodobieństwem p m polega na wylosowaniu dla każdego locus liczby z zadanego przedziału (np.. [ 0, 1 ]). i wybraniu do mutacji jednego. (rys. 4) lub większej liczby genów (rys. 5), dla których wylosowana liczba jest mniejsza lub równa p m . Nowe wartości dla wyznaczonych do zmiany alleli proponuje się obliczać według jednej z zależności: 1) w algorytmach genetycznych, [219]: X t +1 = X t ,. (5). gdzie: X t +1 - allel w chwili t+1; Xt. - negacja allela występującego w chwili t.. 2) w strategiach ewolucyjnych: a) wersja pierwsza, [191]:. X t +1 = X t + Z t ,. 64. (6).

(11) Obliczenia ewolucyjne – geneza i zastosowanie. gdzie:. X t +1. - allel w chwili t+1;. Xt. - allel w chwili t;. Zt. - wartość wylosowana zgodnie z rozkładem normalnym. N(0, σ ). (z zerową średnią i odchyleniem standardowym σ ). b) wersja druga, [37]:. X t +1 = X t + Zt ,. (7). ( ). (8). σ′ = σ ⋅ exp W t , gdzie:. Operator. X t +1. - allel w chwili t+1;. Xt. - allel w chwili t;. Zt. - wartość wylosowana zgodnie z rozkładem normalnym N(0, σ′) ;. σ′. - odchylenie standardowe obliczane z wzoru (8);. Wt. - wartość wylosowana zgodnie z rozkładem normalnym N(0, ∆σ ) ;. σ. - zadane odchylenie standardowe;. ∆σ. - zadany krok zmian odchylenia standardowego.. mutacji. jest. głównym. operatorem. w. strategiach. ewolucyjnych.. Ingo Rechenberg w 1973 roku obliczył wartość oczekiwaną współczynnika zbieżności5 funkcji przystosowania przy założeniu strategii6 ( 1 + 1 ), korytarzowego i sferycznego modelu funkcji przystosowania oraz zadanego odchylenia standardowego (kroku zmienności ∆σ ). Wartość kroku zmienności ∆σ była zadawana tak, aby uzyskać najszybsze tempo zbieżności funkcji przystosowania do jej wartości maksymalnej. Optymalizacja opierała się więc na wyznaczeniu prawdopodobieństwa mutacji, prowadzącego do sukcesu (tzn. wartość funkcji przystosowania dla dziecka jest większa od wartości funkcji przystosowania dla rodzica). Dla rozważanych przez I. Rechenberga modeli funkcji przystosowania (korytarzowego i sferycznego) wartość ta wynosiła dokładnie 1 5 . Sformułowano zatem regułę, nazwaną „regułą 1 5 ”: „Stosunek liczby wykonanych w chromosomie mutacji do liczby wszystkich możliwych do wykonania mutacji powinien być równy 1 5 . Jeżeli stosunek ten jest większy od 1 5 , należy zwiększyć wartość odchylenia standardowego, a w przeciwnym przypadku zmniejszyć” [243]. 5. Wartość współczynnika, przy którym otrzymywano w kolejnych iteracjach algorytmu największe przyrosty wartości funkcji przystosowania. 6 Patrz punkt 2.4, 2.6.. 65.

(12) Krzysztof Murawski. W biologii „krzyżowanie, hybrydyzacja to łączenie się gamet pochodzących od dwóch różnych osobników o różnych genotypach, w wyniku czego powstaje potomstwo mieszańcowe. Krzyżowanie swobodne stanowi ważny czynnik ewolucji...”7. Podobnie krzyżowanie w GA jest operatorem dominującym. Prawdopodobieństwo stosowania krzyżowania zwykle przyjmuje wartość z przedziału (0.5 ≤ pc ≤ 1). Typowy operator krzyżowania z pary rodzicielskiej tworzy dwoje dzieci. Pierwszym etapem krzyżowania jest wylosowanie pary lub grupy rodziców z populacji rodzicielskiej. Następnie dla każdej z par rodzicielskich losuje się zależną od implementacji operatora liczbę miejsc krzyżowania (locus) w chromosomie. Właściwym zadaniem krzyżowania jest wymieszanie materiału genetycznego zgodnie z przyjętą implementacją operatora i wylosowanymi punktami krzyżowania. W wyniku otrzymuje się populację potomstwa (ang. offspring), której liczebność jest zwykle redukowana do jednego losowo wybranego potomka. Poszczególne warianty operatora krzyżowania przedstawiają rysunki 6 – 8. Krzyżowanie jednopunktowe (rys. 6) polega na przecięciu chromosomów pary rodzicielskiej w jednym, tym samym dla obu chromosomów, punkcie krzyżowania. Allele, dla których locus jest mniejsze od położenia wyznaczonego punktu krzyżowania, pozostają w chromosomach dzieci niezmienione, pozostałe geny krzyżują się. Wartości genów dziecka pierwszego, których locus jest większy od położenia punktu krzyżowania, przyjmują wartości z chromosomu rodzica drugiego. Analogicznie wartości genów dziecka drugiego przyjmują wartości genów z chromosomu rodzica pierwszego.. Punkt krzyżowania 1. 6. Rodzic pierwszy. 1 Rodzic drugi. 1 Dziecko pierwsze. 6. 1. 6. 6 Dziecko drugie. Rys. 6. Krzyżowanie jednopunktowe. Modyfikacją krzyżowania jednopunktowego jest krzyżowanie wielopunktowe (rys. 7). Polega ono na wymianie w chromosomach rodziców materiału genetycznego zawartego pomiędzy wyznaczonymi punktami krzyżowania. Allele w chromosomach rodzicielskich, dla. 7. Źródło: Wielka Internetowa Encyklopedia Multimedialna, http://wiem.onet.pl/wiem/00f261.html.. 66.

(13) Obliczenia ewolucyjne – geneza i zastosowanie. których locus jest mniejsze od położenia pierwszego z punktów krzyżowania, pozostają w chromosomach dzieci niezmienione, pozostałe geny podlegają krzyżowaniu. Allele dziecka pierwszego, dla których locus jest większe od położenia pierwszego z punktów krzyżowania, a mniejsze od położenia następnego z nich, przyjmują wartości z chromosomu rodzica drugiego. Analogicznie. wartości. genów. dziecka. drugiego. w. zdefiniowanym. przez. położenia. rozpatrywanych punktów krzyżowania wycinku chromosomu przyjmują wartości genów z chromosomu rodzica pierwszego.. Punkty krzyżowania 1. 6. Rodzic pierwszy. 1. 1 Dziecko pierwsze. 6. 1. 6. 6. Rodzic drugi. Dziecko drugie. Rys. 7. Krzyżowanie wielopunktowe. Jeżeli punkty pi krzyżowania wielopunktowego zostaną kolejno ponumerowane. (i = 1, 2, 3,!, k ), to krzyżowanie genów zachodzi dla locus L należących do przedziału:. (. (. )). L ∈ W (p 2n +1 ), W p 2(n +1) ,. (9). gdzie: W (pi ) - położenie w chromosomie rodziców i – tego punktu krzyżowania pi ; n. - numer wycinka chromosomu przeznaczonego do krzyżowania, n ∈ C + .. Formalną analizę wielopunktowego krzyżowania przeprowadzili K. A. De Jong i W. M. Spears w [82]. Uogólnieniem krzyżowania wielopunktowego jest prezentowane w [165], [246], [256] krzyżowanie równomierne. G. Syswerda w [256] zdefiniował równomierny operator krzyżowania. Jest on wariantem spotykanego dawniej poglądu, że generacja dzieci może odbywać się przez losową selekcję genów z chromosomów rodzicielskich. Prawdopodobieństwo użycia. wartości. genów. rodzica. pierwszego. określono. jako. P0 .. Przykładowo:. dla. prawdopodobieństwa P0 = 0.5 , wytworzenie chromosomu dziecka odbywać się może na podstawie rzutu monetą na każdym locus w chromosomie rodzica pierwszego. Schemat działania operatora równomiernego krzyżowania został przedstawiony na rys. 8.. 67.

(14) Krzysztof Murawski. Rodzic pierwszy. Dziecko. Rodzic drugi. Rys. 8. Krzyżowanie równomierne. Znak „√ ” oznacza przyjęcie wartości danego genu od rodzica pierwszego, a „Χ Χ” przyjęcie wartości danego genu od rodzica drugiego. W typowym przypadku operator krzyżowania z pary rodzicielskiej tworzy parę potomków.. Operator. ukośnego. (krzyżowania. krzyżowania. po. przekątnej). [97]. jest. przedstawicielem klasy operatorów genetycznych, która nie wywodzi się z tradycyjnego podejścia. W przypadku zastosowania operatora ukośnego krzyżowania proces reprodukcji przebiega jednocześnie pomiędzy kilkoma osobnikami populacji rodzicielskiej. Podstawową ideą krzyżowania po przekątnej jest uogólnienie klasycznego operatora do operatora (n − 1) punktowego krzyżowania, gdzie n oznacza liczbę chromosomów biorących udział w reprodukcji. Użycie krzyżowania po przekątnej wymaga podzielenia chromosomów na n równych segmentów. Otrzymane segmenty stanowią budulec do kształtowania populacji potomków. Dziecko powstaje przez pobranie segmentów leżących na głównej przekątnej kwadratu zbudowanego z chromosomów rodziców. Populacja rodzicielska Rodzic 1. Rodzic n. Etap 1. Etap n. 1. 2. 3. 1. 2. 3. 1. 2. 3. 1. 2. 3. 1. 2. 3. 1. 2. 3. 1. 2. 3. 1. 2. 3. 1. 2. 3. Dziecko 1 Populacja potomków. 1. 2. 3. Dziecko n. 1. 2. 3. 1. 2. 3. Rys. 9. Mechanizm tworzenia potomków w krzyżowaniu po przekątnej (ukośnym). Tworząc populację potomków, czynność tę powtarza się n krotne. Mechanizm tworzenia populacji potomków pokazuje rysunek 9.. 68.

(15) Obliczenia ewolucyjne – geneza i zastosowanie. 2.4.. Metody selekcji Ostatnim, dotąd nie omówionym, elementem obliczeń ewolucyjnych jest metoda selekcji.. Przedstawione w punkcie 2.3 operatory genetyczne, tworząc populację potomstwa, zwiększają wielkość populacji pośredniej. Metoda selekcji redukuje jej liczebność do rozmiaru populacji rodzicielskiej. Pożądane jest takie działanie metody selekcji, aby kolejne generacje populacji rodzicielskiej P charakteryzowały się wyższą średnią wartości funkcji przystosowania: Pt ≤ Pt +1 ,. gdzie:. ( 10 ). Pt - średnia wartość funkcji przystosowania dla P w chwili t ; Pt +1 - średnia wartość funkcji przystosowania dla P w chwili t + 1 .. Historycznie najstarszą z metod selekcji jest stosowana także w klasycznym algorytmie genetycznym – metoda koła ruletki. Rozwój strategii ewolucyjnych spowodował opracowanie nowych efektywniejszych metod: ♦. metody selekcji rankingowej;. ♦. metody selekcji turniejowej;. ♦. metody selekcji (µ , λ );. ♦. metody selekcji (µ + λ ).. Metody te zostaną omówione w podpunktach: 2.4.1- 2.4.4 2.4.1. Metoda koła ruletki Metoda koła ruletki, podobnie jak każda metoda selekcji, operuje na populacji pośredniej PP (znane są przypadki, dla których populacja pośrednia jest równa populacji rodzicielskiej – algorytmy genetyczne). Podstawą omawianego algorytmu jest przypisanie każdemu. ( ). chromosomowi ch i ∈ PP wycinka koła v ch i . Wielkość v(chi ) wyraża wzór: v(ch i ) =. F(ch i ). N. ∑ F(ch n ). ⋅ 100%, i = {1,2,!, N},. ( 11 ). n =1. gdzie: N oznacza liczebność populacji pośredniej. Większemu rozmiarowi v(chi ) odpowiada większe prawdopodobieństwo wyboru pS (chi ) chromosomu ch i do nowo tworzonej populacji rodzicielskiej. Metoda koła ruletki polega na wielokrotnym (liczba losowań równa jest liczebności tworzonej populacji rodzicielskiej N ) losowaniu z przyjętą dokładnością liczby 69.

(16) Krzysztof Murawski. rzeczywistej z przedziału [0, 100] wskazującej chromosom8 przeżywający proces selekcji. Im większy jest wycinek koła na kole ruletki, tym większe jest prawdopodobieństwo wylosowania osobnika jemu odpowiadającego. Łatwo zauważyć, że w metodzie tej możliwy jest wielokrotny wybór do populacji rodzicielskiej osobnika o największym stopniu przystosowania. Cechę tę zwykle uznaje się za wadę. Dominacja populacji rodzicielskiej przez jednego z chromosomów obniża sprawność, uznawanego w algorytmach genetycznych za podstawowy, operatora krzyżowania. Kolejne właściwości prezentowanej metody to między innymi: ♦. możliwość wprowadzenia do tworzonej populacji osobników o najgorszym stopniu przystosowania;. ♦. niemożność bezpośredniego zastosowania metody do zadań minimalizacji funkcji.. Przykład Przeanalizujmy przykład mający na celu pokazanie działania omawianej metody selekcji. Załóżmy, że populacja rodzicielska składa się z czterech kodowanych binarnie chromosomów9 N = 4 , a chromosomy składają się z czterech genów. Niech wyznaczana wartość funkcji. przystosowania będzie równa wartości dziesiętnej zakodowanej w postaci chromosomu. Przyjmijmy, że podczas inicjacji algorytmu ewolucyjnego wygenerowana została następująca populacja rodzicielska:. ch1 = [1001] ,. ch2 = [1000],. ch 3 = [0001],. ch 4 = [1011].. Selekcja jest realizowana w następujący sposób. I. Obliczamy wartości funkcji przystosowania F(ch i ) , liczoną jako dziesiętną wartość zakodowanych ciągów binarnych F(ch1 ) = 9 ,. F(ch 2 ) = 8 ,. F(ch 3 ) = 1 ,. F(ch 4 ) = 11 .. II. Obliczamy sumę wartości funkcji przystosowania dla całej populacji 4. ∑ F(ch i ) = 9 + 8 + 1 + 11 = 29 .. i =1. 8. Suma wycinków koła odpowiadających wszystkim chromosomom (obwód koła) wyraża z przyjętą dokładnością zakres liczb rzeczywistych od 0 do 100. Wybór chromosomu zależy od tego, w którym wycinku na kole ruletki zawiera się wylosowana liczba – wycinek ten jednoznacznie określa chromosom wybierany podczas selekcji. 9 Metoda koła ruletki znajduje zastosowanie niezależnie od budowy osobnika (jeden lub więcej chromosomów w genotypie). W przypadku gdy genotyp jest bardziej rozbudowany, zmianie ulega jedynie sposób obliczania wartości funkcji przystosowania – argumentami funkcji przystosowania są. 70.

(17) Obliczenia ewolucyjne – geneza i zastosowanie. ( ). III. Obliczamy wyrażone w procentach wielkości wycinków koła ruletki v ch i v(ch1 ) =. 9 ⋅ 100% = 31.03% , 29. v(ch 2 ) =. 8 ⋅ 100% = 27.59% , 29. v(ch 3 ) =. 1 ⋅ 100% = 3.45% , 29. v(ch 4 ) =. 11 ⋅ 100% = 37.93% . 29. Obliczone wielkości wycinków koła ruletki pokazano na rysunku 10.. 100. v(ch4 ). 37,93%. 31,03%. 1. 4. 2. 3. 62,07. v(ch1 ). 0. 31,03. v(ch3 ). v(ch2 ). 58,62. 3,45%. 27,59%. Rys. 10. Koło ruletki odzwierciedlające uzyskane wyniki. IV. Losujemy cztery liczby ( N = 4 ) z przedziału [0,100] 10 20.4,. 65.0,. 12.4,. 39.0 .. Umiejscowienie wylosowanych liczb na tle odpowiadających poszczególnym osobnikom wycinków koła przedstawia rys. 11. 12.4 100. v(ch4 ). 37,93%. 65.0. v(ch3 ). 20.4. 2. 3 3,45%. 31,03%. 1. 4. 62,07. v(ch1 ). 0. 31,03 58,62. v(ch2 ). 39.0. 27,59%. Rys. 11. Umiejscowienie wylosowanych liczb na tle odpowiadających poszczególnym osobnikom wycinków koła. 10. Przyjmuje się – dla uproszczenia, że wielkości wycinków i wylosowane liczby są liczbami rzeczywistymi wyrażonymi z zadaną dokładnością.. 71.

(18) Krzysztof Murawski. V. Wylosowane liczby „głosują”11 na wycinki koła (rys. 11). W rozważanym przykładzie „zagłosowano” na chromosom: ch1 – dwa razy, ch 2 – raz, ch 3 – brak głosu, ch 4 – raz, zatem odpowiednio do liczby otrzymanych głosów wybrane zostaną chromosomy: ch1 , ch1 , ch 2 , ch 4 . Wytworzona, przeznaczona do reprodukcji populacja przybierze więc postać: ch1′ = [1001],. ch′2 = [1000],. ch′3 = [1001],. ch′4 = [1011].. 2.4.2. Metoda selekcji rankingowej W selekcji rankingowej osobniki należące do populacji rodzicielskiej sortuje się najczęściej malejąco względem wartości funkcji przystosowania. Tak posortowane osobniki tworzą listę rankingową. Każdemu osobnikowi przypisywana jest liczba całkowita zwana rangą. Największa wartość rangi równa jest liczebności populacji rodzicielskiej, najmniejsza wartość wynosi jeden. Osobnik o największej wartości funkcji przystosowania (pierwszy na liście) uzyskuje największą wartość rangi. Najmniejsza wartość rangi charakteryzuje osobnika o najmniejszej wartości funkcji przystosowania. Zależność pozycji na liście rankingowej i wartości rangi od wartości funkcji przystosowania przedstawia tabela 2. Tabela 2. Zależność pozycji na liście rankingowej i wartości rangi od wartości funkcji przystosowania Wartość funkcji przystosowania osobników. 78.0. 60.5. 40.1. 29.8. 29.7. 25.0. 24.0. 20.9. 20.0. 10.5. Pozycja osobnika w rankingu. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Wartość rangi otrzymanej przez osobnika. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. Przypisana do osobnika ranga jest argumentem funkcji R zdefiniowanej w selekcji rankingowej. Funkcja ta, wyznacza współczynnik selekcji osobnika będący podstawą do obliczenia. prawdopodobieństwa. jego. wyboru. do. tworzonej. populacji. rodzicielskiej.. Wykorzystywane w selekcji rankingowej funkcje przedstawiono np. w [204]. Z uwagi na postać funkcji wyróżnia się liniową selekcję rankingową opartą na funkcji: R (ranga , SP , N ) = 2 − SP +. 11. 2 ⋅ (SP − 1) ⋅ (ranga − 1) , N −1. ( 12 ). Liczba głosów oddanych na wycinek koła równa jest liczbie należących do niego, wylosowanych liczb. Przy czym zakłada się, że przedziały liczbowe odpowiadające wycinkom koła są prawostronnie domknięte.. 72.

(19) Obliczenia ewolucyjne – geneza i zastosowanie. i nieliniową selekcję rankingową [204], opartą na funkcji: R (ranga , X, N ) =. N ⋅ X (ranga −1) N. (i −1) ∑X. ,. ( 13 ). i =1. gdzie:. N. - liczba wybieranych osobników;. ranga - pozycja osobnika na liście rankingowej; SP. - współczynnik selekcji (ang. selective pressure), SP ∈ [1.0,2.0] ;. X. - dobierany eksperymentalnie współczynnik selekcji.. Przykładowe wykresy funkcji (rys. 12) stosowane w selekcji rankingowej uzyskano przy następujących parametrach: ♦. liniowa selekcja rankingowa (12): N = 10 ; ranga = 10,!,1 ; S P = 2 ;. ♦. nieliniowa selekcja rankingowa (13): N = 10 ; ranga = 10,!,1 ; X = 1.41 .. Rys. 12. Przykładowe wykresy funkcji stosowane w selekcji rankingowej. Wartość funkcji selekcji rankingowej R oblicza się dla każdego osobnika znajdującego się na liście rankingowej. Znormalizowana wartość funkcji R :. R ′i =. Ri. N. ∑Rj. , i = {1, 2,!, N},. ( 14 ). j=1. 73.

(20) Krzysztof Murawski. wyznacza prawdopodobieństwo selekcji i - tego osobnika do tworzonej populacji. Wybór osobników do tworzonej populacji polega na wylosowaniu z przyjętą dokładnością, zgodnie z rozkładem równomiernym N liczb rzeczywistych np. z zakresu. [0, 1 ].. Liczby te. jednoznacznie wskazują chromosomy wybierane do tworzonej populacji. Przykład Przeanalizujmy prosty przykład prezentujący ideę działania omawianej metody selekcji. Porównamy działanie metody przy wykorzystaniu liniowej i nieliniowej funkcji obliczania współczynnika selekcji. Przyjmijmy, tak jak w przypadku prezentowanych wykresów funkcji N = 10 ,. (rys. 12), następujące parametry liniowej i nieliniowej selekcji rankingowej:. ranga = 10,!,1 , S P = 2 , X = 1.41 . Dane do przykładu zawiera tabela 3. Załóżmy, że populacja rodzicielska składa się z dziesięciu osobników, których wartości funkcji przystosowania zawiera kolumna pierwsza. Tabela 3. Dane do przykładu Populacja. Lista rankingowa. początkowa. 4. Liniowa selekcja. Nieliniowa selekcja. rankingowa. rankingowa. 5. 6. 1. 2. 3. Wartość funkcji. Wartość funkcji. Pozycja. przystosowania. przystosowania. na liście. 29,7. 78,0. 1. 10. 0.20. 0.30. 20.9. 60.5. 2. 9. 0.18. 0.21. 40.1. 40.1. 3. 8. 0.16. 0.15. 29.8. 29.8. 4. 7. 0.13. 0.11. 78.0. 29.7. 5. 6. 0.11. 0.08. 25.0. 25.0. 6. 5. 0.09. 0.05. 24.0. 24.0. 7. 4. 0.07. 0.04. 60.5. 20.9. 8. 3. 0.04. 0.03. 10.5. 20.0. 9. 2. 0.02. 0.02. 20.0. 10.5. 10. 1. 0.00. 0.01. Ranga. Prawdopodobieństwo wyboru chromosomów z listy rankingowej do tworzonej populacji. Utworzoną z populacji początkowej listę rankingową zawiera kolumna 2. Każdemu osobnikowi na wytworzonej liście rankingowej przypisano pozycję na liście (kolumna 3) oraz rangę (kolumna 4). Dla przypisanych wartości rangi obliczono prawdopodobieństwa wyboru osobników. 74. (14). z. listy. rankingowej. przy. wykorzystaniu. liniowej. (kolumna 5).

(21) Obliczenia ewolucyjne – geneza i zastosowanie. i nieliniowej (kolumna 6) selekcji rankingowej. Przedziały liczbowe przyporządkowane osobnikom, wyznaczone przez ich prawdopodobieństwa wyboru, przedstawia dla liniowej selekcji rankingowej rys. 13 oraz dla nieliniowej selekcji rankingowej rys. 14. 0.94. 1.00. 0.98. 9. 8. 7. 0.00. 6. 0.20. 1. 0.38 0.78. 0.87. 2 5. 0.67. 0.54. 4. 3. Rys. 13. Liniowa selekcja rankingowa – przyporządkowane przedziały liczbowe. 0.99. 0.94. 0.90 0.85. 0.00. 8. 7. 6. 1.00. 9. 10 0.30. 5. 1. 0.97 0.77 0.66. 4. 0.51. 2. 3. Rys. 14. Nieliniowa selekcja rankingowa – przyporządkowane przedziały liczbowe. Wylosowane zgodnie z rozkładem równomiernym liczby z zakresu [0, 1 ]: 0.20,. 0.25,. 0.31,. 0.40,. 0.52,. 0.55,. 0.79,. 0.96,. 0.99,. 1.00,. analogicznie jak w metodzie koła ruletki wylosowane liczby „głosują” na wycinki koła pokazane na rys. 13 i rys. 14. W rozważanym przykładzie „zagłosowano”: a). w liniowej selekcji rankingowej na osobniki: ch1 – raz; ch 2 – dwa razy;. ch3 – dwa razy; ch 4 – raz; ch 5 – brak głosów;. ch 6 – raz; ch 7 – brak głosów; ch8 – raz; ch 9 – dwa razy; ch10 – brak głosów; zatem odpowiednio do liczby otrzymanych głosów, do nowo tworzonej populacji, wybrane zostaną osobniki: ch1 , ch 2 , ch 2 , ch3 , ch3 , ch 4 , ch 6 , ch8 , ch 9 , ch 9 . b) w nieliniowej selekcji rankingowej na osobniki: ch1 – dwa razy; ch 2 – dwa razy; ch3 – dwa razy; ch 4 – brak głosów; ch 5 – raz;. 75.

(22) Krzysztof Murawski. ch 6 – brak głosów; ch 7 – brak głosów; ch8 – raz; ch 9 – raz; ch10 – raz; zatem odpowiednio do liczby otrzymanych głosów, do nowo tworzonej populacji, wybrane zostaną osobniki: ch1 , ch1 , ch 2 , ch 2 , ch3 , ch3 , ch 5 , ch8 , ch 9 , ch10 . Wyznaczone przez „głosy” osobniki wchodzą w skład tworzonej populacji rodzicielskiej. Liczba oddanych na osobnika głosów wskazuje liczbę kopii danego osobnika w tworzonej populacji.. 2.4.3. Metoda selekcji turniejowej W selekcji turniejowej [122] należące do populacji rodzicielskiej PP chromosomy ch i rozgrywają swoisty turniej. Działanie algorytmu zaczyna się od ustalenia rozmiaru turnieju (ang. Tournament size, w skrócie – Tour), zwykle liczba turniejów Tour < 5 . Do każdej rywalizacji (meczu, pojedynku) wyznacza się ustaloną liczebność grup chromosomów. W każdym meczu wygrywa jeden osobnik. Zwycięzcy poszczególnych pojedynków rywalizują ze sobą, wyłaniając zwycięzcę turnieju. Chromosom ten podlega następnie działaniom opisanych w punkcie 2.3 operatorów genetycznych (mutacja, krzyżowanie) lub nie zmieniony wprowadzany jest do nowo tworzonej populacji. W przypadku, gdy zwycięzca będzie modyfikowany przez operator krzyżowania, rozgrywa się dodatkowy (z tymi samymi parametrami co poprzednio – te same wielkości grup, taka sama liczba pojedynków itp.) turniej. Zwycięzcy pierwszego i drugiego turnieju tworzą parę chromosomów podlegającą krzyżowaniu. Schemat ilustrujący działanie selekcji turniejowej przedstawia rys. 15. Liczba powtórzeń opisanego algorytmu równa jest liczbie osobników w populacji rodzicielskiej.. Populacja rodzicielska. 1 3 2 4 4. Operatory genetyczne. Turniejowa metoda selekcji. 1 2 4. 4. 4 4 1. 4. 3 2 1. 3. 4 4 3. 4. Rys. 15. Schemat działania selekcji turniejowej dla grup o liczebności 3. 76.

(23) Obliczenia ewolucyjne – geneza i zastosowanie. Analizę selekcji turniejowej znaleźć można w [55]. Główne parametry charakteryzujące selekcję turniejową podano w [204], zaliczono do nich: a) intensywność selekcji SelInt Tour osobników w przybliżeniu wyraża wzór:. (. (. )). SelInt Tour (Tour ) = 2 ⋅ log(Tour ) − log 4.14 ⋅ log(Tour ) ;. ( 15 ). b) utratę różnorodności LossDivTour populacji:. LossDiv Tour (Tour ) = Tour.  1  −1⋅  − Tour  Tour −1 .  Tour  −1⋅   Tour −1 . ;. ( 16 ). c) wariancję selekcji SelVarTour osobników: SelVarTour (Tour ) = 1 − 0.096 ⋅ log(1 + 7.11 ⋅ (Tour − 1)) .. ( 17 ). Zależność parametrów wyrażonych wzorami (15), (16), (17) od rozmiaru turnieju Tour pokazują rysunki 16 – 18.. Rys. 16. Zależność intensywności selekcji osobników od ilości rozgrywanych turniejów. Rys. 17. Zależność utraty różnorodności populacji od ilości rozgrywanych turniejów. 77.

(24) Krzysztof Murawski. Rys. 18. Zależność wariancji selekcji osobników od ilości rozgrywanych turniejów. 2.4.4.. Metoda selekcji (µ , λ ), (µ + λ ) Prezentowane tu procedury selekcji znajdują szczególne zastosowanie w strategiach. ewolucyjnych. Idea ich działania (rys. 19) jest bardzo podobna. Selekcja (µ , λ ) i selekcja. (µ + λ ) należą do klasy metod, w których osobniki wybiera się na zasadzie deterministycznego wyboru – poprzez wybór µ osobników z N chromosomów o największych wartościach funkcji przystosowania.. (µ,λ) PPOT. PR. PP. PR'. PP (µ+λ). PPOT PR. PP. Rys. 19. Idea działania metod selekcji ( µ , λ ) i ( µ + λ ). Główna różnica działania obu metod polega na budowie populacji pośredniej. Symbolem. (µ. , λ ) przyjęto umownie oznaczać selekcję, w której do tworzonej nowej populacji. rodzicielskiej12 P′R wybiera się osobniki z populacji pośredniej PP identycznej z populacją potomstwa PPOT . Liczebność N populacji pośredniej PP wynosi: N = µ ⋅ λ , gdzie: µ – liczba. 12 W strategiach ewolucyjnych najpierw tworzy się populację potomstwa, a potem dokonuje się wyboru najbardziej wartościowych osobników. Osobniki przeżywające selekcję (ang. survive) tworzą populację rodzicielską dla następnej generacji algorytmu. Algorytm działania strategii ewolucyjnych omówiono w punkcie 2.6.. 78.

(25) Obliczenia ewolucyjne – geneza i zastosowanie. rodziców w populacji rodzicielskiej; λ – liczba dzieci wygenerowanych z każdej pary rodzicielskiej, zwykle λ ≥ 2 . W metodzie (µ + λ ) populację pośrednią PP powiększa się o dotychczasową populację rodzicielską PR : PP = PPOT ∪ PR .. ( 18 ). Liczebność N populacji PP jest wówczas równa: N = µ ⋅ (1 + λ ).. ( 19 ). Selekcja (µ , λ ) i selekcja (µ + λ ) może być użyta przy rozwiązywaniu problemów minimalizacji i maksymalizacji funkcji. Maksymalizacja funkcji polega na wyborze z populacji pośredniej PP do tworzonej populacji rodzicielskiej PR′ ⊂ PP , µ << N osobników ch i o największych wartościach funkcji przystosowania. Minimalizację funkcji uzyskuje się poprzez pozostawienie µ << N osobników o najmniejszych wartościach funkcji przystosowania. 2.5.. Programowanie ewolucyjne Programowanie ewolucyjne (EP) powstało w połowie latach sześćdziesiątych. w Kalifornii (USA). Opracowane przez L. J. Fogla i innych [108], dotyczyło zastosowania automatów skończonych (FSM) do przewidywania ciągu znaków, generowanych przy użyciu procesów Markowa [108], [146], [147]. Programowanie ewolucyjne umożliwiło prognozowanie otrzymywanych sekwencji znaków. Jedynym używanym w EP operatorem genetycznym był operator mutacji, który modyfikował macierz przejść pomiędzy stanami. Wyznaczenie nowej macierzy przejść utożsamiano z wygenerowaniem potomka (znaku). Ciągi znaków składano z kolejno wygenerowanych osobników. Uzyskiwane w ten sposób łańcuchy znaków były podstawą do obliczenia wartości funkcji przystosowania. Funkcja przystosowania obliczana była dla osobników należących do populacji pośredniej. W skład populacji pośredniej wchodziła dotychczasowa populacja rodzicielska, powiększona o wygenerowaną populację potomstwa. Z tak utworzonej populacji pośredniej połowa osobników o największych wartościach funkcji przystosowania tworzyła populację rodzicielską dla kolejnej iteracji algorytmu. Zastosowania automatów skończonych (FSM) do przewidywania ciągu znaków przedstawiono w [108]. Na przykładzie rozwiązania oryginalnego omówiono je również w [128] i [189].. 79.

(26) Krzysztof Murawski. Algorytm działania programowania ewolucyjnego jest następujący: a) wygeneruj zgodnie z rozkładem równomiernym populację rodzicielską i oblicz wartość funkcji przystosowania dla każdego z rodziców; b) dla każdego automatu skończonego należącego do populacji rodzicielskiej wygeneruj jednego potomka (stosując operator mutacji) i oblicz jego wartość funkcji przystosowania; c) połącz dotychczasową populację rodzicielską z populacją potomstwa tworząc populację pośrednią i wybierz z niej połowę osobników o największych wartościach funkcji przystosowania. Rozwiązanie, opracowane przez L. J. Fogla, zostało rozszerzone przez D. B. Fogla o możliwość ewoluowania chromosomów, których allele przyjmują wartości rzeczywiste. W zmodyfikowanym programowaniu ewolucyjnym, tak jak w pierwotnej wersji, operator mutacji pozostał operatorem podstawowym [107]. Zmianie uległ mechanizm selekcji, którego deterministyczną postać zastąpiono selekcją turniejową. W. M. Spears, K. A. De Jong, Th. Bäck, D. B. Fogel, H. Garis w [233] zaproponowali procedurę realizującą programowanie ewolucyjne, której szkielet jest przedstawiony na rys. 20. procedure EP; { t := 0; initialize population P(t ); evaluate P(t ); until (done ) { t := t + 1; parent_selection P(t ) mutate P(t ); evaluate P(t ) survive P(t ); } } Rys. 20. Algorytm działania programowania ewolucyjnego. Zainicjowanie populacji rodzicielskiej jest pierwszym etapem algorytmu. Wygenerowane losowo lub zadane przez operatora allele są podstawą do obliczenia wartości funkcji przystosowania – oceny przystosowania chromosomów. W procesie reprodukcji wszystkie osobniki pełnią rolę rodziców. Dla każdego rodzica operator mutacji generuje jednego potomka. 80.

(27) Obliczenia ewolucyjne – geneza i zastosowanie. Dla wytworzonej populacji potomstwa oblicza się wartości funkcji przystosowania. Otrzymane potomstwo wraz z populacją rodzicielską tworzy populację pośrednią. Połowa najlepiej przystosowanych osobników populacji pośredniej wymienia starą populację rodzicielską, tworząc nową, charakteryzującą się zwykle wyższą średnią wartością funkcji przystosowania osobników. Algorytm powtarza się cyklicznie do chwili spełnienia warunku stopu. Warunek stopu najczęściej uwzględnia następujące parametry: liczbę generacji algorytmu, wartości funkcji przystosowania dla poszczególnych osobników, średnią wartość przystosowania osobników w populacji. 2.6.. Strategie ewolucyjne W latach 60 – tych Ingo Reachenberg i Hans – Paul Schwefel przeprowadzali badania. dotyczące poszukiwania optymalnych kształtów ciał umieszczanych w strumieniu powietrza. Wykorzystywane w doświadczeniach kierunkowe metody przeszukiwania wartości optymalnych dla rozważanych parametrów ciał nie dawały pozytywnych rezultatów. Ingo Rechenberg przedstawił wtedy ideę losowych zmian poszukiwanych wartości zmiennych. Idea losowego poszukiwania wartości zmiennych wzorowana była na występującej w naturze mutacji. Hans – Paul Schwefel przy użyciu komputera Zuse Z23 testował wydajność zaproponowanej przez Ingo Rechenberga metody. Do grupy tej dołączył Peter Bienert, który planował eksperymenty, wykorzystujące proste reguły mutacji i selekcji. Zaproponowana przez Ingo Rechenberga koncepcja poszukiwania wartości parametrów okazała się słuszną. Fakt ten powszechnie uważa się za początek nowego kierunku obliczeń ewolucyjnych – strategii ewolucyjnych. Efektem dalszych prac było powstanie w 1973 roku pracy [215]. Ingo Rechenberg zawarł w niej teorię dotyczącą ewolucji populacji składającej się z dwóch osobników. Przedstawił także koncepcję strategii ewolucyjnej, operującej na populacji z większą liczbą członków. Klasyczne strategie ewolucyjne wykorzystywały jednego osobnika (liczba osobników w populacji rodzicielskiej µ = 1 ) oraz operator mutacji i selekcję. Obecnie z reguły przyjmuje się większą liczebność populacji rodzicielskiej µ ≥ 1 oraz użycie operatorów mutacji, krzyżowania i selekcji. Szkielet procedury realizującej algorytm strategii ewolucyjnych przedstawiono na rys. 21. Działanie strategii ewolucyjnych nie różni się znacznie od procedury pokazanej na rys. 20. Główna różnica pomiędzy przedstawionymi algorytmami wynika z użycia operatora krzyżowania (ang. recombine).. 81.

(28) Krzysztof Murawski procedure ES; { t := 0; initialize population P(t ); evaluate P(t );. until (done ) { t := t + 1;. parent_selection P(t ) recombine P(t );. mutate P(t ); evaluate P(t ). survive P(t ); } }. Rys. 21. Algorytm działania strategii ewolucyjnych [233]. W strategiach ewolucyjnych po inicjalizacji populacji rodzicielskiej dla wszystkich µ osobników populacji oblicza się wartości funkcji przystosowania. Następnie zgodnie z rozkładem równomiernym dla każdego z µ osobników losuje się z populacji rodzicielskiej λ osobników, tworząc w ten sposób pary rodzicielskie. Łączenie osobników w pary rodzicielskie dla µ = 3 i λ = 2 przedstawia rys. 22. Utworzone zgodnie z kolejnością losowania pary chromosomów podlegają krzyżowaniu. Z powstającej podczas krzyżowania pary potomków jeden jest odrzucany13. Chromosom otrzymany podczas krzyżowania może zostać dodatkowo zmodyfikowany przez operator mutacji. W wyniku omówionych czynności otrzymujemy populację potomstwa o liczebności większej od populacji rodzicielskiej.. Populacja P OS1 OS2 OS3 Wybierane kolejno z populacji P. OS1 OS2 OS2 OS2 OS1 OS3 OS3 OS2 OS1. 1 para rodzicielska 2 para rodzicielska Losowane z populacji P 5 para rodzicielska 6 para rodzicielska. Rys. 22. Łączenie osobników w pary rodzicielskie. 13. Eliminacja jednego z potomków odbywa się bądź na zasadzie deterministycznego wyboru np.: pierwsze utworzone dziecko przeżywa, a drugie nie jest brane pod uwagę, bądź na zasadzie losowego wyboru – z pary osobników wytworzonych przez krzyżowanie losujemy zgodnie z rozkładem równomiernym osobnika przeżywającego.. 82.

(29) Obliczenia ewolucyjne – geneza i zastosowanie. Obliczone wartości funkcji przystosowania (ang. evaluate) dla osobników należących do populacji potomstwa umożliwiają dokonanie wyboru osobników najlepiej przystosowanych. Zastosowanie selekcji (µ , λ ) lub selekcji (µ + λ ) tworzy nową populację rodzicielską. 2.7.. Algorytmy genetyczne W latach 60 – tych J. H. Holland w University of Michigan opracował algorytmy. genetyczne. (GA).. Algorytmy. te. powstały. podczas. badań. procesów. adaptacyjnych. w odbiornikach sygnałów binarnych [152], [155]. W prowadzonym eksperymencie J. H. Holland modyfikował struktury danych przez użycie operatorów wybieranych zgodnie z tak zwanym planem adaptacji. Selekcja operatorów zależała również od pomiaru zdefiniowanego przez niego stopnia ewolucji14. Interpretację planu adaptacji nazywanego także planem reprodukcji przedstawiono w [155]. J. H. Holland w [155] przewidywał również wykorzystanie opracowanej przez siebie techniki ewolucyjnej w wielu innych dziedzinach np.: genetyce, ekonomii, optymalizacji parametrów i innych. Algorytmy genetyczne do optymalizacji parametrów po raz pierwszy zostały użyte przez K. A. De Jonga [87]. Algorytmy genetyczne są historycznie najstarszym i jednocześnie najlepiej poznanym kierunkiem symulowanej ewolucji. Stosowana w nich binarna reprezentacja chromosomów definiuje następująco przestrzeń genotypów. { 0, 1 }n ,. gdzie n oznacza liczbę pozycji. w chromosomie. W oryginalnym GA jako metodę selekcji osobników stosowano metodę koła ruletki. Podstawowym operatorem genetycznym był operator krzyżowania, operator mutacji spełniał rolę drugoplanową. Wraz z rozwojem technik ewolucyjnych stosowana w GA metoda koła ruletki wyparta została przez selekcję rankingową lub turniejową. Ostatecznie w algorytmach genetycznych częściej stosuje się elitarny model selekcji niż metodę koła ruletki. Korzyścią wynikającą z zastosowania metod elitarnych jest przechodzenie do następnych generacji algorytmu osobników najlepiej przystosowanych. Używana pierwotnie metoda koła ruletki nie gwarantowała otrzymania podobnych rezultatów. Szkielet działania procedury realizującej założenia algorytmu genetycznego (z dokładnością co do nazw elementów składowych) nie różni się od procedury pokazanej na rysunku 21. Konkludując można stwierdzić, że odmienność ES od GA polega głównie na przywiązywaniu różnej wagi do poszczególnych etapów algorytmu oraz różnym sposobie implementacji jego elementów składowych.. 14. Zdefiniowany przez J. H. Hollanda stopień ewolucji należy utożsamiać z wartością funkcji przystosowania.. 83.

(30) Krzysztof Murawski. Teoretyczne podstawy algorytmów genetycznych przedstawił J. H. Holland w [154], [155]. Podczas analizy działania algorytmów genetycznych J. H. Holland korzystał z binarnej reprezentacji osobników (łańcuchów binarnych) oraz z pojęcia schematu.. 2.7.1. Teoria schematów Teoria schematów została opracowana przez J. H. Hollanda [154], [155] i dotyczyła formalnej. analizy. działania. algorytmów. genetycznych.. Szczegółowe. przedstawienie. prezentowanej teorii schematów znaleźć można np. w [125], [128], [188], [189], [190], [219]. Na potrzeby tej teorii zdefiniowano takie pojęcia jak: schemat, rząd schematu, rozpiętość schematu. Definicje podajemy za [128]. Definicja 1 Schemat jest to wzorzec opisujący podzbiór ciągów podobnych ze względu na ustalone pozycje. Schemat reprezentuje podzbiór przestrzeni poszukiwań o pewnych wspólnych cechach. W literaturze przyjęło się definiować schematy przy pomocy rozszerzonego alfabetu. { 0, 1, ∗ },. gdzie ∗ oznacza wartość 0 lub 1. Chromosom ch i należy do schematu S j wtedy i tylko wtedy, gdy występujący na każdej pozycji symbol w ch i odpowiada symbolowi w schemacie S j , przy czym ∗ oznacza możliwość wystąpienia 0 lub 1. Przykładowo: S1 = 1 ∗ ∗1 = {1101, 1001, 1011, 1111 }, S 2 = 11 ∗ ∗ = {1101, 1100, 1110, 1111 }. Definicja 2. ( ). Rzędem (ang. order) schematu S j , który oznaczamy przez o S j , będziemy nazywać liczbę ustalonych pozycji (w przypadku alfabetu dwójkowego jest to po prostu liczba zer i jedynek) w schemacie. Przykład: o(S1 ) = 1 ∗ ∗1 = 2 ,. 84. o(S 2 ) = 11 ∗ ∗ = 2 ,. o(S3 ) = ∗ ∗ ∗1 = 1 ,. o(S4 ) = 11 ∗ 1 = 3 ..

(31) Obliczenia ewolucyjne – geneza i zastosowanie. Definicja 3. ( ). Rozpiętością (ang. defining length) schematu S j , oznaczaną przez d S j , nazywamy odległość między dwiema skrajnymi pozycjami ustalonymi. Przykład: d(S1 ) = 1 ∗ ∗1 = 4 − 1 = 3 ,. d(S 2 ) = 11 ∗ ∗ = 2 − 1 = 1 ,. d(S3 ) = ∗ ∗ ∗1 = 0 ,. d(S 4 ) = 11 ∗ 1 = 4 − 1 = 3 .. Algorytmy genetyczne przetwarzają chromosomy kodowane binarnie. Osobniki należące do populacji rodzicielskiej klasyfikować można np. ze względu na: a) wartości funkcji przystosowania; b) przynależność do schematów S j wyznaczonych przez osobniki należące do populacji rodzicielskiej, gdzie j = 1,! , m; m oznacza liczbę zdefiniowanych schematów. Zwiększenie efektywności algorytmu genetycznego15 następuje wówczas, gdy ilość chromosomów o małej rozpiętości i małym rzędzie, pasujących do schematu. Sj ,. osiągających wartości funkcji przystosowania powyżej ś. 85.

(32) Krzysztof Murawski. 1 − pc. ( ). d Sj. L −1. - prawdopodobieństwo zdarzenia, że chromosom pasujący do schematu S j nie zostanie wybrany do krzyżowania albo co najmniej jeden z jego potomków będzie należał do schematu S j , prawdopodobieństwo to obrazuje wpływ operatora krzyżowania, L określa liczbę pozycji ( 0, 1, ∗ ) w schemacie;. (1− p m )o(S j ). - prawdopodobieństwo zdarzenia, że chromosom pasujący do schematu S j będzie. do. niego. należał. po. wykonaniu. operacji. mutacji,. prawdopodobieństwo to obrazuje wpływ operatora mutacji;. (. F Sj, k. ). - wartość funkcji przystosowania chromosomu pasującego do schematu S j w k – tej generacji algorytmu;. F(k ). - średnia. wartość. funkcji. przystosowania. chromosomów. w k – tej generacji algorytmu. Zależność (20) dokładniej omówiono w [82], [125], [128], [188], [189], [190], [219], [273]. Podstawowym twierdzeniem wynikającym z (20) jest twierdzenie o schematach, nazywane także podstawowym twierdzeniem algorytmów genetycznych, [155], [219], [188], [189], [190], [248]. Twierdzenie o schematach, podobnie jak hipotezę o blokach budujących, przytoczymy za [189]. Tam też znaleźć można więcej informacji na temat prezentowanego twierdzenia i hipotezy o blokach budujących. Twierdzenie1 (o schematach) Krótkie, niskiego rzędu i oceniane powyżej średniej schematy uzyskują wykładniczo rosnącą liczbę łańcuchów (reprezentantów) w kolejnych pokoleniach (generacjach algorytmu genetycznego). Z twierdzenia o schematach pośrednio wynika zawarta w [219], [128], [188], [189], [190], [248] hipoteza bloków budujących.. 86.

(33) Obliczenia ewolucyjne – geneza i zastosowanie. Hipoteza 1 (o blokach budujących) Algorytm genetyczny poszukuje działania zbliżonego do optymalnego przez zestawienie krótkich (o małej rozpiętości), niskiego rzędu schematów o dużej wydajności działania, zwanych blokami budującymi. Badania dotyczące dowodu powyższej hipotezy prowadził A. Bethke w [50], pomimo to „ ... w. większości. nietrywialnych. zastosowań. polegamy. głównie. na. wynikach. eksperymentalnych. W ciągu ostatnich piętnastu lat algorytmy genetyczne były często używane, co. potwierdziło. prawdziwość. hipotezy. o. blokach. budujących. w. wielu. różnych. zagadnieniach.” [189]. Z hipotezy tej wynika ważna wskazówka dotycząca omawianego w punkcie 2.2 zagadnienia kodowania chromosomów; brzmi ona następująco: kodowanie osobników w algorytmie ewolucyjnym powinno dawać schematy małego rzędu i o małej rozpiętości oraz o wartościach funkcji przystosowania wyższych od wartości średniej funkcji przystosowania w populacji.. 3. Przykłady zastosowań – kryteria oceny rezultatów Z uwagi na swe właściwości symulowana ewolucja zaliczana jest do dziedziny zwanej sztuczną inteligencją. Skuteczność algorytmów ewolucyjnych, duża łatwość ich implementacji w porównaniu do innych metod, brak konieczności opracowywania modelu matematycznego badanego zjawiska lub rozwiązywanego problemu sprawia, że znajdują się one w centrum zainteresowania wielu naukowców. Twórca algorytmu genetycznego już w 1975 roku prognozował jego dużą popularność [155]. M. Mitchell i S. Forrest w [192] pośrednio potwierdzają wysunięte przez Hollanda przypuszczenia. Zawarta w punkcie 2 „Overview of genetic algorithms” [192] lista zastosowań algorytmów genetycznych jest imponująca, zawiera bowiem: a) optymalizację; b) automatyczne programowanie; c) uczenie robotów i urządzeń; d) modelowanie procesów występujących w ekonomii; e) modelowanie naturalnych systemów odpornościowych; f) modelowanie zjawisk występujących w ekologii; g) modelowanie zjawisk występujących w populacji genetycznej; h) badanie związków pomiędzy ewolucją a uczeniem się; i) badanie systemów społecznych.. 87.

(34) Krzysztof Murawski. Należy ponadto uznać, że lista ta nie jest zamknięta. Znane są zastosowania programowania genetycznego do projektowania schematów elektrycznych [46] czy też strategii ewolucyjnych do projektowania budynków wysokich [199]. Błędnym byłoby jednak twierdzenie, że szeroka gama zastosowań głównych kierunków symulowanej ewolucji wynika ze znalezienia algorytmów zdolnych do rozwiązania każdego problemu. Nie ma też podstaw to twierdzenia, że w przyszłości tradycyjne metody obliczeniowe zostaną całkowicie wyparte przez metody tzw. sztucznej inteligencji. Twórcy programowania ewolucyjnego określają w [108] fakt zaistnienia sztucznej inteligencji słowami (1966): „Artificial intelligence is realized only if an inanimate machine can solve problems … not because of the machine’s sheer speed and accuracy, but because it can discover for itself new techniques for solving the problem at hand”. Stosując strategie ewolucyjne należy sobie zdawać sprawę z faktu, że uzyskane wyniki mogą być gorsze od rezultatów uzyskanych metodami konwencjonalnymi (uzyskanymi przez człowieka). Umiejętność oceny otrzymanych wyników jest ważnym aspektem pracy badawczej. Kryteria oceny konkurencyjności otrzymywanych rezultatów w stosunku do znanych już rozwiązań zaproponowali F. H. Bennett III, J. R. Koza, M. A. Keane i D. Andree w [46], [166]. Otrzymane wyniki uważa się za akceptowalne, jeśli spełniają przynajmniej jedno z postawionych kryteriów: (A) Uzyskane wyniki powodują ulepszenie znanych już rozwiązań ponad to, co zostało opatentowane w przeszłości lub same stają się przedmiotem starań o przyznanie patentu. (B). Uzyskane rezultaty są równe bądź lepsze od wyników, jakie były zaakceptowane za nowe, kiedy zostały pierwotnie publikowane.. (C). Uzyskane rezultaty są równe bądź lepsze od wyników, jakie można znaleźć w archiwach międzynarodowych grup ekspertów.. (D) Uzyskane rezultaty są prawdziwe i publikowane jako nowe rozwiązanie naukowe (niezależnie od sposobu ich uzyskania). (E). Otrzymane rezultaty są równe bądź lepsze od wyników uzyskanych ostatnio przez człowieka, a uznawanych powszechnie za najlepsze.. (F). Otrzymane rezultaty są równe bądź lepsze od wyników, które były uważane za osiągnięcia w czasie, kiedy zostały po raz pierwszy opublikowane.. (G) Otrzymane rezultaty rozwiązują problem bezsprzecznie trudny w danej dziedzinie nauki. (H) Otrzymane rezultaty zachowują swoją użyteczność w konkurencji z wynikami obecnie uzyskiwanymi przez człowieka.. 88.

(35) Obliczenia ewolucyjne – geneza i zastosowanie. Przykłady. pozytywnego,. w. sensie. zaprezentowanych. kryteriów,. zastosowania. symulowanej ewolucji podane za [46], [166], [169] zawiera tabela 4. Dokładniejsze omówienie wszystkich przedstawionych przypadków zawiera [169]. Tabela 4 Wybrane przykłady zastosowania symulowanej ewolucji Spełnione. Podpunkt. kryterium. w [169]. B, E. 16.6. A, D. 24.4.4. A, F. 25.15.1. 4. Odkrycie ( na nowo ) eliptycznej topologii filtrów (Cauera).. A, F. 27.3.7. 5. Automatyczna dekompozycja problemu syntezy filtru krzyżującego.. A, F. 32.3. A, F. 42.3. A, F. 45.3. A, D, G. 47.5.3. G. 48.3. A, G. 49.3. Czynność 1. Stworzenie czterech różnych algorytmów do identyfikacji problemów związanych z błonami białkowymi. 2. Wytworzenie. struktury. sieci. sortującej. dla. siedmiu. elementów. z użyciem szesnastu kroków algorytmu. 3. Odkrycie ( na nowo ) topologii drabinkowej Campbella jako filtrów dolno i górno przepustowych. 6. Ponowne odkrycie wydzielonego stopnia wzmocnienia napięciowego oraz emiterowego wtórnika Darlingtona 7. Synteza 60 i 96 decybelowych wzmacniaczy. 8. Synteza analogowych obwodów do obliczeń: kwadratu, sześcianu, pierwiastka kwadratowego i sześciennego, logarytmu, funkcji Gaussa. 9. Synteza działających w czasie rzeczywistym układów analogowych do optymalnego – czasowo sterowania robotem 10. Opracowanie termometru elektronicznego.. 4. Wnioski Obliczenia ewolucyjne to narzędzie do poszukiwania rozwiązań problemów trudno definiowalnych w sensie matematycznym. Atrakcyjnym wydaje się wykorzystanie właściwości przedstawionych algorytmów w automatyce i robotyce. Nie rozwiązane dotąd zagadnienia związane np. z widzeniem komputerowym lub rozpoznawaniem mowy stanowią interesujące wyzwanie.. 89.

(36) Krzysztof Murawski. 5. Literatura Wykaz skrótów: AAAI & GECCO. – American Association for Artificial Intelligence & Genetic and Evolutionary Computation Conference ACEP – Annual Conference on Evolutionary Programming ACGP – Annual Conference on Genetic Programming ACM–SIGBIO – Association for Computing Machinery Special Interest Group on Biomedical Computing AISB – Artificial Intelligence and the Simulation of Behavior CEC – Congress on Evolutionary Computation COGANN – Proceedings of the International Workshop on Combinations of Genetic Algorithms and Neural Networks ECAL – European Conference on Artificial Life EUROGEN – European Conference on Genetic Programming FOGA – Foundations of Genetic Algorithms HEC – Handbook of Evolutionary Computation ICGA – International Conference on Genetic Algorithms ICML – International Conference on Machine Learning IEEE / ICEC IEEE – Conference Evolutionary Computation IJCAI – International Joint Conference on Artificial Intelligence ISMIS – International Symposium on Methodologies for Intelligent Systems IVC – Image and Vision Computing JEC – Journal of Evolutionary Computation PICGATA – Proceedings of the International Conference On Genetic Algorithms and Their Applications PPSN – Parallel Problem Solving from Nature WCCI – IEEE World Congress on Computational Intelligence. 90. [1]. Ackley H. D., Littman L. M.: A case for lamarckian evolution. Langton G. C. (ed.): Artificial Life III, Addison – Wesley, 1993.. [2]. Ackley H. D., Littman L. M.: Interactions between learning and evolution. Langton G. C., Taylor C., Farmer D. J., Rasmussen S. (ed.): Artificial Life II, pp. 487 - 507, Addison – Wesley, 1992.. [3]. Ackley H. D.: An empirical study of bit vector function optimization. Davis L. (ed.): Genetic Algorithms and Simulated Annealing, pp. 170 – 204, Morgan Kaufmann Publishers, 1987.. [4]. Agapie A.: Genetic algorithms: theory and applications. Journal of Computing Anticipatory Systems CHAOS ASBL, 2000.. [5]. Altenberg L.: The schema theorem and price's theorem. Vose M., Whitley L. D. (ed.): FOGA – 3, Morgan Kaufmann Publishers, pp. 23 – 49, 1994.. [6]. Andrey P.: Selection relaxation: genetic algorithms applied to image segmentation. IVC, 17, pp. 175 – 187, 1999.. [7]. Angeline P. J.: Evolutionary algorithms and emergent intelligence. PhD. Dissertation, The Ohio State University, 1993.. [8]. Antonisse H. J.: A new interpretation of the schema notation that overturns the binary encoding constraint. ICGA – 3, Morgan Kaufmann Publishers, 1989..

(37) Obliczenia ewolucyjne – geneza i zastosowanie. [9]. Arabas J, Mulawka J, Pokrasniewicz J.: A new class of the crossover operators for the numerical optimization. Eshelman L. (ed.): ICGA – 6, pp. 42 – 48, Morgan Kaufmann Publishers, 1995.. [10]. Atmar W.: The philosophical errors that plague both evolutionary theory and simulated evolutionary programming. ACEP – 1, pp. 27 – 34, 1992.. [11]. Bäck Th, Fogel D. B, Whitley L. D., Angeline P. J.: Search operators: mutation. Bäck Th., Fogel D. B., Michalewicz Z. (ed.): HEC, pp. C3.2:1 – C3.2:14, Institute of Physics Publishing and Oxford University Press, 1997.. [12]. Bäck Th., Eiben A. E.: Generalizations of intermediate recombination in evolution strategies. Angeline J. P., Porto W. V. (ed.), CEC, 2, pp. 1566 – 1573, The IEEE Press, 1999.. [13]. Bäck Th., Fogel D. B., Michalewicz Z. (ed.): Handbook of Evolutionary Computation. Oxford University Press, New York, and Institute of Physics Publishing, 1997.. [14]. Bäck Th., Hoffmeister F., Schwefel H. P.: A survey of evolution strategies. Belew K. R., Booker L. B. (ed.): ICGA – 4, pp. 2 – 9, Morgan Kaufmann Publishers, 1991.. [15]. Bäck Th., Schwefel P. H., Männer R.: An overview of evolutionary algorithms for parameter optimization. JEC, Vol. 1, pp. 1 – 23, 1993.. [16]. Bäck Th., Schwefel P. H.: An overview of evolutionary algorithms for parameter optimization. JEC, 1993.. [17]. Bäck Th.: A genetic algorithm approach to the maximum independent set problem. Bäck Th., Fogel D. B., Michalewicz Z. (ed.): HEC, chapter G9.2, pp. 1 – 6, Oxford University Press, New York, and Institute of Physics Publishing, 1997.. [18]. Bäck Th.: Adaptive learning by evolutionary algorithms within search spaces of different complexity. Bock P., Loew M., Radermacher F. J., Richter M. M. (ed.): Proceedings of the 3rd International FAW Workshop Adaptive Learning and Neural Networks, pp. 1 – 17, 1992.. [19]. Bäck Th.: Evolution strategies: An alternative evolutionary algorithm. Alliot J. M., Lutton E., Ronald E., Schoenauer M., Snyers D. (ed.): Artificial Evolution: European Conference, Vol. 1063 of Lecture Notes in Computer Science, pp. 3 – 20, 1996.. [20]. Bäck Th.: Evolutionary algorithms in theory and practice. Oxford University Press, 1996.. [21]. Bäck Th.: Evolutionary algorithms. ACM SIGBIO Newsletter, 12, pp. 26 – 31, 1992.. [22]. Bäck Th.: Evolutionary algorithms: comparison of approaches. Paton R. (ed.): Computing with Biological Metaphors, chapter 14, pp. 227 – 243, Chapman & Hall, 1994.. [23]. Bäck Th.: Generalized convergence models for tournament – and ( μ , λ ) selection. Eshelman L. (ed.), ICGA – 6, pp. 2 – 8, Morgan Kaufmann Publishers, 1995.. [24]. Bäck Th.: Mutation parameters. Bäck Th., Fogel D. B., Michalewicz Z. (ed.): HEC, chapter E1.2, pp. 1 – 7, Oxford University Press, New York, and Institute of Physics Publishing, 1997.. [25]. Bäck Th.: Mutation: binary strings. Bäck Th., Fogel D. B., Michalewicz Z. (ed.): HEC, chapter C3.2, pp. 1 – 2, Oxford University Press, New York, and Institute of Physics Publishing, 1997.. [26]. Bäck Th.: On the behavior of evolutionary algorithms in dynamic environments. Fogel D. B., Schwefel P. H., Bäck Th., Yao X. (ed.), WCCI – 2 & IEEE / ICEC – 5, pp. 446 – 451, IEEE Press, 1998.. [27]. Bäck Th.: Optimal mutation rates in genetic search. Forrest S. (ed.), ICGA, pp. 2 – 8, Morgan Kaufmann Publishers, 1993.. [28]. Bäck Th.: Optimization by means of genetic algorithms. Köhler E. (ed.): 36th International Scientific Colloquium, pp. 163 – 169, Technical University of Ilmenau, 1991.. [29]. Bäck Th.: Order statistics for convergence velocity analysis in evolutionary algorithms. Whitley L. D., Vose D. M. (ed.), FOGA – 3, pp. 91 – 102, Morgan Kaufmann Publishers, 1995.. [30]. Bäck Th.: Parallel optimization of evolutionary algorithms. Davidor Y., Schwefel H. P., Männer R. (ed.), PPSN – 3, IEEE / ICEC, pp. 418 – 427, Springer, 1994.. 91.

Cytaty

Powiązane dokumenty

Regarding the vertical distribution of dust aerosols, the CoM, TH and the mean dust extinction coefficient profiles (climatological and conditional), together with the horizon-

Obserwując dzisiejszy świat, wydaje się, że spotkanie chrześcijaństwa z człowiekiem naszych czasów jest trudniejsze niż w starożytności. Na ogół człowiek antyku nie

Uwarunkowania kształtowania priorytetów polityki zagranicznej Unii Europejskiej wobec państw Azji Centralnej po roku 2012.. Rocznik Integracji Europejskiej nr 10,

Keywords: Increase in capacity, Leg-by-leg control, Micro simulation, Reduction of delay, Roundabout capacity, Roundabout metering signal, Roundabout metering system,

De conclusie die uit deze figuur moet worden getrokken is dat rijksbudgetten ter ondersteuning van markt-, corporatie-en gemeentelijke investeringen, zoals stedelijke

A stało się to wtedy, gdy wciągnęłam się w badania nad Quenay’em i jego szkołą ze względu na wielki wpływ doktryny fizjokra- tycznej w kształtowaniu się francuskiego

were dropped 7 ft., and their wetted areas were added to the calculated wetted areas of the boats in exoandinr the heeled model resistances.. The tests were r with (in most cases)

Przyjęte podejście im plikuje w efekcie zakres chronologiczny