The game of NoGo. The state-of-art algorithms. Arkadiusz Nowakowski.

Podobne dokumenty
REGUŁY ATARI GO. Z przykładami, zadaniami i odpowiedziami.

POŁĄCZENIE ALGORYTMÓW SYMULACYJNYCH ORAZ DZIEDZINOWYCH METOD HEURYSTYCZNYCH W ZAGADNIENIACH DYNAMICZNEGO PODEJMOWANIA DECYZJI

Analiza stanów gry na potrzeby UCT w DVRP

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

MAGICIAN. czyli General Game Playing w praktyce. General Game Playing

Outline 1 MCTS. 2 Jednoczesne ruchy. 3 Niepełna informacja. 4 Podsumowanie. Jan Karwowski April 5, / 30

Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej. Adam Żychowski

Porównanie rozwiązań równowagowych Stackelberga w grach z wynikami stosowania algorytmu UCT

Mixed-UCT: Zastosowanie metod symulacyjnych do poszukiwania równowagi Stackelberga w grach wielokrokowych

Partition Search i gry z niezupełną informacją

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

Rozmyte drzewa decyzyjne. Łukasz Ryniewicz Metody inteligencji obliczeniowej

Dwaj gracze na przemian kładą jednakowe monety na stole tak, aby na siebie nie nachodziły Przegrywa ten, kto nie może dołożyć monety

Zastosowanie metody UCT i drzewa strategii behawioralnej do aproksymacji stanu równowagowego Stackelberga w grach wielokrokowych

Lista przedmiotów prowadzonych przez pracowników Zakładu Sieci i Systemów Elektroenergetycznych

Tworzenie gier na urządzenia mobilne

Modeling Go Game as a Large Decomposable Decision Process

Metody Programowania

Algorytmy heurystyczne w UCB dla DVRP

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

UCT. Wybrane modyfikacje i usprawnienia

T Z A A R G I P F. Kris Burm. Deutsch... 3 English... 7 Français Italiano Nederlands Español Polski... 27

Matematyka Stosowana na Politechnice Wrocławskiej. Komitet Matematyki PAN, luty 2017 r.

Ewolucja Różnicowa Differential Evolution

Teoria gier. Jakub Cisło. Programowanie z pasją maja 2019

Marzena Świgoń. Xth National Forum for Scientific and Technical Information Zakopane, September 22th-25th, 2009

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

Metody Obliczeniowe w Nauce i Technice

Metoda ewolucyjnego doboru współczynników funkcji oceniającej w antywarcabach

Współczesna problematyka klasyfikacji Informatyki

WYTYCZNE DOTYCZĄCE PRAWIDŁOWEGO PRZEBIEGU GIER W MISTRZOSTWACH SZKÓŁ PODSTAWOWYCH W TABLICZCE MNOŻENIA

IMPLIKACJE ZASTOSOWANIA KODOWANIA OPARTEGO NA LICZBACH CAŁKOWITYCH W ALGORYTMIE GENETYCZNYM

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

ZASADY GRY: COERCEO. Language: English / Polski

25. NIE TYLKO WORECZKI CZYLI O ROZUMIENIU SYSTEMU DZIESIĘTNEGO, CZ. I

Wyznaczanie strategii w grach

Przyrostowe uczenie sieci neuronowych w grze w go

ZADANIE 1/GRY. Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

TEORIA GIER DEFINICJA (VON NEUMANN, MORGENSTERN) GRA. jednostek (graczy) znajdujących się w sytuacji konfliktowej (konflikt interesów),w

MODELOWANIE RZECZYWISTOŚCI

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz

Komputerowa gra w Go. Wyzwanie dla metod sztucznej inteligencji.

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

MODELOWANIE RZECZYWISTOŚCI

Auditorium classes. Lectures

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski

SPOTKANIE 11: Reinforcement learning

Adrian Horzyk

Michał Kozielski Łukasz Warchał. Instytut Informatyki, Politechnika Śląska

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Autorzy: Heinrich Glumpler i Matthias Schmitt

