Algorytmika - wykªad 11 Algorytmy Ewolucyjne.
dr Anna Sasak-Oko«
Uniwersytet Marii Curie-Skªodowskiej w Lublinie
13.01.2020
D¡»¡c do znalezienia rozwi¡za« optymalnych dla postawionych problemów mo»na wykorzysta¢:
Metody analityczne dziaªaj¡ lokalnie i s¡ oparte o optymalizacj¦
gradientow¡. (tzn. wykorzystuj¡ rownie» pochodne pierwszego i/lub drugiego rz¦du funkcji celu).
po±rednie poszukuj¡ lokalnych ekstremów funkcji rozwi¡zuj¡c ukªad równa« (zwykle nieliniowych), otrzymany na skutek przyrównania gradientu funkcji celu do 0. bezpo±rednie
poszukuj¡ lokalnego optimum przez 'skakanie' po wykresie funkcji w kierunku spadku gradientu
Metody przegl¡dowe przeszukuj¡ przestrze« rozwi¡za« po kolei, lecz w zwi¡zku z tym, i» taka przestrze« mo»e by¢ bardzo du»a lub niesko«czona, metoda jest raczej rzadko stosowana jako
nieefektywna lub niewykonalna w rozs¡dnym czasie
Metody losowe przeszukuj¡ przestrze« rozwi¡za« losowo i zapami¦tuj¡ najlepsze rozwi¡zanie, lecz w du»e przestrzeni rzadko s¡ w stanie 'tra¢' w rpzwi¡zanie optymalne, mog¡ natomiast wspiera¢ poszukiwanie takiego rozwi¡zania.
Algorytmy ewolucyjne s¡ rodzajem metod losowych
wykorzystuj¡cych wiedz¦ o wcze±niejszych wynikch poszukwa« o okre±lonej jako±ci do wyznaczania potencjalnych nowych miejsc, w których mog¡ by¢ rozwi¡zania lepszej jako±ci
Algorytmy ewolucyjne to nazwa ogólna, obejmuj¡ca takie metody szczegóªowe jak:
algorytmy genetyczne
programowanie genetyczne
strategie ewolucyjne
Ich cech¡ wspóln¡ jest wykorzystanie schematu dziaªania wzorowanego na teorii doboru naturalnego i ewolucji.
Istot¡ ewolucji jest poª¡czenie zjawiska losowych
(nieukierunkowanych) zmian genotypu ze ±cisle ukierunkowan¡
presj¡ ±rodowiska na fenotyp
Gªówne pole zastosowa« metod ewolucyjnych to problemy optymalizacji.
Programowanie genetyczne
zautomatyzowana metoda maj¡ca na celu tworzenie programów komputerowych w oparciu o ogóln¡ denicj¦ problemu. t.j. w oparciu o wysokopoziomow¡ denicj¦ mówi¡c¡ co ma by¢ zrobione, automatycznie stworzy¢ program, który owo zagadnienie rozwi¡»e.
Osobnik jest drzewem reprezentuj¡cym program komputerowy.
Mutacja osobnika kodowanego drzewem mo»e by¢ przeprowadzona w nast¦puj¡cych trzech odmianach poprzez:
zmian¦ poddrzewa
zmian¦ w¦zªa po±redniego
zmian¦ w¦zªa terminalnego
reorganizacj¦ drzewa
LISP - najbardziej powszechny j¦zyk programowania do implementacji programowania genetycznego.
Algorytmy ewolucyjne nie gwarantuj¡ znalezienia optimum globalnego, jednak generalnie zapewniaj¡ znalezienie rozwi¡zania wystarczaj¡co dobrego w akceptowalnym przedziale czasu.
St¡d gªównym zastosowaniem tych algorytmów powinny by¢
problemy, dla których nie istniej¡ techniki specjalizowane. Nawet je±li techniki takie istniej¡, mo»na osi¡gn¡¢ popraw¦ ich dziaªania poprzez ich poª¡czenie z algorytmami ewolucyjnymi.
Ewolucja Darwinowska survival of the ttest
Ka»de ±rodowisko ma ograniczone zasoby (mo»e utrzyma¢
ograniczon¡ liczb¦ osobników)
Osobniki »yj¡ce w ±rodowisku rozmna»aj¡ si¦. → konieczna jest forma selekcji
Osobniki, które najlepiej rywalizuj¡ o zasoby (najlepiej przystosowane) maj¡ najwieksz¡ szans¦ na rozmnozenie si¦
U potomstwa wyst¦puj¡ niewielkie losowe zmiany (mutacja), które mog¡ prowadzi¢ do powstania osobników lepiej
dopasowanych do ±rodowiska
W wyniku zmian mog¡ powsta¢ osobniki sªabo dopasowane do
±rodowiska → maªe szanse na prze»ycie i potomstwo Wraz z upªywem czasu dobór naturalny sprawia, »e przystosowanie osobników w populacji ro±nie
Algorytmy Ewolucyjne (EA)
S¡ procedurami heurytycznego przeszukiwania opartymi na mechanizmach doboru naturalnego i dziedziczenia, wykorzystuj¡c zasad¦ prze»ycia osobników najlepiej przystosowanych.
Od klasycznych metod odró»nia je kilka istotnych cech:
nie przetwarzaj¡ bezpo±rednio parametrów zadania lecz ich zakodowan¡ posta¢
nie wychodz¡ z pojedynczego punktu, lecz wykorzystuj¡ pewn¡
ich populacj¦ (zwykle liczn¡)
nie korzystaj¡ z pochodnych ani innych informacji pomocniczych, lecz z funkcji celu/przystosowania
nie stosuj¡ reguª deterministycznych lecz probabilistyczne
Algorytm Ewolucyjny
Algorytm ewolucyjny przetwarza populacj¦ osobników, z których ka»dy jest propozycj¡ rozwi¡zania postawionego problemu. Dziaªa on w ±rodowisku, które mo»na zdeniowa¢ na podstawie problemu rozwi¡zywanego przez algorytm.
W ±rodowisku ka»demu osobnikowi jest przyporz¡dkowana warto±¢
liczbowa, okre±laj¡ca jako±¢ reprezentowanego przez niego rozwi¡zania przystosowanie osobnika.
Ka»dy osobnik jest wyposa»ony w informacj¦ stanowi¡c¡ jego genotyp, b¦d¡cy przepisem na utworzenie fenotypu zestawu cech okre±lanych przez genotyp, podlegaj¡cych ocenie ±rodowiska.
Mówi si¦ o kodowaniu fenotypu przez genotyp.
FENOTYP punkt w przestrzeni rozwi¡za«
GENOTYP punkt w przestrzeni kodów
rodowisko mo»na opisa¢ funkcj¡ przystosowania, za pomoc¡
której osobnikowi przypisuje si¦ przystosowanie na podstawie jego fenotypu. Mo»e ona by¢ stacjonarna lub zmienna w czasie, mo»e te» zawiera¢ element losowo±ci. Funkcja przystosowania jest okre±lona dla genotypów.
Genotyp osobnika skªada si¦ z chromosomów (na ogóª jeden osobnik to jeden chromosom). Ka»dy z chromosomów skªada si¦ z elementarnych jednostek zwanych genami. Dziaªanie algorytmu ewolucyjnego sprowadza si¦ do wykonania p¦tli, w której wyst¦puj¡
po sobie: reprodukcja, operacje genetyczne, ocena i sukcesja
Algorytm genetyczny a Strategia Ewolucyjna
Podobie«stwa: inicjacja czyli wybór pocz¡tkowej populacji potencjalnych rozwi¡za«, proces selekcji osobników, które przetworzone prowadz¡ do uzyskania optymalnych lub suboptymalnych rozwi¡za«
Ró»nice:
sposób reprezentacji populacji osobników (GA) wektory binarne, (ES) wektory liczb zmiennoprzecinkowych
proces selekcji (GA)wybór losowy z populacji rodzicielskiej osobników najlepiej przystosowanych z mo»liwo±ci¡ powtórze« i wyboru osobnika sªabo przystosowanego, (ES)deterministyczna procedura selekcji. Utworzona zostaje populacja tymczasowa. Nowa generacja osobników zawiera osobniki populacji tymczasowej i najlepsze osobniki populacji pocz¡tkowej wybierane bez powtórze«.
kolejno±¢ procedur (GA)selekcja a nast¦pnie zastosowanie z odpowiednim prawdopodobie«stwem operatorów genetycznych (krzyzowanie, mutacja), (ES) rekombincja a nast¦pnie procedura selekcji
parametry algorytmu (GA) staªe pod wzgl¦dem przyj¦tych warto±ci, (ES) wynikaj¡ z procesu adaptacji.
Strategia Ewolucyjna - SCHEMAT DZIAANIA
1. Utwórz losow¡ populacj¦ zªo»on¡ z N osobników.
2. Wygeneruj M osobników potomnych dla losowo wybranych osobników poprzedniego pokolenia z zastosowaniem mutacji i krzy»owania.
3. Spo±ród M+N osobników wybierz N najlepszych wzgl¦dem funkcji dopasowania nast¦pne pokolenie.
4.Wró¢ do punktu 2.
Algorytm Genetyczny - SCHEMAT DZIAANIA
1. Inicjacja p¦tli ewolucji utworzenie poprzez wybór lub wylosowanie populacji bazowej z opcjonalnym uwzgl¦dnieniem wpªywu ±rodowiska, zªo»onej z osobników reprezentowanych przez ci¡gi binarne okre±lonej dªugo±ci
2. Ocena przystosowania osobników na podstawie obliczonej funkcji przystosowania
3. Sprawdzenie warunku zatrzymania na podstawie jako±ci przystosowania najlepszego osobnika w populacji lub stwierdzenia stagnacji algorytmu (t.j. brak generowania lepiej przystosowanych chromosomów w kolejnych pokoleniach)
4.Selekcja - populacja poddawana jest ocenie, najlepiej
przystosowane osobniki maj¡ najwi¦ksze szanse wylosowania (np.
metoda koªa ruletki) do grupy rodziców, którzy wezm¡ udziaª w rekombinacji genów
5. Zasosowanie operatorów genetycznych
krzy»owanie proces rekombinacji genów, prowadz¡cy do powstania nowych chromosomów(potomków) w wyniku wymiany fragmentów chromosomów rodziców
mutacja proces zmiany pojedynczego genu w chromosomie (0 na 1 lub odwrotnie), wyst¦puje na ogóª z bardzo maªym
prawdopodobie«stwem np 0,01
6. Selekcja prze»ywaj¡cych osobników i utworzenie populacji potomnej. Powrót do punktu 2.
Uwaga: Premiowanie osobników lepiej przystosowanych ale z wprowadzonym mechanizmem losowo±ci, umo»liwia (z odpowiednio maªym prawdopodobie«stwem) reprodukcj¦ osobników sªabo przystosowanych. Ten mechanizm dopuszczaj¡cy pogorszenie populacji bazowej w kolejnej generacji, umo»liwia wyj±cie z puªapek ewolucyjnych czyli sytuacji gdy niewielkie zmiany fenotypu
prowadz¡ do pogorszenia uzyskanego rozwiazania.
Kryteria zatrzymania
Po zadanej z góry liczbie iteracji. Lepsze kryterium,
niewra»liwe na rozmiar populacji zatrzymanie po zadanej z góry liczbie oblicze« funkcji dopasowania.
Po osi¡gni¦ciu zadanej warto±ci funkcji dopasowania (ale cz¦sto nie znamy optymalnej warto±ci tej funkcji)
Gdy najlepsza warto±¢ dopasowania w populacji nie ulega ulepszeniu przez pewn¡, zadan¡ liczb¦ generacji
Po przekroczeniu maksymalnego wykorzystanego czasu pracy procesora
Gdy ró»norodno±¢ osobników w populacji, mierzona np. przez entropi¦, spadnie poni»ej pewnego progu
Schematy
Teoria schematów stanowi formaln¡ analiz¦ dziaªania algorytmów genetycznych, jej twórc¡ jest J.H. Holland.
Poj¦cie schematu zostaªo wprowadzone w celu okre±lenia zbioru chromosomów o pewnych wspólnych cechach, podobie«stwach.
Schematem jest dowolne sªowo nad alfabetem V = {0, 1, ∗}, gdzie
* jest symbolem uniwersalnym oznaczaj¡cym dowolny znak.
inaczej: jest to wzorzec opisuj¡cy podzbiór ci¡gów podobnych ze wzgl¦du na ustalone pozycje.
np. 010*1, *110*, *****, 10101,...
Chromosom nale»y do schematu, je»eli dla ka»dej pozycji (locus) j=1,2,...,L symbol wyst¦puj¡cy na j-tej pozycji odpowiada symbolowi na j-tej pozycji schematu.
Je»eli w schemacie wyst¦puje m symboli *, to schemat ten zawiera 2m chromosomów.
Ka»dy chromosom o dªugo±ci L nale»y do 2L schematów.
np. ªa«cuch 01 pasuje do 4 schematów: **, *1, 0*, 01.
Rz¡d schematu liczba ustalonych pozycji we wzorcu o(H) o(011*1**)=4
o(0*****)=1
Rozpi¦to±¢ schematu odlegªo±¢ mi¦dzy dwiema skrajnymi ustalonymi pozycjami δ(H)
δ(011 ∗ 1 ∗ ∗)=5-1=4
Schematy o maªej rozpi¦to±ci maj¡ wi¦ksze szanse na prze»ycie.
Rozmiar schematu rozpi¦to±¢ schematu+1. r(H)=δ(H) + 1 Tw. o schematach
Krótkie, niskiego rz¦du i oceniane powy»ej ±redniej schematy uzyskuj¡ wykªadniczo rosn¡c¡ liczb¦ ªa«cuchów (reprezentantów) w kolejnych pokoleniach algorytmu genetycznego.
Twierdzenie o Schematach
m(H, t +1) > m(H, t)f (H)f [1 − pcδ(H)
l −1 − o(H)pm]
m(H,t),m(H,t+1) oczekiwana obecno±¢ sch. H w chwili t, t+1 f(H) ±rednie przystosowanie reprezentantów sch. H w chwili t f = ΣfNi ±rednie przystosowanie caªej populacji
pc prawdopodobie«stwo krzy»owania δ(H) rozpi¦to±¢ schematu H
l dªugo±¢ chromosomów o(H) rz¡d schematu H
pm prawdopodobie«stwo mutacji
Wniosek z Tw. o schematach
1. Dla schematów niskiego rz¦du i o maªej rozpi¦to±ci destruktywne efekty krzy»owania i mutacji mo»na pomin¡¢, a wtedy:
m(H, t +1) = m(H, t)f (H)f = m(H, t)(1 + )
przy zaªo»eniu, »e f (H, t) = f (1 + ), czyli schemat H ma dopasowanie o wi¦ksze ni» ±rednia w populacji.
2. Zakªadaj¡c, »e nie zmienia si¦ w czasie, wówczas dªugoterminowy efekt przetwarzania schematu H b¦dzie nast¦puj¡cy:
m(H, t + s) = m(H, t)(1 + )t
czyli oceniane powy»ej ±redniej schematy niskiego rz¦du i o maªej rozpi¦to±ci uzyskuj¡ wykªadniczo rosn¡c¡ liczb¦ reprezentantów w kolejnych pokoleniach.
Hipoteza cegieªek
Building Block Hypothesis
GA poszukuje lepszych rozwi¡za« przez zestawienie wysokiej jako±ci schematów niskiego rz¦du i o maªej rozpi¦to±ci (tzw. cegieªek).
oceniaj¡c poszczególne ci¡gi kodowe GA po±rednio ocenia jako±¢
reprezentowanych przez nie schematów
krzy»owanie pozwala na zestawianie ze sob¡ wysokiej jako±ci schematów niskiego rz¦du, buduj¡c tak samo dobre lub lepsze schematy wy»szego rz¦du. jednoczze±nie przetwarzanych jest od 2l do N2l schematów, ale cz¦±¢ z nich jest niszczona
Holland oszacowaª, »e u»ytecznie przetwarzanych jest tylko ok.
N3 schematów (ukryta równolegªo±¢)
Kodowanie binarne przyj¦te w klasycznych algorytmach genetycznych. Allele wszystkich genów w chromosomach s¡ równe 0 lub 1.
Celem modykacji kodowania jest d¡»enie do tego by punkty le»¡ce blisko siebie w przestrzeni reprezentacji (genotyp) le»aªy róWnie»
blisko siebie w przestrzeni zadania (fenotyp).
Kod Gray'a kodowanie alternatywne. Ma t¦ zalet¦, »e
chromosomy odpowiadaj¡ce dwóm kolejnym liczbom caªkowitym ró»ni¡ si¦ tylko jednym bitem.
Kodowanie logarytmiczne Jest stosowany celem zmniejszenia dªugo±ci chromosomów w algorytmie genetycznym. Pierwszy bit ci¡gu kodowego oznacza znak funkcji wykªadniczej, drugi bit oznacza znak wykªadnika funkcji, a pozostaªe bity s¡ reprezentcaj¡
wykªadnika funkcji.
Kodowanie binarne liczb rzeczywistych
Chcemy zakodowa¢ binarnie liczby rzeczywiste z przedziaªu D = [wL, wR]z dokª¡dno±ci¡ do c liczb znacz¡cych po przecinku.
Najpierw nale»y ustali¢ jaka jest konieczna dªugo±¢ sªowa kodowego, czyli podzieli¢ D = [wL, wR] na
r = (wR − wL) ∗10c
podprzedziaªów, a nast¦pnie wyznaczy¢ najmniejsz¡ liczb¦
caªkowit¡ m, tak¡ »e:
(wR − wL) ∗10c 6 2m−1
Wówczas kolejne liczby binarne reprezentuj¡ kolejne liczby rzeczywiste z rz¡danego zakresu.
Np. je»eli nale»y zakodowa¢ liczby rzeczywiste z przedziaªu [0, 3.1]
z dokª¡dno±ci¡ 0.1. Liczby te mog¡ wówczas przyjmowa¢ 32 warto±ci: 0.0, 0.1, 0.2, .. , 3.0 oraz 3.1. Warto±ci te mo»na przedstawi¢ w postaci chromosomów o dªugo±ci 5. Sekwencja [00000] reprezentuje wówczas warto±¢ 0.0, [00001] warto±¢ 0.1 itd.
Na ilu bitach mo»na zakodowa¢ warto±¢ funkcji
f (x ) = x ∗ sin(10πx) + 1 na przedziale [-1,2] z c=6 miejsc po przecinku?
r = (2 − (−1)) ∗ 10c =3 ∗ 106 6 2m−1 2097152 = 221 6 3000001 6 222=4194304
→ m =22
Dla odkodowania liczb rzeczywistych korzysta si¦ z odwzorowania przedziaªu D = [wL, wR]w przedziaª [0, 2L−1] zgodnie z
zale»no±ci¡:
wB = wL+ wD∗ (wR− wL)/(2L−1), gdzie wB warto±¢ zakodowanej liczby rzeczywistej,
wL, wR warto±ci lewego i prawego ko«ca przedziaªu liczbowego, wD dziesi¦tna warto±¢ ci¡gu binarnego,
L dªugo±¢ ci¡gu kodowego
Np. Odkoduj ci¡g bitów 1100101010010101010101, dla D=[-1,2] i c=6, L=22.
Najpierw oblicz warto±¢ dziesi¦tn¡ ci¡gu:
wD =221+220+217+ ... +20=3319125 Oblicz warto±¢ rzeczywist¡ liczby:
wB = −1 + 3319125∗3222−1 =1.374025
Kod Graya
Kod Graya, (lub kod reeksyjny) dwójkowy kod bezwagowy niepozycyjny, w którym dwa kolejne sªowa kodowe ró»ni¡ si¦ tylko stanem 1 bitu. Jest równie» kodem cyklicznym, bowiem ostatni i pierwszy wyraz tego kodu tak»e speªniaj¡ wy»ej wymienion¡ zasad¦.
Zmiana 1 bitu w kodzie powoduje, i» otrzymana liczba ma szans¦
by¢ liczb¡ bezpo±rednio blisk¡ liczbie przed zmian¡.
Binarnie Kod Graya Caªk. Binarnie Kod Graya Caªk.
0000 0000 0 0111 0100 7
0001 0001 1 1000 1100 8
0010 0011 2 1001 1101 9
0011 0010 3 1010 1111 10
0100 0110 4
0101 0111 5
b =< b1, b2, .., bm > liczba binarna
g =< g1, g2, ..., gm > liczba w kodzie Graya m dªugo±¢ ci¡gu kodowego
GrayToBin { value=g1
b1=value
for k=2 to m do {
if (gk==1) value = not(value) bk=value }
}
BinToGray{
g1= b1
for k=2 to m do gk=bk−1 XOR bk
}
Kodowanie Logarytmiczne
Stosowane w celu zmniejszenia dªugo±ci ªa«cucha binarnego:
[b1b2bin] = (−1)b2e(−1)b1[bin]10 b1 bit znaku wykªadnika funkcji wykªadniczej b2 bit znaku funkcji wykªadniczej
bin reprezentacja wykªadnika funkcji wykªadniczej [bin]10 warto±¢ dziesi¦tna liczby zakodowanej binarnie
Za pomoc¡ 5 bitów mo»na zakodowa¢ liczby z zakresu [−e7, e7], w kodowaniu binarnym [0,31].
przykªad:
[10110] = (−1)0e(−1)1[110]10 = e−6=0.002478752 [01011] = (−1)1e(−1)0[011]10 = −e3=-20.08553692
Zapis zmiennopozycyjny
Mo»na go uzna¢ za kolejn¡ modykacj¦ metod kodowania. Ka»dy chromosom jest zapisany jako wektor liczb zmiennopozycyjnych.
Dokªadno±c takiego podej±cia jest zwykle znacznie wy»sza ni» przy kodowaniu binarnym.
Reprezentacja zmiennopozycyjna mo»e obj¡¢ caªkiem du»e lub nawet nieznane dziedziny. W przypadku tym znacznie ªatwiej jest zaprojektowa¢ specjalistyczne narz¦dzia uªatwiaj¡ce post¦powanie w prypadku nietrywialnych ogranicze«.
Metody Selekcji Osobników
W celu zapewnienia efektywnego dziaªania algorytmu genetycznego nale»y d¡»y¢ do tego, aby nowa populacja osobników (potomków) byªa tworzona na podstawie 'najlepszych' osobników danej populacji (rodziców).
W tym celu ka»dy osobnik danej populacji poddawany jest ocenie za pomoc¡ funkcji przystosowania. Metoda selekcji powinna zapewni¢, aby kolejne populcje charakteryzowaªy si¦ wy»sz¡ ±redni¡
warto±ci funkcji przystosowania:
Pt+1 > Pt gdzie:
Pt ±rednia warto±¢ f. przystosowania dla populacji t, Pt+1 ±rednia warto±¢ f. przystosowania dla populacji t+1
Metoda Koªa Ruletki
ka»demu chromosomowi zostaje przypisany wycinek koªa, którego wielko±¢ jest proporcjonalna do warto±ci jego funkcji
przystosowania.
wi¦kszy warto±¢ f. przystosowania oznacza wi¦kszy wycinek koªa przydzielony danemu chromosomowi czyli jego wi¦ksz¡ szans¦ na wybór jako rodzica.
niestety ewolucja przy takim algorytmie z ka»dym krokiem zwalnia. Je»eli osobniki s¡ podobne, to ka»dy dostaje równy wycinek koªa fortuny i presja selekcyjna spada
Algorytm sªabiej rozró»nia osobniki dobre od sªabszych (**) presja selekcyjna (ci±nienie selekcyjne) siªa selekcji warunkuj¡ca powstawanie nowych przystosowa« do ±rodowiska.
Odzwierciedla szybko±¢ i kierunek zmian w cz¦sto±ci wyst¦powania w kolejnych pokoleniach genów lub genotypów podlegaj¡cych selekcji.
przykªad
rodzice to 4 chromosomy:
ch1=[1001], ch2=[1000], ch3=[0001], ch4=[1011]
dla ka»dego chromosomu obliczamy warto±¢ funkcji przystosowania, tu:warto±¢ dziesi¦tna danego ci¡gu binarnego
F(ch1)=9, F(ch2)=8, F(ch3)=1, F(ch4)=11
Nast¦pnie obliczamy warto±¢ funkcji przystosowania dla caªej populacji: ΣiF (chi)=9+8+1+11=29, dla i=1,2,3,4
w kolejnym kroku oblicz wyra»one w procentach wielko±ci wycinków koªa ruletki:
v(ch1) = 9/29*100% = 31,03%
v(ch2) = 8/29*100% = 27,59%
v(ch3) = 1/29*100% = 3,45%
v(ch4) = 11/29*100% = 37,93%
W celu utworzenia nowej populacji wylosuj 4 liczby z przedziaªu [0,100] (wielko±¢ populacji nie powinna ulec zmianie).
np. 20.4, 65.0, 12.4, 39.0
Z koªa ruletki odczytaj, które chromosomy zostan¡ wybrane do nowej populacji → ch1, ch4, ch1, ch2
Metoda selekcji rankingowej
Osobniki nale»¡ce do populacji rodzicielskiej sortuje si¦ ze wzgl¦du na warto±¢ funkcji przystosowania tworz¡c list¦ rankingow¡.
(najlepiej przystosowany osobnik uzyskuje najwy»sz¡ rang¦) Przypisana do osobnika ranga staje si¦ argumentem pewnej funkcji R, która wyznacza wspóªczynnik selekcji osobnika b¦d¡cy podstaw¡
do obliczenia prawdopodobie«stwa jego wyboru do nowej populacji (tak»e ew. liczb¦ jego powtórze« w tej populacji)
Im wy»szy wspóªczynnik selekcji osobnika, tym wi¦ksze prawdopodobie«stwo jego wylosowania do nowej populacji.
Losowanie mo»e odbywa¢ si¦ podobnie jak w metodzie koªa ruletki, jednak o wielko±ci przydzielonego wycinka decyduje jego miejsce w rankingu oraz przypisany zgodnie z funkcj¡ R wspóªczynnik selekcji.
Przykªadowe wykresy funkcji R stosowane w selekcji rankingowej:
Wad¡ metody jest niewra»liwo±¢ metody na ró»nice pomi¦dzy kolejnymi osobnikami w kolejce.
Mo»e si¦ okaza¢, »e s¡siaduj¡ce na li±cie rozwi¡zania maj¡ ró»ne warto±ci funkcji oceny, ale dostaj¡ prawie tak¡ sam¡ liczb¦
potomstwa.
Metoda turniejowa
W selekcji turniejowej nale»¡ce do danej populacji osobniki rozgrywaj¡ mi¦dzy sob¡ turniej.
Dziaªanie metody rozpoczyna si¦ od ustalenia rozmiaru turnieju (zazwyczaj Tsize <5 (cz¦sto 2 lub 3). Rozmiar turnieju okre±la wielko±¢ presji selekcyjnej.
Nast¦pnie wybierz Tsize osobników np. za pomoc¡ koªa ruletki lub losowo bez powtórze«.
Wyªo« zwyci¦zc¦ osobnika o najlepszym przystosowaniu, deterministycznie (zawsze najlepszy) lub losowo (np. selekcja proporcjonalna)
Powtórz turniej tyle razy ile osobników powinno by¢ w nowej populacji.
selekcja modykacje
selekcja stªoczenia dokonuje zastepowania najbardziej podobnych rodziców dzie¢mi niezale»nie od ich funkcji przystosowania, co umo»liwia zachowanie ró»norodno±ci i zmienno±ci populacji
strategia elitarna ochrona najlepszych osobników w kolejnych generacjach, zabezpieczaj¡c algorytm przed utrat¡ chromosomów o najlepszym przystosowaniu. Wzrost wielko±ci elity przyspiesza zbie»no±¢ algorytmu, ale zwi¦ksza prawdopodobie«stwo osi¡gania ekstremów lokalnych.
Metody selekcji mo»na podzieli¢ na:
statyczne prawdopodobie«stwa wyboru s¡ staªe dla wszystkich pokole« i dynamiczne gdzie takiego wymagania nie ma.
Inny podziaª wyró»nia metody wygaszaj¡ce i zachowuj¡ce.
W selekcji zachowuj¡cej s¡ niezerowe prawdopodobie«stwa wyboru dla ka»dego osbnika. W selekcji wygaszaj¡cej nie istniej¡. Za to wygaszaj¡ce mo»na podzieli¢ na lewe i prawe. W selekcji wygaszaj¡cej lewej nie dopuszcza si¦ najlepszych osobników do reprodukcji, aby unikn¡¢ przedwczesnej zbie»no±ci. W prawej takiej zasady nie ma.
Niektóre metody selekcji mo»na nazwa¢ jako wyª¡czne, co
oznacza, »e rodzice mog¡ reprodukowa¢ tylko w jednym pokoleniu tak wi¦c czas »ycia osobnika jest ograniczony do jednego pokolenia.
Naciskiem selektywnym nazywamy zdolno±¢ EA do poprawiania
±redniej warto±ci przystosowania populacji.
Mówimy »e EA charakteryzuje si¦ du»ym naciskiem selektywnym, gdy wi¦ksza jest warto±¢ oczekiwana liczby kopii lepszego osbnika ni» warto±¢ oczekiwana liczby kopii gorszego osobnika.
Nacisk selektywny jest ±ci±le powi¡zany z zale»no±ci¡ pomi¦dzy eksploracj¡ a eksploatacj¡ przestrzeni poszukiwa«.
EA dokonuje EKSPLORACJI, czyli globalnego przeszukiwania caªej przestrzeni rozwi¡za«, w celu przybli»enia si¦ do globalnego minimum lub maksimum b¦d¡cego rozwi¡zaniem problemu.
EA dokonuje EKSPLOATACJI, czyli lokalnego poruszania si¦ po fragmencie przestrzeni w pobli»u globalnego minimum lub
maksimum, w celu jego dokªadnego zlokalizowania i znalezienia rozwi¡zania problemu.
Eksploracj¦ przestrzeni rozwi¡za« uzyskujemy poprzez zmniejszenie nacisku selektywnego, gdy» wtedy wybierane s¡
równie» osobniki nie tak dobrze przystosowane, co pozwala zachowa¢ pewn¡ ró»norodno±¢ populacji, a wi¦c zwi¦kszy¢ szans¦
na znalezienie optimum globalnego.
Eksploatacj¦ przestrzeni rozwi¡za« osi¡gamy poprzez zwi¦kszenie nacisku selektywnego, gdy» wtedy wybierane s¡ przede wszytkim osobniki najlepiej dostosowane, a wi¦c potencjalnie bliskie rozwi¡zania optymalnego.
Najperw wobec tego warto wykona¢ eksploracj¦ przestrzeni rozwi¡za«, w celu okre±lenia potencjalnych obszarów poszukiwania optimum globalnego, a nast¦pnie dla najlepszych uruchomi¢
eksploatacj¦ tych podprzestrzeni, w celu odnalezienia tego optimum.
Uruchomienie eksploatacji zbyt szybko, mo»e spowodowa¢ utkni¦cie algorytmu ewolucyjnego w lokalnym minimum/maksimum.
Nie uruchomienie w odpowiednim czasie eksploatacji mo»e prowadzi¢ do skakania pomi¦dzy suboptymalnymi punktami, lecz bez mo»liwo±ci traenia w rozwi¡zanie globalnie optymalne.
Operacja krzy»owania polega na wymianie fragmentów ªa«cuchów dwóch chromosomów rodzicielskich. Jest to kluczowy operator stanowi¡cy o sile i efektywno±ci GA.
Ide¡ operatorów krzy»owania jest wymiana kodu genetycznego pomi¦dzy osobnikami, tak jak to si¦ dzieje w naturze. Stworzono wiele teorii i rodzajów krzy»owa«, które stosowane s¡ do ró»nego rdzaju zada« i s¡ zale»ne od sposobu kodowania. Dla potrzeb klasycznego GA opisano operator krzy»owania jednopunktowego.
Operator krzy»owania jest dwuargumentowy. Przed jego zastosowaniem osobniki w populacji rodziców utworzonej przez selekcj¦ ª¡czone s¡ w pary. Dla ka»dej pary z
prawdopodobie«stwem pc wykonywane jest krzy»owanie.
(pc ∈<0.6, 1 > jest parametrem algorytmu) Rodzaje operatorów krzy»owania:
jednopunktowe
dwupunktowe (two-point crossover) wielopunktowe
krzy»owanie diagonalne wielorodzicielskie równomierne (uniform crossover)
operatory dla kodowania rzeczywistoliczbowego arytmetyczne - operator u±redniaj¡cy
heurystyczne
Krzy»owanie jednopunktowe:
wybierz losowo punkt krzy»owania
rozª¡cz rodziców. Potomkowie otrzymani s¡ w wyniku wymiany fragmentów mi¦dzy rodzicami
Krzy»owanie dwu i wielopunktowe:
Modykacj¡ krzy»owania jednopunktowego jest krzy»owanie wielopunktowe. Np. dwupunktowe polega na wymianie w chromosomach rodziców tych fragmentów, które znajduj¡ si¦
pomi¦dzy wyznaczonymi punktami krzy»owania. Krzy»owanie wielopunktowe losuje wi¦ksz¡ liczb¦ punktów krzy»owania.
Krzy»owanie diagonalne
Krzy»owanie z liczb¡ rodziców r>2.
Tworzy r potomków przy c=r-1 punktach krzy»owania
Osobniki potomne powstaj¡ w wyniku skªadania fragmentów kodu po przek¡tnej
Krzy»owanie równomierne
inaczej: jednolite, jednostajne, uniform crossover
Wykorzystuje wylosowany wzorzec wskazuj¡cy geny dziedziczone od pierwszego z rodziców, a pozostaªe pochodz¡ od drugiego z nich Wzorcem jest ªa«cuch binarny, w którym warto±ci 1 wskazuj¡
pozycje (locus) w chromosomie rodzica pierwszego, a warto±ci 0 odpowiadaj¡ pozycjom w cgromosomie rodzica drugiego
Operatory u±redniaj¡ce oddziaªuj¡ na warto±ci genów chromosomów poddawanych krzy»owaniu
Warto±ci ka»dego genu chromosomów potomnych s¡ liczbami zawieraj¡cymi si¦ mi¦dzy najwi¦ksz¡ i najmniejsz¡ warto±ci¡ genu chromosomów rodzicielskich
Krzy»owanie arytmetyczne
generowanie liczby losowej k z zakresu (0,1) lub jej arbitralny wybór u±rednianie arytmetyczne warto±ci genów chromosomów
rodzicielskich dla 2 potomków:
Y = X1+ k(X2− X1) Z = X2+ X1− Y1
(*)Przyj¦cie k=0.5 powoduje powstanie dwóch takich samych osobników potomnych o warto±ciach poszczególnych genów równych ±redniej arytmetycznej odpowiednich genów rodziców
Krzy»owanie Heurystyczne
Dziaªa podobnie jak krzy»owanie arytmetyczne modykuj¡c geny rodziców, ale nie powoduje ich u±redniania.
Dla wygenerowanej liczby k∈<0,1> tworzy si¦ maksymalnie jednego potomka:
Y = k(X2− x1) + X2,
dla X2 > x1 (tzn. rodzic x2 jest nie gorszy ni» X1 wzgl¦dem funkcji celu.
Mo»e si¦ zdarzy¢, »e utworzony potomek jest niedpuszczalny → wówczas generuje si¦ now¡ liczb¦ losow¡ i tworzy nowego potomka.
Je»eli po zaªo»onej liczbie prób nie utworzono osobnika dopuszczalnego, to nie tworzy si¦ potomka.
Mutacja polega na zmianie warto±ci wybranego elementu ci¡gu kodowego. Przy kodowaniu binarnym jest to zanegowanie w chromosomie wybranej pozycji (bitu).
Mutacja mo»e równie» polega¢ na zamianie w chromosomie dwóch dowolnych genów (bitów).
Funkcj¡ mutacji jest zapewnienie, aby reprodukcja i krzy»owanie nie wyeliminowaªy potencjalnie korzystnego materiaªu genetycznego.
Jej zadaniem jest wprowadzenie ró»norodno±ci w populacji (zapobieganie przedwczesnej zbie»no±ci algorytmu).
W przypadku GA mutacja wykonywana jest bardzo rzadko (cz¦sto±¢ mutacji jest rz¦du 1 na 1000 skopiowanych bitów).
Inwersja to operacja zmiany kolejno±ci alleli pomi¦dzy dwoma losowo wybranymi pozycjami (locus) chromosomu.
1. Wybór punktów inwersji:
ch = [10111|001011|01010]
2. Operacja inwersji:
ch = [10111|110100|01010]
maximum funkcji
Dana jest funkcja f (x) = 2(x2+1), gdzie x ∈< 0...127 >
Przeszuka¢ przestrze« i znale¹¢ takie x, dla którego warto±¢ funkcji jest najwi¦ksza.
1. Wybierz populacj¦ pocz¡tkow¡ P0 zªo»on¡ z 8 chromosomów:
ch1=0001000 (8) ch5=0100101 (37) ch2=1011000 (88) ch6=0101011 (43) ch3=0111100 (60) ch7=1011110 (94) ch4=0101100 (44) ch8=0010111 (23)
2. Ocena przystosowania.
Funkcja przystosowania to funkcja z zadania. Do ka»dego chromosomu przypisz jej warto±¢, jako argument wykorzystuj¡c fenotyp czyli osobnik w formie niezakodowanej (punkt przestrzeni).
ch1=0001000 (8) f (ch1)=2(82+1) = 2 ∗ 65 = 130 ch2=1011000 (88) f (ch2)=15490
ch3=0111100 (60) f (ch3)=7202 ch4=0101100 (44) f (ch4)=3874 ch5=0100101 (37) f (ch5)=2740 ch6=0101011 (43) f (ch6)=3700 ch7=1011110 (94) f (ch7)=17674 ch8=0010111 (23) f (ch8)=1060
3. Selekcja chromosomów za pomoc¡ koªa ruletki.
Prawdopodobie«stwo selekcji chromosomu: p(chi) = Σnf (chi) i =1f (chi)
Wielko±¢ procentowa sektorów: v(chi) = p(chi) ∗100%
Σni =1f (chi)=51870
ch1=0001000 (8) f (ch1)=130 p(ch1) = 51870130 =0,0026 ch2=1011000 (88) f (ch2)=15490 p(ch2)=0,2986 ch3=0111100 (60) f (ch3)=7202 p(ch3)=0,1388 ch4=0101100 (44) f (ch4)=3874 p(ch4)=0,0747 ch5=0100101 (37) f (ch5)=2740 p(ch5)=0,0528 ch6=0101011 (43) f (ch6)=3700 p(ch6)=0,0713 ch7=1011110 (94) f (ch7)=17674 p(ch7)=0,3408 ch8=0010111 (23) f (ch8)=1060 p(ch8)=0,0204
v (ch1)=0,26%
v (ch2)=29,86%
v (ch3)=13,88%
v (ch4)=7,47%
v (ch5)=5,28%
v (ch6)=7,13%
v (ch7)=34,08%
v (ch8)=2,04%
Wylosuj 8 liczb z przedziaªu <0-100>. Odpowiadaj¡ce im chromosomy utworz¡ populacj¦ rodziców: 12 (ch2), 89 (ch7), 41 (ch3), 2 (ch2), 53(ch5), 61(ch6), 45(ch4), 99(ch8)
4. Przeprowad¹ krzy»owanie np. jednopunktowe dla 4 par. Ró»ne mo»liwo±ci wyboru par. Wybór losowy punktu krzy»owania (locus).
ch2=10110|00 (88) ch21=1011010 (90) ch7=10111|10 (94) ch22=1011100 (92) ch3=011110|0 (60) ch32=0111100 (60) ch2=101100|0 (88) ch42=1011000 (88) ch5=0100|101 (37) ch51=0100011 (35) ch6=0101|011 (43) ch61=0101101 (45) ch4=01011|00 (44) ch71=0101111 (47) ch8=00101|11 (23) ch81=0010100 (20)
5. Przeprowad¹ mutacje dla wylosowanych elementów ci¡gów kodowych.
ch12=1011010 (90) ch22=1011100 (92) ch32=0111100 (60) ch42=1011000 (88)
ch15=0100011 (35) to 0110011 (51) ch16=0101101 (45)
ch17=0101111 (47) ch18=0010100 (20)
Je»eli nie speªniono warunku zako«czenia wró¢ do punktu 2.
Binarne zagadnienie plecakowe
problem optymalizacji dyskretnej z ograniczeniami
Dane jest N przedmiotów z których ka»dy posiada mas¦ mi i warto±¢ wi
Dany jest plecak, w którym mo»emy umie±ci¢ elementy o sumarycznej masie M
Jakie przedmioty zabra¢ do plecaka, tak, aby sumaryczna warto±¢
przedmiotów byªa jak najwi¦ksza?
sformuªowanie problemu
i Nazwa mi wi
1 Zegarek 0.2 10
2 Buty 1 2
3 Spodnie 0.5 2 4 Czapka 0.2 1
5 Kurtka 1 3
6 Piwo 1 1
posta¢ rozwi¡zania: x = [x1, x2, x3, x4, x5, x6], xi ∈ {0, 1}
optymalizowana funkcja: f (x) = Σ61xi∗ wi czy rozwi¡zanie [0,1,0,0,1,1] jest dopuszczalne?
nie, gdy» nie speªnia ograniczenia g(x) = Σ61xi∗ mi < M
Zalety EA
Metoda jest uniwersalna. Aby tego samego programu uzy¢ w innym problemie, przewa»nie wystarczy zmieni¢ funkcj¦ celu.
EA potra¡ poradzi¢ sobie równie» tam gdzie optymalizowana funkcja jest zaszumiona, zmienia si¦ w czasie, ma wiele ekstremów lokalnych
Aby znale¹¢ rozwi¡zanie nie musimy prawie nic wiedzie¢ o optymalizowanej funkcji. Funkcji celu mo»e nawet w ogóle nie by¢: wystarczy »e potramy powiedzie¢ który punkt
przestrzeni stanów jest lepszy
Metoda jest stosumnkowo szybka: znalezienie rozwi¡zania cz¦sto jest mo»liwe po przejrzeniu niewielkiej cz¦±ci przestrzeni stanów
Poniewa» s¡ to algorytmy randomizowane, mo»na powtarza¢
obliczenia wielokrotnie licz¡c na lepsze wyniki
Wady EA
Metoda jest uniwersalna, wi¦c nie tak skuteczna jak bywaj¡
algorytmy specjalizowane (rada: stosowa¢ alg. hybrydowe) Metoda jest wolniejsza od prostych heurystyk (np. metody zachªannej) cho¢ zwykle skuteczniejsza
Sukces jest mo»liwy wyª¡cznie przy prawidªowym zakodowaniu problemu i odpowiednim dobraniu funkcji celu. Niestety nie ma jednoznacznej teorii mówi¡cej jak to robi¢. Jest to cz¦sto podobnie jak dobór parametrów mutacji i krzy»owania sprawa wyczucia i do±wiadczenia
poniewa» s¡ to algorytmy randomizowane, nigdy nie ma pewno±ci »e znaleziono rozwi¡zanie optymalne