WAE Jarosław Arabas Algorytm ewolucyjny
Protoplasta algorytmu ewolucyjnego Wybór punktu z prawdopodobieństwem zależnym od jakości Losowy sąsiad wariacja selekcja S3 S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12
Rozszerzony algorytm błądzenia przypadkowego 𝑎𝑙𝑔𝑜𝑟𝑦𝑡𝑚𝑟𝑜𝑧𝑠𝑧𝑒𝑟𝑧𝑜𝑛𝑒𝑏łą𝑑𝑧𝑒𝑛𝑖𝑒𝑝𝑟𝑧𝑦𝑝𝑎𝑑𝑘𝑜𝑤𝑒 𝑥← 𝑥 0 𝐻←{ 𝑥 0 𝑤ℎ𝑖𝑙𝑒!𝑠𝑡𝑜𝑝 𝐱←𝑠𝑒𝑙𝑒𝑐𝑡 𝐻 𝐲←𝑠𝑒𝑙𝑅𝑎𝑛𝑑𝑜𝑚 𝑁 𝑥 𝐻← 𝐻∪ 𝑦 Rozkład prawdopodobieństwa wyboru nie jest rozkładem jednostajnym, ale wybór nadal jest losowy
Wariant pośredni p-stwa selekcji protoplasta algorytmu ewolucyjnego Czerwone punkty: p-stwo selekcji w błądzeniu przypadkowym Niebieskie punkty: p-stwo selekcji w stochastycznym wzroście Zielone punkty: jeden z możliwych wariantów p-stwa selekcji w algorytmie proto-ewolucyjnym
Mutacyjny algorytm ewolucyjny Wybór punktu z prawdopodobieństwem zależnym od jakości Losowy sąsiad mutacja selekcja S3 S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 Punkty, z których wykonywana jest selekcja, pochodzą z pewnego okna czasowego o skończonej, stałej długości
Mutacyjny algorytm ewolucyjny 𝑎𝑙𝑔𝑜𝑟𝑦𝑡𝑚𝑚𝑢𝑡𝑎𝑐𝑦𝑗𝑛𝑦𝑒𝑤𝑜𝑙𝑢𝑐𝑦𝑗𝑛𝑦 𝑖𝑛𝑖𝑐𝑗𝑢𝑗 𝑃 0 ← 𝑃 1, 0 𝑃 2 0 ... 𝑃 μ 0 𝑡←0 𝐻← 𝑃 0 𝑤ℎ𝑖𝑙𝑒!𝑠𝑡𝑜𝑝 𝑓𝑜𝑟 𝑖∈1:μ 𝑂 𝑖 𝑡 ←𝑚𝑢𝑡𝑎𝑡𝑖𝑜𝑛 𝑠𝑒𝑙𝑒𝑐𝑡 𝑃 𝑡 𝑃 𝑖 𝑡+1 ← 𝑂 𝑖 𝑡 𝐻←𝐻∪ 𝑃 𝑡 𝑡←𝑡+1 a jest zmienną losową rozłożoną jednostajnie w (0,1)
Mutacyjny algorytm ewolucyjny 𝑃 0 𝑃 1 𝑃 2 𝑃 3 S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16 S17 S18 S19 S20 Strzałki między punktami Sx oraz Sy oznaczają, że punkt Sy jest lokalną modyfikacją punktu Sx
Mutacyjny algorytm ewolucyjny 𝑎𝑙𝑔𝑜𝑟𝑦𝑡𝑚𝑚𝑢𝑡𝑎𝑐𝑦𝑗𝑛𝑦𝑒𝑤𝑜𝑙𝑢𝑐𝑦𝑗𝑛𝑦 𝑖𝑛𝑖𝑐𝑗𝑢𝑗 𝑃 0 ← 𝑃 1, 0 𝑃 2 0 ... 𝑃 μ 0 𝑡←0 𝐻← 𝑃 0 𝑤ℎ𝑖𝑙𝑒!𝑠𝑡𝑜𝑝 𝑅 𝑡 ←𝑟𝑒𝑝𝑟𝑜𝑑𝑢𝑘𝑐𝑗𝑎 𝑃 𝑡 𝑂 𝑡 ←𝑚𝑢𝑡𝑎𝑐𝑗𝑎 𝑅 𝑡 𝐻←𝐻∪ 𝑂 𝑡 𝑃 𝑡+1 ← 𝑂 𝑡 𝑡←𝑡+1 a jest zmienną losową rozłożoną jednostajnie w (0,1)
Mutacyjny algorytm ewolucyjny sposób przetwarzania punktów 𝑃 𝑡 𝑅 𝑡 𝑂 𝑡 𝑃 𝑡+1 Reprodukcja Mutacja Zastępowanie (sukcesja)
Typy selekcji (najczęstsze) proporcjonalna (ruletkowa) turniejowa progowa (populacja posortowana dla turniejowej i progowej) 𝑝 𝑠 𝑃 𝑡,𝑖 = 𝑞 𝑃 𝑡,𝑖 +𝑎 𝑗 𝑞 𝑃 𝑡,𝑗 +𝑎 𝑝 𝑠 𝑃 𝑡,𝑖 = 1 μ 𝑠 μ−𝑖+1 𝑠 − μ−𝑖 𝑠 𝑝 𝑠 𝑃 𝑡,𝑖 = 1 θμ 𝑖≤θμ 0 𝑤𝑝.𝑝.
Rangowe metody selekcji p-stwo selekcji ranga punktu
Jak zrealizować losowanie z założonym rozkładem p-stwa Dystrybuatna rozkładu p-stwa losowania Wylosowana wartość dystrybuanty (z rozkładem jednostajnym z zakresu (0..1) )
Jak zrealizować losowanie z założonym rozkładem p-stwa Dystrybuatna rozkładu p-stwa losowania Wylosowana wartość dystrybuanty (z rozkładem jednostajnym) a ~ U(0,1) Wynikiem losowania jest punkt, dla którego zachodzi F(r)>a, F(r-1)<=a
Selekcja turniejowa 𝑝 𝑠 𝑃 𝑡,𝑖 = 1 μ 𝑠 μ−𝑖+1 𝑠 − μ−𝑖 𝑠 Szranki s miejsc 𝑝 𝑠 𝑃 𝑡,𝑖 = 1 μ 𝑠 μ−𝑖+1 𝑠 − μ−𝑖 𝑠 Szranki s miejsc 1 5 7 Reprodukcji podlega punkt ze szranek, dla którego wartość f. celu jest największa 5 Losowanie ze zwracaniem s numerów z zakresu 1..8 z rozkładem jednostajnym P(t)
Idea mutacji Przed mutacją Po mutacji 𝐲=𝑚𝑢𝑡𝑎𝑐𝑗𝑎 𝐱 𝑑 𝐲 𝟏, 𝐱 ≤𝑑 𝐲 𝟐, 𝐱 →𝑃𝑟𝑜𝑏 𝐲 𝟏 ≥𝑃𝑟𝑜𝑏 𝐲 𝟐
Typy mutacji (przykłady) Mutacja rozkładem normalnym z macierzą kowariancji C Mutacja rozkładem alfa-stabilnym Mutacja bitowa (zamiana wartości bitu na przeciwną)
Typy mutacji (przykłady) GdWaLPo GdWaLWr GdWaLKaWr GdWaL GdWaLKa GdWaLKaKr GdWaBy GdOl GdWaOl GdSz Gd GdWa GdWaBi GdWaLu GdBy GdWaKi GdWaKiKr GdByL GdByWa GdByLPo GdByLWr GdByLKa GdByLKaWr GdByLKaKr
Algorytm ewolucyjny 𝑎𝑙𝑔𝑜𝑟𝑦𝑡𝑚𝑒𝑤𝑜𝑙𝑢𝑐𝑦𝑗𝑛𝑦 𝑖𝑛𝑖𝑐𝑗𝑢𝑗 𝑃 0 ← 𝑃 1, 𝑡 𝑃 2 𝑡 ... 𝑃 μ 𝑡 𝑡←0 𝐻← 𝑃 0 𝑤ℎ𝑖𝑙𝑒!𝑠𝑡𝑜𝑝 𝑓𝑜𝑟 𝑖∈1:λ 𝑖𝑓 𝑎< 𝑝 𝑐 𝑂 𝑖 𝑡 ←𝑚𝑢𝑡𝑎𝑡𝑖𝑜𝑛 𝑐𝑟𝑜𝑠𝑠𝑜𝑣𝑒𝑟 𝑠𝑒𝑙𝑒𝑐𝑡 𝑃 𝑡 ,𝑘 𝑒𝑙𝑠𝑒 𝑂 𝑖 𝑡 ←𝑚𝑢𝑡𝑎𝑡𝑖𝑜𝑛 𝑠𝑒𝑙𝑒𝑐𝑡 𝑃 , 1 𝐻←𝐻∪ 𝑂 𝑡 𝐏 𝐭+𝟏 ←𝑟𝑒𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡 𝑃 𝑡 , 𝑂 𝑡 𝑡←𝑡+1 a jest zmienną losową rozłożoną jednostajnie w (0,1)
Algorytm ewolucyjny sposób przetwarzania punktów 𝑃 1 O(t) P(t+1) R(t) Reprodukcja Krzyżowanie Mutacja Zastępowanie (sukcesja)
Idea krzyżowania rodzic2 rodzic1 potomek 𝐲=𝑘𝑟𝑧𝑦ż𝑜𝑤𝑎𝑛𝑖𝑒 𝐱 𝟏, 𝐱 𝟐 𝑑 𝐲, 𝐱 𝟏 ,𝑑 𝐲, 𝐱 𝟐 ≤𝑑 𝐱 𝟏, 𝐱 𝟐
Typy krzyżowania (przykłady) Ogólny zapis metody krzyżowania jednopunktowe zmiana 0->1 w losowo wybranym miejscu równomierne p-stwo zera i jedynki jednakowe Arytmetyczne ważone uśrednianie z losowymi współczynnikami 𝐲=𝐰⋅ 𝐱 𝟏 + 1−𝐰 ⋅ 𝐱 𝟐 𝑔𝑑𝑧𝑖𝑒𝐚⋅𝐛=𝐜, 𝑐 𝑖 = 𝑎 𝑖 𝑏 𝑖 𝐰= 0,..,0,1,..,1 𝐰= 0,1,0,1,1,0,0,0,1,1,... 𝐰= 0.1,0.25,0.99,0.3,0.01,...
Typy krzyżowania (przykłady) GdWaLPo GdWaLWr GdWaLKaWr GdWaL GdWaLKa GdWaLKaKr GdWaBy GdOl GdWaOl GdSz Gd GdWa GdWaBi GdWaLu GdBy GdWaKi GdWaKiKr GdByL GdByWa GdByLPo GdByLWr GdByLKa GdByLKaWr GdByLKaKr
Typy zastępowania generacyjne elitarne steady-state 𝐏 𝑡+1 =𝐎 𝑡 𝐏 𝑡+1 ={𝑘𝑛𝑎𝑗𝑙𝑒𝑝𝑠𝑧𝑦𝑐ℎ𝑧𝐏 𝑡 }∪𝐎 𝑡 λ=1 𝐏 𝑡+1 =𝐏 𝑡 ∖{𝑃 𝑡,𝑏 }∪𝐎 𝑡
Algorytm ewolucyjny selekcja (reprodukcja, selection) wybrać lepsze punkty z P(t) z większym prawdopodobieństwem niż gorsze krzyżowanie (crossover) wygenerować punkt “pośredni”, typowo k=2 mutacja (mutation) wygenerować punkt z otoczenia sukcesja (zastępowanie, replacement) zdecydować o populacji do następnej generacji