Sztuczna inteligencja w programowaniu gier

Podobne dokumenty
Heurystyki. Strategie poszukiwań

Wstęp do Sztucznej Inteligencji

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Rozwiązywanie problemów metodą przeszukiwania

Podstawy Sztucznej Inteligencji (PSZT)

Heurystyczne metody przeszukiwania

SZTUCZNA INTELIGENCJA

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Podstawy sztucznej inteligencji

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Planowanie drogi robota, algorytm A*

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Metody przeszukiwania

Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze

Techniki optymalizacji

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Znajdowanie wyjścia z labiryntu

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Wybrane podstawowe rodzaje algorytmów

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo)

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

Algorytmy dla gier dwuosobowych

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Plan. Struktura czynności myślenia (materiał, operacje reguły)

Elementy kognitywistyki II:

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Algorytm. Krótka historia algorytmów

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Programowania

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

SZTUCZNA INTELIGENCJA

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).

Partition Search i gry z niezupełną informacją

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Wyznaczanie strategii w grach

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Sztuczna Inteligencja i Systemy Doradcze

Luty 2001 Algorytmy (4) 2000/2001

Algorytm Stentz a D. Przemysław Klęsk Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej

Schemat programowania dynamicznego (ang. dynamic programming)

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

Techniki optymalizacji

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

Zadanie 1: Piętnastka

Optymalizacja. Przeszukiwanie lokalne

Definicje. Algorytm to:

Technologia informacyjna Algorytm Janusz Uriasz

a) 7 b) 19 c) 21 d) 34

Analiza stanów gry na potrzeby UCT w DVRP

Optymalizacja. Wybrane algorytmy

Algorytm genetyczny (genetic algorithm)-

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Genomika Porównawcza. Agnieszka Rakowska Instytut Informatyki i Matematyki Komputerowej Uniwersytet Jagiellooski

Wprowadzenie do Sztucznej Inteligencji

Tworzenie gier na urządzenia mobilne

Algorytmy i struktury danych

Algorytmy przeszukiwania grafów i drzew dla gier i łamigłówek

Złożoność obliczeniowa klasycznych problemów grafowych

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Programowanie sieciowe. Tadeusz Trzaskalik

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

3. MINIMAX. Rysunek 1: Drzewo obrazujące przebieg gry.

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Zastosowania algorytmów heurystycznych do sterowania systemami autonomicznymi

Metody ilościowe w badaniach ekonomicznych

Teoria gier matematyki). optymalności decyzji 2 lub więcej Decyzja wpływa na wynik innych graczy strategiami

Projekty zaliczeniowe Podstawy Programowania 2012/2013

Obliczenia inspirowane Naturą

Wprowadzenie do Sztucznej Inteligencji

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Algorytmy i struktury danych

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

Programowanie dynamiczne i algorytmy zachłanne

CZYM JEST SZTUCZNA INTELIGENCJA? REPREZENTACJA WIEDZY SZTUCZNA INTELIGENCJA PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

BADANIA OPERACYJNE i teoria optymalizacji. Prowadzący: dr Tomasz Pisula Katedra Metod Ilościowych

Algorytmy ewolucyjne (3)

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Tadeusz Pankowski

2. Metody podejmowania decyzji w warunkach pewności... 37

Transkrypt:

ztuczna inteligencja w programowaniu gier Algorytmy przeszukiwania przestrzeni rozwiązań Krzysztof Ślot

Wprowadzenie Ogólna charakterystyka zagadnienia Cel przeszukiwania: znaleźć element będący rozwiązaniem problemu Hipotezy rozważane w procedurze są znane (możliwe do generacji) Rozwiązanie to akcja (stan) lub sekwencja akcji Rozwiązanie na pewno istnieje Przykładowe zadania przeszukiwania Planowanie trasy (nawigacja), logistyka: zbiór tras (działań) jest skończony, cel to wybór najlepszej trasy (sekwencji działań) Gry: zbiór scenariuszy jest skończony, cel to wybór najlepszego Dopasowywanie danych (rozpoznawanie): skończony zbiór hipotez Genomika poszukiwanie sekwencji nukleotydów kodujących konkretne białko: skończony zbiór sekwencji

