MAGICIAN: GUIDED UCT. Ekstrakcja uniwersalnej funkcji ewaluacyjnej z rezultatów symulacji UCT

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

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

MAGICIAN: A GGP Agent. Analiza zależności w opisie reguł gier GGP

General Game Playing. Aktualnie stosowane algorytmy i metody konstrukcji agentów

UCT. Wybrane modyfikacje i usprawnienia

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

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

Instytut Badań Systemowych Polskiej Akademii Nauk. Streszczenie rozprawy doktorskiej

Jak oceniać, gdy nic nie wiemy?

Risk-Aware Project Scheduling. SimpleUCT

Analiza stanów gry na potrzeby UCT w DVRP

RISK-AWARE PROJECT SCHEDULING

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

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

Dane dotyczące wartości zmiennej (cechy) wprowadzamy w jednej kolumnie. W przypadku większej liczby zmiennych wprowadzamy każdą w oddzielnej kolumnie.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

1. Symulacje komputerowe Idea symulacji Przykład. 2. Metody próbkowania Jackknife Bootstrap. 3. Łańcuchy Markova. 4. Próbkowanie Gibbsa

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

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

Obliczenia równoległe w General Game Playing

Algorytmy dla gier dwuosobowych

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

Algorytmy ewolucyjne (3)

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

Algorytmy genetyczne

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Modelowanie sieci złożonych

METODY STATYSTYCZNE W BIOLOGII

BIOINFORMATYKA. Copyright 2011, Joanna Szyda

Metody radzenia sobie z brakującymi obserwacjami

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Metody przeszukiwania

AI i ML w grach. Przegląd zagadnień i inspiracje systemów human-like

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

Testowanie hipotez statystycznych

Równoważność algorytmów optymalizacji

RISK-AWARE PROJECT SCHEDULING

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

PRZEWODNIK PO PRZEDMIOCIE

Techniki optymalizacji

weryfikacja hipotez dotyczących parametrów populacji (średnia, wariancja)

LABORATORIUM Populacja Generalna (PG) 2. Próba (P n ) 3. Kryterium 3σ 4. Błąd Średniej Arytmetycznej 5. Estymatory 6. Teoria Estymacji (cz.

Stochastyczne dynamiki z opóźnieniami czasowymi w grach ewolucyjnych

ALHE Z11 Jarosław Arabas wykład 11

Podstawy OpenCL część 2

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

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Monte Carlo, bootstrap, jacknife

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

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu

Elementy statystyki wielowymiarowej

Tworzenie gier na urządzenia mobilne

RISK-AWARE PROJECT SCHEDULING

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

GRA Przykład. 1) Zbiór graczy. 2) Zbiór strategii. 3) Wypłaty. n = 2 myśliwych. I= {1,,n} S = {polować na jelenia, gonić zająca} S = {1,,m} 10 utils

Rozkład normalny. Marcin Zajenkowski. Marcin Zajenkowski () Rozkład normalny 1 / 26

Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań do analizy rzeczywistych sieci złożonych

Algorytmy genetyczne

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Systems Research Institute Polish Academy of Sciences

0-0000, , , itd

Zaliczenie. Ćwiczenia (zaliczenie = min. 15 punktów)

STATYSTYKA wykład 1. Wanda Olech. Katedra Genetyki i Ogólnej Hodowli Zwierząt

Planowanie drogi robota, algorytm A*

RISK-AWARE PROJECT SCHEDULING

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

Wykład 2: Arkusz danych w programie STATISTICA

Graficzna prezentacja danych statystycznych

Liczba zadań a rzetelność testu na przykładzie testów biegłości językowej z języka angielskiego

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy heurystyczne w UCB dla DVRP

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

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytm genetyczny (genetic algorithm)-

STATYSTYKA MATEMATYCZNA WYKŁAD 4. WERYFIKACJA HIPOTEZ PARAMETRYCZNYCH X - cecha populacji, θ parametr rozkładu cechy X.

Kognitywne podejście do gry w szachy kontynuacja prac

PDF created with FinePrint pdffactory Pro trial version

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Algorytmy kodowania entropijnego

Systemy uczące się Lab 4

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

