Teoria algorytmów genetycznych

background image

TEORIA

ALGORYTMÓW

GENETYCZNYCH

background image

Teoria Algorytmów Genetycznych

powstała w oparciu o

analogie do procesów obserwowanych w ewolucji
naturalnej.
Mechanizm ewolucji jest do zaobserwowania w

chromosomach

– łańcuchach

genów

znajdujących się w

jądrach

komórkowych.

Tam

zakodowana

jest

informacja o strukturze danego organizmu żywego.
Procesy rządzące ewolucją naturalną nie zostały jeszcze
po dziś dzień do końca odkryte, jednak niektóre jej

elementy zostały rozpoznane i zaakceptowane w świecie
naukowym.

background image

Ewolucja

to proces odbywający się na chromosomach, w

których „zapisane” jest jak wykreować organizm zdolny
do przetrwania w danym środowisku. W toku naturalnej
selekcji organizmy lepsze, a więc i chromosomy je
opisujące mają większe szanse na reprodukcję.
Reprodukcja z kolei warunkuje ewolucję. W procesie
reprodukcji dzięki

krzyżowaniu się

(czyli łączeniu się

różnych części) chromosomów rodziców, potomek posiada
nową strukturę chromosomu. Może wystąpić również

mutacja

, która spowoduje, iż potomek będzie posiadał

nowe cechy, inne od cech jego biologicznych rodziców.

background image


Ewolucja dąży wiec do

tworzenia organizmów coraz

doskonalszych

, coraz lepiej dostosowanych do

warunków panujących w danym środowisku.

background image

Teoria ewolucji była inspiracją dla twórców
m

atem

atycznej

Teorii Algorytm

ów Genetycznych

J. von N

eum

anna oraz J. Hollanda.

background image

Algorytmy Genetyczne

są algorytmami losowymi, które poczynając od
początkowego zbioru rozwiązań tworzą

zbiory rozwiązań

coraz lepszych

. Nowe rozwiązania generowane są z

zastosowaniem operatorów genetycznych, symulujących
naturalne procesy reprodukcji. Każdy z elementów
przestrzeni rozwiązań (populacji) jest nazywany

chromosomem

, a składowe kodu chromosomu są

nazywane

genami

. Operatory genetyczne noszą zaś nazwy

krzyżowania

bądź też

mutacji

.

background image

MODEL KLASYCZNY
ALGORYTMU
GENETYCZNEGO

background image

PROSTY OPIS KLASYCZNEGO

ALGORYTMU GENETYCZNEGO

(K – AG):

K – AG operuje na zbiorach łańcuchów

złożonych z zer i jedynek.

Pojedynczy element łańcucha przyjmujący

wartości „0” lub „1” nazywamy

genem

.

Łańcuchy genów nazywamy

chromosomami.

Zbiór chromosomów o określonej

liczności

nazywamy

populacją

.

background image

Przyjmuje się, że w ramach określonej populacji

wszystkie chromosomy są tej samej długości.

Długość chromosomu i liczność populacji określane są

na etapie projektowania K – AG dla konkretnego
problemu i zależą od jego charakteru.

background image

Dla określonej populacji określone są następujące

mechanizmy :
 mechanizm generacji populacji początkowej;
 mechanizm oceniający „jakość” konkretnego

chromosomu;

 mechanizm selekcji do dalszego przetwarzania tzw.

reprodukcji;

 mechanizm mutacji;
 mechanizm krzyżowania.

background image

Generacja populacji początkowej polega na losowym
utworzeniu

liczby

chromosomów.

Np.

należy

wygenerować populację sześciu chromosomów o
długości dziesięciu genów. Realizacja to 60 rzutów
monetą, gdzie reszka to „0”, a orzeł to „1”.

background image

Przykładowy wynik rzutów – populacja :

(1,1,1,0,1,1,1,1,0,1)

(1,0,0,0,1,1,0,1,0,0)
(0,0,0,1,1,0,1,1,0,1)
(0,0,1,0,0,0,1,0,0,0)
(0,1,1,0,1,0,1,1,0,1)

(0,0,1,0,1,0,0,0,0,0)

background image

Ocena „jakości” konkretnego chromosomu polega
na obliczeniu tzw. funkcji przystosowania. Funkcja ta