Misjonarze i kanibale formułowanie zadania Cel: przewieźć grupę misjonarzy i kanibali na drugi brzeg rzeki tan początkowy: 3M, 3K lewy brzeg tan docelowy: 3M, 3K prawy brzeg Operacje: transfery dwuosobową łodzią Ograniczenia: liczba kanibali nie może przekroczyć liczby misjonarzy; łódź nie płynie sama M K Cel M K tart Oczekiwany wynik analizy: sekwencja operacji

Misjonarze i kanibale #ML #KL #MP #KP Ł 3 3 0 0 L 2 2 1 1 P 3 2 0 1 L 3 0 0 3 P 3 1 0 2 L 1 1 2 2 P 2 2 1 1 L 0 2 3 1 P 0 3 3 0 L 0 1 3 2 P 0 2 3 1 L 0 0 3 3 P P(1,1) L(1,0) P(0,2) L(0,1) P(2,0) P(1,1) P(2,0) P(0,1) P(0,2) P(0,1) P(0,2)

Terminologia tan Elementarny składnik dziedziny problemu Przykłady: sekwencja przystanków planowanej drogi, zbiór parametrów kontrolowanego procesu, stan gry Akcja Operacja, której wynikiem może być zmiana stanu o 1 ( ) o 2 ( ) o xxx yyy ( xxx ) stanys akcje Rozwiązywanie problemu Poszukiwanie stanu spełniającego predefiniowane kryterium (pożądany efekt terapii, sekwencja nukleotydów, sekwencja przystanków) Przestrzeń poszukiwań Przejścia między stanami

Terminologia Drzewo poszukiwań: graficzna reprezentacja procesu przeszukiwania tan początlowy Gałęzie Drzewo Węzły końcowe (liście) Ekspansja węzła (stanu) określenie następników danego węzła Bieżący stan Akcje tany następne 1 o 2 o 3 o : (gorączka, wysoki poziom glukozy) : (gorączka, norma) : (norma, poziom niski) 1 o podaj L1 Q zbiór stanów czekających na ekspansję 2 o : (norma, norma) : podaj L2 3 o : podaj L3 Q = {,,,, }

Metodologia przeszukiwania Podstawa algorytmów przeszukiwania: Znalezienie systematycznej strategii ekspansji węzłów, zapewniającej osiągnięcie celu Oczekiwane właściwości metody przeszukiwania: Maksymalizacja szybkości procedury Minimalizacja wymaganych zasobów Zapewnienie pewności uzyskania rozwiązania (optymalnego) Złożoność obliczeniowa procesu przeszukiwania: koszt znalezienia rozwiązania + koszt wdrożenia znalezionej sekwencji (akcji) kala trudności funkcja dostępnej wiedzy o problemie (istnienie przesłanek pozwalających ukierunkować procedurę)

Ogólna metodologia postępowania Algorytm przeszukiwania Wybór stanu początkowego TART prawdzenie kryterium zakończenia Testuj bieżący węzeł Wynik? TAK TOP Wykonanie wszystkich akcji możliwych dla rozważanego węzła Ekspansja bieżącego węzła Wszystkie? TAK trategia przeszukiwania Wybór następnego węzła do ekspansji

Kanibale i misjonarze Rozwiązywanie: powtarzanie kroków prawdzenie osiągnięcia celu (A) Ekspansja węzłą(b) prawdzenie spełnienia ograniczeń i dodanie węzła do zbioru Q (C) A (3,3,0,0,0) <> (0,0,3,3,1) Nie jest rozwiązaniem B P(0,1) 0 = (3,3,0,0,0) P(1,1) 1 = (3,2,0,1,1) P(0,2) P(1,0) P(2,0) C #ML>#KL, #ML=0 ok

Metodologie przeszukiwania Kryterium wyboru strategii Dostępność informacji pozwalającej na ukierunkowanie procesu przeszukiwania trategie przeszukiwania Bez dodatkowej informacji (ślepe) Nie istnieją żadne przesłanki pozwalające ukierunkować proces poszukiwań Z informacją (heurystyczne) Istnieją informacje pozwalające na ocenę spodziewanych korzyści Wybór węzła podlegającego ekspansji Metody ślepe: jedyne kryterium to kompletność (nie pominąć rozwiązania) Metody heurytyczne: skupić się na najlepiej rokujących elementach