Kognitywne podejście do gry w szachy kontynuacja prac

Kwantowa implementacja paradoksu Parrondo

Wprowadzenie do teorii systemów ekspertowych

PRZEWODNIK PO PRZEDMIOCIE

Temat 9. Zabłocone miasto Minimalne drzewa rozpinające

Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska

Bisymulacja. Niezawodność systemów współbieżnych i obiektowych. Grzegorz Maj Grzegorz Maj Bisymulacja

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Plenerowa gra wikingów!

Konkurencja i współpraca w procesie podejmowania decyzji

INSTRUKCJA. gry dla 2 osób rekomendowany wiek: od lat 5+ zawartość pudełka: 1) Plansza 2) Pionki - 20 szt. x 2 kolory 3) Instrukcja

Drzewa decyzyjne. Inteligentne Obliczenia. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber

Teoria gier. Katarzyna Koman Maria Koman. Politechnika Gdaoska Wydział Fizyki Technicznej i Matematyki Stosowanej

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Przykładowa prezentacja

Teoria gier. wstęp Teoria gier Zdzisław Dzedzej 1

Pora na gry planszowe

MAGICIAN: GUIDED UCT. Zastosowanie automatycznie generowanej funkcji oceny w GGP

Strategia czy intuicja?

Problemy z ograniczeniami

Uniwersytet Warszawski Teoria gier dr Olga Kiuila LEKCJA 3

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu

Security Games: zastosowanie UCT na tle dotychczasowych podejść do problemu

INSTRUKCJA. zabawka i gra rekomendowany wiek: od lat 5 liczba graczy: 1-5. Zawartość pudełka: 1. Elementy domina (kamienie) - 56 szt. 2.

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Algorytmy dla gier dwuosobowych

Metody systemowe i decyzyjne w informatyce

Programowanie gier. wykład 0. Joanna Kołodziejczyk. 30 września Joanna Kołodziejczyk Programowanie gier 30 września / 13

Drzewa decyzyjne i lasy losowe

data mining machine learning data science

SZTUCZNA INTELIGENCJA

Modelowanie motywów łańcuchami Markowa wyższego rzędu

PEWNE METODY HYBRYDOWE W JEDNOKRYTERIALNEJ OPTYMALIZACJI KONSTRUKCJI SOME HYBRID METHODS FOR SINGLE CRITERIA DESIGN OPTIMIZATION

Wprowadzenie do teorii gier

Deep Learning na przykładzie Deep Belief Networks

Ruletka czy można oszukać kasyno?

PROGRAM TERAPEUTYCZNY Z MATEMATYKI

PROGRAM TERAPEUTYCZNY Z MATEMATYKI

Budowa kompleksowych systemów edukacyjnych w szkolnictwie ekonomicznym w oparciu o gry i symulacje

Algorytmiczne aspekty teorii gier: Wykład 5

SYMULACJA PROGRAMÓW KOMPUTEROWEGO WSPOMAGANIA BEZPIECZEŃSTWA TRANSPORTU MORSKIEGO

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO

Matematyka bankowa 1 1 wykład

Wykorzystanie pojęć sprawności, skuteczności, efektywności i produktywności w administracji publicznej

Przedmiot Prowadzący Termin I (data/godz/miejsce) Analiza matematyczna I. Prof. T. Inglot Dr W. Wawrzyniak- Kosz. Prof. Z. Kowalski Dr G.

Algorytmy wspomagania decyzji Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s. 230/C-3

Transkrypt:

The game of NoGo The state-of-art algorithms Arkadiusz Nowakowski arkadiusz.nowakowski@us.edu.pl Faculty of Computer Science and Materials Science University of Silesia, Poland Sosnowiec 28.11.2016

Plan prezentacji Omówienie gry NoGo i jej zasad. Ocena aktualnego rozwoju algorytmów w kontekście NoGo. Przegląd niektórych algorytmów i modyfikacji. Podsumowanie.

