Bazy danych

Transkrypt

Bazy danych
2011-03-09
PLAN WYKŁADU
Operator krzyżowania
Operator mutacji
 Operator inwersji
 Sukcesja
 Przykłady symulacji AG
 Kodowanie - rodzaje


OPTYMALIZACJA GLOBALNA
Wykład 3
dr inż. Agnieszka Bołtuć
OPERATOR KRZYŻOWANIA
ETAPY KRZYŻOWANIA
Wymiana materiału genetycznego między dwoma
osobnikami,
 Postaje dwóch nowych potomków, którzy zastępują
rodziców,

Wybór par chromosomów z puli rodzicielskiej w
sposób losowy z prawdopodobieństwem
krzyżowania pc (najczęściej z przedziału 0.5..1),
jeśli pc =0.5 to 50% osobników ulegnie
krzyżowaniu,

Losowanie punktu (lub punktów) krzyżowania jako
liczby z przedziału 1..L-1, gdzie L - to liczba genów,

Utworzenie potomków poprzez wymianę części
genów,

PRZED
0010010
1101110
PO
0010110
1101010
1
2011-03-09
ETAPY KRZYŻOWANIA - IMPLEMENTACJA

Zakładamy pc,

Dla każdego chromosomu losujemy liczbę r z
przedziału <0,1>, krzyżowaniu ulegają tylko te
osobniki dla których r<pc,

Jeśli zostaje nam nieparzysta liczba osobników, to
jednego odrzucamy lub losowo dodajemy,

Łączymy losowo w pary i wymieniamy geny
względem losowo wybranego punktu krzyżowania.
RODZAJE KRZYŻOWANIA

Równomierne – gdy odbywa się zgodnie z
wylosowanym wzorcem, wzorzec decyduje które
geny potomek posiada od pierwszego z rodziców a
które od drugiego,
wzorzec 0101011101010
0 – z 1 rodzica, 1 – z 2 rodzica,
0111101101110
1000010010001
RODZAJE KRZYŻOWANIA
Rodzice
0010100101110
1101101101110
 Jednopunktowe
(3 gen)
0011101101110
1100100101110
 Dwupunktowe
(3,6 gen)
0011100101110
1100101101110
 Wielopunktowe
(3,6,9 gen)
0011100101110
1100101101110
OPERATOR MUTACJI
Mniej istotna rola w AG, wykazywano, że częstość
mutacji potrzebna do uzyskania dobrych wyników
to 1:1000 kopiowanych bitów,
 Zapobiega odrzuceniu potencjalnie dobrego
materiału (pozwala wyjść z minimów lokalnych),
 Dokonuje zmiany wartości genu na przeciwną (lub
losowo wybraną) zgodnie z prawdopodobieństwem
mutacji pm (z przedziału 0..0.1),
 Implementacja: dla każdego genu losowana jest
liczba r z przedziału <0,1> i mutowane są te geny
dla których r<pm.

2
2011-03-09
OPERATOR INWERSJI
Kolejna technika (obok krzyżowania i mutacji)
mająca na celu wprowadzenie rozróżnień między
rodzicami a następnym pokoleniem,
 Działa przeciwko wstrzymującemu przeszukiwanie
brakowi różnorodności,
 Polega najczęściej na przecięciu chromosomu w
dwóch losowo wybranych miejscach, odwrócenie
kolejności genów pomiędzy wybranymi genami,
ponowne połączenie ciągu bitowego,

SUKCESJA

Tworzenie nowej populacji bazowej dla której
powtarzany jest cały cykl algorytmu genetycznego,

Najczęściej stosowaną i jednocześnie najbardziej
trywialną metodą jest tzw. metoda klasyczna, w
której nową populację bazową tworzą wyłącznie
osobniki wchodzące w skład populacji uzyskanej w
wyniku działania operatorów genetycznych.
Nazywana jest sukcesją z całkowitym
zastępowaniem.
001100111010
001101110010
SUKCESJA - RODZAJE
SUKCESJA - RODZAJE
Inną metodą sukcesji jest tzw. metoda z
częściową wymianą (zastępowaniem). W
metodzie tej nową populację bazową tworzą
osobniki z populacji potomnej, jak i ze starej
populacji bazowej.
 Można założyć, że nowa populacja bazowa będzie
się składać z rn osobników znajdujących się w
populacji potomnej, gdzie r jest współczynnikiem
wymiany i przyjmuje wartości 0 < r < 1. Część
osobników starej populacji bazowej należy więc
usunąć, aby zrobić miejsce dla potomstwa.
Warianty mechanizmu usuwania osobników:


usuwanie najgorzej przystosowanych osobników –
sukcesja elitarna,

