Abstract Proof Search Studied by Tristan Cazenave Surveyed by Akihiro Kishimoto.

Slides:



Advertisements
Similar presentations
Development of the Best Tsume-Go Solver
Advertisements

Anthony Cozzie. Quite possibly the nerdiest activity in the world But actually more fun than human chess Zappa o alpha-beta searcher, with a lot of tricks.
Adversarial Search We have experience in search where we assume that we are the only intelligent being and we have explicit control over the “world”. Lets.
Adversarial Search Reference: “Artificial Intelligence: A Modern Approach, 3 rd ed” (Russell and Norvig)
Games & Adversarial Search Chapter 5. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent’s reply. Time.
This lecture topic: Game-Playing & Adversarial Search
Games & Adversarial Search
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Game Playing Games require different search procedures. Basically they are based on generate and test philosophy. At one end, generator generates entire.
Prepare for 4x4x4 tic-tac-toe
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
Search Strategies.  Tries – for word searchers, spell checking, spelling corrections  Digital Search Trees – for searching for frequent keys (in text,
Games CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Chess AI’s, How do they work? Math Club 10/03/2011.
Life in the Game of Go David B. Benson Surveyed by Akihiro Kishimoto.
Search for Transitive Connections Ling Zhao University of Alberta October 27, 2003 Author: T. Cazenave and B. Helmstetter published in JCIS'03.
This time: Outline Game playing The minimax algorithm
The Move Decision Strategy of Indigo Author: Bruno Bouzy Presented by: Ling Zhao University of Alberta March 7, 2007.
Combining Tactical Search and Monte-Carlo in the Game of Go Presenter: Ling Zhao University of Alberta November 1, 2005 by Tristan Cazenave & Bernard Helmstetter.
Solving Probabilistic Combinatorial Games Ling Zhao & Martin Mueller University of Alberta September 7, 2005 Paper link:
Learning Shape in Computer Go David Silver. A brief introduction to Go Black and white take turns to place down stones Once played, a stone cannot move.
Generalized Threats Search Paper Review Paper Author: T. Cazenave Review by: A. Botea.
Metarules To Improve Tactical Go Knowledge By Tristan Cazenave Presented by Leaf Wednesday, April 28 th, 2004.
An Adversarial Planning Approach to Go Paper Authors: S. Willmott, J. Richardson, A. Bundy, J. Levine Presentation Author: A. Botea.
1 An Improved Safety Solver for Computer Go Presented by: Xiaozhen Niu Date: 2004/02/24.
Inside HARUKA Written by Ryuichi Kawa Surveyed by Akihiro Kishimto.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
Go Meeting Talk1 Generation of Patterns with External Conditions for the Game of Go Paper presentation
1 Solving Ponnuki-Go on Small Board Paper: Solving Ponnuki-Go on small board Authors: Erik van der Werf, Jos Uiterwijk, Jaap van den Herik Presented by:
A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006.
Adversarial Search: Game Playing Reading: Chess paper.
Monte Carlo Go Has a Way to Go Haruhiro Yoshimoto (*1) Kazuki Yoshizoe (*1) Tomoyuki Kaneko (*1) Akihiro Kishimoto (*2) Kenjiro Taura (*1) (*1)University.
Applying proof numbers to Life and Death: First Result Akihiro Kishimoto
Games & Adversarial Search Chapter 6 Section 1 – 4.
Recent Progress on the One-eye Solver Akihiro Kishimoto
HEURISTIC SEARCH. Luger: Artificial Intelligence, 5 th edition. © Pearson Education Limited, 2005 Portion of the state space for tic-tac-toe.
An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto
Dynamic Decomposition Search for the One-Eye Problem Akihiro Kishimoto
A Solution to the GHI Problem for Best-First Search D. M. Breuker, H. J. van den Herik, J. W. H. M. Uiterwijk, and L. V. Allis Surveyed by Akihiro Kishimoto.
Wei Qi, Baduk, Go a game of strategy
Game Playing: Adversarial Search Chapter 6. Why study games Fun Clear criteria for success Interesting, hard problems which require minimal “initial structure”
1 Adversary Search Ref: Chapter 5. 2 Games & A.I. Easy to measure success Easy to represent states Small number of operators Comparison against humans.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Prepared by : Walaa Maqdasawi Razan Jararah Supervised by: Dr. Aladdin Masri.
Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur Guided By – Prof. Amitabha Mukerjee.
 Summary  How to Play Go  Project Details  Demo  Results  Conclusions.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Heuristic Search In addition to depth-first search, breadth-first search, bound depth-first search, and iterative deepening, we can also use informed or.
Mark Dunlop, Computer and Information Sciences, Strathclyde University 1 Algorithms & Complexity 5 Games Mark D Dunlop.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
HPC Checkers By Andy Block Ryan Egan. Table of Contents Overview of Checkers ▫Overview of Checkers ▫Rules of the Game AI Theory The Program ▫Board ▫Sample.
Game Playing. Introduction One of the earliest areas in artificial intelligence is game playing. Two-person zero-sum game. Games for which the state space.
INTELLIGENT SYSTEM FOR PLAYING TAROK
School of Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, VUW AI for games: min-max search COMP #
Game tree search Thanks to Andrew Moore and Faheim Bacchus for slides!
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
Warm Up—Literary Terms Write the definition for at least TWO literary terms in your own words WITHOUT flashcards.
Graph Search II GAM 376 Robin Burke. Outline Homework #3 Graph search review DFS, BFS A* search Iterative beam search IA* search Search in turn-based.
Jane wins $21 if a die roll shows a six, and she loses $2 otherwise
Adversarial Search 2 (Game Playing)
Adversarial Search and Game Playing Russell and Norvig: Chapter 6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
CS-424 Gregory Dudek Lecture 10 Annealing (final comments) Adversary Search Genetic Algorithms (genetic search)
An AI Game Project. Background Fivel is a unique hybrid of a NxM game and a sliding puzzle. The goals in making this project were: Create an original.
Luca Weibel Honors Track: Competitive Programming & Problem Solving Partisan game theory.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
Conflict Resolution of Chinese Chess Endgame Knowledge Base Bo-Nian Chen, Pangfang Liu, Shun-Chin Hsu, Tsan-sheng Hsu.
Adversarial Search and Game-Playing
Kevin Mason Michael Suggs
PN, PN2 and PN* in Lines of Action
Presentation transcript:

Abstract Proof Search Studied by Tristan Cazenave Surveyed by Akihiro Kishimoto

Outline Background Abstract moves Combination of Abstract Proof Search with Alpha-Beta Search Experimental Results Conclusions

Motivations Current Go programs –Selective search based on heuristics Drastically reduce branching factor Sometimes returns an incorrect answer Is it possible to select moves safely while improving the reliability of the search results?

Contributions Abstract proof search –Search complete and minimal sets of moves –Always return correct results –Much better results than basic alpha-beta search in Atari Go (capture game)

Target Problem: Atari Go Capture marked stones 5-ply 9-ply 15-ply

Search Algorithm (1 / 2) Alpha-Beta Search with 3 values + enhancements 1.INFINITY: win for the player to move String has more than 5 liberties and black to play String is captured and white to play 2.-INFINITY: loss for the player to move Opposite to the above 3.0: unknown

Search Algorithm (2 / 2) Enhancements: –Iterative deepening –Transposition table –Quiescence search –Null window search (not at the root) –History heuristic

Overview of Abstract Proof Search 1.Generate “abstract moves” that can modify the outcome of the search –c.f. lambda-search [Thomsen CG2000] 2.Do abstract analysis using 1 3.If it succeeds in 2, stop searching pass a score back to the parent 4.Try all the moves if it fails in 2

Generating abstract moves What is an abstract move? –A forced move that leads to a win/ prevents from a loss Definition of game states: – g: white wins what ever move black makes – gi: white wins if white to play – ip: gi if black passes (black has to prevent gi)

Example of Game States

How to generate abstract moves? Use the liberties of the string and dependencies between game states E.g. – abstract moves that can change ip1 liberty of the string or liberties of the adjacent strings in atari –g1 for white ip1 game for black and still gi1 after each of the forced black moves made

Dependency between Game States

Combining with Alpha-Beta Search (1 / 4) Do an abstract search before doing a standard search –OR node (white’s turn) Check if gi1, if not check if gi2, if not check if gi3 One of gi works white wins Otherwise try the moves associated to the position

Combining with Alpha-Beta Search (2 / 4) int Capturegi2() { if (number of liberties == 2) for each liberty l if (LegalMove(l, white)) { MakeMove(l, white); if (Captureg1()) return 1; UndoMove(); } return 0; }

Combining with Alpha-Beta Search (3 / 4) At AND node (black’s turn) –Check if ip1, ip2, or ip3 –None of them is verified black wins (I.e. enough liberties) –Try moves associated to ip1, ip2, or ip3 If it cannot prevent a capture, white wins

Combining with Alpha-Beta Search (4 / 4) int Captureip2(S) { res = 0; if (Capturegi2()) { res = 1; CompleteSetOfMovesToPreventgi2(S1); for each move m of S1 if (LegalMove(m,black)) { MakeMove(m,black); if (!Capturegi1() and !Capturegi2()) add m to S; UndoMove(); } return res; } Note: S == empty && res == 2  black loses

Experimental Results (1 / 2) Test suites: –Graded Go problems for Beginners Volume 1-3 Environment: –K MHz

Experimental Results (2 / 2) Performance on Volume 2 & 3

Conclusions Abstract proof search achieves excellent results –6 times slower in terms of # of nodes per second –Much less node expansion that can pay the price