Przeszukiwanie na oślep Różnice między strategiami: reguła ekspansji W jakiej kolejności dokonywać ekspansji węzłów ze zbioru Q,? Przeszukiwanie na oślep Q = {,,,, } Warstwowe (poziome) BF Ekspansja najdłużej oczekującego węzła Q - kolejka Wgłębne (pionowe) DF Ekspansja najpóźniej dodanego węzła Q - stos Q = {,,,, } 3 4 5 1 2 Q = {,,,, } 3 2 1 4 5

Przeszukiwanie na oślep Q - kolejka Q - stos Q={1} Q={1} Q={2,3,4} Q={4,3,2} 2 3 4 2 3 4 2 3 4 2 3 4 5 6 Q={3,4,5,6} Q={7,6,5,3,2} 5 6 7 2 3 4 2 3 4 5 6 7 8 Q={4,5,6,7,8} 5 6 7 Q={10,9,8,6,5,3,2} 8 9 10

Przykład Przeszukiwanie warstwowe Cel: znalezienie najkrótszej drogi między dwoma punktami mapy Dany punkt startowy i końcowy Znana mapa (przeszkody) Cel tart Przeszkoda Drzewo poszukiwań (4,0) Q = BF (3,0) (4,1) (5,0) (2,0) (3,1) (4,2) (5,1) (6,0) 2 2 1 2 1 2 1 2 Kolejność ekspansji W,N,E,

Przeszukiwanie warstwowe Fazy algorytmu Ekspansja kolejnych węzłów ( fala ) aż do znalezienia rozwiązania Rekonstrukcja ścieżki: powrót od rozwiązania do startu najkrótszą drogą 11 11 10 11 11 11 10 9 11 10 11 10 9 8 11 10 9 10 11 9 8 7 11 10 9 8 9 10 8 7 6 10 9 8 7 8 9 7 6 5 6 7 8 6 5 4 3 2 3 4 5 6 7 5 4 3 2 1 2 3 4 5 6 4 3 2 1 1 2 3 4 5 Ścieżka 11 11 10 11 11 11 10 9 11 10 11 10 9 8 11 10 9 10 11 9 8 7 11 10 9 8 9 10 8 7 6 10 9 8 7 8 9 7 6 5 6 7 8 6 5 4 3 2 3 4 5 6 7 5 4 3 2 1 2 3 4 5 6 4 3 2 1 1 2 3 4 5 Kolejność ekspansji węzłów: W,N,E,

Przeszukiwanie wgłębne Alternatywna strategia rozwiązania: DF Węzły podlegają ekspansji według kolejności pojawiania się (stos) Rekonstrukcja ścieżki: tak jak w strategii poziomej Ścieżka Kolejność ekspansji węzłów: E,, W, N Śiceżka została znaleziona Ścieżka nie jest optymalna (najkrótsza)

Właściwości metod przeszukiwania na oślep Kryteria porównawcze strategii Kompletność (Czy jest gwarancja znalezienia rozwiązania?) Optymalność (czy znajdziemy rozwiązanie najlepsze?) Złożoność obliczeniowa (jak długo będzie trwało znalezienie rozwiązania?) Zasoby niezbędne dla realizacji algorytmu Kompletność BF: rozwiązanie będzie znalezione DF: będzie znalezione (uwaga: konieczne monitorowanie listy odwiedzonych węzłów, by uniknąć nieskończonych pętli) Obydwie strategie pozwolą rozwiązać wspomniane problemy, np. misjonarze-kanibale, poszukiwanie ścieżki itd.. Optymalność BF optymalna jeśli koszt przejścia między węzłami jest nieujemny DF: zwykle nieoptymalna (znalezione pierwsze z brzegu rozwiązanie)