jest miarą w jakim stopniu dany chromosom
rozwiązuje dany problem.

background image

Postać funkcji przystosowania ściśle zależy od
charakteru rozwiązywanego problemu i jest jedynym

mechanizmem K – AG, poza długością chromosomu
i licznością populacji, każdorazowo zmienianym na
etapie projektowania K – AG dla rozwiązania danego
problemu.

background image

W teorii AG zakłada się, że funkcja przystosowania

przyjmuje na swej dziedzinie zawsze wartości
nieujemne i zakłada, że rozwiązywany problem to

znalezienie maksimum tej funkcji. Jeśli pierwotna
postać funkcji przystosowania nie spełnia tych założeń

dokonuje się jej transformacji.
Np. oznaczając funkcję przystosowania przez FP biorąc

pod uwagę populację z poprzedniego przykładu,
problemem będzie znalezienie takiego chromosomu,
który posiada największą z możliwych liczbę jedynek,
wtedy :

background image

FP(1,1,1,0,1,1,1,1,0,1)=8
FP(1,0,0,0,1,1,0,1,0,0)=4

FP(0,0,0,1,1,0,1,1,0,1)=5
FP(0,0,1,0,0,0,1,0,0,0)=2

FP(0,1,1,0,1,0,1,1,0,1)=6
FP(0,0,1,0,1,0,0,0,0,0)=2

Największą wartość funkcji przystosowania ma

pierwszy chromosom, w tej populacji najbardziej
nadaje się on do rozwiązania problemu

background image

Selekcja chromosomów do dalszego przetwarzania

polega na wybraniu zbioru chromosomów, o tej samej
liczebności co populacja początkowa, które staną się

„rodzicami” nowo tworzonej populacji „potomków” -
czyli wybraniu zbioru przeznaczonego do reprodukcji.
Selekcja ta ma przebieg losowy jednak przeprowadzana
jest w taki sposób, aby chromosomy o największej

wartości funkcji przystosowania miały największe
szanse być wylosowane do reprodukcji.

background image

Najprostszą metodą selekcji jest metoda ruletki
działająca w następujący sposób :

1) Sumuje się wartości funkcji przystosowania

wszystkich chromosomów;

2) Obliczona suma jest traktowana jako 100% - całe

„koło” ruletki;

background image

3) Każdemu chromosomowi przydzielany jest kolejno

taki wycinek koła ruletki jaki wynika z następującej
proporcji :

[ ( wartość funkcji przystosowania dla danego
chromosomu ) / ( suma wartości funkcji przystosowania
wszystkich chromosomów ) ] *
100 %
Wycinek taki jest przedziałem [ a, b ], gdzie
0 <= a, b <= 100
i jest miarą prawdopodobieństwa
wylosowania danego chromosomu.

background image

4) Losuje się liczbę p z przedziału [ 0, 100 ], która

liczba to wskazuje konkretny punkt na kole ruletki.

5) Chromosom, na którego wycinek trafił

wylosowany punkt, czyli a <= p <= b, jest
przeznaczony do reprodukcji.

6) Liczba losowań jest równa liczności populacji.

background image

Wylosowane do reprodukcji chromosomy łączone są
losowo w pary „rodziców”, które następnie na drodze

krzyżowania i mutacji przekształcone zostaną w pary
potomków tworząc tym samym nową populację.

background image

Mutacja chromosomu

jest mechanizmem oddziaływującym na populację
rodziców przed procesem krzyżowania lub na populację
potomków utworzoną w wyniku krzyżowania.

Mutacja przebiega w następujący sposób :
1) Ustalane jest na etapie projektowania K – AG

prawdopodobieństwo p

m

zaistnienia mutacji; zakłada

się, że jest ono bardzo małe, gdyż mutacje w świecie
żywych organizmów zachodzą statystycznie niezwykle
rzadko.


background image

2) Dla każdego n – tego genu z kolejnego chromosomu

losowana jest liczba k z przedziału [ 0, 1 ] i jeżeli k
<= p

m

wtedy dany gen podlega mutacji.

3) Gen podlega mutacji polegającej na zmianie jego

wartości tj. z 0 na 1 lub odpowiednio z 1 na 0.

4) Decyzja,

czy

mutacja

populacji

