6 na stronę - Stefan Brock

Transkrypt

6 na stronę - Stefan Brock
Soft computing
Soft computing tym róŜni się od klasycznych
obliczeń (hard computing), Ŝe jest odporny
na brak precyzji i niepewność danych
wejściowych.
Obliczenia „soft computing” mają inspiracje
ze świata fizycznego, biologicznego.
Terminy genetyczne i ich odpowiedniki
w algorytmach genetycznych
• chromosom
• gen
• allel
• locus
• genotyp
• fenotyp
- ciag kodowy
- znak
- wariant znaku
- pozycja
- struktura
- punkt, rozwiazanie
Kodowanie rzeczywiste lub binarne:
Kodowanie binarne (klasyczne)
Zmienne kodowane sa na n bitach , co odpowiada
zmiennosci od wartosci minimalnej do maksymalnej:
-5 < x < 10,
kodowanie naturalne na 8 bitach 256 roznych stanów
-5 0 0 0 0 0 0 0 0
10 1 1 1 1 1 1 1 1
Inspiracje „soft computing”
• Algorytmy genetyczne i ewolucyjne obserwacja zasad doboru naturalnego
• Symulowane wyŜarzanie - inspirowane
procesem metalurgicznym
• Sztuczne sieci neuronowe - analogicznie do
działania biologicznych sieci neuronowych
• Obliczenia rozmyte (fuzzy logic) odwzorowanie sposobu analizy problemów
przez człowieka
Elementarny algorytm genetyczny
0. Kodowanie
1. Inicjalizacja
2. Reprodukcja
3. Krzyzowanie
4. Mutacja
5. Ocena warunku zakonczenia
Inicjalizacja
Losowy dobór osobników, rozrzuconych w
calej przestrzeni poszukiwan.
Dobierana jest wielkość populacji (ilość
osobników)
kwant zmian zmiennej x : (10-(-5))/256 = 0.059
1
Reprodukcja
Indywidualne ciagi kodowe (osobniki) zostaja
powielone w stosunku zaleznym od wartosci,
jakie przybiera dla nich funkcja
przystosowania.
Osobniki lepiej przystosowane maja wieksze
szanse wprowadzenia potomków do kolejnego
pokolenia.
Zasada doboru naturalnego: wygrywa najlepszy
Realizacje algorytmiczne wyboru koło ruletki
Sektor proporcjonalny do przystosowania,
wybór losowy z kola ruletki
75
50%
50
0
13%
25%
12%
25
Realizacje algorytmiczne wyboru metoda turniejowa
Losowy dobór par (konkurentów),
- wygrywa lepszy.
Wybrane osobniki tworza pokolenie posrednie
- pule rodzicielska.
(Osobniki najlepsze wystepuje wielokrotnie)
Krzyzowanie
Krzyzowanie dwupunktowe:
Losowane jest miejsce podzialu i wymianie
podlega czesc ciagu kodowego do miejsca
podzialu
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
I
I
0 0 1 1 1 1 1 0
1 1 0 0 0 0 0 1
Krzyzowanie
Losowo dobierane pary rodzicielskie wymieniaja sie
(z okreslonym prawdopodobienstwem) czescia genów
Krzyzowanie jednopunktowe:
Losowane jest miejsce podzialu i wymianie
podlega czesc ciagu kodowego do miejsca podzialu
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
I - punkt podziału
0 0 1 1 1 1 1 1
1 1 0 0 0 0 0 0
Mutacja
Losowa wymiana genów dla niektórych
osobników:
1 0 1 0 1 0 1 0
|
1 0 1 1 1 0 1 0
Mutacja ma role drugorzedna. Krzyzowanie
skutecznie sonduje cala przestrzen
poszukiwan.
Polisa ubezpieczeniowa, na wypadek utraty
waznych skladników rozwiazan
2
Cechy charakterystyczne
algorytmów genetycznych
1. Operuja na ciagach kodowych,
przedstawiajacych zakodowana postac zadania.
2. Prowadza przeszukiwanie wychodzac nie z
pojedynczego punktu lecz z populacji
3. Korzystaja tylko z funkcji celu a nie z jej
pochodnych lub innych informacji
4. Losowe metody wyboru.
Przyklad : - ciagi o dlugosci 5.
Ciag odpowiada schematowi, jezeli na kazdej
pozycji:
1  1
0  0
„ * „ 0 lub 1
Schemat * * * * * spelniaja wszystkie
ciagi kodowe, a schemat: * 0 0 1 1
spelniaja 0 0 0 1 1
oraz 1 0 0 1 1
Rzad schematu H o(H) - liczba ustalonych
pozycji ( 0 lub 1)
Rozpietosc schematu H d(H) - odleglosc
miedzy skrajnymi pozycjami ustalonymi
H=0****
H=0*1*0
H=*010*
o(H) = 1
o(H) = 3
o(H) = 3
d(H) = 0
d(H) = 4;
d(H) = 2;
Podstawy matematyczne algorytmów
genetycznych
Podobienstwo miedzy ciagami kodowymi schematy.
Alfabet dwójkowy z dodatkowym znakiem
„uniwersalnym” : 0 1 *
„ * ” zastepuje 0 lub 1.
Dla 5 elementowych ciagów istnieje 3^5 = 243
schematów, ale tylko
2^5 = 32 rózne ciagi kodowe.
Kazdy ciag kodowy reprezentuje 2^5 = 32 schematy.
Stad w kazdej populacji reprezentowane jest
od 32 do n * 32 schematów.
Schemat pozostaje niezmieniony jezeli operator
krzyzowania nie przecina go.
Wplyw reprodukcji na schematy
Schematy lepsze od przecietnych rozpowszechniaja sie, a
schematy gorsze zanikaja.
m( H, t) = m(H, t-1) * (1+c)
c>0 dla schematów lepszych od przeciętej
c<0 dla schematów gorszych od przeciętej
Podstawowe twierdzenie algorytmów genetycznych o
schematach:
Waskie, niskiego rzedu i dobrze przystosowane
schematy rozprzestrzeniaja sie w kolejnych
pokoleniach zgodnie z wykladniczym prawem
wzrostu
3
Na krzyzowanie wrazliwe sa schematy o duzej rozpietosci.
Prawdopodobienstwo przezycia schematu H:
ps > 1 - pc * d(H) / L-1
Oszacowanie liczby efektywnie
przetwarzanych schematów
O(n^3)
Prawdopodobienstwo przezycia mutacji przez schemat H
ps > 1 - pm * o(H)
Lacznie wszystkie operatory genetyczne powoduja ze:
W algorytmie dzialajacym na n ciagach
kodowych przetwarzaniu podlega okolo
n^3 schematów.
m( H, t+1) =
=m (H, t ) * f(H) /f_sr * ( 1 - pc * d(H) / (L-1) - pm * o(H) )
Hipoteza cegielek
Algorytm genetyczny dazy do osiagniecia rezultatu
bliskiego optimum poprzez zestawianie dobrych
schematów (o przystosowaniu powyzej sredniej)
malego rzedu i malej rozpietosci. Sa to tak zwane
bloki budujace (cegielki).
Wniosek: kodowanie winno spelniac koncepcje
cegielek
Selekcja chromosomów
Metoda ruletki: Laczne przystosowanie
wszystkich chromosomów:
f(ch1)+ ... f(ch8) = 46 100%
Przystosowanie poszczególnych chromosomów:
v(1) = 15.2 %
v(5) = 8.7 %
v(2) = 13.0 %
v(6) = 10.9 %
v(3) = 17.4%
v(7) = 17.4 %
v(4) = 6.5%
v(8) = 10.9 %
Zjawisko ukrytej równoleglosci
Przyklad dzialania
Wybranie ciagu kodowego o mozliwie duzej ilosci jedynek
Ciagi kodowe maja dlugosc L=12 a populacja liczy n=8
osobników
ch1
ch2
ch3
ch4
ch5
ch6
ch7
ch8
=
=
=
=
=
=
=
=
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
f(ch1)
f(ch2)
f(ch3)
f(ch4)
f(ch5)
f(ch6)
f(ch7)
f(ch8)
=
=
=
=
=
=
=
=
7
6
8
3
4
5
8
5
Losowanie metoda ruletki
Wylosowano liczby z koła ruletki:
79 44 9
74 44 86 48 23
Co oznacza wybór chromosomów:
ch7 ch3 ch1 ch7 ch3 ch7 ch4 ch2
Wybrane chromosomy tworza pule
rodzicielska.
4
Przyjeto: pc = 1 oraz pm = 0 (brak mutacji)
Losowo dobrano pary rodziców i punkty krzyzowania:
ch2 i ch7 z punktem krzyzowaniaLk = 4
ch1 i ch7 ---------------------Lk = 3
ch3 i ch4 ---------------------Lk = 11
ch3 i ch7 ---------------------Lk = 5
Proces krzyzowania:
ch2 = 0 0 1 1 0 0 1 1 1 0 1 0
ch7 = 1 0 1 0 1 1 0 1 1 0 1 1
I
Ch1 = 0 0 1 1 1 1 0 1 1 0 1 1
Ch2 = 1 0 1 0 0 0 1 1 1 0 1 0
Ch1 = 0 0 1 1 1 1 0 1 1 0 1 1
Ch2 = 1 0 1 0 0 0 1 1 1 0 1 0
Ch3 = 1 1 1 0 1 1 0 1 1 0 1 1
Ch4 = 1 0 1 0 0 1 1 0 0 1 0 1
Ch7 = 0 1 1 1 0 1 0 1 1 0 1 1
Ch8 = 1 0 1 0 1 1 1 1 0 0 1 1
f(Ch1) = 8
f(Ch2) = 6
Ch1
Ch2
Ch3
Ch4
Ch5
Ch6
Ch7
Ch8
1
0
0
0
0
0
1
0
=
=
=
=
=
=
=
=
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
f(Ch7) = 8
f(Ch8) = 8
Powstał chromosom o funkcji przystosowania lepszej niŜ w
pokoleniu poprzednim
Schemat H = * * * * * * * * * * 1 1
rozpietosc d(H) = 1 rzad o(H) = 2
=
=
=
=
=
=
=
=
f(Ch3) = 9
f(Ch4) = 6
Ch5 = 0 1 1 1 0 1 1 1 0 0 1 0 f(Ch5) = 7
Ch6 = 0 0 1 0 0 0 1 0 1 0 0 1 f(Ch6) = 4
Proces przetwarzania schematu
ch1
ch2
ch3
ch4
ch5
ch6
ch7
ch8
f(Ch1) = 8
f(Ch2) = 6
f(ch1)
f(ch2)
f(ch3)
f(ch4)
f(ch5)
f(ch6)
f(ch7)
f(ch8)
f(Ch1)
f(Ch2)
f(Ch3)
f(Ch4)
f(Ch5)
f(Ch6)
f(Ch7)
f(Ch8)
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
7
6
8
3
4
5
8
5
m( H, t+1) =
= m (H, t ) * f(H) /f_sr * ( 1 - pc * d(H) / (L-1) - pm * o(H) )
f(H) - srednie przystosowanie chromosomów
spelniajacych schemat.
f(H) = 8;
f_sr - srednie przystosowanie wszystkich chromosomów
f_sr = 5.75
pc =1 pm = 0
M(H, 1) > =2 * 8/5.75 * ( 1 - 1/12) = 2.55
M(H, 1) =4
8
6
9
6
7
4
8
8
5