Ogólny opis gry Gra NoGo rozgrywana jest na planszy (zwanej gobanem) składającej się z przecinających się ze sobą linii; gracze naprzemiennie kładą białe i czarne piony (tzw. kamienie) na przecięciach linii. Mimo podobieństw strategia i taktyka w NoGo znacznie różnią się od tej znanej z gry Go. Gra została opracowana na potrzeby warsztatów Combinatorial Game Theory w 2011r. Aczkolwiek pierwszy szkic zasad został opublikowany niezależnie w 1 kwietnia 2005r. Przykładowa pozycja w NoGo.

Zasady gry Dwaj gracze (czarny i biały) wykonują ruchy kładąc naprzemiennie po jednym kamieniu na planszy. Grę rozpoczynają czarne. Kamienie muszą być stawiane na przecięciu pionowych i poziomych linii. Gdy kamień jest położony, nie można go przemieścić czy usunąć z planszy. Pierwszy gracz, który popełni samobójstwo, zbije grupę przeciwnika lub nie będzie miał możliwego ruchu przegrywa. Sąsiedztwo kamieni wyznaczają linie na planszy; sąsiadujące ze sobą kamienie nazywamy grupą. Wolne pola sąsiadujące z grupą nazywane są oddechami; jeżeli grupa lub pojedynczy kamień nie mają oddechów uznaje je się za zbite (lub samobójstwem w przypadku gdy gracz pozbawia swoją grupę ostatniego oddechu).

Pozycje w grze (a) (b) (c) x (d) (e) (f) (g) (h) x (i) (j) (k) (l) (m) xx x xx (n)???

Przykładowa gra

Motywacja Rozwiązanie pozycji (zapisanej w formie grafu) w grze NoGo jest PSPACE-kompletne; wcześniej pokazano, że jest NP-trudne. NoGo było wybrane jako jedna z gier w Olimpiadzie Gier Komputerowych w roku 2011 oraz 2013. Co roku turniej NoGo jest rozgrywany w ramach TCGA Computer Game Tournament (kwiecień) oraz TAAI tournament (grudzień). Pomimo krótkiej historii NoGo jest chętnie wybierane do eksperymentów badających sztuczną inteligencję dla gier co potwierdzają publikowane każdego roku artykuły. Bibliografia Burke, Kyle, and Bob Hearn. PSPACE-Complete Two-Color Placement Games. arxiv preprint arxiv:1602.06012 (2016). http://combinatorialgametheory.blogspot.com/2011/02/ graph-nogo-is-np-hard.html

Aktualny stan Programy grające w NoGo bazują głównie na Monte-Carlo Tree Search oraz jego modyfikacjach. Dwa najsilniejsze program HappyNoGo oraz BobNoGo bazują na połączeniu MCTS + RAVE + Opening Books + heurystyki w symulacjach. Programy różnicuje sposób wykonywania obliczeń równoległych (BobNoGo bazuje na Fuego a HappyNoGo na metodzie opracowanej przez Ting-Fu Liao). Po za wyżej wymienionymi przeprowadzono badania nad zastosowanie innych modyfikacji takich jak: rozpoznawanie wzorców, optymalizację pamięciowo-czasową, zastosowanie logiki rozmytej oraz tradycyjne funkcje oceny. Bibliografia Enzenberger, Markus, et al. Fuego - an open-source framework for board games and Go engine based on Monte Carlo tree search. IEEE Transactions on Computational Intelligence and AI in Games 2.4 (2010): 259-270. Liao, Ting-Fu, et al. A Study of Software Framework for Parallel Monte Carlo Tree Search.

NoGo Wykorzystanie Kombinatorycznej Teorii Gier do rozwiązywania NoGo można znaleźć w pracy doktorskiej Solving Games and Improving Search Performance with Embedded Combinatorial Game Knowledge w roku 2013. Udowodnienie PSPACE-kompletności dla NoGo. Znamy rozwiązanie NoGo dla planszy 4x4 (biały gracz wygrywa).