Złożoność obliczeniowa Porównanie BF i DF Czas: funkcją głebokości drzewa (d) i współczynnika rozgałęzienia (b) 1 1 b b: współczynnik rozgałęzienia średnia liczba potomków każdego węzła 2 d d głębokość drzewa o = 1 + b 1 + b 2 + b 3 + + b d Przykładowe oszacowania Problem akwizytora: 4 poł./miasto (b), 11 miast (d) Kolorowanie map: 4 kolory (b), 30 regionów (d) o o 10 52 3 2 4 4 (10 ) 30 56 3 6 4 4 (10 ) 10 10 6 18 Złożoność obliczeniowa może być gigantyczna Konieczne posiadanie listy odwiedzonych węzłów (usuwanie powtórzeń unikanie relacji wykładniczej) Mimo to, złożoność pozostanie ogromna (kombinacje - silnia)

Zasoby Porównanie BF i DF Funkcja głebokości drzewa (d) i współczynnika rozgałęzienia (b) BF Konieczne pamiętanie wszystkich węzłów czekających na ekspansję (na danym poziomie) d m b DF Konieczne pamiętanie węzłów na analizowanej ścieżce m bd Gigantyczne zasoby: b=4, d=20 20 10 m 4 10 Wymaganie: 10 GB Niewielkie zasoby: b=4, d=20 m 420 80 Wymaganie: 80 B

Porównanie BF i DF BF DF Kompletność Optymalność Złożoność Zasoby + + + - - - - +

Uzasadnienie strategii Pogłębianie iteracyjne Kombinacje strategii przeszukiwania Wzajemna kompensacja metod: BF (wymagane ogromne zasoby) i DF (nieoptymalność) d=1 d=1 zukaj d=2 Rozwiązanie? d = d + 1 TOP Właściwości metody - Kompletna - Optymalna - Ogromna złożoność obliczeniowa - Małe wymagania co do zasobów

Przeszukiwanie na oślep algorytm Dijkstry Problem Zróżnicowany koszt odwiedzin węzła BF, DF nie biorą pod uwagę atrybutów węzła Idea modyfikacji Wybór węzłów do ekspansji na podstawie ich wkładu w całkowity koszt przejścia (wybór minimalnej wartości) Śledzenie historii procesu : rejestracja zakumulowanego kosztu Woda, koszt np. 10 Las, koszt np. 4 Zwykły teren, koszt np. 1 Początek Cel

Algorytm Dijkstry DF Długość ścieżki:120 Koszt ścieżki:324 Koszt poszukiwań: 150 BF Długość ścieżki:30 Koszt ścieżki:57 Koszt poszukiwań: 255 Dijkstra Długość ścieżki: 30 Koszt ścieżki: 39 Koszt poszukiwań: 252

Przeszukiwanie heurystyczne tosowanie: Problemy, w których istnieją przesłanki pozwalające na ukierunkowanie procesu przeszukiwania Założenia: Możliwe sformułowanie heurystyki (zasady/miary, pozwalającej na ocenę jakości wyboru kierunku dalszych poszukiwań) Ekspansja węzłów w algorytmach heurystycznych Wybieraj do ekspansji najlepiej rokujące węzły (tzn. takie, które mają dają ekstremum wartości przyjętego kryterium oceny)

Przeszukiwanie heurystyczne Zasada wyboru węzła do ekspansji: zwycięzca Q = {,,,, } Przeszukiwanie heurystyczne Q = {,,,, } Kandydaci Wybór najlepiej rokujących hipotez 1.3 0.4 7.5 1-1 2.1 Ekspansja zwycięzcy Funkcja kryterialna: heurystyka Odzwierciedla intuicyjną ocenę sytuacji Musi być konstruowana indywidualnie dla danego zadania

Przykład: układanka Przeszukiwanie heurystyczne 5 7 2 1 8 6 3 4 1 2 3 4 5 6 7 8 tany [5,7,2,1,8,6,3,x,4}, {1,2,3,4,5,6,7,8,x} Akcje Przesuń x: N,, E, W, jeśli to możliwe Przykładowe przejścia między stanami 5 7 2 5 7 2 5 7 2 1 8 6 E 1 8 6 1 6 3 4 3 4 3 8 4 i = [ 5 7 2 1 8 6 3 x 4 ] i+1 = [ 5 7 2 1 8 6 x 3 4 ] i+1 = [ 5 7 2 1 x 6 3 8 4 ]

