Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.