będzie

przeprowadzona przed czy po krzyżowaniu, nie
wpływa na merytoryczny efekt mutacji.

background image

Np.
chromosom rodzica przed mutacją

(0,0,1,0,1,

0

,1,0,0)

wylosowany punkt mutacji : n = 6
chromosom rodzica po mutacji
(0,0,1,0,1,

1

,1,0,0)

background image

W tym przypadku mutacja poprawiła „jakość”
chromosomu, mogło się jednak stać na odwrót. Rolą
mutacji jest nie tyle zmiana jakościowa chromosomów,
co wprowadzenie nowego „materiału genetycznego” do
danej populacji, mogło się bowiem zdarzyć, że wszystkie
chromosomy rodziców posiadały gen o numerze szóstym
równy 0, wtedy korzystając tylko z mechanizmu
krzyżowania bez mutacji nie byłoby nigdy szansy na
otrzymanie chromosomu potomka posiadającego szósty

gen równy 1.

background image

Krzyżowanie par chromosomów ma na celu wymianę
części materiału genetycznego pomiędzy chromosomami,
co może zaowocować potomkiem dziedziczącym tylko
„lepsze” cechy swoich rodziców.
Przebieg krzyżowania jest następujący :
1) Na etapie projektowania K – AG prawdopodobieństwo

krzyżowania p

k

, zakłada się, że jest ono stosunkowo

duże (niekiedy przyjmuje się nawet, że p

k

= 1) jak

nakazuje analogia do świata żywych organizmów.

background image

2) Dla każdego chromosomu z populacji rodziców

losowana jest liczba k z przedziału [ 0, 1 ] i jeżeli k <=
p

m

wtedy dany chromosom przeznaczony jest do

krzyżowania.

3) Z grupy chromosomów przeznaczonych do

krzyżowania tworzone są losowo pary rodziców. W
przypadku, gdy liczność tej grupy jest nieparzysta
losuje się jeden dodatkowy chromosom.

4) Dla każdej pary rodziców losujemy punkt

krzyżowania, czyli numer genu n, w miejscu którego
nastąpi krzyżowanie.

background image

5) Potomek pierwszy otrzymuje pierwsze n genów od

rodzica pierwszego, a pozostałe geny począwszy od genu
numer n + 1
od rodzica drugiego.

6) Potomek drugi otrzymuje pierwsze n genów od rodzica

drugiego, a pozostałe geny począwszy od genu numer
n + 1
od rodzica pierwszego.

Np.
Zakładamy, że wylosowane zostały do krzyżowania
wszystkie chromosomy z poprzedniej przykładowej
populacji i utworzyły poniższe pary, ponadto żaden z
chromosomów rodziców nie uległ mutacji.

background image

RODZICE KRZYŻOWANIE POTOMKOWIE

n = 5
(

1,1,1,0,1,1,1,1,0,1

) (

1,1,1,0,1

,0,1,1,0,1

)

}

(

0,0,0,1,1,0,1,1,0,1

) (

0,0,0,1,1,

1,1,1,0,1

)

n = 3
(

1,1,1,0,1,1,1,1,0,1

) (

1,1,1

,0,1,0,1,1,0,1

)

}

(

0,1,1,0,1,0,1,1,0,1

) (

0,1,1,

0,1,1,1,1,0,1

)

n = 7
(

1,0,0,0,1,1,0

,

1,0,0

) (

1,0,0,0,1,1,0,

0,0,0

)

}

(

0,0,1,0,1,0,0,0,0,0

) (

0,0,1,0,1,0,0

,1,0,0

)

background image

Policzmy wartość funkcji przystosowania populacji
potomków :

FP(1,1,1,0,1,0,1,1,0,1) = 7
FP(0,0,0,1,1,1,1,1,0,1) = 6

FP(1,1,1,0,1,0,1,1,0,1) = 7
FP(0,1,1,0,1,1,1,1,0,1) = 7

FP(1,0,0,0,1,1,0,0,0,0) = 3
FP
(0,0,1,0,1,0,0,1,0,0) = 3

background image

Jak widać populacja potomków charakteryzuje się o
wiele większą średnią wartością funkcji przystosowania

niż populacja rodziców, z drugiej jednak strony
„utracony” został chromosom o największej wartości
(= 8) funkcji przystosowania.