usuwanie osobników najbardziej „podobnych" do
potomnych - metoda ze ściskiem (miarą
podobieństwa może być np. odległość
chromosomów), aby populacja była różnorodna,

usuwanie losowo wybranych osobników.
3
2011-03-09
SUKCESJA - CECHY
SUKCESJA ELITARNA
Sukcesja z częściowym zastępowaniem prowadzi
do stabilniejszej pracy algorytmu ewolucyjnego,
szybszej zbieżności, jednakże może nieco
zwiększyć tendencję do osiadania w maksimach
lokalnych funkcji przystosowania.
 Najczęściej stosowanym przypadkiem szczególnym
jest sukcesja elitarna, nieco mniej popularna jest
metoda ze ściskiem. Usuwanie losowo wybranych
osobników jest bardzo rzadko stosowane,
 Wadą sukcesji klasycznej jest to, że nowa
populacja bazowa może zawierać osobniki gorsze
niż populacja bieżąca (której najlepsze osobniki
mogą zostać wyeliminowane w wyniku działania
operatorów genetycznych).


PRZYKŁAD SYMULACJI NR 1 –
WG. MICHALEWICZA
f ( x)
Zachowywane są najlepsze chromosomy,
przynajmniej jeden najlepszy,
 Przechodzą one bez zmian do nowej populacji.

Wady:
popadanie w maksima lokalne, można zapobiec
zwiększając zasięg mutacji, skala osiadania w
minimach jest zależna od wielkości elity,


Zalety:
nie gubi się najcenniejszych osobników, poprawa
zbieżności.

ETAPY ALGORYTMU PRZYKŁADOWEGO
x sin( 10 x) 1.0

Reprezentacja
 dokładność rozwiązania – 6 miejsc po przecinku
 dla przedziału zmiennośći<-1,2> chromosom
musi mieć 22 bity
 np. 1000101110110101000111
0.637197

Parametry
 rozmiar populacji =50
 prawdopodobieństwo krzyżowania, pc=0.25
 prawdopodobieństwo mutacji, pm =0.01
Poszukujemy x z przedziału <-1,2> maksymalizującego
funkcję f(x).
x=1.85
f(x)=2.85
źródło: Z. Michalewicz
4
2011-03-09
ETAPY ALGORYTMU PRZYKŁADOWEGO

Wyniki obliczeń (150 pokolenie)
Pokolenie
Funkcja
przystosowania
1
1.441942
6
2.250003
8
2.250283
9
2.250284
10
2.250363
12
2.328077
39
2.344251
40
2.345087
51
2.738930
99
2.849246
137
2.850217
145
2.850227
PRZYKŁAD SYMULACJI NR 2 –
WG. MICHALEWICZA

Maksymalizujemy funkcję
f ( x, y )
21.5 x sin( 4 x)
y sin( 20 y )
przy ograniczeniach
vmax = 1111001101000100000101
xmax = 1.850773
f(xmax) = 2.85022729171
3 x 12.1
4 .1 y 5 .8
źródło: Z. Michalewicz
ETAPY ALGORYTMU PRZYKŁADOWEGO
ETAPY ALGORYTMU PRZYKŁADOWEGO
Parametry
 rozmiar populacji =20
 prawdopodobieństwo krzyżowania, pc=0.25
 prawdopodobieństwo mutacji, pm =0.01
 Reprezentacja
 dokładność rozwiązania – 4 miejsca po
przecinku
 dla przedziału zmiennośći<-3,12.1> chromosom
musi mieć 18 bitów
 dla przedziału zmiennośći<4.1,5.8> chromosom
musi mieć 15 bitów
 łącznie 33 bity


Populacja początkowa
przykładowe osobniki
v1=100110100000001111111010011011111
v2=111000100100110111001010100011010
v15=111011101101110000100011111011110
najgorszy
najlepszy
f(v1)=f(6.084492,5.652242)=26.019600
f(v2)=f(10.348434,4.380264)=7.580015
f(v15)=f(11.089025,5.054515)=30.060205
całkowite dopasowanie populacji= 387.776822
5
2011-03-09
ETAPY ALGORYTMU PRZYKŁADOWEGO
ETAPY ALGORYTMU PRZYKŁADOWEGO

Populacja po selekcji
v11,v4,v7,v11,v19,v4,v15,v5,v11,v3,v15,v9,v6,v8,v20,
v1,v10,v13,v15,v16
 Osobniki do krzyżowania
v2,v11,
v13,v18
poz=9
poz=20
 Mutacja
33*20=660
czyli średnio 6.6 bita ulegnie mutacji
Mutacji uległo 5 bitów: 13 bit w 4 chromosomie, 19 bit
w 11 chromosomie, 22 i 33 bit w 13 chromosomie, 8
bit w 19 chromosomie

