Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE

Podobne prezentacje


Prezentacja na temat: "SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE"— Zapis prezentacji:

1 SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
WYKŁAD 2 SZUKANIE HEURYSTYCZNE Dr hab. inż. Barbara Dębska, prof. PWSZ KROSNO Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

2 Główne procedury szukania
Ślepe Heurystyczne B&B Rozgałęziaj i ograniczaj Wgłąb Wszerz Best FS Minimax Niedeterministycze Zachłanne GS A* Algorytm wspinaczki Przy stałych kosztach UCS Monte Carlo Algorytmy genetyczne Symulowane wyżarzanie IDA* Iteracyjnie pogłębiane Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

3 Szukanie heurystyczne
Metody szukania heurystycznego Algorytmy iteracyjne  Wspinaczka  Monte Carlo  Symulowane wyżarzanie Definicja funkcji heurystycznej Klasyfikacja algorytmów szukania Najpierw najlepszy  Przesuwanka  Szukanie zachłanne  Szukanie A* Szukanie z więzami Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

4 Metody szukania heurystycznego
Ślepe szukanie nie używa informacji o możliwej strukturze drzewa lub celów; taka informacja może przyczynić się do optymalizacji procesu szukania. Największym problemem w rzeczywistych zastosowaniach jest eksplozja kombinatoryczna liczby możliwych dróg. Szukanie heurystyczne wykorzystuje informacje, które poprawiają efektywność procesu szukania. Używają heurystyk, „reguł kciuka” by określić, którą część drzewa decyzji rozwijać najpierw. Heurystyki to reguły lub metody, które prawie zawsze gwarantują podjęcie lepszej decyzji. Przykład szczególny: w sklepie z wieloma kasami dobrą regułą jest: stań przy kasie z najkrótszą kolejką. Ale ... (1) jeśli stoi przy niej osobnik z furą zakupów; (2) lub nie ma przy niej kasjera; (3) lub przyjmują tylko gotówkę a chcesz na kredyt, to nie jest najlepsza decyzja. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

5 Definicja Funkcji Heurystycznej
Funkcja h :   R, gdzie  to zbiór dozwolonych stanów, R to liczby rzeczywiste, odwzorowuje stany s ze zbioru  na wartości h(s) służące do oceny względnych kosztów lub zysków rozwijania dalszej drogi przez węzeł odpowiadający s. Węzeł A ma 3 potomków. h(s1)=0.8, h(s2)=2.0, h(s3)=1.6 Wartości h oznaczają koszty utworzenia węzła; najtaniej jest utworzyć węzeł s1 i ten z punktu widzenia danej heurystyki jest najlepszym kandydatem. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

6 Najpierw najlepszy (BestFS)
Kombinacja szukania w głąb (DFS) i szukania wszerz (BFS). DFS znajduje dobre rozwiązania taniej niż BFS, BFS nie wpada w zamknięte pętle ani ślepe zaułki. Metoda „najpierw najlepszy (BestFS) pozwala połączyć korzyści z obu metod. Jest kilka wariantów tej metody. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

7 BestFS - przykład Dla przesuwanki użyteczna funkcja heurystyczna mierzy ile kwadratów zajmuje końcowe pozycje. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

8 BFS1: szukanie zachłanne
Szukanie zachłanne (Greedy Search, GS) to jedna z najprostszych strategii BestFS. Funkcja heurystyczna h(n) – ocenia pozostałe koszty dotarcia do celu (np. odległość od celu). Szukanie zachłanne: “ocenianych kosztów dotarcia do celu”. Najpierw rozwijany jest węzeł najbliższy. W problemach szukania drogi możliwe są różne metryki: (1) Najkrótsza odległość Euklidesowa; (2) Odległość Manhattan, poruszanie się tylko po prostych poziomych i pionowych. W innych problemach: oceny podobieństwa. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

9 BestFS1: przykład zastosowania algorytmu GS do szukania trasy
(500) (278) (376) (211) (198) (101) (239) Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

10 UCS - stałe koszty UCS, Uniform Cost Search – szukanie przy stałych kosztach. Metoda: Rozwijaj węzły o najniższym koszcie; jeśli koszt przekroczy próg cofnij się i idź inną drogą. Jeśli koszt wszystkich dróg jest jednakowy, to zastosuj zwykłe BS. Przykład: koszty są po lewej stronie. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

