Wybrane techniki zaawansowane Algorytmy Genetyczne Wybrane techniki zaawansowane
Diploidalny aparat genetyczny Zawiera dwie reprezentacje chromosomów Przykład: Niech będzie dany diploidalny chromosom: AbCDe aBCde gdzie litery to różne allele (warianty genów) oraz dwie odmiany tej samej litery (duża i mała) odpowiadają przeciwstawnym allelom (odmianom genów).
Dominowanie To mechanizm służący do wyboru między dwoma allelami tzn. że jeden za alleli (zwany dominującym) zajmujący ten sam locus (pozycję) ma pierwszeństwo przed odmianą alternatywną (allelem recesywny).
Dominowanie - Przykład AbCDe —> ABCDe aBCde Gen dominujący pojawia się w stanie heterozygotycznym (mieszanym tzn. Aa->A) i homozygotycznym (czystym CC->C), natomiast gen recesywny przejawia się tylko w stanie homozygotycznym (ee->e).
Diploidalność w AG Model Bagleya Fenotyp określony jest za pomocą zmiennego wzorca dominacji, zakodowanego jako część samego chromosomu (każdy aktywny locus zawiera informację o parametrze oraz stopień dominowania [dominance value]) W każdym loci został wybrany dokładnie jeden allelo największym stopniu dominowania.
Diploidalność w AG Model Hollesteina Zamiast pojedynczego genu binarnego, używa dwóch genów: modyfikatora i funkcyjnego. Gen funkcyjny przyjmuje wartości 0 i 1 oraz koduje wartości. Gen modyfikator przyjmujewartości M lub m. Allel 0 dominuje, jeżeli w przynajmniej jednym z homologicznych loci modyfikatorowych występował allel M
Diploidalność w AG Model Hollesteina - Przykład 1
Diploidalność w AG Model Hollesteina – prostsza wersja Chromosom zawiera trzy allele Do kodowania używa się symboli 0, 1 i 2. Symbol 2 pełni rolę „dominującego 1”, a 1 – rolę „recesywnego 1”. To znaczy, ze 1 i 2 przejawiają się, jako 1, ale 2 dominuje nad 0 a 0 dominuje nad 1.
Diploidalność w AG Model Hollesteina – Przykład 2 1 2
Liczba reprezentantów schematu H Model haploidalny: gdzie: pc – prawdopodobieństwo krzyżowania, pm – prawdopodobieństwo mutacji f(H) – średni wskaźnik przystosowania schematu, f - średni wskaźnik przystosowania populacji, (H) – rozpiętość schematu i o(H) – rząd schematu.
Liczba reprezentantów schematu H Model diploidalny: gdzie: H – schematy rzeczywisty i He – schemat ujawniony Pozostałe oznaczenia jak w poprzednim wzorze: Ponadto muszą zachodzić związki: Dla schematu całkowicie dominującego f(H)=f(He). Dla schematu dominowanego: f(He) f(H).
Frekwencja Niech będą dane dwa alternatywne konkurujące schematy – dominujący (o średnim wskaźniku przystosowania fd) i recesywny (o średnim wskaźniku przystosowania fr). Przekształcając równanie propagacji schematów można wyznaczyć frekwencje Pt alleli recesywnych w kolejnych pokoleniach t. Gdzie K- współczynnik start, r=fd/fr
Frekwencja przypadek haploidalny Związek między frekwencją Pt+1 w następnym pokoleniu a jego frekwencją Pt w bieżącym pokoleniu: Pt+1=(1-)Pt+pm(1- Pt)- pm Pt gdzie (t) to względne straty będące skutkiem działania innych operacji. W populacji stacjonarnej mamy Pt+1= Pt=Pss. Wyznaczając stąd Pss otrzymujemy:
Frekwencja przypadek diploidalny Zależność między frekwencją allelu recesywnego w następnym pokoleniu a jego frekwencją w pokoleniu bieżącym jest określona wzorem: Pt+1=(1-2Pt) Pt +2pm(1- 2Pt) W warunkach stacjonarności otrzymujemy następujący związek między wymaganym tempem mutacji a frekwencją allelu recesywnego:
Inwersja Inwersja to operacja, gdzie chromosom ulega przecięciu w dwóch wybranych punktach, a następnie środkowy jego odcinek ulega odwróceniu i połączeniu z dwoma pozostałymi. Przykład: Przed inwersją (punkty przecięcia to 2 i 6) 10|1110|11 Po inwersji: 10011111
Inwersja - problemy W przyrodzie funkcje alleli nie zależą od ich umiejscowienia. Aby zapewnić taką samą swobodę, należy oznaczyć allele np. numerami od 1 do 8 Przed inwersją (punkty przecięcia to 2 i 6) 12 3456 78 10|1110|11 Po inwersji: 12654378 10011111
Inwersja Krzyżowanie proste Przed krzyżowaniem (punkty krzyż. zaznaczony |) 1 2 3 4 | 5 6 7 8 A= 1 0 1 1 | 1 0 1 1 1 2 6 5 | 4 3 7 8 B= 1 0 0 1 | 1 1 1 1 Po krzyżowaniu: 1 2 3 4 | 4 3 7 8 A’= 1 0 1 1 | 1 1 1 1 1 2 6 5 | 5 6 7 8 B’= 1 0 0 1 | 1 0 1 1
Inwersja – rozwiązania problemu Na przykładzie widać, że żaden z potomny ciągów nie zawiera pełnego garnituru genów. Problem ten można rozwiązać za pomocą 3 metod łączących w sobie inwersje i krzyżowanie: PMX [partially matched crossover], OX [order crossover], CX [cycle crossover].
PMX Operację PMX można wykorzystać do rozwiązania ślepej wersji zagadnienia komiwojażera (tzn. komiwojażer ma za zadanie objechać wszystkie miasta z określonego zbioru minimalizując przebytą drogę, nie zna on jednak długości przebytej drogi aż do chwili zakończenia objazdu) Do zakodowania można wykorzystać kod permutacyjny, np. w przypadku 8 miast odwiedzanych w kolejności rosnących numerów, trasa podróży mogłaby wyglądać następująco: 12345678 a odwrotna kolejność odwiedzin: 87654321
PMX zad. ślepego komiwojażera Przystosowanie f może być: funkcją podzbioru allelu v(f=f(v)); funkcją podzbioru alleli v i uporządkowania o(f=f(v,o)). funkcja uporządkowania (f=f(0)). W zagadnieniu komiwojażera zostało przyjęte przystosowanie jako funkcja uporządkowania (f=f(0)). Można rozszerzyć zadania na wersję,gdy komiwojażer musi podejmować decyzję podczas swych zabiegów i otrzymując zagadnienie mieszane f=f(v,o): 12345678 00000000 W powyższym przykładzie do porządku odwiedzin dołączone są allele reprezentujące informacja o każdym mieście (zera)
PMX Przykład Dane są ciągi, z losowo wybranymi dwoma punktami podziału (Te dwa punkty wyznaczają sekcję dopasowania ang. matching section). A=9 8 4 | 5 6 7 | 1 3 2 10 B=8 7 1 | 2 3 10 | 9 5 4 6 Następnie wykonane są transpozycje: 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 ciągu B, zamieniamy miejscami 5 i 2, 6 i 3 oraz 7 i 10. Otrzymamy: A’=9 8 4 | 2 3 10 | 1 6 5 7 B’=8 10 1| 5 6 7 | 9 2 4 3
OX Przykład Dane są ciągi: A=9 8 4 | 5 6 7 | 1 3 2 10 B=8 7 1 | 2 3 10 | 9 5 4 6 Zamiast serii transpozycji wykonuje się ruch ślizgowy, w celu zapełnienia „przerw” pozostawionych wskutek przemieszczenia się nowych elementów do sekcji. To znaczy, gdy dopasowujemy ciąg B do ciągu A miasta 5,6 i 7 pozostawiają wolne miejsc (oznaczone niżej -): B=8 - 1 | 2 3 10 | 9 - 4 -
OX Przykład cd. Następnie przerwy zostają przesunięte do sekcji dopasowania. Pozostałe elementy znajdujące się na prawo od sekcji dopisuje się z prawej strony, uzupełniając brakujące pozycje elementami początkowymi. Niewykorzystane elementy tworzą część początkową ciągu: B=2 3 10 | - - - | 9 4 8 1 Teraz „przerwy zostają zapełnione numerami miast z sekcji dopasowania wziętymi od partnera. Kończąc operację wykonujemy komplementarne działania z drugim ciągiem otrzymujemy dwa następujące ciągi: A’=5 6 7 | 2 3 10 | 1 9 8 4 B’=2 3 10 | 5 6 7 | 9 4 8 1
CX W tej operacji rekombinacja spełnia warunek, że pozycja zajmowana przez każde miasto pochodzi od jednego lub drugiego z rodziców. Przykład: Dane są trasy C i D: C= 9 8 2 1 7 4 5 10 6 3 D= 1 2 3 4 5 6 7 8 9 10 Startujemy od lewa i wypisujemy miasto z pierwszej trasy: C’=9 - - - - - - - - - Ponieważ miejsce zajmowane przez każde miasto ma pochodzić od jednej z tras macierzystych, wybór miasta nr 9 oznacza, że teraz musimy wziąć z ciągu C miasto nr 1 (bo zajmowane przezeń miejsce w ciągu D jest już zajęte). c’=9 - - 1 - - - - - -
CX Następnym miastem z ciągu C musi być miasto nr 4. Proces jest kontynuowany dopóki nie osiągniemy wzorca: C’=9 - - 1 – 4 - - 6 – (6 wskazuje na 9, która jest już we wzorcu) W ten sposób został wykonany pełen cykl. Po jego wykonaniu pozostałe pozycje zapełniamy numerami wziętymi z drugiego ciągu. Ostatecznie 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
Teoria operacji rekonfiguracyjnych Jak podaje Frantz, prawdopodobieństwo, że losowo wybrane rozmieszczenie o określonych alleli będzie miało rozmiar równy jest dane wzorem: a dystrybuanta rozkładu
Teoria operacji rekonfiguracyjnych Prawdopodobieństwo przemieszczenia pod wpływem inwersji genu zajmującego pozycję k w ciągu kodowym o długości l: Dla długich ciągów równość ta redukuje się do P(przemieszczenia)=2(x-x2) gdzie x oznacza położenie względne: x=k/l. Holland podaje prawdopodobieństwo zniszczenia schematu wskutek inwersji:
Teoria operacji rekonfiguracyjnych Przykład Inwersja destruktywna ! !3! 26! ! ! ! ! 3! !26! ! ! ! -> **0*01**** *0**01**** Inwersja niedestruktywna **0*01**** **00*1**** Użyte w notacji symbole {0,1,*} zachowują zwykłe znaczenie, natomiast {!} oznaczają, że pozostałe nieokreślone geny mogą wystąpić w dowolnym porządku.
Teoria operacji rekonfiguracyjnych Schematy porządkowe Schematy porządkowe zawierają porządkowy symbol uniwersalny (!). Schematy porządkowe oznacza się jako o-schematy Przykład ! !23! ! ! ! ! ! Dany schematy rzędu o wyznacza zatem (l-o)! porządków na l-o nieokreślonych pozycjach. Na przykład w przypadku o-schematu z przykładu istnieje (10-2)!=8! uporządkowań symboli {1,4,5,6,7,8,9,10} na ośmiu nieokreślonych pozycjach.
Teoria operacji rekonfiguracyjnych Schematy porządkowe Ponieważ liczba sposobów wyboru o ustalonych pozycji w ciągu l-elementowych to i ponieważ liczba sposób rozmieszczenia l symboli na o miejscach wynosi , zatem łączna liczba o-schematów wynosi:
Względne schematy porządkowe o-schematy typu r Rozpatrują względne położenia alleli zamiast bezwzględnych. Zapis rl() oznacza klasę schematów bezwzględnych (o-schematów typu a) długości l; w „w rozwinięciu” wyrażenia r10(3!!28) otrzymamy wówczas następujące schematy: 3! !28! ! ! ! ! !3! !28! ! ! ! ! !3! !28! ! ! ! ! !3! !28! ! ! ! ! !3! !28! ! ! ! ! !3! !28 Jeśli ciąg jest rozpatrywany jako strukturę kołową bez początku i końca, to można uzyskać jeszcze następujące o-schematy bezwzględne: 8! ! ! ! !3! !2 28! ! ! ! !3! ! ! 28! ! ! ! !3! ! !28! ! ! ! !3
Względne o-schematy z poślizgiem o-schematy typu rs Dany jest pewien łańcuch genów o określonej rozpiętości. Następnie cały pakiet może się przesuwać (w sensie o-schematów typu r) przy zachowaniu rozpiętości. Zapis rsl () oznacza klasę o-schematów względnych o rozpiętości i długości l. Argumentem tej funkcji jest uporządkowana lista numerów, którą „rozwijamy” na zbiór o-schematów typu r. Przykład: rs104(238) rozwija się na następujące o-schematy typu r: r10(23!!8) r10(2!3!8) r10(2!!38) Te schematy można z kolei rozwinąć na o-schematy bezwzględne.
Względne o-schematy z poślizgiem i zamianą (typ rse) Wyrażenie rsel () może rozwinąć nieuporządkowaną listę numerów na zbiór o-schematów typu rs. Przykład. o-schemat typu rse104 (2 3 8) rozwija się na zbiór 6 o-schematów typu rs, wyznaczonych przez sześć permutacji liczb 2, 3 i8. T e mogą być z kolei rozwinięte na o-schematy typu r i a.
Inne mikrooperacje Istnieje jeszcze kilka innych mechanizmów niskopoziomowych, które można użyć w modelach adaptacyjnego poszukiwania genetycznego. Są to: Segregacja, translokacja, duplikacja wewnątrzchromosomowa, delecja zróżnicowanie płciowe.
Bibliografia D. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998