Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

ALGORYTMY ROZWIĄZYWANIA GIER C.D. Algorytm rozwiązywania (slove) Algorytm PAB (Principal Variation Alfabeta) Algorytm rozpoznawania (scout) Algorytm SSS*

Podobne prezentacje


Prezentacja na temat: "ALGORYTMY ROZWIĄZYWANIA GIER C.D. Algorytm rozwiązywania (slove) Algorytm PAB (Principal Variation Alfabeta) Algorytm rozpoznawania (scout) Algorytm SSS*"— Zapis prezentacji:

1

2 ALGORYTMY ROZWIĄZYWANIA GIER C.D. Algorytm rozwiązywania (slove) Algorytm PAB (Principal Variation Alfabeta) Algorytm rozpoznawania (scout) Algorytm SSS* Algorytm B* Porównanie wybranych algorytmów

3 Algorytm rozwiązywania (ang. slove) Najprostsza metoda wyznaczania drzewa rozwiązania bez badania wszystkich wierzchołków

4 Algorytm rozwiązywania (ang. slove) c.d. Dodatkowe założenie algorytmu: dopuszczalne są jedynie dwa stany liścia (WYGRANY albo PRZEGRANY) e(w) =

5 Algorytm rozwiązywania (ang. slove) c.d.

6 Algorytm PAB (Principal Variation Alfabeta) zaprezentowany przez Fishburna i Finkela 1980-tym roku

7 Algorytm PAB (Principal Variation Alfabeta) c.d. Idea algorytmu: wybieramy dowolną ścieżkę przyjmujemy hipotezę, że wartość funkcji oceniającej na liściu tej ścieżki jest równa wartości minimxowej korzenia sprawdzamy hipotezę jeżeli znajdziemy lepsze alternatywy: uruchamiamy algorytm alfa-beta

8 Algorytm rozpoznawania (ang. scout) zaprojektowany przez J. Pearla opiera się na podobnej idei co PAB wykorzystywany do teoretycznej analizy drzew gier w algorytmie wykorzystywane są testy

9 Algorytm rozpoznawania (ang. scout) c.d. TESTY: Celem testów jest rozstrzygnięcie czy węzeł powinien być dokładnie analizowany czy nie. Funkcja testowania może mieć schemat podobny do algorytmu rozwiązywania

10 Algorytm rozpoznawania (ang. scout) c.d. Algorytm ten jest: stosunkowo łatwy do analizy teoretycznej bardziej efektywny gdy rośnie głębokość drzewa badanych gier

11 Algorytm SSS* (State space search) 1979 r. Stockman z rodziny A* wg. Zasady najpierw najlepszy (best first) poszukuje optymalnego drzewa rozwiązania reprezentacja optymalnej strategii gracza przypomina metody heurystycznego przeszukiwania

12 Algorytm SSS* c.d. węzeł w drzewa analizowany jest z punktu widzenia zbioru poddrzew z korzeniem w na podstawie wartości liści takich poddrzew ustala się ich główne ograniczenia poddrzewo o największym górnym ograniczeniu analizowane jest jako pierwsze zakończenie przeszukiwania następuje w chwili znalezienia pierwszego drzewa rozwiązania

13 Algorytm SSS* c.d. Z każdym węzłem w związana jest informacja s(w) oraz liczba h(w). Funkcja s(w) jest dwuwartościowa: s(w) = Liczba h(w) jest wartością przypisywaną węzłowi w podczas wykonywania algorytmu

14 Algorytm SSS* c.d. Przykład planszy gry testowej (4x4) dla algorytmu SSS*

15 Algorytm SSS* c.d. Tworzenie węzłów w trakcie działania SSS* rozpoczynamy od węzła początkowego (0) i jego potomków (1) i (2). Każdy z nich reprezentuje grupę drzew rozwiązania

16 Algorytm SSS* c.d. W przypadku występowania kilku węzłów o tej samej wartości jako pierwszy do dalszej analizy wybrany zostanie węzeł położony najbardziej na lewo

17 Algorytm SSS* c.d.

18 Zaleta: wyznacza jako pierwsze optymalne drzewo rozwiązania Wady: skomplikowana struktura, olbrzymie wymagania pamięciowe

19 Algorytm B* opublikowany przez Hansa Berlinera w 1979-tym roku. funkcja heurystyczna zwraca dwie wartości (pesymistyczną i optymistyczną ocenę pozycji) znajduje najlepsze posunięcie

20 Algorytm B* c.d. Dwie strategie: PROVEBEST I DISPROVEREST Koniec algorytmu: pesymistyczna wartość jednego posunięcia >= optymistycznym wartościom pozostałych

21 Algorytm B* c.d. PROVEBEST: pewne posunięcie jest lepsze od pozostałych DISPROVEREST: wszystkie posunięcia są od jednego wybranego

22 Algorytm B* c.d. Wybór węzła do dalszego rozpatrywania: PROVEBEST bada poddrzewo związane z założonym najlepszym posunięciem DISPROVEREST bada poddrzewo związane z pewnym hipotetycznie słabym posunięciem

23 Porównanie wybranych algorytmów Analizujemy wariant gry na planszy 8x8 z liczbami dodatnimi z przedziału i ujemnymi z przedziału

24 Porównanie wybranych algorytmów c.d Przykładowa plansza gry

25 Porównanie wybranych algorytmów c.d. Algorytm SSS* lepszy w 58% przypadków Algorytm alfa-beta był lepszy 37% przypadków 5% wynik identyczny 5% przypadków algorytm rozpoznawania charakteryzował się mniejszą liczbą przetestowanych i wartościowanych wierzchołków w porównaniu z liczbą badanych wierzchołków w algorytmie alfa-beta W pozostałych przypadkach w trakcie wykonywania algorytmu rozpoznawania liście były testowane wielokrotnie

26 KONIEC


Pobierz ppt "ALGORYTMY ROZWIĄZYWANIA GIER C.D. Algorytm rozwiązywania (slove) Algorytm PAB (Principal Variation Alfabeta) Algorytm rozpoznawania (scout) Algorytm SSS*"

Podobne prezentacje


Reklamy Google