background image

Schemat blokowy K – AG :

(etap – 0)

Generacja populacji początkowej.

(etap – „a”)

Obliczanie wartości funkcji przystosowania

chromosomów

należących do populacji początkowej.

background image

(etap – „b”)

Selekcja metodą „ruletki” chromosomów

przeznaczonych do reprodukcji.

(etap – „c”)

Tworzenie operatorami mutacji i krzyżowania

nowej populacji potomków.

background image

(etap – „d”)

Obliczanie wartości funkcji przystosowania

chromosomów

należących do populacji potomków.

(etap – „e”)

Populacja rodziców jest kasowana.

Populacja potomków staje się nową populacją rodziców.

background image

(etap – „f”)

Warunek końca działania algorytmu :

Nie spełniony wtedy powrót do etapu – „b”;

Spełniony wtedy STOP.

Najlepszy chromosom z bieżącej populacji traktowany

jest jako rozwiązanie danego problemu.

background image

ŚCISŁA DEFINICJA
ALGORYTMU
GENETYCZNEGO

background image

Klasyczny Algorytm Genetyczny

jest probabilistycznym

algorytmem poszukiwania przestrzeni rozwiązań.

Oznaczenia :

 P – problem optymalizacyjny z funkcją celu F;
 D (P) – zbiór rozwiązań dopuszczalnych problemu P;

background image


Chromosomem

nazywać będziemy wektor :

X = ( x

1

, ... , x

n

) є D (P)

będący rozwiązaniem dopuszczalnym problemu P;

Populacją rozwiązań dopuszczalnych

problemu P dla

iteracji t nazwiemy podzbiór :

S(t) = { X

t

1

, ... , X

t

m

} S(t) с D(P)

background image

Funkcją przystosowania U

rozwiązania

X

t

i

є S(t)

nazywamy wartość funkcji celu dla tego rozwiązania :

U( X

t

i

) = F ( X

t

i

)


gdzie U( X

t

i

) ? 0

Λ

X

t

i

є S(t)

background image

Operatorem mutacji M

k

nazywać będziemy

przekształcenie :

M

k

: D(P) ? D(P)

dokonujące losowej, z zadanym prawdopodobieństwem,
zmiany k
– tej składowej rozwiązania X

t

i

:

M

k

( X

t

i

) = X

t

i

+1

gdzie :

X

t

i

= (x

1

, ... , x

k

, ... , x

n

) X

t

i

+1

= (x

1

, ... , x

k

, ... , x

n

)

background image

Operatorem krzyżowania K

k

nazywać będziemy

przekształcenie :

K

k

: D(P) × D(P) ? D(P) × D(P)

dokonujące losowej, z zadanym prawdopodobieństwem,
wymiany składowych rozwiązań X

t

i

i X

t

j

względem

składowej k :

K

k

( X

t

i

, X

t

j

) = (X

t+1

i

, X

t+1

j

)

gdzie : X

t

i

= (x

1

, ... , x

n

) X

t

j

= (v

1

, ... , v

n

)

X

i

t+1

= (x

1

, ... , x

k

, v

k+1

, ... , v

n

)

X

j

t+1

= (v

1

, ... , v

k

, x

k+1

, ... , x

n

)

background image

Schemat blokowy K – AG :

(etap – 0)

Generacja losowa populacji początkowej S(t

0

).

(etap – „a”)

Obliczanie wartości funkcji przystosowania

chromosomów

należących do populacji początkowej S(t

0

).

background image

(etap – „b”)

Selekcja metodą „ruletki” rozwiązań z S(t)

przeznaczonych do reprodukcji.

Wybrane rozwiązania należą do S

I

(t) , pozostałe

rozwiązania są kasowane.

(etap – „c”)

Tworzenie operatorami mutacji i krzyżowania nowej

populacji S(t+1)

M

k

: S

I

(t) S(t+1) ; K

k

: S

I

(t) S(t+1)

background image

(etap – „d”)

Obliczanie wartości funkcji przystosowania

dla rozwiązań należących do S

I

(t+1).

(etap – „e”)

Populacja S

I

(t) jest kasowana.

Populacja S(t+1) jest kopiowana w miejsce

populacji S(t)

background image

