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.

Slides:



Advertisements
Similar presentations
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Advertisements

Artificial Intelligence
Game Playing Games require different search procedures. Basically they are based on generate and test philosophy. At one end, generator generates entire.
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
MINIMAX SEARCH AND ALPHA- BETA PRUNING: PLAYER 1 VS. PLAYER 2.
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.
G51IAI Introduction to AI Minmax and Alpha Beta Pruning Garry Kasparov and Deep Blue. © 1997, GM Gabriel Schwartzman's Chess Camera, courtesy IBM.
Minimax and Alpha-Beta Reduction Borrows from Spring 2006 CS 440 Lecture Slides.
Mahgul Gulzai Moomal Umer Rabail Hafeez
Abstract Proof Search Studied by Tristan Cazenave Surveyed by Akihiro Kishimoto.
This time: Outline Game playing The minimax algorithm
1 Using Search in Problem Solving Part II. 2 Basic Concepts Basic concepts: Initial state Goal/Target state Intermediate states Path from the initial.
Using Search in Problem Solving
Toy Problem: Missionaries and Cannibals
Game Playing CSC361 AI CSC361: Game Playing.
November 10, 2009Introduction to Cognitive Science Lecture 17: Game-Playing Algorithms 1 Decision Trees Many classes of problems can be formalized as search.
Df-pn: Depth-first Proof Number Search
Using Search in Problem Solving
The 6 th Computer Olympiad: Computer-Games Workshop (Maastricht, 2001) Advances of AND/OR-tree Search Algorithms in Shogi Mating Search Hiroyuki Iida and.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
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:
Applying proof numbers to Life and Death: First Result Akihiro Kishimoto
Artificial Intelligence for Games and Puzzles1 Artificially Narrow Alpha & Beta AlphaBeta cuts off the.
Recent Progress on the One-eye Solver Akihiro Kishimoto
Alpha-Beta Search. 2 Two-player games The object of a search is to find a path from the starting position to a goal position In a puzzle-type problem,
An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto
Game Playing: Adversarial Search Chapter 6. Why study games Fun Clear criteria for success Interesting, hard problems which require minimal “initial structure”
Minimax.
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.
Game Playing. Introduction Why is game playing so interesting from an AI point of view? –Game Playing is harder then common searching The search space.
Game Playing.
Renju Presented by JungYun Lo National Dong Hwa University Department of Computer Science and Information Engineering Artificial Intelligence Laboratory.
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.
October 3, 2012Introduction to Artificial Intelligence Lecture 9: Two-Player Games 1 Iterative Deepening A* Algorithm A* has memory demands that increase.
Mark Dunlop, Computer and Information Sciences, Strathclyde University 1 Algorithms & Complexity 5 Games Mark D Dunlop.
Algorithms & Data Structures for Games
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
INTELLIGENT SYSTEM FOR PLAYING TAROK
Randomized Parallel Proof-Number Search ACG 12, Pamplona, May 2009.
Solving Tsumego on Computers M2 Hirokazu Ishii Chikayama & Taura Lab.
Parallel Programming in Chess Simulations Tyler Patton.
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
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.
Adversarial Search. Regular Tic Tac Toe Play a few games. –What is the expected outcome –What kinds of moves “guarantee” that?
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.
Parallel Programming in Chess Simulations Part 2 Tyler Patton.
1 Chapter 6 Game Playing. 2 Chapter 6 Contents l Game Trees l Assumptions l Static evaluation functions l Searching game trees l Minimax l Bounded lookahead.
1 Decisions in games Minimax algorithm  -  algorithm Tic-Tac-Toe game Decisions in games Minimax algorithm  -  algorithm Tic-Tac-Toe game.
Adversarial Search and Game-Playing
By Kevin Madison and Emma Drobina
Iterative Deepening A*
PENGANTAR INTELIJENSIA BUATAN (64A614)
Adversarial Search and Game Playing (Where making good decisions requires respecting your opponent) R&N: Chap. 6.
Optimizing Minmax Alpha-Beta Pruning Real Time Decisions
Adversarial Search.
Game Playing.
Chapter 6 : Game Search 게임 탐색 (Adversarial Search)
Alpha-Beta Search.
Alpha-Beta Search.
Introduction to Artificial Intelligence Lecture 9: Two-Player Games I
Alpha-Beta Search.
CSE (c) S. Tanimoto, 2001 Search-Introduction
Minimax strategies, alpha beta pruning
Alpha-Beta Search.
Alpha-Beta Search.
PN, PN2 and PN* in Lines of Action
Minimax strategies, alpha beta pruning
Unit II Game Playing.
Presentation transcript:

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