Monte-Carlo Tree Search (MCTS) W grach takich jak NoGo czy Go, dla których brak jest funkcji oceny, MCTS jest standardową (uniwersalną) metodą budowania sztucznej inteligencji. Kluczowymi elementami metody są zasady wyboru kolejnych węzłów oraz zasady symulacji. Bibliografia Browne, Cameron B., et al. A survey of monte carlo tree search methods. IEEE Transactions on Computational Intelligence and AI in Games 4.1 (2012): 1-43.

Eksploatacja a eksploracja Najczęściej wybieraną zasadą wyboru jest funkcja UCB1 [1]. Razem z metodą MCTS stanowi ona najpopularniejszy algorytm UCT. ( 2 ln(n) argmax x i + C + b ) i 1 i K n i n i Kolejną obiecującą metodą wyboru jest tzw. sekwencyjne połówkowanie (sequential halving). Polega ona na odcinaniu połowy ruchów po wykonaniu pewnej liczby symulacji [2], liczbę symulacji określa wzór: budget S log 2 possiblemoves L.symulacji SHOT vs. UCT 1000 75,6% 10000 75,8% 100000 66,8%

All moves as first (AMAF) [3] α-amaf 2 ln(n) (1 α) x i + α x i + C n i RAVE α = max { 0, V } ni V L.symulacji RAVE vs. UCT 50 56% ± 5% 500 64% ± 4% 1000 64% ± 2% 2000 70% ± 4% 4000 78% ± 3% 128000 82% ± 3%

Modyfikacje symulacji [3] Decyzyjne i anty-decyzyjne ruchy Gdy jeden z graczy ma ruch, który natychmiast kończy grę, zagraj go. W przeciwnym razie graj losowo. Ogólna heurystyka dla gier kombinatorycznych Przy wyborze kolejnego ruchu należy określić: jeżeli gracz tam zagra, a usuniętych możliwych ruchów przeciwnika, b usuniętych ruchów gracza; jeżeli zagra tam przeciwnik, a usuniętych ruchów przeciwnika, b usuniętych ruchów gracza. Wybierz ruch maksymalizujący funkcje: a b a + b. L.symulacji DM+ADM vs. UCT 100 60% ± 3% 1000 70% ± 3% 100000 86% ± 4% L.symulacji Funkcja vs. UCT 160 77,7% ± 4,9% 320 83,3% ± 5,3% 640 84,5% ± 5,1%

Rozpoznawanie wzorców v = 40 v = 35 v = 40 v = 25 v = 50 L.sekund Wzorce vs. UCT 5 69,4% 10 75,5% 20 81,7% Bibliografia Sun, Yuxia, Cheng Liu, and Hongkun Qiu. The research on patterns and UCT algorithm in NoGo game. 2013 25th Chinese Control and Decision Conference (CCDC). IEEE, 2013.

Podsumowanie Proste zasady NoGo kryją bardzo dużą głębie i złożoność, mimo, że gra jest uznawana jeszcze jako nowa, została już doceniona i jest przedmiotem badań wielu artykułów. Cykliczne turnieje pozwalają dwa razy do roku zweryfikować nowe pomysły w konfrontacji z najlepszymi programami. Badania nad NoGo są w większości przypadków pionierskie. W opinii autora warto skorzystać z fali wznoszącej stąd wybór NoGo jako gry na UMPGGK 2017.

Bibliografia Auer, Peter, Nicolo Cesa-Bianchi, and Paul Fischer Finite-time analysis of the multiarmed bandit problem Machine learning 47.2-3 (2002): 235-256 Cazenave, Tristan Sequential halving applied to trees IEEE Transactions on Computational Intelligence and AI in Games 7.1 (2015): 102-105 Chou, C-W., Olivier Teytaud, and S-J. Yen Revisiting Monte-Carlo tree search on a normal form game: NoGo European Conference on the Applications of Evolutionary Computation. Springer Berlin Heidelberg, 2011