Metody probabilistyczne

2,098 views
2,013 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,098
On SlideShare
0
From Embeds
0
Number of Embeds
132
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Metody probabilistyczne

  1. 1. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Sztuczna Inteligencja i Systemy Ekspertowe Algorytmy probabilistyczne. Aleksander Pohl http://apohllo.pl/dydaktyka/ai Wy˙ sza Szkoła Zarzadzania i Bankowo´ ci z ˛ s 4 czerwca 2009 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  2. 2. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  3. 3. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  4. 4. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Problemy NP-zupełne ◮ Klasa problemów z teorii zło˙ ono´ ci obliczeniowej z s ◮ Problemy o czasie co najmniej wykładniczym ∃k : m(n) = O(k n ) ◮ Problem komiwoja˙ era z ◮ Problem rozkładu liczby zło˙ onej na składowe z Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  5. 5. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Metody rozwiazania ˛ ◮ Metody rozwiazywania: ˛ ◮ Aproksymacje ◮ Probabilistyczne ◮ Rozpatrywanie szczególnych przypadków ◮ Algorytmy z ustalonymi parametrami ◮ Heurystyki Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  6. 6. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytmy probabilistyczne Klasyczny algorytmy probabilistyczne: ◮ Metoda Monte-Carlo ◮ Wy˙ arzanie z ◮ Algorytmy Genetyczne ◮ Algorytmy Mrówkowe Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  7. 7. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytmy probabilistyczne ◮ Metody ograniczone ze wzgledu na czas, dopuszczajace ˛ ˛ bład ˛ ◮ Metody Monte-Carlo ◮ Metody nieograniczone ze wzgledu na czas, nie ˛ dopuszczajace błedu ˛ ˛ ◮ Metody Las-Vegas Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  8. 8. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Metody Monte-Carlo („hill-climbing”) ◮ 1930 – Fermi ; własno´ ci neutronu, projekt Manhattan s ◮ Całkowanie numeryczne ◮ Zagadnienia optymalizacyjne ◮ Losowanie markera w przestrzeni n-wymiarowej ◮ Marker w małym promieniu szuka kierunku spadku gradientu i przesuwany jest w takim kierunku ◮ Zagro˙ enie maksimami lokalnymi z Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  9. 9. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Metoda Monte-Carlo s´ Mała odporno´ c na lokalne maksima Rysunek: Wykres funkcji celu dla problemów o ró˙ nej z charakterystyce Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  10. 10. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  11. 11. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Wy˙ arzanie („simulated annealing”) z ◮ Heurystyczna metoda probabilistyczna poszukiwania globalnego maksimum ◮ Analogia do „wy˙ arzania” w metalurgii łaczacej ogrzewanie z ˛ ˛ i chłodzenie materiału w celu zwiekszenia rozmiaru ˛ kryształów oraz usuniecie defektów – poprzez ˛ umo˙ liwienie atomom osiagniecia stanu ni˙ szej energii z ˛ ˛ z Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  12. 12. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Zasada działania ◮ Okre´ lamy norme/metryk˛ w przestrzeni stanów – energie s ˛ e ˛ ◮ ´ Prawdopodobienstwo przej´ cia miedzy stanami jest s ˛ zale˙ ne od ró˙ nicy energii miedzy nimi oraz od z z ˛ temperatury ◮ δE < 0 : P(s) = 1 δE ◮ δE ≥ 0 : P(s) = e− T ◮ δE – ró˙ nica energii z ◮ T – temperatura ◮ ´ P(s) – prawdopodobienstwo przej´ cia z jednego stanu do s innego Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  13. 13. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Charakterystyka temperaturowa ◮ T = 0 – algorytm zachłanny ◮ T = ∞ – algorytm losowy ◮ Istotny element – „chłodzenie” ◮ Rapid quenching ◮ Szybka redukcja temperatury ◮ Ponowne ogrzewanie Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  14. 14. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Implementacja – pseudokod T := T0 S := S0 E := objective(S) k := 0 while terminal condition not true Snew := move(S, T) Enew := objective(Snew ) if Enew < E or random() < acceptor(Enew - E, T) S := Snew E := Enew T := schedule(T0, k) k := k + 1 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  15. 15. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Implementacja – metody pomocnicze ◮ Objective() - oblicza energie ˛ ◮ Funkcja celu ◮ Move() - proponuje nowy stan (niezale˙ ne od ˛ z temperatury) ◮ Losowy stan bliski dla stanu wyj´ ciowego s ◮ ´ Acceptor() podaje prawdopodobienstwo przej´ cia s ◮ 1 δE 1+e k ∗T ◮ Schedule() podaje temperature w kroku k ˛ ◮ T = T0 ∗ c k , 0 < c < 1 (Metropolis) Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  16. 16. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  17. 17. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytmy genetyczne ◮ John Holland (1970) University of Michigan ◮ Dobrze sie nadaja do mieszanych dyskretno/ciagłych ˛ ˛ ˛ problemów optymalizacyjnych ◮ Bardziej odporne na lokalne minima ni˙ metody bazujace z ˛ na gradiencie Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  18. 18. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytmy genetyczne ◮ Stochastyczna metoda przeszukiwania przestrzeni ˛ ´ rozwiazan ◮ Operujaca nie na pojedynczych elementach ale na ˛ populacji stanów ◮ Stan zakodowany jest w postaci „chromosomu” ◮ Algorytm jest niezale˙ ny od reprezentacji z Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  19. 19. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Terminologia ◮ Stan – chromosom, genotyp ◮ Pola stanu – allele ◮ ´ Przestrzen rozpatrywanych stanów - populacja ◮ Operacje: ◮ Selekcja ◮ Krzy˙ owanie z ◮ Mutacja Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  20. 20. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytm ogólny ◮ Stwórz populacje poczatkowa ˛ ˛ ˛ ◮ Iteratywnie wykonuj nastepujaca operacje (nazywana ˛ ˛ ˛ ˛ ˛ pokoleniem) dopóki warunek stopu nie jest spełniony ◮ z ´ Sprawd´ stopien przystosowania ka˙ dego genotypu z ◮ Wybierz z populacji pare o okre´ lonym st. przystosowania ˛ s ◮ Zastosuj do niej jedna z nastepujacych operacji: ˛ ˛ ˛ ◮ Krzy˙ owanie (crossover) z ◮ Replikacje˛ ◮ Mutacje˛ ◮ Lokalna optymalizacje ˛ ˛ ◮ Dokonaj selekcji w ramach populacji Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  21. 21. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Kodowanie ◮ {0...7} ◮ binarnie {000, 001, 010, 011, 100, 101, 110, 111} ◮ kod Gray’a {000, 001, 011, 010, 110, 111, 101, 100} Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  22. 22. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie (liniowy genotyp) z ◮ Single-point ◮ Parent 1: 11001|010 ◮ Parent 2: 00100|111 ◮ Offspring1: 11001|111 ◮ Offspring2: 00100|010 ◮ Two-point ◮ Parent 1: 110|010|10 ◮ Parent 2: 001|001|11 ◮ Offspring1: 110|001|10 ◮ Offspring2: 001|010|11 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  23. 23. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie (cd.) z ◮ Arithmetic ◮ Offspring1 = a * Parent1 + (1 - a) * Parent2 ◮ Offspring2 = (1 - a) * Parent1 + a * Parent2 ◮ Uniform Crossover (UX) – mymieniamy z ´ prawdopodobienstwem 50% ◮ Parent 1: 11001010 ◮ Parent 2: 00100111 ◮ Offspring1: 10100011 ◮ Offspring2: 01001110 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  24. 24. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie (cd.) z ◮ Half Uniform Crossover (HUX) – wymieniamy dokładnie połowe (losowo) ró˙ niacych sie bitów ˛ z ˛ ˛ ◮ Parent 1: 10111011 ◮ Parent 2: 10010011 ◮ Offspring 1: 10011011 ◮ Offspring 2: 10110011 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  25. 25. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie – permutacyjne genotypy z ◮ Order Crossover (OX) kopiujemy losowy odcinek z jednego rodzica, kopiujemy reszte zachowujac porzadek z drugiego ˛ ˛ ˛ rodzica ◮ Parent 1: 12|345|678 ◮ Parent 2: 87654321 ◮ Offspring: 34587621 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  26. 26. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie (cd.) z ◮ Partially mapped crossover (PMX) kopiujemy losowy odcinek z jednego rodzica, kopiujemy reszte z drugiego ˛ rodzica zachowujac pozycje, je´ li jest konflikt, bierzemy ˛ ˛ s mapowanie z wycinka pierwszego rodzica ◮ Parent 1: 12|345|678 ◮ Parent 2: 87|654|321 ◮ Offspring: 87|345|621 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  27. 27. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Selekcja ◮ Prosta ◮ Populacja wymieniana co pokolenie ◮ Stała populacja ◮ Tylko niektóre osobniki sa wymieniane ˛ Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  28. 28. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Skalowanie stopnia przystosowania ◮ Pozycja („rank”) ◮ Brak skalowania ◮ Liniowa ◮ s´ Warto´ c przeskalowana przez max/min w populacji ◮ Sigma – odciecie ˛ ◮ Odciecie poni˙ ej pewnego poziomu ˛ z ◮ ´ Skalowanie podobienstwa („sharing”) ◮ ´ Premiowanie „odmienców” Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  29. 29. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Mechanizm zastepowania ˛ ◮ Najlepszy ◮ Najgorszy ◮ Rodzic ◮ Losowo ◮ Podobne („crowding”) Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  30. 30. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Kandydaci do selekcji ◮ Najlepszy ◮ Zasada ruletki ◮ Turniejowa ◮ itd. Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  31. 31. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Implementacja ◮ execute_generations(Generation) :- maximum_generations(MaxGens), MaxGens =:= Generation. ◮ execute_generations(Generation) :- recombine(Generation), fitness_test(0), Next is Generation + 1, execute_generations(Next). Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  32. 32. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  33. 33. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Materiały zródłowe ´ ◮ L.Sterling, E.Shapiro - „The Art Of Prolog” ◮ Ivan Bratko - „Prolog – Programming For Artificial Intelligence” ◮ Slajdy zostały przygotowane za zgoda˛ dr. Michała Korzyckiego na podstawie jego wykładu. Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne

×