Przykład - układanka 5 7 2 1 8 6 3 4 Przykładowe drzewo poszukiwań i = [ 5 7 2 1 8 6 3 x 4 ] [ 5 7 2 1 8 6 x 3 4 ] [ 5 7 2 1 x 6 3 8 4 ] [ 5 7 2 1 8 6 3 4 x ] [572x86134] [5728613x4] [572x16384] [57216x384] [5x2176384] [5x2176384] [5x2176384] Rozwiązanie zadania przy użyciu metody przeszukiwania na oślep jest nierealne (zbyt złożone obliczeniowo) Współczynnik rozfgałęzienia d to w przybliżeniu 3 Maksymalna głębokość drzewa: N = 9! = 362880 zacunkowa złożoność obliczeniowa - d N = 3 362880

Układanka wykorzystanie heurystyki 5 7 2 1 8 6 3 4 Możliwa heurystyka dla problemu Odległość blokowa 1, 2 kumulowana odległość kostek od ich położeń docelowych f 9 t1 i t i * t j t j * t Drzewo poszukiwań i = [ 5 7 2 1 8 6 3 x 4 ] [ 5 7 2 1 8 6 x 3 4 ] f = 2+3+1+1+1+0+2+3+3=16 [ 5 7 2 1 x 6 3 8 4 ] f = 2+3+1+1+2+0+4+0+3=16 [ 5 7 2 1 8 6 3 4 x ] f = 2+3+1+1+1+0+4+2+0=14 Typowa efektywność średnio nie więcej niż 40 kroków

Przeszukiwanie heurystyczne ztandarowa aplikacja: planowanie drogi Znajdź optymalną drogę między A i B,(załóżmy, że dana jest mapa cyfrowa o d=1000 węzłach ze średnim współczynnikiem rozgałęzienia b=3) prawdzenie rozwiązywalności problemu Przeszukiwanie na oślep Ekspansja węzłów musi być heurystyczna Zalety przeszukiwania heurystycznego o 1000 2500 3 3 10 500 Czas od Wielkiego Wybuchu około. 4x10 18 sekund Możliwe radykalne zmniejszenie złożoności obliczeniowej Możliwe radykalne zmniejszenie wymaganych zasobów Wady metodologii Heurystyka nie daje 100% pewności: możliwe fiasko szybkich poszukiwań Nie ma uniwersalnej heurystyki: musi być określana indywidualnie Rozwiązanie może nie być optymalne

Przeszukiwanie zachłanne (greedy search) Heurystyka przeszukiwania zachłannego zacowana odległość do celu (jak w układance) BF Długość ścieżki: 30 Koszt ścieżki:30 Koszt poszukiwań: 180 Dijkstra Długość ścieżki: 30 Koszt ścieżki:30 Koszt poszukiwań: 180 DF Długość ścieżki: 54 Koszt ścieżki: 54 Koszt poszukiwań: 183 Greedy search Długość ścieżki: 30 Koszt ścieżki:30 Koszt poszukiwań: 30

Algorytm A* (A-star) Podstawowa strategia heurystyczna Połączenie metod poszukiwania zachłannego (ukierunkowanie poszukiwań) i algorytmu Dijkstry (karanie nadmiernie skomplikowanej lub kosztownej ścieżki eksploracji) Koszt całkowity: koszt dotychczasowy + estymata dystansu do celu A* Długość ścieżki: 30 Koszt ścieżki:30 Koszt poszukiwań: 83 Greedy search Długość ścieżki: 34 Koszt ścieżki: 34 Koszt poszukiwań: 41

Algorytm A* (A-star) Proporcje między składnikami heurystycznym i zakumulowanym Przyśpieszenie poszukiwań zwiększenie roli heurystyki KC H KZ KC koszt całkowity, H heurystyka, KZ koszt zakumulowany 11/( w h) Przykładowa wartość współczynnika (w+h odległość L1 do celu) 1.01 Długość ścieżki: 62 Koszt poszukiwań: 123 1 Długość ścieżki: 62 Koszt poszukiwań: 835

Algorytm A* Przeszukiwanie w warunkach zróżnicowanego kosztu węzłów t=1 t=3 t=27 t=58 t=83 Długość ścieżki: 30 Koszt ścieżki: 39 Koszt poszukiwań: 92

