Your SlideShare is downloading. ×
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Metody probabilistyczne
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Metody probabilistyczne

1,892

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
1,892
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 3. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 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. 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. 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. 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. 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. 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. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 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. 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. 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. 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. 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. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Mechanizm zastepowania ˛ ◮ Najlepszy ◮ Najgorszy ◮ Rodzic ◮ Losowo ◮ Podobne („crowding”) Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 30. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Kandydaci do selekcji ◮ Najlepszy ◮ Zasada ruletki ◮ Turniejowa ◮ itd. Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 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. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 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

×