algorytmy genetyczne
DESCRIPTION
Algorytmy Genetyczne. Wybrane techniki zaawansowane. Diploidalny aparat genetyczny. Zawiera dwie reprezentacje chromosomów Przykład: Niech będzie dany diploidalny chromosom: AbCDe aBCde - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/1.jpg)
Algorytmy Genetyczne
Wybrane techniki zaawansowane
![Page 2: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/2.jpg)
Diploidalny aparat genetyczny
Zawiera dwie reprezentacje chromosomów
Przykład:Niech będzie dany diploidalny chromosom:
AbCDeaBCde
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).
![Page 3: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/3.jpg)
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).
![Page 4: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/4.jpg)
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).
![Page 5: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/5.jpg)
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.
![Page 6: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/6.jpg)
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
![Page 7: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/7.jpg)
Diploidalność w AGModel Hollesteina - Przykład
0M 0m 1M 1m
0M 0 0 0 00m 0 0 0 11M 0 0 1 11m 0 1 1 1
![Page 8: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/8.jpg)
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.
![Page 9: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/9.jpg)
Diploidalność w AGModel Hollesteina – Przykład 2
0 1 2
0 0 0 1
1 0 1 1
2 1 1 1
![Page 10: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/10.jpg)
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.
mc pHol
Hp
f
HftHmtHm )(
1
)(1
)(),()1,(
![Page 11: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/11.jpg)
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).
mc
e pHol
Hp
f
HftHmtHm )(
1
)(1
)(),()1,(
![Page 12: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/12.jpg)
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
rPPr
PrPKPP
tt
tttt
)1(
)1(1
![Page 13: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/13.jpg)
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:
)1(1
tttt
PrP
KPP
m
mss p
pP
2
![Page 14: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/14.jpg)
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:
ss
ssm P
Pp
21
2
![Page 15: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/15.jpg)
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
![Page 16: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/16.jpg)
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
![Page 17: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/17.jpg)
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
![Page 18: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/18.jpg)
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].
![Page 19: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/19.jpg)
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
![Page 20: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/20.jpg)
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)
![Page 21: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/21.jpg)
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
![Page 22: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/22.jpg)
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 -
![Page 23: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/23.jpg)
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
![Page 24: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/24.jpg)
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 - - - - - -
![Page 25: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/25.jpg)
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
![Page 26: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/26.jpg)
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
o
l
ol
DP2
2)1(
}{
o
l
olo
oDP
}{
![Page 27: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/27.jpg)
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:
2
2 )]1)1([2)(
l
klkzeniaprzemieszcP
1
)(1
1
)(2)(
l
H
l
HpazniszczeniP i
![Page 28: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/28.jpg)
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.
![Page 29: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/29.jpg)
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.
![Page 30: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/30.jpg)
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:
l
jos jl
l
jjl
ln
0 )!(
!
!)!(
!
o
l
!oo
l
![Page 31: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/31.jpg)
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
![Page 32: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/32.jpg)
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: rs10
4(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.
![Page 33: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/33.jpg)
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 rse10
4 (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.
![Page 34: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/34.jpg)
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.
![Page 35: Algorytmy Genetyczne](https://reader036.vdocuments.site/reader036/viewer/2022062408/5681432c550346895daf9a68/html5/thumbnails/35.jpg)
Bibliografia
D. Goldberg, Algorytmy genetyczne i ich
zastosowania, WNT, Warszawa 1998