11 Programowanie dynamiczne.
Zasada „programowania dynamicznego”: Najlepsza droga do celu G przez pośredni węzeł P to najlepsza droga od startu S do P połączona z najlepszą drogą z P do G. Wniosek: szukając najlepszej drogi do celu wystarczy rozpatrywać tylko najkrótszą drogę do P BestFS2: szukanie A* GS minimalizuje koszty dojścia do celu h(n), nie jest to algorytm zupełny ani optymalny. Alternatywą jest minimalizacja g(n) kosztów dojścia do danego węzła – jest to metoda kompletna, optymalna, ale mało efektywna. Metoda A* łączy obydwie funkcje heurystyczne, h(n) oraz g(n) w jednej funkcji heurystycznej oceniającej koszty najtańszego rozwiązania przechodzącego przez węzeł n, tzn. f(n) = g(n) + h(n). Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

12 BestFS2: algorytm A* Rozpocznij od węzła początkowego i twórz nowe węzły {n} dopóki cel nie zostanie osiągnięty; Posortuj nowe węzły {n} korzystając z funkcji f (n)= g(n) + h(n); Odrzuć ścieżki zapętlone Wybierz najlepszy węzeł n' Zostaw tylko najtańszą ścieżkę do n'. Jeśli n' jest celem skończ; Jeśli nie, rozwijaj dalsze węzły {n}, łącznie z n' Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

13 IDA*, czyli A* iteracyjnie pogłębiane.
BestFS2: A* Własności: Ponieważ wybierana jest najtańsza droga do danego węzła n żadna inna droga nie może obniżyć całkowitego kosztu (monotoniczność). h(n) powinno być wiarygodną oceną kosztów dojścia do celu – zaniżenie wszystkich koszów nie przeszkadza. Algorytm A* jest w tym przypadku optymalny. IDA*, czyli A* iteracyjnie pogłębiane. Stosuj algorytm szukania w głąb. Oceniaj całkowite koszty f (n)= g(n) + h(n) heurystyką A*. Jeśli f (n) > T cofaj się; T jest tu zmiennym progiem. Jeśli nie znaleziono rozwiązania zwiększ T i powtarzaj. Wady: powtarza część ścieżek, ale i tak końcowe szukanie zajmuje najwięcej czasu. Zalety: niewielka pamięć, jak DS, tylko szybsze. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

14 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

15 Heurystyki dla 8-ki Algorytmy szukania heurystycznego testuje się często na problemie przesuwanki. Dla 8-ki jest 9!/2 lub możliwych stanów, (dla 15-ki 653 mld). W procesie szukania dobra funkcja heurystyczna zmniejsza liczbę rozpatrywanych stanów < 50. Dwie funkcje, które nigdy nie przeceniają kosztów: 1. h1 = liczba płytek na złych pozycjach – każdą trzeba przesunąć przynajmniej raz. 2. h2 = suma odległości od celu, metryka Manhattan; każdy ruch zmniejsza odległość od celu o 1; Tutaj: h1=8, h2 = 18 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

16 g(n) = odległość od startu do stanu n.
Przestrzeń stanów utworzona w czasie heurystycznego szukania rozwiązania dla 8-ki. Przykład. Algorytm A* dla 8-ki: Operacje: f(n) = g(n) + h(n) g(n) = odległość od startu do stanu n. h(n) = liczba elementów na złym miejscu. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

17 Przeszukiwanie metodą minimax
Metoda będzie wyjaśniona na przykładzie części drzewa gry dwuosobowej takiej jak szachy. Korzeń drzewa – reprezentuje pozycję początkową w której ruch ma gracz A, a wartości reprezentują siłę jego pozycji. 999 – oznacza zwycięstwo gracza A; 0 – oznacza zwycięstwo gracza B. ( ) – wartości pośrednie odzwierciedlają względne szanse zwycięstwa gracza A w odpowiedniej pozycji Dla gracza A trzeba wybrać ten jedyny możliwy ruch który maksymalizuje jego szanse zwycięstwa. Najlepsze ruchy ustala się analizując drzewo gry od liści. Jeśli bieżący wierzchołek ojca reprezentuje ruch gracza A, to z wierzchołkiem tym wiąże się maksimum z wartości jego wierzchołków potomnych, a jeśli reprezentuje on ruch gracza B, to bierze się minimum tych wartości. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

