Zastosowanie metody Samuela doboru współczynników funkcji oceniajacej w programie grajacym w anty-warcaby Daniel Osman promotor: dr hab. inż. Jacek Mańdziuk 1
Spis treści Algorytmy przeszukiwania drzewa gry opis algorytmów wyniki Uczenie si e gry w anty-warcaby funkcja oceny metoda Samuela algorytm T D(λ) wyniki 2
Anty-warcaby Zasady jak w warcabach Celem jest pozbycie si e własnych pionków 3
Algorytmy przeszukiwania drzewa gry Minimax Alfa-beta Tablica transpozycji Heurystyka historyczna Iteracyjne pogłebianie MTD(f), MTD-bi 4
Alfa-beta Ulepszenie minimax Liczba wierzchołków w drzewie gry maksymalnie minimalnie w d w d/2 + w d/2 Algorytmy przeszukiwania drzewa gry 5
Tablica transpozycji Służy do zapami etywania: oceny stanu gry dokładności tej oceny najlepszego ruchu dla tego stanu Implementacja w postaci tablicy haszujacej Algorytmy przeszukiwania drzewa gry 6
Heurystyka historyczna Oceniać ruchy niezależnie od stanu Wykorzystywać oceny do sortowania kolejności odwiedzania nast epników Możliwych ruchów jest nie wi ecej niż 32 x 32 = 24 Algorytmy przeszukiwania drzewa gry 7
Iteracyjne pogł ebianie Przeszukiwanie drzewa gry kolejno na gł ebokość d 0, (d 0 + k), (d 0 + 2k), (d 0 + 3k),... Można zatrzymać obliczenia w dowolnym momencie Lepsze posortowanie dzi eki tablicy transpozycji Algorytmy przeszukiwania drzewa gry 8
MTD(f) Funkcja MT : (Memory enhanced Test) alfa-beta z zerowym oknem szybkie ustalenie ograniczenia górnego albo dolnego Funkcja MT D(f) wielokrotne wywoływanie funkcji M T w celu ustalenia szukanej wartości parametr f: przybliżenie poczatkowe Najszybszy znany dzisiaj algorytm przeszukiwania drzewa gry Algorytmy przeszukiwania drzewa gry 9
MTD-bi Bisekcja Zalety prosty, szybki i tak samo dokładny jak minimax niepotrzebne przybliżenie poczatkowe można stosować z ciagł a funkcja oceny Wady MTD-step Algorytmy przeszukiwania drzewa gry
Wyniki 12 12 czas [s] 8 6 4 8 6 4 2 2 0 6 8 12 14 0 glebokosc drzewa MM AB TT TT+MO Średni czas oczekiwania na ruch w zależności od gł ebokości drzewa Algorytmy przeszukiwania drzewa gry 11
Wyniki czas [s] 70 60 50 40 30 70 60 50 40 30 0 11 12 13 14 15 glebokosc drzewa 0 AB HH TT+MO TT+MO+HH Średni czas oczekiwania na ruch w zależności od gł ebokości drzewa Algorytmy przeszukiwania drzewa gry 12
Wyniki 7 6 5 MTD F MTD C ID TT+MO+HH 7 6 5 czas [s] 4 3 4 3 2 2 1 1 0 8 9 glebokosc drzewa 0 Średni czas oczekiwania na ruch w zależności od gł ebokości drzewa Algorytmy przeszukiwania drzewa gry 13
Wyniki czas [s] 22 18 16 14 12 8 6 4 2 0 TT+MO+HH MTD-bi 8 9 11 12 13 glebokosc drzewa 22 18 16 14 12 8 6 4 2 0 Średni czas oczekiwania na ruch w zależności od gł ebokości drzewa Algorytmy przeszukiwania drzewa gry 14
Uczenie Arthur L. Samuel 15
Funkcja oceniajaca Ocena stanu s: S(s, w) = w 1 x 1 (s) + w 2 x 2 (s) +... + w n x n (s) x i - heurystyki Samuela w i - wagi funkcji oceniajacej Uczenie polega na doborze wag w i Uczenie 16
Metoda Samuela Bład funkcji oceniajacej: P (t+1) P (t) Uczenie 17
Temporal difference learning Algorytm T D(λ) ) t w (t) = α (P (t+1) P (t) i=1 dla λ = 1: metoda Widrowa-Hoffa dla λ = 0: metoda Samuela λ t i w P (i) Uczenie 18
Opis przeprowadzonych doświadczeń Gracz uczacy sie Przeciwnicy Gł ebokość przeszukiwania drzewa gry: d = 4 19
Problem z remisami Opis przeprowadzonych doświadczeń
Problem z remisami Zastosowane rozwiazania: pełna implementacja remisów gra z wieloma przeciwnikami Wzrost skuteczności uczenia Opis przeprowadzonych doświadczeń 21
Grupa treningowa - grupa testowa Trening (zdobywanie doświadczenia) jak gracz uczacy sie radzi sobie z bezpośrednimi przeciwnikami Testowanie (możliwość generalizacji) jak gracz uczacy sie radzi sobie z nowymi przeciwnikami Opis przeprowadzonych doświadczeń 22
Paramety α i λ Faza I α = 1.0e 4 λ = 0.95 Faza II α = 1.0e 5 λ = 0.7 Wynik zgodny z rezultatami innych badaczy Opis przeprowadzonych doświadczeń 23
TD(λ) liczba wygranych 18 16 14 12 8 6 4 2 0 wygrane srednia remisy 0 500 00 1500 00 0 liczba gier 18 16 14 12 8 6 4 2 liczba punktow 48 44 40 36 32 28 24 16 12 8 4 0 8 wygrane 4 srednia 0 0 400 600 800 00 10 1400 1600 0 liczba gier 48 44 40 36 32 28 24 16 12 Liczba wygranych gracza uczacego sie w grupie treningowej ( przeciwników) oraz liczba zdobytych punktów w grupie testowej (16 przeciwników). Opis przeprowadzonych doświadczeń 24
Metody treningu Skład grupy treningowej liczba przeciwników jakość przeciwników Czy zmieniać przeciwników? Jak długo trenować? Opis przeprowadzonych doświadczeń 25
Metody treningu liczba wygranych 0 90 80 70 60 50 40 30 wygrane srednia remisy 0 90 80 70 60 50 40 30 liczba wygranych 16 14 12 8 6 4 2 wygrane srednia remisy 16 14 12 8 6 4 2 0 0 2 4 6 8 0 0 0 0 400 600 800 00 10 1400 1600 0 liczba gier x 00 liczba gier Zastosowanie mało efektywnej metody treningu Opis przeprowadzonych doświadczeń 26
Ulepszenia Uczenie na porażkach Algorytm TDLeaf Uczenie na ruchach przewidzianych przez gracza uczacego sie Opis przeprowadzonych doświadczeń 27
Ulepszenia liczba wygranych 0 90 80 70 60 50 40 30 0 wygrane srednia remisy 0 2 4 6 8 0 liczba gier x 00 0 90 80 70 60 50 40 30 liczba punktow 48 44 40 36 32 28 24 16 12 8 4 0 8 punkty 4 srednia 0 0 400 600 800 00 10 1400 1600 0 liczba gier 48 44 40 36 32 28 24 16 12 Najlepszy uzyskany wynik: trening na grupie zróżnicowanych jakościowo przeciwnikach,,000 gier, uczenie na porażkach. Opis przeprowadzonych doświadczeń 28
Zwi ekszenie gł ebokości przeszukiwania drzewa gry liczba wygranych 8 6 4 2 0 wygrane srednia 0 0 400 600 800 00 0 liczba gier 8 6 4 2 liczba punktow 48 44 40 36 32 28 24 16 12 8 4 0 8 punkty 4 srednia 0 0 400 600 800 00 10 1400 1600 0 liczba gier 48 44 40 36 32 28 24 16 12 Gł ebokość przeszukiwania drzewa gry d = 6 Opis przeprowadzonych doświadczeń 29
Zanotowany post ep w nauczaniu 0 90 wygrane srednia 0 90 0 90 wygrane srednia 0 90 80 80 80 80 liczba wygranych 70 60 50 40 30 70 60 50 40 30 liczba wygranych 70 60 50 40 30 70 60 50 40 30 0 0 2 4 6 8 0 0 0 2 4 6 8 0 liczba gier x 00 liczba gier x 00 Gracz losowy - gracz uczacy sie (trening) Opis przeprowadzonych doświadczeń 30
Porównanie z innymi programami zestaw współczynników wygrane przegrane remisy wynik dla TD-GAC program 1 - poziom novice TD-GAC (niski poziom) 0 0 0 : TD-GAC (średni poziom) 0 0 0 : TD-GAC (wysoki poziom) 1 2 7 program 2 - poziom weak 4 1 2 : 51 2 TD-GAC (niski poziom) 0 0 1 1 2 : 1 2 TD-GAC (średni poziom) 1 0 0 1 : 0 TD-GAC (wysoki poziom) 0 0 1 1 2 : 1 2 program 2 - poziom normal TD-GAC (niski poziom) 0 1 0 0 : 1 TD-GAC (średni poziom) 1 0 0 1 : 0 TD-GAC (wysoki poziom) 0 0 1 1 2 : 1 2 program 2 - poziom strong TD-GAC (niski poziom) 0 1 0 0 : 1 TD-GAC (średni poziom) 0 1 0 0 : 1 TD-GAC (wysoki poziom) 0 0 1 1 2 : 1 2 Opis przeprowadzonych doświadczeń 31
Gra z ludźmi zestaw współczynników wygrane przegrane remisy wynik dla TD-GAC gracz 1 TD-GAC (niski poziom) 3 2 5 5 1 2 : 41 2 TD-GAC (średni poziom) 3 4 3 4 1 2 : 51 2 TD-GAC (wysoki poziom) 9 0 1 9 1 2 : 1 2 gracz 2 TD-GAC (niski poziom) 5 4 1 5 1 2 : 41 2 TD-GAC (średni poziom) 6 4 0 6 : 4 TD-GAC (wysoki poziom) 8 2 0 8 : 2 gracz 3 TD-GAC (niski poziom) 3 5 2 4 : 6 TD-GAC (średni poziom) 5 5 0 5 : 5 TD-GAC (wysoki poziom) 3 5 2 4 : 6 gracz 4 TD-GAC (niski poziom) 2 6 2 3 : 7 TD-GAC (średni poziom) 0 7 3 TD-GAC (wysoki poziom) 4 5 1 1 1 2 : 81 2 4 1 2 : 51 2 Opis przeprowadzonych doświadczeń 32
Arthur L. Samuel Żył w latach 1901-1990 Jeden z pionierów sztucznej inteligencji Napisał program grajacy w warcaby w 1959 Rote learning Generalization learning (Temporal difference learning) 33
Podsumowanie T D(λ) jako obiecujaca metoda nauczania Automatyzacja doboru wag bez udziału człowieka Wiele miejsca na popraw e wieksza gł ebokość przeszukiwania drzewa gry różne funkcje oceny w zależności od sytuacji na planszy 34