MODEL ŚRODOWISKA WIELOAGENTOWEGO W NEUROEWOLUCYJNYM STEROWANIU STATKIEM

BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

PODSTAWY BIOINFORMATYKI 6 ANALIZA FILOGENETYCZNA

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Ogólnopolska Konferencja Aktuarialna Zagadnienia aktuarialne teoria i praktyka Warszawa, IE SGH 2009

Obliczenia Naturalne - Strategie ewolucyjne

Statystyka od podstaw Janina Jóźwiak, Jarosław Podgórski

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Statystyka. Wykład 7. Magdalena Alama-Bućko. 16 kwietnia Magdalena Alama-Bućko Statystyka 16 kwietnia / 35

SYMULACJA RYZYKA CZASOWO-KOSZTOWEGO PRZEDSIĘWZIĘĆ NA TLE METODY PERT/COST

Partition Search i gry z niezupełną informacją

ALGORYTMY GENETYCZNE ćwiczenia

Elementy kognitywistyki III: Modele i architektury poznawcze

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Analiza danych ilościowych i jakościowych

Transkrypt:

MAGICIAN: GUIDED UCT Ekstrakcja uniwersalnej funkcji ewaluacyjnej z rezultatów symulacji UCT

GENERAL GAME PLAYING

General Game Playing? Cel: stworzenie systemu umiejącego grać/nauczyć się grać we wszystkie gry Turniej w ramach AAAI National Conference corocznie od 2005 roku Przebieg rozgrywki w ramach turnieju: prezentacja zasad i czas na ich analizę (np. 5m) rozgrywka z ograniczeniem czasowym na wykonanie pojedynczego ruchu

Model gry Skończona Skończona liczba graczy w tym 1 czyli de facto łamigłówka synchroniczna wszyscy gracze ruszają się równocześnie (ale dopuszczalne ruchy typu noop) skończona liczba legalnych ruchów w każdym ze skończonej liczby stanów zmiany stanu tylko w wyniku ruchów maszyna stanowa

Model gry c.d. M. Genesereth, N. Love, and B. Pell. General Game Playing: Overview of the AAAI Competition. AI Magazine, 26(2):62-72, 2005.

Game Definition Language (GDL) Opis gry jako maszyny stanowej: zbyt rozwlekły Krótszy sposób opisu: Game Definition Language (GDL) opis gry za pomocą fomuł logicznych język bazujący na zmodyfikowanym Datalogu Datalog to podzbiór Prologa podstawowe relacje: role, true, init, next, legal, does, goal, terminal

GDL: Tic-Tac-Toe J. Reisinger, E. Bahceci, I. Karpov, and R. Miikkulainen. Coevolvingstrategies for general game playing. In Proceedings of the IEEE Symposium on Computational Intelligence and Games (CIG 2007), 320-327, Honolulu, Hawaii, 2007. IEEE Press.

Multi- Approach Game Independent Cunningly Intelligent Arch- Nemesis

UCT GUIDED UCT

UCT Sposób wybierania kolejnego ruchu podczas symulacji (UCT): Q(s,a) średni dotychczasowy wynik pary stan-ruch N liczba wizyt w danym stanie/wykonań danej akcji akcje nigdy nie wykonane wybierane są w pierwszej kolejności

UCT c.d.

UCT c.d. Ograniczanie zużycia pamięci: usuwanie danych o węzłach powyżej aktualnego po każdym (realnie) wykonanym ruchu co z pozycjami powtórzonymi w drzewie gry 1. duplikowanie 2. intelegentnewykrywanie, kiedy można je usunąć z pamięci dodawanie tylko jednego nowego węzła per symulacja Modelowanie przeciwnika każdy przeciwnik ma przydzielony swój własny model (Cadia) przeciwnicy podejmują losowe decyzje

UCT - usprawnienia CADIAPlayer: history heuristic modyfikuje prawdopodobieństwo wybrania niewypróbowanej akcji (zarówno w fazie UCT, jak i MC)

Guided UCT Guided UCT + funkcja ewaluacyjna Gdzie ta funkcja ewaluacyjna? 1. W fazie MC: a) całkowite zastąpienia fazy (z zadanym prawdopodobieństwem) b) zakończenie symulacji przed osiągnięciem końca gry z zadanym prawdopodobieństwem w każdym węźle drzewa