(etap – „f”)

Warunek końca działania algorytmu :

Nie spełniony wtedy powrót do etapu – „b”;

Spełniony wtedy STOP.

Najlepsze rozwiązanie z S(t) traktowane

jest jako rozwiązanie optymalne problemu P.

background image

PODSTAWY
MATEMATYCZNE

DEFINICJE

background image

Schematem S

nazywamy łańcuch zawierający k

elementów zdefiniowany nad alfabetem {0,1,*}
reprezentujący wszystkie chromosomy o liczbie genów

równej k i identyczne z S na wszystkich pozycjach
określonych tzn. pozycjach zawierających „0” lub „1” w
schemacie S
.
Pojawienie się symbolu „*” na pozycji n
– tego genu

chromosomu oznacza, że gen na n – tej pozycji może być
dowolny – jego wartość nie określona.

background image

Powiemy, że chromosom ch dopasowany jest do
schematu S
wtedy, gdy :
1) liczba elementów schematu S
równa jest liczbie

genów chromosomu ch;

2) chromosom ch i schemat S są identyczne na

wszystkich pozycjach określonych tzn. na pozycjach
zawierających „0” lub „1” w schemacie S
.

Licznością schematu S

nazwiemy liczbę L(S) równą

ilości pozycji określonych w tym schemacie.

background image

WPŁYW MUTACJI
I KRZYŻOWANIA

background image

Wpływ mutacji

mechanizm mutacji zmieniający wartość genu z „0” na

„1” (lub vice versa) może doprowadzić do zniszczenia
schematu S
– dopasowanego do chromosomu, którego
gen uległ mutacji.

background image

Wpływ krzyżowania

mechanizm

krzyżowania

tworzący

chromosomy

potomne poprzez losową wymianę partii genów z losowo
wybranych par chromosomów rodziców może
doprowadzić do zniszczenia schematu S
– dopasowanego
do jednego z chromosomów rodziców.

background image


TWIERDZENIE O SCHEMATACH 1

Liczba wystąpień krótkich, mało licznych schematów o

przystosowaniu powyżej średniej rośnie wykładniczo w
kolejnych iteracjach algorytmu genetycznego.

background image

TWIERDZENIE

O BLOKACH BUDUJĄCYCH 1

Algorytm genetyczny znajduje rozwiązania bliskie

wartości optymalnej poprzez zestawienie krótkich, mało
licznych o przystosowaniu dużo powyżej średniej

schematów – zwanych blokami budującymi.

background image

OPERTORY
GENETYCZNE

background image

KRZYŻOWANIE WIELOPUNKTOWE

Parzysta liczba punktów krzyżowania :

 chromosomy rodziców traktowane są jako koła,
 losowane są punkty na kole,
 wymiana genów następuje zgodnie z poniższym

schematem (gdzie liczba punktów przecięcia = 4),

background image

background image

Nieparzysta liczba punktów krzyżowania

wymiana genów następuje zgodnie z poniższym

schematem (gdzie liczba punktów przecięcia = 5) :

background image

background image

KRZYŻOWANIE JEDNOLITE

przebiega w następujący sposób :

 dla każdej pozycji genu pierwszego z pary

chromosomów potomków losowane jest z pewnym

ustalonym prawdopodobieństwem, który z rodziców
przekaże mu swój gen z tej pozycji,

 drugi z pary chromosomów potomków otrzymuje

pozostałe (nie wylosowane dla pierwszego) gen z
chromosomów rodziców.

background image

OPERATORY
ZMIENIAJĄCE
PORZĄDEK

background image

Operator inwersji

działa, tak jak operatory krzyżowania i mutacji, na

chromosom rodzica w celu utworzenia chromosomu
potomka. Jednak w odróżnieniu od nich działa on na
pojedynczym chromosomie.
Inwersja polega na losowym wybraniu fragmentu

chromosomu i odwróceniu (ustawieniu w odwrotnej
kolejności) genów w tym fragmencie.

background image

Krzyżowanie pozycją PMX

polega na zamianie pozycji genów w chromosomach
rodziców zgodnie ze wzorcem (obszarem dopasowania)

pozycji chromosomów z pary : dla pary ( ch

1

, ch

2

)

chromosomów rodziców losuje się dwa punkty

