• Nie Znaleziono Wyników

Algorytmy Ewolucyjne (EA)

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy Ewolucyjne (EA)"

Copied!
70
0
0

Pełen tekst

(1)

Algorytmika - wykªad 11 Algorytmy Ewolucyjne.

dr Anna Sasak-Oko«

Uniwersytet Marii Curie-Skªodowskiej w Lublinie

13.01.2020

(2)

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

(3)

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

(4)

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.

(5)

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.

(6)

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.

(7)

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.

(8)

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

(9)

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

(10)

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

(11)

‘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

(12)

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«

(13)

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.

(14)

Strategia Ewolucyjna - SCHEMAT DZIAŠANIA

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.

(15)

Algorytm Genetyczny - SCHEMAT DZIAŠANIA

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)

(16)

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.

(17)

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.

(18)

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

(19)

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,...

(20)

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

(21)

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.

(22)

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

(23)

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.

(24)

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.

(25)

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±¢)

(26)

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.

(27)

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.

(28)

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

(29)

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∗32221 =1.374025

(30)

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

(31)

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

}

(32)

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

(33)

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 = e6=0.002478752 [01011] = (−1)1e(−1)0[011]10 = −e3=-20.08553692

(34)

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«.

(35)

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

(36)

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.

(37)

 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.

(38)

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

(39)

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%

(40)

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

(41)

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.

(42)

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.

(43)

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.

(44)

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.

(45)

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.

(46)

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.

(47)

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.

(48)

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.

(49)

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.

(50)

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

(51)

Krzy»owanie jednopunktowe:

wybierz losowo punkt krzy»owania

rozª¡cz rodziców. Potomkowie otrzymani s¡ w wyniku wymiany fragmentów mi¦dzy rodzicami

(52)

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.

(53)

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

(54)

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

(55)

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

(56)
(57)

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.

(58)
(59)

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).

(60)

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]

(61)

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)

(62)

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

(63)

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

(64)

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)

(65)

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)

(66)

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.

(67)

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?

(68)

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

(69)

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

(70)

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

Cytaty

Powiązane dokumenty

Tak wyodręb- niona przestrzeń semiotyczna może pomóc też w uniknięciu zapadania się pod- czas badań w gąszczu analiz wszelkich zjawisk znakowych w przestrzeni miej- skiej..

Ta deziden- tyfi kacja wykracza zresztą poza związek pisarza i jego bohaterki – w literackiej nowoczesności cały świat przedstawiony, począwszy od nieożywionej materii,

1) Australopiteki były istotami mega- dontycznymi, to znaczy, że w stosunku do rozmiarów ciała posiadały bardzo du­ że uzębienie policzkowe. Spośród współ­ czesnych

Zmiany korzystne dla osobnika zdarzają się równie często, jak niekorzystne lub obojętne.. • Osobniki są oceniane poprzez porównanie ich przystosowania do

Załóżmy, że pewne schematy mają średnio większe wartości funkcji celu, niż inne (uśredniamy po wszystkich możliwych wartościach na pozycjach nieustalonych).. Jeśli z

• Wyjście: stan urządzeń wyjściowych - wykonaj krok do przodu, obróć się w lewo, obróć się w prawo, zmień stan rejestrów..

Inaczej określając typ działania tych, którzy przeciwstawiając się ortodoksyjnemu konceptualizmowi jednocześnie przejęli i rozwinęli jego niektóre szczegółowe postulaty,

Zacznijmy od postawienia pytań. Jakie treści związane z konkretny­ mi fazami przystosowania powodują, że w poszczególnych poziomach przystosowania młodzieży dominują takie a