Guided UCT Guided UCT + funkcja ewaluacyjna Gdzie ta funkcja ewaluacyjna? 2. W fazie UCT: a) jako wstępne sortowanie ruchów nigdy nie wypróbowanych b) jako startowy szacunek wartości ruchów z wagą odpowiadającą n symulacjom Problem: porównywanie bardzo podobnych pozycji (różniących się tylko ostatnim ruchem)

STATISTICAL GUCT: HEURYSTYCZNA FUNKCJA EWALUACYJNA

Generowanie komponentów Lista podstawowa: wyrażenia występujące w opisie gry cechy nie muszą być binarne zliczanie sposobów rozwiązania zmiennych w wyrażeniu Uzupełnianie listy: uogólniane przez podstawianie zmiennych za stałe i możliwych stałych za zmienne cell(1, 1, x) cell(1, 1,?) cell(?,?, x) cell(1,?, x)

Generowanie komponentów c.d. Podstawianie stałych za zmienne Wszystkich?? Wyznaczanie dziedzin argumentów predykatów/funkcji:

Złożone komponenty Relacje między wartościami komponentów różniących się na jednej pozycji: cell(?,?, w) cell(?,?, b) cell(?,?, wk) / cell(?,?, bk) a jako efekt uboczny także: cell(a, 1,?) / cell(a, 3,?) Problem: co z dzieleniem przez 0? Odp. 1: 0 Odp. 2: podzielmy przez ½ zamiast tego Odp. 3: zrezygnujmy na razie z proporcji

Analiza statystyczna komponentów Pula przykładowych sekwencji ok. 100 początek sekwencji: wynik losowej gry długość: do 5 pozycji odległość między pozycjami: 1-2 ruchy generowanie sekwencji: losowe ruchy powiązanie sekwencji ze średnim wynikiem: symulacje Monte Carlo (~10)

Analiza statystyczna komponentów c.d. Średnie wartości i wariancje wartości komponentów dla całej gry uwzględnia tylko pierwszą pozycję z każdej sekwencji dla poszczególnych sekwencji Korelacja wartości komponentów z wynikiem gry brana pod uwagę średnia wartość komponentu w sekwencji Stabilność wartości komponentów iloraz wariancji między początkami sekwencji oraz średniej wariancji w ramach sekwencji S = TV / (TV + 10*SV)

Funkcja ewaluacyjna - heurystyczna Wybór komponentów: sortowanie: min(stabilność, korelacja z wynikiem ) obcięcie do 30 pierwszych komponentów Wagi: stabilność * korelacja z wynikiem Składnik stały: średni wynik

StatGUCT vs. UCT 4 3 2 1 0-1 -2-3 0 30 60 Connect4 Checkers Chess -4

Przykładowa funkcja ewaluacyjna (warcaby) -0,087*cell(a, 4, wp){int} + -0,1*cell(a,?, wp){int} + 0,12*cell(h, 3, bp){int} + 0,056*cell(f, 3, bp){int} + -0,045*cell(g, 8, wk){int} + 0,052*cell(f, 1, bk){int} + -0,051*cell(?, 8, wk){int} + -0,041*cell(g,?, wk){int} + 0,036*cell(a, 2, bk){int} + 0,13*cell(?,?, bk){int} + 0,046*cell(?, 1, bk){int} + -0,098*cell(?,?, wk){int} + 0,039*cell(a,?, bk){int} + 0,11*cell(f, 5, wk){int} + 0,036*cell(d,?, bk){int} + -0,064*cell(a, 2, wp){int} + 0,056*cell(?, 3, bp){int} + -0,032*cell(g, 6, wp){int} + 0,026*cell(?, 6, bk){int} + -0,051*cell(?, 5, wp){int} + -0,037*cell(?, 6, wp){int} + 0,038*cell(d, 3, bk){int} + -0,12*cell(?,?, wp){int} + 0,055*cell(g,?, bp){int} + -0,02*cell(?, 7, wk){int} + 0,027*cell(d, 7, b){int} + -0,044*cell(h, 3, bk){int} + 0,033*cell(f,?, bk){int} + 0,037*cell(b, 3, bk){int} + -0,074*cell(h, 1, wp){int} + 50*1

