Jak oceniać, gdy nic nie wiemy? Jasiek Marcinkowski II UWr 25 października 2012 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 1 / 10
Jak się gra w gry, o których dużo wiemy? Normalne gry? Interesują nas normalne, dwuosobowe gry z pełną informacją. Najlepiej o dość dużej liczbie osiągalnych stanów (żeby nie były za nudne). Na przykład: Go, Gomoku, Reversi (Othello), Szachy, Shogi, Connect four, Nim,... Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 2 / 10
Jak komputery grają w normalne gry? Standardowy model: funkcja oceniająca pozycję (stan) przeszukiwanie osiągalnych stanów (mini-max) redukcja α β (ang. α β pruning) Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 3 / 10
Dobre ocenianie pozycji kluczem do zwycięstwa W szachach to jest fragment, który się najintensywniej rozwija. Turek (1769), Claude Shannon (1950), Alan Turing (1951), Los Alamos Chess (1956), Advanced Chess (Garry Kasparov, 1998) Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 4 / 10
Jak się uczyć grać w grę? Naturalne podejście zagrać sobie parę razy. n.p. skąd wiemy, że w tej grze czarny już wygrał? Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 5 / 10
Jak się uczyć grać w grę? Będziemy kojarzyć cechy pozycji ze zwycięstwem. M. Kirci, N. Sturtevant, J. Schaeffer, A GGP Feature Learning Algorithm, KI - KÜNSTLICHE INTELLIGENZ Volume 25, Number 1 (2011), 35-42 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 6 / 10
Jak się uczyć grać w grę? Będziemy kojarzyć cechy pozycji ze zwycięstwem. Strategie obronne? Sposoby na zablokowanie cech związanych ze zwycięstwem. M. Kirci, N. Sturtevant, J. Schaeffer, A GGP Feature Learning Algorithm, KI - KÜNSTLICHE INTELLIGENZ Volume 25, Number 1 (2011), 35-42 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 6 / 10
Jak się uczyć grać w grę? Dotychczas te cechy były znajdowane tylko przy końcu rozgrywki. Patrzymy wyżej w drzewie, na ruchy, które kontrybuowały do cechy związanej ze zwycięstwem (na przykład był gdzieś ruch (mark 1 1 x)). Oczywiście ten ruch jest mniej ważny (nadamy mu mniejszą wartość) zgodnie ze wzorem 100 V level 1 gdzie V = 0.9. Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 7 / 10
Jak się uczyć grać w grę? Dotychczas te cechy były znajdowane tylko przy końcu rozgrywki. Patrzymy wyżej w drzewie, na ruchy, które kontrybuowały do cechy związanej ze zwycięstwem (na przykład był gdzieś ruch (mark 1 1 x)). Oczywiście ten ruch jest mniej ważny (nadamy mu mniejszą wartość) zgodnie ze wzorem 100 V level 1 gdzie V = 0.9. Ale oni tego używają tylko do lepszego losowania ruchów w metodzie Monte-Carlo. Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 7 / 10
Prawdziwa gra pozycyjna Będzie prawdziwa funkcja oceny pozycji. Funkcja pomocnicza eval : F S [0; 1] służy do oceniania, w jakim stopniu pozycja z S 1 spełnia warunki f F. Wartości powyżej 2 to raczej spełnia, poniżej 1 raczej nie. 2 S. Haufe, D. Michulke, S. Schiffel, M.Thielscher, Knowledge-Based General Game Playing, KI - Künstliche Intelligenz, March 2011, Volume 25, Issue 1, pp 25-33 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 8 / 10
Prawdziwa gra pozycyjna Będzie prawdziwa funkcja oceny pozycji. Funkcja pomocnicza eval : F S [0; 1] służy do oceniania, w jakim stopniu pozycja z S 1 spełnia warunki f F. Wartości powyżej 2 to raczej spełnia, poniżej 1 raczej nie. 2 Funkcja h : P S [0; 1] będzie funkcją oceny pozycji z S dla gracza r P. h(r, z, v) v v GV h(r, z) = v v GV gdzie h(r, z, v) = { eval(goal(r, v) terminal, z), if goal(r, v) eval(goal(r, v) terminal, z), w.p.p. S. Haufe, D. Michulke, S. Schiffel, M.Thielscher, Knowledge-Based General Game Playing, KI - Künstliche Intelligenz, March 2011, Volume 25, Issue 1, pp 25-33 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 8 / 10
Prawdziwa gra pozycyjna funkcja eval eval(a, z) [0, 1] eval(f g, z) = T (eval(f, z), eval(g, z)) eval(f g, z) = S(eval(f, z), eval(g, z)) eval( f, z) = 1 eval(f, z) Żeby koniunkcja dwóch raczej prawd nie była raczej fałszem nie stosuje się n. p. T (x, y) = x y. Zamiast tego, ustalamy t [0, 1] i definiujemy { max(a b, t), if min(a, b) > 1 T (a, b) = 2 a b, w.p.p. Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 9 / 10
Więcej cudów 1 Wartości przypisane do różnych celów (goals) we wzorze na h(r, z) są arbitralne. Może warto je jakoś dostosowywać do rzeczywistości? Günther M, Schiffel S, Thielscher M (2009) Factoring general games. In: Proceedings of the IJCAI workshop on general intelligence in game-playing agents (GIGA), pp 27 34 E. Cox, E. Schkufza, R. Madsen, M. R. Genesereth, Factoring general games using propositional automata, In: Proceedings of the IJCAI Workshop on General Intelligence in Game-Playing Agents (GIGA). (2009) 13 20 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 10 / 10
Więcej cudów 1 Wartości przypisane do różnych celów (goals) we wzorze na h(r, z) są arbitralne. Może warto je jakoś dostosowywać do rzeczywistości? Autorzy proponują swoją własną metodę tworzenia sieci neuronowych na podstawie predykatów. Günther M, Schiffel S, Thielscher M (2009) Factoring general games. In: Proceedings of the IJCAI workshop on general intelligence in game-playing agents (GIGA), pp 27 34 E. Cox, E. Schkufza, R. Madsen, M. R. Genesereth, Factoring general games using propositional automata, In: Proceedings of the IJCAI Workshop on General Intelligence in Game-Playing Agents (GIGA). (2009) 13 20 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 10 / 10
Więcej cudów 1 Wartości przypisane do różnych celów (goals) we wzorze na h(r, z) są arbitralne. Może warto je jakoś dostosowywać do rzeczywistości? Autorzy proponują swoją własną metodę tworzenia sieci neuronowych na podstawie predykatów. 2 Knowledge extraction pozostawia nas w niepewności, co do słuszności odkrywanych właściwości Günther M, Schiffel S, Thielscher M (2009) Factoring general games. In: Proceedings of the IJCAI workshop on general intelligence in game-playing agents (GIGA), pp 27 34 E. Cox, E. Schkufza, R. Madsen, M. R. Genesereth, Factoring general games using propositional automata, In: Proceedings of the IJCAI Workshop on General Intelligence in Game-Playing Agents (GIGA). (2009) 13 20 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 10 / 10
Więcej cudów 1 Wartości przypisane do różnych celów (goals) we wzorze na h(r, z) są arbitralne. Może warto je jakoś dostosowywać do rzeczywistości? Autorzy proponują swoją własną metodę tworzenia sieci neuronowych na podstawie predykatów. 2 Knowledge extraction pozostawia nas w niepewności, co do słuszności odkrywanych właściwości Autorzy proponują udowadnianie różnych cech (w szczególności niezmienników) za pomocą theorem proverów. Günther M, Schiffel S, Thielscher M (2009) Factoring general games. In: Proceedings of the IJCAI workshop on general intelligence in game-playing agents (GIGA), pp 27 34 E. Cox, E. Schkufza, R. Madsen, M. R. Genesereth, Factoring general games using propositional automata, In: Proceedings of the IJCAI Workshop on General Intelligence in Game-Playing Agents (GIGA). (2009) 13 20 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 10 / 10
Więcej cudów 1 Wartości przypisane do różnych celów (goals) we wzorze na h(r, z) są arbitralne. Może warto je jakoś dostosowywać do rzeczywistości? Autorzy proponują swoją własną metodę tworzenia sieci neuronowych na podstawie predykatów. 2 Knowledge extraction pozostawia nas w niepewności, co do słuszności odkrywanych właściwości Autorzy proponują udowadnianie różnych cech (w szczególności niezmienników) za pomocą theorem proverów. 3 Powielenie gry powoduje multiplikatywny wzrost liczby stanów. Günther M, Schiffel S, Thielscher M (2009) Factoring general games. In: Proceedings of the IJCAI workshop on general intelligence in game-playing agents (GIGA), pp 27 34 E. Cox, E. Schkufza, R. Madsen, M. R. Genesereth, Factoring general games using propositional automata, In: Proceedings of the IJCAI Workshop on General Intelligence in Game-Playing Agents (GIGA). (2009) 13 20 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 10 / 10
Więcej cudów 1 Wartości przypisane do różnych celów (goals) we wzorze na h(r, z) są arbitralne. Może warto je jakoś dostosowywać do rzeczywistości? Autorzy proponują swoją własną metodę tworzenia sieci neuronowych na podstawie predykatów. 2 Knowledge extraction pozostawia nas w niepewności, co do słuszności odkrywanych właściwości Autorzy proponują udowadnianie różnych cech (w szczególności niezmienników) za pomocą theorem proverów. 3 Powielenie gry powoduje multiplikatywny wzrost liczby stanów. Dużo wysiłku idzie w oddzielanie niezależnych podgier. Günther M, Schiffel S, Thielscher M (2009) Factoring general games. In: Proceedings of the IJCAI workshop on general intelligence in game-playing agents (GIGA), pp 27 34 E. Cox, E. Schkufza, R. Madsen, M. R. Genesereth, Factoring general games using propositional automata, In: Proceedings of the IJCAI Workshop on General Intelligence in Game-Playing Agents (GIGA). (2009) 13 20 Jasiek Marcinkowski (II UWr) Jak oceniać, gdy nic nie wiemy? 25 października 2012 10 / 10