Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

ALGORYTMY ROZWIĄZYWANIA GIER C.D.

Podobne prezentacje


Prezentacja na temat: "ALGORYTMY ROZWIĄZYWANIA GIER C.D."— 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 Algorytm SSS* c.d. 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 <1, 9> i ujemnymi z przedziału <-9, -1>

24 Porównanie wybranych algorytmów c.d.
6 -7 8 -2 9 -1 3 2 -5 5 -6 7 -4 -8 1 -9 4 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."

Podobne prezentacje


Reklamy Google