Download pdf - Metody probabilistyczne

Transcript
Page 1: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Sztuczna Inteligencja i Systemy EkspertoweAlgorytmy probabilistyczne.

Aleksander Pohlhttp://apohllo.pl/dydaktyka/ai

Wyzsza Szkoła Zarzadzania i Bankowosci

4 czerwca 2009

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 2: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Plan prezentacji

Wprowadzenie

Wyzarzanie

Algorytmy genetyczne

Postscriptum

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 3: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Plan prezentacji

Wprowadzenie

Wyzarzanie

Algorytmy genetyczne

Postscriptum

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 4: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Problemy NP-zupełne

◮ Klasa problemów z teorii złozonosci obliczeniowej◮ Problemy o czasie co najmniej wykładniczym

∃k : m(n) = O(kn)◮ Problem komiwojazera◮ Problem rozkładu liczby złozonej na składowe

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 5: Metody probabilistyczne

Wprowadzenie Wyzarzanie 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

Page 6: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Algorytmy probabilistyczne

Klasyczny algorytmy probabilistyczne:◮ Metoda Monte-Carlo◮ Wyzarzanie◮ Algorytmy Genetyczne◮ Algorytmy Mrówkowe

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 7: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Algorytmy probabilistyczne

◮ Metody ograniczone ze wzgledu na czas, dopuszczajacebład

◮ Metody Monte-Carlo◮ Metody nieograniczone ze wzgledu na czas, nie

dopuszczajace błedu◮ Metody Las-Vegas

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 8: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Metody Monte-Carlo („hill-climbing”)

◮ 1930 – Fermi ; własnosci neutronu, projekt Manhattan◮ 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◮ Zagrozenie maksimami lokalnymi

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 9: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Metoda Monte-CarloMała odpornosc na lokalne maksima

Rysunek: Wykres funkcji celu dla problemów o róznejcharakterystyce

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 10: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Plan prezentacji

Wprowadzenie

Wyzarzanie

Algorytmy genetyczne

Postscriptum

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 11: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Wyzarzanie („simulated annealing”)

◮ Heurystyczna metoda probabilistyczna poszukiwaniaglobalnego maksimum

◮ Analogia do „wyzarzania” w metalurgii łaczacej ogrzewaniei chłodzenie materiału w celu zwiekszenia rozmiarukryształów oraz usuniecie defektów – poprzezumozliwienie atomom osiagniecia stanu nizszej energii

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 12: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Zasada działania

◮ Okreslamy norme/metryke w przestrzeni stanów – energie◮ Prawdopodobienstwo przejscia miedzy stanami jest

zalezne od róznicy energii miedzy nimi oraz odtemperatury

◮ δE < 0 : P(s) = 1

◮ δE ≥ 0 : P(s) = e−

δET

◮ δE – róznica energii◮ T – temperatura◮ P(s) – prawdopodobienstwo przejscia z jednego stanu do

innego

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 13: Metody probabilistyczne

Wprowadzenie Wyzarzanie 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

Page 14: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Implementacja – pseudokod

T := T0

S := S0

E := objective(S)k := 0while terminal condition not trueSnew := move(S, T)Enew := objective(Snew)if Enew < E orrandom() < acceptor(Enew - E, T)S := Snew

E := Enew

T := schedule(T0, k)k := k + 1

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 15: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Implementacja – metody pomocnicze

◮ Objective() - oblicza energie◮ Funkcja celu

◮ Move() - proponuje nowy stan (niezalezne odtemperatury)

◮ Losowy stan bliski dla stanu wyjsciowego◮ Acceptor() podaje prawdopodobienstwo przejscia

◮1

1+eδE

k∗T

◮ Schedule() podaje temperature w kroku k◮ T = T0 ∗ ck , 0 < c < 1 (Metropolis)

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 16: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Plan prezentacji

Wprowadzenie

Wyzarzanie

Algorytmy genetyczne

Postscriptum

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 17: Metody probabilistyczne

Wprowadzenie Wyzarzanie 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 niz metody bazujace

na gradiencie

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 18: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Algorytmy genetyczne

