350 likes | 577 Views
Algorytmy Genetyczne. Wybrane techniki zaawansowane. Diploidalny aparat genetyczny. Zawiera dwie reprezentacje chromosomów Przykład: Niech będzie dany diploidalny chromosom: AbCDe aBCde
E N D
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 AGModel 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 AGModel 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 AGModel 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.
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
PMXzad. ś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)
PMXPrzykł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 rekonfiguracyjnychPrzykład • Inwersja destruktywna ! !3! 26! ! ! ! ! 3! !26! ! ! ! -> **0*01**** *0**01**** • Inwersja niedestruktywna ! !3! 26! ! ! ! ! 3! !26! ! ! ! -> **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 rekonfiguracyjnychSchematy 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 rekonfiguracyjnychSchematy 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ądkoweo-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