35
Algorytmy Genetyczne Wybrane techniki zaawansowane

Algorytmy Genetyczne

  • Upload
    wauna

  • View
    62

  • Download
    1

Embed Size (px)

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 Presentation

Citation preview

Page 1: Algorytmy Genetyczne

Algorytmy Genetyczne

Wybrane techniki zaawansowane

Page 2: Algorytmy Genetyczne

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Bibliografia

D. Goldberg, Algorytmy genetyczne i ich

zastosowania, WNT, Warszawa 1998