Obliczenia Naturalne - Algorytmy genetyczne

Transkrypt

Obliczenia Naturalne - Algorytmy genetyczne
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Literatura
Wstęp
Obliczenia Naturalne - Algorytmy genetyczne
Paweł Paduch
Politechnika Świętokrzyska
20 marca 2014
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
1 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Literatura
Wstęp
Plan wykładu
1
Wstęp
Literatura
Wstęp
2
Algorytmy Genetyczne
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
3
Schematy
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
4
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
2 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Literatura
Wstęp
Literatura
Mariusz Flasiński - Wstęp do sztucznej inteligencji, PWN, 2011
Jarosław Arabas - Wykłady z algorytmów ewolucyjnych, WNT,
2001
David Edward Goldberg - Algorytmy genetyczne i ich
zastosowania, WNT, 2009
Zbigniew Michalewicz - Algorytmy genetyczne+struktury
danych=programy ewolucyjne, WNT, 2003
T. D. Gwiazda - Algorytmy Genetyczne - kompendium, Tom 1
i 2, PWN, 2007
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
3 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Literatura
Wstęp
Obliczenia ewolucyjne
Obliczenia ewolucyjne należą do grupy metod o największym
znaczeniu wśród modeli inspirowanych biologią.
Są one oparte na symulowaniu procesów ewolucji takich jak:
zapis genetyczny poszczególnych cech osobników,
krzyżowanie materiału genetycznego wybranych osobników,
rozwój kolejnych pokoleń,
ocena przystosowania,
dobór naturalny,
mutacje.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
4 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Literatura
Wstęp
Obliczenia ewolucyjne
Podział z uszeregowaniem poziomu abstrakcji reprezentacji
wykorzystywanej do modelowania problemu:
Algorytmy genetyczne
Strategie ewolucyjne
Programowanie ewolucyjne
Programowanie genetyczne
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
5 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Literatura
Wstęp
Zastosowanie obliczeń ewolucyjnych
Głównym zadaniem obliczeń ewolucyjnych jest osiągnięcie pewnego
celu np. minimum lub maksimum w zadanej przestrzeni
poszukiwań.
Obliczenia ewolucyjne znalazły zastosowanie między innymi:
w grach,
w Rozpoznawanie obrazu,
w optymalizacji funkcji,
w symulowaniu rozwoju organizmów żywych,
w algorytmach grupowania,
w szeregowaniach zadań,
w kolorowaniu grafu,
w optymalizacji pracy rurociągów,
w rozwiązywaniu problemów NP-trudnych
i w wielu innych...
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
6 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Historia
Pierwsze wzmianki na temat algorytmów genetycznych zostały
odnotowane przez Alexa Frasera w 1957 roku w artykule
„Simulation of genetic systems by automatic digital computers”.
Jednak do spopularyzowania tego modelu obliczeń przyczynił się
John Holland dzięki monografii „Adaptation in Natural and
Artificial Systems” z 1975 roku.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
7 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Algorytmy Genetyczne
Ulepszenie heurystycznych metod szukania optymalnego
rozwiązania problemu.
Przestrzeń rozwiązań przeszukujemy za pomocą nie jednego a
wielu punktów (osobników), dzięki czamu zmniejszamy ryzyko
utknięcia w obszarach plateau lub lokalnych ekstremach.
Każdego osobnika można traktować jako reprezentanta
rozwiązania problemu.
Zbiór takich osobników nazywamy populacją.
Następujące po sobie populacje nazywamy pokoleniami.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
8 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przestrzeń poszukiwań
Załóżmy, że mamy znaleźć maksimum w przykładowej przestrzeni
poszukiwań.
Współrzędne każdego osobnika to
jego genotyp
sin(y ) + cos (x ) − 0.7 ∗ (x 2 + y 2 ) + 5
Zakładamy, że genotyp składa się z
jednego chromosomu.
4
5
f (x )
Współrzędne X i Y musimy
skwantyfikować. Powinny to być
liczby całkowite o skończonym
zbiorze.
6
5
0
−5
Dzięki temu można będzie każdą
współrzędną zakodować binarnie.
Paweł Paduch
2
0
0
x
5
−5
Obliczenia Naturalne - Algorytmy genetyczne
y
9 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Kodowanie
Przykładowy rozważany problem ma przestrzeń poszukiwań
zarówno dla X jak i dla Y h−2π, +2πi
Jeżeli przyjmiemy, że każdą współrzędną podzielimy na 32
wartości, to genotyp będzie można zakodować w sumie na
10-cio bitowych ciągach (po 5 na współrzędną)
Ciągi binarne używając nomenklatury biologicznej nazwiemy
chromosomami natomiast poszczególne bity genami.
Przy tak przyjętym kodowaniu ciąg
0000000000 oznacza osobnika (−2π, −2π),
8π
0000100010 to (−2π + 4π
32 , −2π + 32 ) a
0111101111 (0, 0).
To jaką wartość (zbiór wartości) da nam osobnik nazywamy
fenotypem. Fenotyp jest podstawą do oceny osobników za
pomocą funkcji przystosowania - nieujemne kryterium jakości.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
10 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Podsumowanie nazewnictwa
Chromosom - ciąg kodowy, składa się z genów
Gen - cecha, znak detektor (np. bity)
Allel - wariant cechy (np. jeżeli nie bity tylko znaki)
Locus - pozycja, położenie genu.
Genotyp - struktura opisująca osobnika
Fenotyp - rozwiązanie jakie daje osobnik na podstawie
genotypu
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
11 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Podstawowy algorytm genetyczny
Podstawowy algorytm genetyczny zaproponowany przez Hollanda.
Algorytm 1 Podstawowy AG
Pt - populacja bazowa
Ot - populacja potomna
Tt - populacja tymczasowa
Paweł Paduch
1: t ← 0
2: inicjalizacja Pt
3: ocena Pt
4: while (warunek stopu niespełniony) do
5:
Tt ← reprodukcja Pt
6:
Ot ← krzyżowanie i mutacja Tt
7:
ocena Ot
8:
Pt+1 ← Ot
9:
t ←t +1
10: end while
Obliczenia Naturalne - Algorytmy genetyczne
12 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Podstawowy algorytm genetyczny
populacja P0 jest inicjalizowana losowo.
ocena polega na obliczeniu funkcji przystosowania, rozwój
osobników.
warunek stopu (gdy uzyskaliśmy satysfakcjonującą ocenę lub
numer pokolenia)
reprodukcja polega na losowaniu osobników ze zwracaniem, z
tym, że największe szanse mają najlepiej przystosowane
osobniki.
Operatory genetyczne krzyżowania i mutacji działają na
informacje zawarte w chromosomach
Nowa populacja jest rozwijana i oceniana, teraz staje się
populacją rodzicielską.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
13 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przykład
Prześledźmy przykład znalezienia maksimum funkcji w zadanym
przedziale liczb całkowitych.
1,000
f (x ) = x 2
800
funkcja f (x) = x 2
600
zakres x ∈ h0, 31i
kodowanie binarne 5 bitów.
400
liczebność osobników 4
200
x
10
Paweł Paduch
20
Obliczenia Naturalne - Algorytmy genetyczne
30
14 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przykład
Pierwszy krok to wylosowanie populacji początkowej
1 01101 wartość x=13
2 11000 wartość x=24
3 01000 wartość x=8
4 10011 wartość x=19
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
15 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przykład
Drugi krok to ocena populacji czyli wyliczenie f (x)
1 f (x) = 169
2 f (x) = 576
3 f (x) = 64
4 f (x) = 361
Suma 1170, średnia 293, maksimum 576
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
16 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przykład
Trzeci krok to reprodukcja. Nowe pokolenie stworzone będzie przez
4 krotne losowanie. Symulacja doboru naturalnego będzie
zrealizowana na zasadzie koła ruletki. Prawdopodobieństwo
wylosowania będzie uzależnione od osiągniętej funkcji oceny, im
wyższa tym większa szansa na wylosowanie.
Całe koło ruletki odpowiada sumie wartości przystosowania
wszystkich osobników.
Pojedynczy osobnik zajmuje proporcjonalną część koła w
zależności od jego funkcji przystosowania Φ(X ) = f (x)
Prawdopodobieństwo wylosowania osobnika X z jego
wartością przystosowania ΦX określa się wzorem
Φ(X )
Y ∈P t Φ(Y )
pr (X ) = P
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
17 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przykład
Wyliczone prawdopodobieństwo dla poszczególnych osobników
wynosi odpowiednio:
Procentowa zajętość koła ruletki
1 px = 0, 14
2 px = 0, 49
3 px = 0, 06
14%
31%
4 px = 0, 31
Oczekiwana liczba kopii wynosi:
49%
6%
1 0, 58
2 1, 92
pierwszy osobnik
drugi osobnik
trzeci osobnik
czwarty osobnik
3 0, 22
4 1, 23
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
18 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przykład
Załóżmy, że nowa populacja T t zosatła wylosowana w następujący
sposób:
Pierwszy osobnik 1 raz
Drugi osobnik 2 razy
Trzeci osobnik nie został wylosowany
Czwarty osobnik 1 raz.
Nowe pokolenie wyglądało by następująco:
1 01101
2 11000
3 11000
4 10011
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
19 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przykład
Wśród populacji T t losujemy pary, które będziemy krzyżować.
Załóżmy, że będą to osobniki 1 z 2 oraz 3 z 4.
Losowo wybieramy punkt krzyżowania w danej parze, np. 4 i 2.
1 0110|1
2 1100|0
3 11|000
0 1 0 1 1 0
0 1 0 0 1 1
1 0 0 0 1 1
1 0 0 1 1 0
4 10|011
Powstaje nam nowe pokolenie O t :
1 0110|0 x1 = 12 f (x1 ) = 144
2 1100|1 x2 = 25 f (x2 ) = 625
3 11|011 x3 = 27 f (x3 ) = 729
4 10|000 x4 = 16 f (x4 ) = 256
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
20 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Krótka charakterystyka
Nazewnictwo
Bazowy algorytm genetyczny
Przykład
Przykład
Dodatkowo można wprowadzić operator mutacji, który zmienia
dowolne wybrane losowo bity na przeciwne. Nowe pokolenie ma
następujące osiągi:
Suma 1754
Średnia 439
Maksimum 729
W przedstawionym przykładzie nowe pokolenie jest lepsze od
poprzedniego. Jak to się dzieje, że pewne fragmenty „cegiełki”
kodu mają pozytywny wpływ na ukierunkowanie AG a inne nie?
Trzeba zbadać te fragmenty.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
21 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Definicje
Pojęcie schematu (wzorca podobieństwa) wprowadzone zostało w
celu umożliwienia ściślejszej oceny wydajności algorytmów
genetycznych.
Jest to słowo w rozszerzonym alfabecie (dla kodowania binarnego)
V + = 0, 1, ∗ gdzie ∗ zastępuje każdy symbol alfabetu.
Schemat H to wzorzec opisujący podzbiór ciągów podobnych
ze względu na ustalone pozycje.
Dla alfabetu złożonego z k symboli istnieje (k + 1)l
schematów gdzie l to długość ciągu czyli dla dwójkowego 3l
Populacja złożona z n elementów może reprezentować od 2l
do co najwyżej n ∗ 2l schematów
Do każdego schematu pasuje dokładnie 2r ciągów binarnych,
gdzie r jest liczbą symboli uniwersalnych ∗ w szablonie
schematu.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
22 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Definicje
Schematy różnią się stopniem szczegółowości oraz „szerokości” aby
wyrazić liczbowo te dwie dane wprowadzono dwa pojęcia.
Rząd schematu H oznaczany przez o(H) jest to liczba
ustalonych pozycji, dla alfabetu dwójkowego po prostu liczba
zer i jedynek.
np. o(1 ∗ ∗0 ∗ ∗1) = 3, o(∗00 ∗ ∗∗) = 2.
Rozpiętość schematu H, δ(H) to największa odległość
pomiędzy dwoma pozycjami ustalonymi. W przypadku gdy
istnieje tylko jedna pozycja ustalona rozpiętość wynosi 0.
np. δ(∗1 ∗ ∗ ∗ ∗∗) = 0, δ(∗1 ∗ ∗0 ∗ 1 ∗ ∗) = 5, δ(10 ∗ ∗ ∗ ∗∗) = 1,
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
23 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Wpływ reprodukcji
Jaki wpływ ma reprodukcja na oczekiwaną liczbę reprezentantów
określonego schematu?
Załóżmy, że w chwili t w populacji P t znajduje się
m = m(H, t) reprezentantów danego schematu H
Prawdopodobieństwo replikacji ciągu podczas reprodukcji jest
zależne od funkcji przystosowania pi = Pfi f
j
Po wylosowaniu nowej populacji składającej się z n ciągów
P(H)
możemy oczekiwać E [m(H, t + 1)] = m(H, t) · n·f
f
j
reprezentantów schematu H.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
24 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Wpływ reprodukcji
Jeżeli f (H) określa średnie przystosowanie ciągów będących
reprezentantami schematu H w chwili t, a średnie przystosowanie
P fi
całej populacji zapiszemy jako f¯ =
n to poprzedni wzór można
zapisać jako:
f (H)
m(H, t + 1) = m(H, t) ¯
f
W następnym pokoleniu liczba reprezentantów danego schematu
zmienia się proporcjonalnie do stosunku średniego przystosowania
schematu i średniego przystosowania całej populacji. Czyli
schematy o przystosowaniu wyższym od średniej mają szanse na
zwiększenie liczebności reprezentantów w kolejnym pokoleniu a te
o niższym od średniej mają szanse mniejsze.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
25 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Wpływ reprodukcji - ocena ilościowa
Załóżmy, że pewien schemat H przewyższa średnią o wielkość c f¯,
gdzie c to stała. Wtedy poprzednie równanie można zapisać w
postaci:
m(H, t + 1) = m(H, t)
f¯ + c f¯
= (1 + c) · m(H, t)
f¯
Zaczynając obliczenia od chwili t = 0 i zakładając, że c nie zmienia
się w czasie, otrzymujemy zależność na liczebność w dowolnej
chwili t
m(H, t) = m(H, 0) · (1 + c)t
Jest to wzór identyczny z tym do obliczeń procentów składanych.
Schematy lepsze od przeciętnej są wybierane częściej a liczba ta
rośnie wykładniczo w czasie.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
26 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Wpływ krzyżowania
Operacja krzyżowania wymienia informację pomiędzy dwoma
ciągami kodowymi w sposób uporządkowany choć z dozą
losowości. Przy tej operacji schemat może zostać uszkodzony, gdy
cięcie wypadnie pomiędzy ustalonymi pozycjami.
Prawdopodobieństwo jest tym wyższe im schemat ma większą
rozpiętość δ. Szansa, że dany schemat przeżyje wyraża się wzorem
ps ­ 1 − pc ·
δ(H)
l −1
gdzie:
pc - prawdopodobieństwo krzyżowania, zwykle 1
l długość ciągu
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
27 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Wpływ krzyżowania
Łączny efekt, selekcji i krzyżowania na liczbę reprezentantów
danego schematu H w następnym pokoleniu można wyrazić
wzorem:
f (H)
δ(H)
m(H, t + 1) ­ m(H, t) ¯
1 − pc ·
l −1
f
Tym razem wpływ mają dwa parametry, stosunek przystosowania
schematu do średniej oraz od rozpiętości schematu.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
28 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Wpływ mutacji
Mutacja polega na losowej zmianie zawartości poszczególnych
pozycji z prawdopodobieństwem pm . Schemat zostanie uszkodzony
przez mutację, gdy jedna z jego ustalonej pozycji zmieni stan.
Prawdopodobieństwo zależy od liczby pozycji ustalonych w
schemacie czyli jego rzędu o(H) Pojedynczy allel przeżyje mutację
z prawdopodobieństwem 1 − pm a dany schemat z
prawdopodobieństwem (1 − pm )o(H) . Dla małych wartości
pm (pm << 1) prawdopodobieństwo przeżycia można
aproksymować jako 1 − o(H) · pm .
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
29 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Twierdzenie o schematach
Ostatecznie (zaniedbując składniki wyższego) rzędu liczba
reprezentantów schematu H w następnym pokoleniu , otrzymanym
w wyniku reprodukcji, krzyżowania i mutacji można wyrazić
następującą nierównością:
f (H)
δ(H)
− o(H)pm
m(H, t + 1) ­ m(H, t) ¯
1 − pc ·
l −1
f
”Wąskie, niskiego rzędu i dobrze przystosowane schematy
rozprzestrzeniają się w kolejnych pokoleniach zgodnie z
wykładniczym prawem wzrostu.” - jest to tzw. twierdzenie o
schematach lub podstawowe twierdzenie algorytmów genetycznych.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
30 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Przykład
W poprzednim przykładzie zasymulowany został jeden krok w
ewolucji. Przeanalizujmy zachowanie trzech schematów:
Po
Stan
Po
reprodukcji
początkowy
krzyżowaniu
H1 = 1 ∗ ∗ ∗ ∗
1 0110|1
1 01101
1 01100
H2 = ∗10 ∗ ∗
2 1100|0
2 11000
2 11001
H3 = 1 ∗ ∗ ∗ 0
3 01000
3 11|000
4 10|011
4 10011
Przykładowo ciągi 2 i 4 przed a 2,3 i 4 po reprodukcji są
reprezentantami schematu H1 .
Ciąg 2 przed, 2 i 3 po reprodukcji a 4 po krzyżowaniu są
reprezentantami schematu H3 .
Paweł Paduch
3 11011
4 10001
Obliczenia Naturalne - Algorytmy genetyczne
31 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Przykład
Ile powinniśmy uzyskać reprezentantów schematu H1 ?
Na podstawie twierdzenia o schematach możemy oczekiwać
m · f (H)
f¯
Średnie przystosowanie schematu f (H1 ) wynosi
576+361
= 468, 5
2
Średnie przystosowanie populacji f¯ = 293
Liczba reprezentantów w chwili t wynosi m(H1 , t) = 2
Podstawiając wszystko do wzoru
m(H1 , t + 1) = 2 · 468, 5/293 = 3, 20
Faktyczna liczba 3 potwierdza nasze obliczenia.
Krzyżowanie nie może zniszczyć tego schematu gdyż δ(H1 ) = 0, a
przy prawdopodobieństwie mutacji pm = 0, 001 możemy oczekiwać
zmian w m · pm = 3 · 0, 001 = 0, 003 bitów.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
32 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Przykład
W przypadku schematów H2 i H3 liczba oczekiwanych
reprezentantów po reprodukcji wynosi odpowiednio:
m(H2 , t + 1) = 2 · 320/293 = 2, 18
m(H3 , t + 1) = 1 · 576/293 = 1, 97
Faktycznie otrzymaliśmy po 2 reprezentantów.
W przypadku krzyżowania wąski schemat H2 ma dużo większe
szanse przetrwania niż, szeroki H3
m(H2 , t + 1) = 2, 18 · 0, 75 = 1, 64 (tylko 1 na 4 krzyżowania
mogą naruszyć schemat)
m(H3 , t + 1) = 1, 97 · 0 = 0 (każde krzyżowanie może
naruszyć schemat)
Faktycznie otrzymaliśmy 2 i 1.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
33 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Ukryta równoległość
Ile schematów bierze efektywny udział w przetwarzaniu?
Dotychczas stwierdziliśmy, że w przetwarzaniu populacji n ciągów
kodowych o długości l bierze udział od 2l do n · 2l schematów. Nie
wszystkie jednak mają dużą szansę na przetrwanie, gdyż operacja
krzyżowania niszczy schematy o dużej rozpiętości. Najczęściej
podaje się w literaturze oszacowanie podane przez Hollanda O(n3 ).
1
Oszacowanie to mówi, że w algorytmie genetycznym działającym
na n strukturach, w każdym pokoleniu ulega przetworzeniu około
n3 schematów. Holland nadał jej miano „Ukryta równoległość”.
1
Wyliczenia przedstawione są w książce Goldberga podanej w wykazie
literatury.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
34 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Definicje
Wpływ reprodukcji
Wpływ krzyżowania i mutacji
Przykład
Hipoteza cegiełek
Schematy dobrze przystosowane, niskiego rzędu i o małej
rozpiętości zwane cegiełkami, są nieustannie wybierane, zestawiane
i powielane, tworząc ciągi kodowe o potencjalnie wyższym
przystosowaniu.
Korzystając, tych charakterystycznych schematów, redukujemy
złożoność problemu. Nie sprawdzamy wszystkich możliwych
rozwiązań ale głównie te, które dają potencjalnie najlepsze
rozwiązania.
Hipoteza cegiełek znalazła doświadczalne potwierdzenie.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
35 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Przekształcenie funkcji celu
Funkcja celu rzadko kiedy jest dodatnia w swej dziedzinie, poza
tym często szukamy nie maksimum a minimum. Dlatego trzeba
dokonywać przekształcenia oryginalnej funkcji celu w funkcję
przystosowania.
(
f (x) =
Cmax − g (x),
0,
jeżeli g (x) < Cmax ,
w przeciwnym wypadku.
Współczynnik Cmax może być podawany na różne sposoby.
jako największa do tej pory napotkana wartość funkcji g ,
jako największa wartość g w bieżącej populacji,
jako największa wartość g w k ostatnich populacjach,
zależny od wariancji populacji.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
36 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Przekształcenie funkcji celu
Czasami funkcja użyteczności u(x) przyjmuje wartości ujemne,
należy wtedy przekształcić ją za pomocą poniższego wzoru
(
f (x) =
u(x) − Cmin ,
0,
jeżeli u(x) + Cmin > 0,
w przeciwnym wypadku.
Współczynnik Cmin może być podawany na różne sposoby.
jako moduł najmniejszej do tej pory napotkanej wartość
funkcji u,
jako moduł najmniejszej wartość u w bieżącej populacji,
jako moduł najmniejszej wartość u w k ostatnich populacjach,
zależny od wariancji populacji.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
37 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Skalowanie przystosowania
Algorytmy działające na małych populacjach często wymagają
dodatkowych regulacji w liczbach kopii. Np.:
Na początku występuje kilku ponadprzeciętnych osobników, a
cała reszta zalicza się do „średniaków”. Sytuacja taka
prowadzi bardzo szybko do przedwczesnej zbieżności.
Pod koniec, populacja zachowuje dużą różnorodność, ale
średni wskaźnik przystosowania niewiele odbiega od
maksymalnego. Osobniki przeciętne i najlepsze będą
otrzymywać prawie tę samą liczbę potomstwa.
Skalowanie przystosowania może rozwiązać oba te problemy.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
38 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Skalowanie liniowe
Jeżeli przez f oznaczymy przystosowanie pierwotne a f 0
przystosowanie po skalowaniu to możemy przekształcenie
skalowania zapisać jako:
f 0 = af + b
a i b można wybrać na wiele sposobów byleby średnie
0
przystosowanie po skalowaniu favg
było równe pierwotnemu
średniemu favg oraz by ustalona została maksymalna wartość na
poziomie określonej krotności (zwykle dwukrotność) średniego
przystosowania. Zapewni to że, w następnym pokoleniu średni
osobnik będzie miał średnio 1 potomka a najlepszy tyle ile wynosi
krotność.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
39 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Skalowanie
Średnią liczbę potomków najlepszego osobnika (według
pierwotnego przystosowania) można kontrolować za pomocą
poniższego warunku:
0
fmax
= Cmult · favg ,
gdzie Cmult to współczynnik zwielokrotnienia, jest żądaną liczbą
kopii. Dla małych populacji 50-100 osobników dobre efekty daje
Cmult pomiędzy 1,2 a 2,0. Współczynnik ten powoduje
„rozciągnięcie” funkcji przystosowania pod koniec przebiegu,
czasami przeskalowanie powoduje dla najgorszych osobników
0
nadanie wartości mniejszej od 0. Wtedy przyjmujemy że fmin
= 0.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
40 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Skalowanie σ obcinające
Przetworzenie pierwotnej funkcji przystosowania uwzględniające jej
wariancję w populacji. Przez σ oznaczamy odchylenie standardowe
funkcji przystosowania.
f 0 = f − (f¯ − cσ)
Krotność c dobiera się pomiędzy 1 a 3. Wszystkie wartość f 0 < 0
zostają wyzerowane.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
41 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Przekształcenie typu potęgowego
Gillies w 1985 roku zaproponował przekształcenie typu potęgowego
polegające na podniesieniu pierwotnej funkcji przystosowania do
potęgi k.
f0 =fk
Gilies stosował k = 1, 005 jednak wartość ta zależy od problemu i
może wymagać zmiany w kolejnych pokoleniach.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
42 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Nadawanie rang
Baker (1985) zrezygnował z procedur skalowania i zaproponował
selekcję według rang.
Sortujemy populację według wartości funkcji celu
Liczba kopii danego osobnika jest zależna jedynie od jego
rangi, czyli pozycji w posortowanej populacji.
Metoda Bakera wykazała tę samą odporność na tendencje do
nadmiernej i niedostatecznej reprodukcji, co normalne metody
selekcji połączone ze skalowaniem.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
43 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
Pytania
?
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
44 z 45
Wstęp
Algorytmy Genetyczne
Schematy
Przekształcenia funkcji celu
Odwrócenie i przesunięcie
Skalowanie
koniec
Dziękuję Państwu za uwagę.
Paweł Paduch
Obliczenia Naturalne - Algorytmy genetyczne
45 z 45

Podobne dokumenty