krzyżowania,

obszary

chromosomów

pomiędzy

wylosowanymi punktami nazywane są obszarami
dopasowania, geny z chromosomu ch

1

zamieniają się

pozycją tak, aby była ona zgodna z pozycjami
wskazanymi w obszarze dopasowania chromosomu ch

2

i vice versa.

background image

Krzyżowanie porządkiem OX

polega na zamianie porządku genów w chromosomach
rodziców zgodnie ze wzorem (obszarem dopasowania)

pozycji w chromosomie z pary : dla pary ( ch

1

, ch

2

)

chromosomów rodziców losuje się dwa punkty

krzyżowania,

obszary

chromosomów

pomiędzy

wylosowanymi punktami nazywane są obszarami
dopasowania, geny z chromosomu ch

1

zamieniają się

porządkiem tak, aby był on zgodny z porządkiem
wskazanym w obszarze dopasowania chromosomu ch

2

i vice versa.

background image

Krzyżowanie cykliczne CX

polega na kopiowaniu do chromosomu potomka genów z

kolejnych pozycji jednego rodzica, a następnie z
drugiego.

Mutacja pozycją

polega na zamianie pozycji dwóch wylosowanych genów
w danym chromosomie.

background image

Mutacja porządkiem

polega na zamianie kolejności występowania w
chromosomie dwóch wylosowanych genów – drugi z

genów stawiany jest przed pierwszym.

Z wyżej wymienionych operatorów szczególnie
skuteczny okazał się PMX znajdując rozwiązania

optymalne lub bliskie optymalnym.

background image

ZASTOSOWANIA
ALGORYTMÓW
GENETYCZNYCH

background image

ALGORYTM ROZPOZNAWANIA

WZORCÓW BINARNYCH

Algorytm

genetyczny

wzorców

binarnych

wykorzystywany jest np. przy projektowaniu
automatycznych

systemów

rozpoznawania,

klasyfikowaniu obrazów takie, jak automatyczne
rozpoznawanie występowania obiektów o znanych
charakterystykach na seriach zdjęć satelitarnych.

background image

ALGORYTM WYKRYWANIA BRZEGU

Zadanie rozpoznawania brzegów jest jednym z
podstawowych problemów cyfrowej analizy obrazów.
Uwaga wielu grup badawczych skupiona jest na analizie
obrazów biologicznych i medycznych.
Przykładem może być analiza kształtu naczyń

krwionośnych, dzięki której można wykryć wiele chorób
serca i zagrożeń życia.

background image

Typowy obraz naczyń krwionośnych mózgu :

background image

Kłopotem przy analizie obrazu jest występowanie wielu
rozgałęzień. Algorytm genetyczny wykorzystany w tym

przypadku jest dwuetapowy :
wyznacza charakterystyczne punkty brzegowe oraz
łączy te punkty tworząc krzywą brzegu.

Schemat algorytmu wstępnego wyznaczania punktów
brzegu :

background image

background image

Po wykonaniu wielu iteracji (w tym przypadku 20)

został automatycznie wyznaczony przez algorytm
sterujący.

background image

KONIEC

DZIĘKUJEMY


Document Outline


Wyszukiwarka

Podobne podstrony:
Algorytmy genetyczne
Teorie algorytmow genetycznych prezentacja
Algorytm genetyczny – przykład zastosowania
Algorytmy Genetyczne A Logika R Nieznany (2)
Algorytmy Genetyczne, AG 1
Algorytmy Genetyczne AG 3 id 61 Nieznany (2)
SI Algorytmy Genetyczne
klasyczny algorytm genetyczny
Algorytmy genetyczne w minimalizacji funkcji logicznych 5 część 2
Wersja do oddania, Rozdzial 4 - Algorytmy genetyczne, Rozdział III
Algorytmy Genetyczne AG 5
Algorytmy genetyczne
Algorytmy genetyczne 2 id 57672 Nieznany (2)
Algorytmy Genetyczne AG 6
Lab5 Algorytmy genetyczne
Algorytmy genetyczne i procesy ewolucyjne Wykład 3
Analiza Algorytmów Genetycznych jako Ukladow Dynamicznych 08 Kotowski PhD p72
Algorytmy Genetyczne, AG 4

więcej podobnych podstron