◮ Stochastyczna metoda przeszukiwania przestrzenirozwiazan

◮ Operujaca nie na pojedynczych elementach ale napopulacji stanów

◮ Stan zakodowany jest w postaci „chromosomu”◮ Algorytm jest niezalezny od reprezentacji

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 19: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Terminologia

◮ Stan – chromosom, genotyp◮ Pola stanu – allele◮ Przestrzen rozpatrywanych stanów - populacja◮ Operacje:

◮ Selekcja◮ Krzyzowanie◮ Mutacja

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 20: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Algorytm ogólny

◮ Stwórz populacje poczatkowa◮ Iteratywnie wykonuj nastepujaca operacje (nazywana

pokoleniem) dopóki warunek stopu nie jest spełniony◮ Sprawdz stopien przystosowania kazdego genotypu◮ Wybierz z populacji pare o okreslonym st. przystosowania◮ Zastosuj do niej jedna z nastepujacych operacji:

◮ Krzyzowanie (crossover)◮ Replikacje◮ Mutacje◮ Lokalna optymalizacje

◮ Dokonaj selekcji w ramach populacji

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 21: Metody probabilistyczne

Wprowadzenie Wyzarzanie 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

Page 22: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Krzyzowanie (liniowy genotyp)

◮ 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

Page 23: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Krzyzowanie (cd.)

◮ Arithmetic◮ Offspring1 = a * Parent1 + (1 - a) * Parent2◮ Offspring2 = (1 - a) * Parent1 + a * Parent2

◮ Uniform Crossover (UX) – mymieniamy zprawdopodobienstwem 50%

◮ Parent 1: 11001010◮ Parent 2: 00100111◮ Offspring1: 10100011◮ Offspring2: 01001110

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 24: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Krzyzowanie (cd.)

◮ Half Uniform Crossover (HUX) – wymieniamy dokładniepołowe (losowo) rózniacych sie bitów

◮ Parent 1: 10111011◮ Parent 2: 10010011◮ Offspring 1: 10011011◮ Offspring 2: 10110011

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 25: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Krzyzowanie – permutacyjne genotypy

◮ Order Crossover (OX) kopiujemy losowy odcinek z jednegorodzica, kopiujemy reszte zachowujac porzadek z drugiegorodzica

◮ Parent 1: 12|345|678◮ Parent 2: 87654321◮ Offspring: 34587621

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 26: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Krzyzowanie (cd.)

◮ Partially mapped crossover (PMX) kopiujemy losowyodcinek z jednego rodzica, kopiujemy reszte z drugiegorodzica zachowujac pozycje, jesli jest konflikt, bierzemymapowanie z wycinka pierwszego rodzica

◮ Parent 1: 12|345|678◮ Parent 2: 87|654|321◮ Offspring: 87|345|621

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 27: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Selekcja

◮ Prosta◮ Populacja wymieniana co pokolenie

◮ Stała populacja◮ Tylko niektóre osobniki sa wymieniane

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 28: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Skalowanie stopnia przystosowania

◮ Pozycja („rank”)◮ Brak skalowania

◮ Liniowa◮ Wartosc przeskalowana przez max/min w populacji

◮ Sigma – odciecie◮ Odciecie ponizej pewnego poziomu

◮ Skalowanie podobienstwa („sharing”)◮ Premiowanie „odmienców”

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 29: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Mechanizm zastepowania

◮ Najlepszy◮ Najgorszy◮ Rodzic◮ Losowo◮ Podobne („crowding”)

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 30: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Kandydaci do selekcji

◮ Najlepszy◮ Zasada ruletki◮ Turniejowa◮ itd.

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 31: Metody probabilistyczne

Wprowadzenie Wyzarzanie 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

Page 32: Metody probabilistyczne

Wprowadzenie Wyzarzanie Algorytmy genetyczne Postscriptum

Plan prezentacji

Wprowadzenie

Wyzarzanie

Algorytmy genetyczne

Postscriptum

Aleksander Pohl WSZiB

Heurystyki. Algorytmy genetyczne

Page 33: Metody probabilistyczne

Wprowadzenie Wyzarzanie 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


Recommended