Algorytm A* Optymalny koszt ścieżki Przeszukiwanie zachłanne bezużyteczne Dijkstra Długość ścieżki: 30 Koszt ścieżki: 39 Koszt poszukiwań: 176 Greedy search Długość ścieżki: 30 Koszt ścieżki: 57 Koszt poszukiwań: 30 A* Długość ścieżki: 30 Koszt ścieżki:39 Koszt poszukiwań: 92

Przeszukiwanie heurystyczne: gry Gra: powtarzanie dwóch faz (ruch mój ruch przeciwnika) Cel: znalezienie sekwencji ruchów prowadzących do zwycięstwa Zasada algorytmu: maksymalizacja własnej korzyści połączona z minimalizacją korzyści przeciwnika: algorytmy MINI-MAX Korzyść to ilościowa ocena stanu gry po wykonaniu ruchu (ruchów) Ilościowa ocena bieżącego stanu gry (heurystyka) zależy od reguł gry, pomysłowości i intuicji. Utworzenie dobrego opisu ilościowego to element różnicujący rozwiązania.

Algorytm MiniMax Cel: znalezienie najlepszego ruchu w danym stanie gry Naprzemienne ruchy gracza G i przeciwnika P Maksymalizacja korzyści G w jego ruchu, minimalizacja w ruchu P Korzyść: ilościowa miara opisująca stan gry Ruch G Ruch P Ruch G Ruch P tany gry

Heurystyka Algorytm MiniMax Wartość określana po k symulowanych naprzemiennych posunięciach Musi być określona indywidualnie dla gry Przebieg typowego algorytmu Przeszukuj pionowo na głębokość 2k, oceń stan gry 18 MAX 18 81 81 13 MIN MIN 21 21 18 21 18 13 21 8 13 18

Reguła wyboru ruchu Algorytm MiniMax Maksymalna korzyść, uwzględniająca wszystkie ocenione w procesie analizy sekwencje możliwych wariantów naprzemiennych ruchów Ruch dokonywany na poziomie bieżącego węzła Analiza dokonywana do głębokości 2k Ruch G Ruch P 18 12 12 Ruch G 18 23 12 21 48 21 12 18 13 23 30 12 6 4 21 12 14 48 16 21 5 9 12 11 Ruch P 21 18 13 18 23 61 30 12 6 31 11 11

Algorytm MiniMax Problem Liczba przewidywanych ruchów zależy od złożoności zadania Złożoność to O(b 2k ), gdzie współczynnik rozgałęzienia (b) może być duży: szachy ok. 40) Przykład: szachy b wynosi ok. 40 k=1 2 2 2 L 40 4 10 k=2 4 4 4 L 40 4 10 k=3 L 6 12 6 40 2 10 2 7 2 10 Rozwiązanie Przycinanie drzewa poszukiwań (alfa-beta pruning) Idea metody Rezygnacja z eksploracji gałęzi, które na pewno prowadzą do gorszych rezultatów Problem: jak to oszacować?

Przycinanie drzewa Poziom MIN (faza beta ) Jeżeli nowo określany koszt węzła poziomu jest mniejszy niż istniejący, dalsza ekspansja tego węzła jest zbędna (bo i tak spośród wartości tego poziomu zostanie wybrana wartość największa) 21 18 18 13 MIN 21 21 18 21 18 13 18 13 21 18 13 max 18, k, k min13,? 18

Przycinanie drzewa Poziom MAX (faza alfa ) Jeżeli nowo określany koszt węzła poziomu jest większy niż istniejący, dalsza ekspansja tego węzła jest zbędna (bo i tak spośród wartości węzłów tego poziomu zostanie wybrana wartość najmniejsza) 18 12 12 18 23 12 21 14 21 12 18 13 23 12 6 4 21 14 21 5 9 12 11 21 18 13 23 61 12 6 11 11 18, k, k max 23 18 min,? 12, k, l, k max 21,?, l max 14 12 min,?

Przycinanie drzewa Wymagany stopień eksploracji dla rozważanego drzewa 18 12 12 18 23 12 21 12 18 13 23 12 6 4 21 5 9 12 11 21 18 13 23 61 12 6 11 11 Formalizacja metody Wprowadzanie współczynników alfa i beta skojarzonych z węzłami, określających przedziały, w których powinny zawierać się koszty dla nowo ocenianych węzłów