Outline What is the GHI problem? Some other solutions to GHI BTA (Base-Twin Algorithm) Experimental Results Conclusions

Introduction Transposition table –Enhances search algorithms Chess factor of 5 Checkers factor of 10 –Detect “transpositions” Example Save result in TT Reuse result

GHI Problem (1 / 2) Transposition table contains a flaw with repetitions –Path to reach a node is ignored E.g. Alpha-Beta + TT if (TTlookup(&n) == OK && n.LBOUND >= beta) { return n.LBOUND; }

GHI Problem (2 / 2): Example Assumptions: –Repetition == draw What is F’s score? –Win or draw? A B 1 st player2 nd player DC F G E W: win for 1 st player W W ?

Solutions Case: Depth-First Search GHI rarely happens in Alpha-Beta search Ignored in practice –E.g. alpha-beta search int alphabeta(node n, int alpha, int beta) { if (cycle (n) == TRUE) return 0; ……… }

Solutions: Case: ISshogi’s Tsume-Solver (1 / 2) Shogi: –Mate with 4 repetitions  Loss GHI really happens –Can’t solve some problems in Shogi Zuko take an ad hoc approach to avoid

Solutions: Case: ISshogi’s Tsume-Solver (2 / 2) Do not store a loss because of a repetition –Save the threshold of proof numbers If (Cycle(n) == true) 1.(n == root)  return a loss 2.Check if n is really a losing position Example 1 st player2 nd player Loss

Beta-Twin Algorithm (1 / 8) Solution for proof-number search [c.f. Allis:94] Idea: two identical positions can have different scores –Base node Can expand deeper –Twin node Link to base node

Beta-Twin Algorithm (2 / 8) A B DC F G E W W 1 st player2 nd player f c Uppercase: Beta node Lowercase: Twin node

Beta-Twin Algorithm (3 / 8) Prepare new concepts –Possible-draw: draw because of a repetition Can be a win –Draw: real draw Mark possible-draw and keep the depth (of the ancestor) if in a repeated position Select the most proving node among the nodes marked neither possible-draws nor draws

Beta-Twin Algorithm (4 / 8) A B C 1 st player2 nd player F DE de c =2 Mark as a possible draw Depth = 0 Depth = 1 Depth = 2 Depth = 3 Depth = 4 Depth = 5

Beta-Twin Algorithm (5 / 8) If all the children are marked as either possible-draw or draw: –Mark node under way as a possible draw –Back up the minimal possible-draw depth –Delete all the possible-draw marks from the children draw possible-draw

Beta-Twin Algorithm (6 / 8) A B C 1 st player2 nd player F DE de c Mark as a possible draw =2 Delete possible draw mark =2=3 =2 Take minimal possible-depth =2

Beta-Twin Algorithm (7 / 8) If (depth of node == possible draw depth) –Guaranteed to be a draw –Store a draw A BC possible-draw a =0 draw

Beta-Twin Algorithm (8 / 8) A B C 1 st player2 nd player F DE de c =2 Depth = 2 Store a draw

Experimental Results (1 / 2) Game: Chess problems –117 positions from Chess curiosities and Win at chess Algorithms: –Tree: Basic proof-number search –DAG: PN-search variant that handles DAG [Schijf:93] –DCG: PN-search variant that handles DCG incorrectly [c.f. Schijf:93] –BTA: Beta-Twin Algorithm

Experimental Results (2 / 2) # of positions solved Tree: 99 DAG: 102 DCG: 103 BTA: 107 Total nodes (out of 96) Tree: 4,903,374 DAG: 3,222,234 DCG: 2,482,829 BTA: 2,844,024

Conclusions Theirs: –Proposed a solution to GHI –Worked better than pn-search Mine: –Can BTA really achieve much better? In my experience the performance should not improve so much except for some special problems –Needs too complicated implementation