SELF-GUIDED UCT: NAUKA

Self-Guided UCT UCT uczy się o konkretnych ruchach w konkretnych pozycjach Pomysł: uogólnijmy tę wiedzę do ogólnej funkcji ewaluacyjnej Nauka: offline w fazie analizy gry online w czasie ruchu przeciwnika

SGUCT wersja alfa Zbiór uczący: stany, w których przynajmniej raz wypróbowano wszystkie ruchy wartość pozycji = średnia wartość najlepszego ruchu Populacja uczona: 10 osobników funkcji ewaluacyjnych stworzone na podstawie analizy statystycznej

SGUCT wersja alfa Uczenie gradientowe, podzielone na pokolenia pokolenie = 100 epok przystosowanie = odwrotność MSE na zbiorze testowym selekcja: usuń 3 najsłabsze osobniki sklonuj 3 najlepsze z mutacją potencjalnie zmutuj wszystkie osobniki oprócz 3 najlepszych

SGUCT wersja alfa Mutacja mutacja wag (p = 0.3) każda waga mutowana z p = 0.1 mutacja: dodanie losowej wartości z przedziału [-delta;delta] delta = max(1, aktualna waga )

SGUCT wersja alfa Mutacja mutacja cech (p = 0.2) wrażliwość = waga * max(wartość cechy) potencjalnie usuń cechę: warunek: osobnik zbyt duży lub max(wrażliwości) / min(wrażliwości) > 100 lub zaszło zdarzenie o p = 0.6 usuwana cecha: wybór ruletkowy na podstawie odwrotności wrażliwości przypisz nową cechę: wygeneruj ją jak przy tworzeniu nowego osobnika

SGUCT vs. StatGUCT 6 Connect4 4 Checkers Chess 2 0 0 10 20 30-2 -4-6 UWAGA: Mała powtarzalność wyników

Bibliografia J. Clune: Heuristic evaluationfunctions for General Game Playing. In Proceed- ings of the Twenty- Second AAAI Conference on Articial Intelligence (AAAI- 07), pages 1134 1139, Vancouver, BC, Canada, 2007. AAAI Press. H. Finnsson, Y. Bjornsson: Simulation-based approach to General Game Playing. In Proceedings of the Twenty-Third AAAI Conference on Articial Intelligence (AAAI-08), pages 259 264, Chicago, IL, 2008. AAAI Press. General Game Playing website by Stanford University. http://games.stanford.edu/. General Game Playing website by Dresden University of Technology. http://www.generalgame-playing.de/. M. Genesereth, N. Love: General Game Playing: Overview of the AAAI Competition. http://games.stanford.edu/competition/misc/aaai.pdf, 2005. D. Kaiser: The Design and Implementationof a Successful General Game Playing Agent. In Proceedings of FLAIRS Conference, pages 110 115, 2007 G. Kuhlmann, K. Dresner, and P. Stone: Automatic heuristic constructionin a complete General Game Player. In Proceedings of the Twenty-First AAAI Conference on Artificial Intelligence (AAAI-06), pages 1457 1462, Boston, MA, 2006. AAAI Press. N. Love, T. Hinrichs, D. Haley, E. Schkufza, M. Genesereth: General Game Playing: Game Description Language Specification. http://games.stanford.edu/language/spec/gdl spec 2008 03.pdf, 2008. J. Mańdziuk, M. Kusiak, K. Walędzik: Evolutionary-based heuristic generators for checkers and give-away checkers. Expert Systems, 24(4): 189 211, Blackwell-Publishing, 2007. J. Reisinger, E. Bah ceci, I. Karpovand R. Miikkulainen: Coevolving strategies for general game playing. In Proceedings of the IEEE Symposium on Computational Intelligence and Games (CIG 07), pages 320 327, Honolulu, Hawaii, 2007. IEEE Press. S. Schiffel, M.Thielscher: Automatic Construction of a Heuristic Search Func tion for General Game Playing. In Seventh IJCAI International Workshop on Nonmonotonic Reasoning, Action and Change (NRAC07).