RODZAJE KODOWANIA ROZWIĄZAŃ
KOD GRAY’A
Binarne
Kod Graya
 Logarytmiczne
 Rzeczywiste
 Całkowitoliczbowe


Wyniki po 1 iteracji
całkowite dopasowanie populacji=447.049688
najlepszy osobnik
v11=111011101101101001011000001110010
f(v11)=f(11.088621,4.743434)=33.351874
 Wyniki po 1000 iteracji
całkowite dopasowanie populacji=524.122254
najlepszy osobnik
v11=110101100000010010001100010110000
f(v11)=f(9.623693,4.427881)=35.477938
Naturalny kod binarny
Kod Gray’a
000
000
001
001
010
011
011
010
100
110
101
111
110
101
111
100
Charakteryzuje się tym, że dwa kolejne słowa
kodowe różnią się tylko stanem jednego bitu.
6
2011-03-09
KOD GRAY’A
KOD GRAY’A

Przykład generacji kodu Gray’a (dla dwóch bitów)
Rozszerzanie kodu Graya o 1 bit przeprowadza się
wg następującego algorytmu:
kod 1-bitowy
0
1
dopisujemy te same słowa kodowe, ale w
odwrotnej kolejności (odbicie lustrzane),
 do początkowych wyrazów dopisujemy bit o
wartości zero, natomiast do odbitych lustrzanie bit o
wartości 1.

KOD GRAY’A

00
01
11
10
dopisanie zer i
jedynek
0
1
1
0
00
01
11
10
0
1
2
3
PRZEKSZTAŁCENIE BIN -> GRAY
Przykład generacji kodu Gray’a (dla trzech bitów)
kod 1-bitowy
odbicie
lustrzane
odbicie
lustrzane
dopisanie zer i
jedynek
00
01
11
10
10
11
01
00
000
001
011
010
110
111
101
100
0
1
2
3
4
5
6
7
Liczbę naturalną binarną przesuwamy o 1 bit w
prawo i uzupełniamy 0,
 Dokonujemy operacji XOR na wejściowym i
przesuniętym ciągu,

XOR
0
0
0
0
1
1
1
0
1
1
1
0
7
13
111
011
100
1101
0110
1011
7
2011-03-09
PRZEKSZTAŁCENIE GRAY -> BIN
KODOWANIE LOGARYTMICZNE
przyjmujemy pierwszą (najbardziej znaczącą) cyfrę
kodu naturalnego równą pierwszej cyfrze kodu
Graya,
 każdą kolejną cyfrę oblicz jako różnicę symetryczną
(XOR) odpowiedniej cyfry kodu Graya i poprzednio
wyznaczonej cyfry kodu naturalnego.


7
100
111
[ bin] ( 1) e(
13
1011
1101

[10110]= ( 1) e

[01010]= ( 1)1 e(
1)0 [ 010]10
e
6
e2
1) [bin]10
[bin ]10 - wartość dziesiętna zakodowanego ciągu
KODOWANIE LOGARYTMICZNE
0 ( 1)1[110]10
Stosowane w celu zmniejszenia długości
chromosomu, do problemów z wieloma
parametrami, o dużych przestrzeniach poszukiwań,
0.002478
KODOWANIE RZECZYWISTE

chromosom kodowany jest jako wektor o tej samej
długości co wektor rozwiązań,

geny są liczbami rzeczywistymi z danej dziedziny,

w wielowymiarowych zadaniach wymagających
dużej dokładności długość chromosomu może być
bardzo duża, co może powodować słabe działanie
algorytmu genetycznego.
7.389
Za pomocą 5 bitów można zakodować wartości
od -e7 do e7 (~-1096 do ~1096)
8
2011-03-09
ZALETY KODOWANIE RZECZYWISTEGO
W YKŁAD PRZYGOTOWANO NA PODSTAWIE
kodowanie rzeczywiste jest bardziej naturalne w
przypadku większości rozwiązywanych problemów,
 przy kodowaniu rzeczywistym można osiągnąć
bardziej dokładne wyniki niż przy kodowaniu
binarnym,
 zastosowanie kodowania rzeczywistego pozwala
objąć duże i/lub nieznane dziedziny poszukiwań,
 przy kodowaniu rzeczywistym łatwiej jest
uwzględnić nietrywialne ograniczenia niż przy
kodowaniu binarnym.


J. Arabas „Wykłady z algorytmów ewolucyjnych”,
WNT, 2001.
 Z. Michalewicz „Algorytmy genetyczne + struktury
danych = programy ewolucyjne”, WNT, 1992.
 D. E. Goldberg „ Algorytmy genetyczne i ich
zastosowania”, WNT, 1998.
9