18 Propagacja optymalnej ścieżki w metodzie minimax
74 max 999 110 106 142 5 74 28 87 15 71 56 10 65 78 min 74 10 max 74 78 110 10 71 min 74 15 999 max 74 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

19 B&B, rozgałęziaj i ograniczaj.
Wybierz na każdym kroku kilka najlepszych węzłów, rozwijaj dopóki wystarczy pamięci - (beam search, szukanie wiązką). Utwórz listę składającą się korzenia Dopóki lista nie jest pusta lub nie osiągnięto węzła celu: Znajdź m węzłów dla którego f(n, m) = najmniejsze rozwiń je tworząc wszystkie węzły potomne jeśli któryś z nich jest celem zakończ dla każdego węzła potomnego n': oceń węzeł funkcją f(n') usuń powtórki Jeśli za wiele węzłów wybierz m najlepszych.  Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

20 Algorytm wspinaczki Hill-climbing, czyli wspinaczka – idzie w kierunku wzrastającej wartości funkcji heurystycznej. Równoważny szukaniu „najpierw najlepszy”, ale tu zastosowany do optymalizacji parametrów ciągłych, rozwija jedną ścieżkę poszukiwań. Przełamuje impasy (identyczne koszty kilku dróg) w sposób losowy. Pseudokod algorytmu wspinaczki: Oceń stan początkowy; jeśli nie jest to cel wykonaj: Utwórz nowy stan; Jeśli nowy stan jest stanem celu zakończ. Jeśli nowy stan jest bliżej stanu celu przyjmij go; w przeciwnym przypadku zignoruj go. Jeśli nie można utworzyć nowych stanów zatrzymaj się. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

21 Wady algorytmu wspinaczki:
Lokalne minima. Plateaux, czyli równiny. Wąskie grzbiety. W niektórych problemach mogą pomóc wielokrotne starty z przypadkowych punktów. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

22 Monte Carlo i Symulowane Wyżarzanie
Szukanie przypadkowe, nazywane algorytmem British Museum, wybiera przypadkowo węzły. W metodzie Monte Carlo (MC) rozwija się losowo wybrany węzeł Odpowiada to przypadkowemu tworzeniu różnych fragmentów grafu. Jeśli jest funkcja heurystyczna to można zastosować metodę symulowanego wyżarzania (SA). Powoli studzone kryształy osiągają konfiguracje o minimalnej energii. W MC stosuje się operatory dające stopniowo malejące zmiany - coraz mniejsze skoki parametrów. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

23 SYMULOWANE WYŻARZANIE
Cel: szukanie globalnie optymalnych rozwiązań. Trzeba czasami iść pod górkę ... Akceptuj nowe węzły nawet jeśli ich ocena jest gorsza z prawdopodobieństwem: gdzie: E=f(O)-f(N) ocenia zmiany jakości rozwiązania z O do N. Jest to rozkład energii Boltzmana w układach termodynamicznych - właśnie taki rozkład energii znajdujemy w przyrodzie. Parametr T pełni rolę temperatury Dla dużego T wszystkie zmiany są akceptowalne i jest to ”czyste” MC, dla małego T mamy zmiany wartości rozwiązania tylko jeśli się poprawia. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

24 PROCES SYMULOWANEGO WYŻARZANIA
Zasada przeprowadzania wyżarzania symulowanego została zaczerpnięta z metalurgii: kawałek metalu jest ogrzewany (atomy są wzbudzone termicznie), a następnie pozostawiany do powolnego ostygnięcia. Powolne i regularne chłodzenie się metalu pozwala atomom na obniżenie poziomu swej energii do momentu znalezienia się w stanie metastabilnym (o minimalnej energii). (Gwałtowne ochłodzenie zamroziłoby je na przypadkowych pozycjach, na których aktualnie by się znajdowały). Otrzymana w rezultacie struktura metalu jest silniejsza i bardziej stabilna. Poprzez symulowanie procesu wyżarzania za pomocą programu komputerowego jesteśmy w stanie znaleźć rozwiązania trudnych i złożonych zadań. Zamiast minimalizowania energii bloku metalu (czy maksymalizowania jego wytrzymałości) program minimalizuje lub maksymali-zuje funkcje celu związane z problemem. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

