Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna...
Transcript of Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna...
![Page 1: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/1.jpg)
Wstęp do Sztucznej Inteligencji
Algorytmy Genetyczne
Joanna Kołodziej Politechnika Krakowska
Wydział Fizyki, Matematyki i Informatyki
![Page 2: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/2.jpg)
Metody heurystyczne
Algorytm efektywny: koszt zastosowania (mierzony czasem wykonania i wielkością zajętej pamięci) nie rośnie zbyt szybko w zależności od rozmiaru zadania
„Bariera rozmiaru” dla zadań trudnych obliczeniowo (NP-zupełnych,NPO-zupełnych)
Alternatywa: metody heurystyczne
Przykład: sztuczna inteligencja, soft computing
![Page 3: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/3.jpg)
Heurystyka
Etymologia: heuriskein (gr.) — znaleźć, odkryć
Potocznie: praktyczna, oparta na doświadczeniu, ”inteligentna” reguła postępowania, która może drastycznie uprościć lub skrócić proces rozwiązywania problemu, gdy metoda rozwiązania nie jest znana lub jest zawiła i czasochłonna
W algorytmice: “niepełnowartościowy” algorytm, który umożliwia znalezienie w akceptowalnym czasie przynajmniej “dostatecznie dobrego” przybliżonego rozwiązania problemu, choć nie gwarantuje tego we wszystkich przypadkach.
![Page 4: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/4.jpg)
Soft Computing
Jakim sposobem programować komputery, aby nabywały one zdolności rozwiązywania zadań na podstawie opisu tego co należy zrobić, a nie jak to zrobić?
[John Holland, Adaptation in Natural and Artificial Systems. 1975]
Zdolność do efektywnego rozwiązywania problemów przy tolerancji dla: nieścisłości (imprecision) niepewności (uncertainty) półprawdy (partial truth) niedokładności (approximation) (cechy charakteryzujące umysł ludzki)
![Page 5: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/5.jpg)
Soft Computing — Technologie
systemy rozmyte (fuzzy systems)
sieci neuronowe (neural networks)
obliczenia ewolucyjne (evolutionary computation)
uczenie maszynowe (machine learning)
wnioskowanie probabilistyczne (probabilistic reasoning)
![Page 6: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/6.jpg)
Dlaczego ewolucja?
Żywe organizmy są ekspertami w rozwiązywaniu problemów i
wykazują wszechstronność, której nie mają nawet najlepsze programy
komputerowe. Zasada doboru naturalnego usuwa jedną z
największych przeszkód w projektowaniu oprogramowania: konieczność
uprzedniej specyfikacji wszystkich szczegółów problemu
i wszystkich działań, które powinien podjąć program. Wykorzystując
mechanizmy ewolucyjne badacze będą mogli «wyhodować» programy
potrafiące rozwiązywać problemy o strukturze tak złożonej, że nikt ich w
pełni nie rozumie.
[J. Holland, Algorytmy genetyczne. Świat Nauki, wrzesień 1992]
![Page 7: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/7.jpg)
Metoda ewolucyjna
Metoda dochodzenia do celu (rozwiązania końcowego) drogą
stopniowych, drobnych przemian, oparta na mechanizmie
sprzężenia zwrotnego:
• nowe rozwiązania wytwarzane są poprzez modyfikacje lub
kombinacje znanych (istniejących) rozwiązań
• wartość nowych rozwiązań jest poddawana weryfikacji na
podstawie odniesionego sukcesu (“rozpoznanie walka”)
Jest to wiec metoda “prób i błędów”: błędy są eliminowane, a
sukcesy — kumulowane
![Page 8: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/8.jpg)
Zadania optymalizacyjne
• niepusty zbiór S obiektów, zwanych rozwiązaniami
• funkcja oceny (jakości) rozwiązań f : S R – f. fitness
• maksimum globalne funkcji f: (zS) f(x) ≥ f(z)
• minimum globalne funkcji f: (zS) f(x) ≤ f(z)
• ekstremum : maksimum lub minimum
• rozwiązanie ekstremalne, optimum: rozwiązanie dla
którego funkcja f osiąga ekstremum (wartość
optymalną)
![Page 9: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/9.jpg)
Przykłady funkcji benchmarkowych dla zadań optymalizacji globalnej
Funkcja Griewanka
10
1
10
1
2
10,1 1)cos(4000
)|(:i
i
i
i
iii
xxxfF
]512;512[ix
![Page 10: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/10.jpg)
Metody ewolucyjne – metody stochastyczne
![Page 11: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/11.jpg)
Typy metod ewolucyjnych
• Algorytmy genetyczne
• Strategie ewolucyjne
• Programowanie Genetyczne
• Programowanie Ewolucyjne
![Page 12: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/12.jpg)
Algorytmy Genetyczne
![Page 13: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/13.jpg)
John H. Holland (University of Michigan at Ann Arbor, Santa Fe Institute)
– Koncepcja planów reprodukcyjnych (Adaptation in
Natural and Artificial Systems, 1975)
Kenneth A. De Jong (George Mason University, Fairfax, Virginia)
– Pierwsze implementacje i zastosowania w optymalizacji (An Analysis of the Behavior of a Class of Genetic Adaptive Systems, 1975)
David E. Goldberg (University of Illinois at Urbana-Champaign)
– Popularyzacja, podrecznik algorytmów genetycznych (Genetic Algorithms in Search, Optimization and Machine Learning, 1989)
Algorytmy genetyczne - twórcy
![Page 14: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/14.jpg)
Jak działa algorytm genetyczny?
![Page 15: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/15.jpg)
Konkretniej…
![Page 16: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/16.jpg)
AG- schemat działania
utwórz populację początkową
while not warunek zatrzymania do
->utwórz pulę rodzicielską z populacji
bieżącej
-> wygeneruj osobniki potomne za pomocą
operatorów mieszających i lokalnych
-> uaktualnij populację bieżącą
end while
return najlepsze rozwiązanie
![Page 17: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/17.jpg)
Pula rodzicielska
W pierwotnym ujęciu: efekt etapu selekcji wstępnej (reprodukcji);
pokolenie pośrednie, zawierające “klony” osobników wybranych z
populacji bieżącej
• Osobniki z puli rodzicielskiej są kojarzone (losowo) w pary w celu
skrzyżowania; wybrana para zostaje usunięta z puli (losowanie bez
zwracania)
• Etapy reprodukcji i kojarzenia można zintegrować, wybierając
bezpośrednio pary rodzicielskie z populacji bieżącej (wg reguł
selekcji wstępnej)
• Oba schematy są stochastycznie równoważne
![Page 18: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/18.jpg)
Kanoniczny (klasyczny) AG
• reprezentacja: kodowanie genetyczne (chromosom zerojedynkowy)
• wielkość populacji: stała
• selekcja wstępna: proporcjonalna
• rekombinacja: krzyżowanie proste z prawdopodobieństwem pc
• mutacja: równoległa z punktowym prawdopodobieństwem mutacji pm
• wymiana pokoleń: pełna
• warunek zatrzymania: limit liczby pokoleń
![Page 19: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/19.jpg)
Reprezentacja rozwiązań – kodowanie metodą siatki binarnej
Genotyp - 8 bitów
Fenotyp – postać całkowita
Fenotyp – wartość rzeczywista pomiędzy 2,5 a 20,5
![Page 20: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/20.jpg)
Selekcja proporcjonalna
Metoda ruletki
![Page 21: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/21.jpg)
// ps[1..N] -- wektor prawdopodobieństw wyboru
// porządek elementów bez znaczenia
u := random;
s := 0.0;
i := 0;
repeat
i := i+1;
s := s + ps[i]
until s >= u;
return(i); // numer "zwycięskiego" sektora
Implementacja modelu ruletkowego
![Page 22: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/22.jpg)
Implementacja -uzasadnienie
![Page 23: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/23.jpg)
Reprodukcja
Operatory reprodukcji:
• Krzyżowanie
• Mutacja
![Page 24: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/24.jpg)
Krzyżowanie - idea
![Page 25: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/25.jpg)
Krzyżowanie jednopunktowe
![Page 26: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/26.jpg)
Krzyżowanie wielopunktowe
![Page 27: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/27.jpg)
Mutacja binarna
![Page 28: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/28.jpg)
Przykład – problem OneMax
![Page 29: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/29.jpg)
Selecja dla OneMax
![Page 30: Wstęp do Sztucznejamarsz/dydaktyka/wsi/WSI... · 2017. 3. 15. · Przykład: sztuczna inteligencja, soft computing . Heurystyka ... Przykłady funkcji benchmarkowych dla zadań optymalizacji](https://reader036.fdocument.pub/reader036/viewer/2022071513/6133f63edfd10f4dd73b6d7a/html5/thumbnails/30.jpg)
Rekombinacja dla OneMax