25 Wysokie uporządkowanie
Niska temp. Wysokie uporządkowanie Wysoka temp. Brak uporządkowania studzenie Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

26 Algorytm SA Określ parametry problemu, koszty operacji itp.
Zdefiniuj funkcję energii (heurystyczną). Wybierz początkową temperaturę i schemat chłodzenia. Np. T=100 i co 100 iteracji obniżana jest o 10. Utwórz przypadkowo początkowy węzeł S (np. jakieś nieoptymalne rozwiązanie) lub użyj danego. Twórz przypadkowo nowe węzły modyfikując lub rozwijając istniejące - duże zmiany są początkowo dopuszczalne. Obniżaj temperaturę powoli akceptując tylko zmiany korzystne. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

27 Pseudokod algorytmu SA
X1. x=xo – stan początkowy 2. T=To – temperatura początkowa 3.  Jeżeli T>TK wylosuj x’ z otoczenia x oblicz J(x’) oblicz =J(x’)-J(x) gdy 0 ustaw x=x’ przejdź do gdy >0 wylosuj liczbę rand(0,1) jeżeli rand  e-/T ustaw x=x’ ustaw T=r  T o ile liczba prób dla danego T przekroczyła zadaną liczbę N lub liczba sukcesów (redukcji J()) przekroczyła M<N. J() – funkcja celu (zwykle  min) r – współczynnik obniżania temperatury, (np. r=0.99) Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

28 PRZYKŁAD: szeregowanie zadań
Rozważając problem szeregowania zadań stajemy przed dylematem jak podzielić n operacji (pogrupowanych w zadania) na m procesorów tak, aby zachowując ograniczenia optymalizować zadane kryterium uszeregowania. Przyjęte ograniczenia: Żadna operacja nie może być wykonywana na więcej niż jednym komputerze Żaden procesor nie może jednocześnie wykonywać więcej niż jedną operację Inne – np.: kolejnościowe lub czasowe: p[l, j] – czas wykonania zadania j na procesorze l Zadania zależne – podlegają ograniczeniom kolejnościowym. Kolejność jest zadawana w postaci grafu zależności. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

29 Indeksy obok węzłów oznaczają numer zadania i czas jego wykonania
Dokonać uszeregowania dziewięciu zadań na dwóch identycznych procesorach, korzystając z poniższego grafu określającego zależność pomiędzy zadaniami. Indeksy obok węzłów oznaczają numer zadania i czas jego wykonania Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

30 Kolejne wywołanie algorytmu SA
1 Kolejne wywołanie algorytmu SA 2 3 4 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

31 Podróż dookoła świata – problem komiwojażera
Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

32 Podróż dookoła świata. Przypadkowa permutacja miast, zaczynając od startu: S1= [Wwa, Dub, Bei, Tok, Los, NY, Sai, Par, Chi, Bom, Cai] T = 100, Koszt = 370 Kolejne przypadkowe rozwiązanie (T = 90; Koszt: 340) S2=[Wwa, Los, Bei, Tok, Dub, NY, Sai, Par, Chi, Bom, Cai] (zamiana Dublin : Los Angeles) Kolejne przypadkowe rozwiązanie (T = 90; Koszt: 377) S3=[Wwa, Los, Bei, Tok, Dub, NY, Par, Chi, Sai, Bom, Cai] (zamiana Saigon : Chicago, przyjęta chociaż gorzej) ...... Kolejne przypadkowe rozwiązanie (T = 10; Koszt: 188) (zamiana tylko jeśli koszt się obniża). Wady: wiele iteracji. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

33 Porównanie różnych metod dla 8-ki.
Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

34 Dziekuję za uwagę Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno


Pobierz ppt "SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE"

Podobne prezentacje


Reklamy Google