A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006.

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.
Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers Presentation by Patrick Kaleem Justin.
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.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Table of Contents Why Play Chess? Setting Up the Board Get to Know the Pieces Check and Checkmate What the Chess Pieces Are Worth Opening Goals Endgame.
10/19/2004TCSS435A Isabelle Bichindaritz1 Game and Tree Searching.
Games CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Adversarial Search Board games. Games 2 player zero-sum games Utility values at end of game – equal and opposite Games that are easy to represent Chess.
Intelligence for Games and Puzzles1 The Game of Go Two players, Black and White, take turns placing.
Jeffrey D. Ullman Stanford University Flow Graph Theory.
Problem Solving Using Search Reduce a problem to one of searching a graph. View problem solving as a process of moving through a sequence of problem states.
Abstract Proof Search Studied by Tristan Cazenave Surveyed by Akihiro Kishimoto.
1 A Library of Eyes in Go Author: Thomas Wolf, Matthew Pratola Dept of Mathematics Brock University Presented by: Xiaozhen Niu.
Search for Transitive Connections Ling Zhao University of Alberta October 27, 2003 Author: T. Cazenave and B. Helmstetter published in JCIS'03.
AI techniques for the game of Go Erik van der Werf Universiteit Maastricht / ReSound Algorithm R&D.
The Move Decision Strategy of Indigo Author: Bruno Bouzy Presented by: Ling Zhao University of Alberta March 7, 2007.
Maximizing the Chance of Winning in Searching Go Game Trees Presenter: Ling Zhao March 16, 2005 Author: Keh-Hsun Chen Accepted by Information Sciences.
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.
1 Life-and-Death Problem Solver in Go Author: Byung-Doo Lee Dept of Computer Science, Univ. of Auckland Presented by: Xiaozhen Niu.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
Applying Genetic Programming to Stratego Ryan Albarelli.
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.
1 Game Playing Chapter 6 (supplement) Various deterministic board games Additional references for the slides: Luger’s AI book (2005). Robert Wilensky’s.
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:
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.
1 Recognizing safe territories Presented by: Xiaozhen Niu Date: 2003/09/22.
1 An Open Boundary Safety-of- Territory Solver for the Game of Go Author: Xiaozhen Niu, Martin Mueller Dept of Computing Science University of Alberta.
An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto
Dynamic Decomposition Search for the One-Eye Problem Akihiro Kishimoto
1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.
Wei Qi, Baduk, Go a game of strategy
1 Region-Based Data Flow Analysis. 2 Loops Loops in programs deserve special treatment Because programs spend most of their time executing loops, improving.
Hex Combinatorial Search in Game Strategy by Brandon Risberg May 2006Menlo School.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Go An ancient Oriental board game Andrew Simons. Introduction 2 player game of skill. Popular in the Far East, growing in the West. Simple rules, extremely.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Othello Artificial Intelligence With Machine Learning
Artificial Intelligence in Games CA107 Topics in Computing Dr. David Sinclair School of Computer Applications
Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur Guided By – Prof. Amitabha Mukerjee.
Development of a Machine-Learning-Based AI For Go By Justin Park.
 Summary  How to Play Go  Project Details  Demo  Results  Conclusions.
Algorithms & Data Structures for Games
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.
Chess and AI Group Members Abhishek Sugandhi Sanjeet Khaitan Gautam Solanki
Cilk Pousse James Process CS534. Overview Introduction to Pousse Searching Evaluation Function Move Ordering Conclusion.
IWEC20021 Threat Stacks to Guide Pruning and Search Extensions in Shogi Reijer Grimbergen Department of Information Science Saga University, Japan.
Parallelization in Computer Board Games Ian Princivalli.
Yen-Ting Yu Iris Hui-Ru Jiang Yumin Zhang Charles Chiang DRC-Based Hotspot Detection Considering Edge Tolerance and Incomplete Specification ICCAD’14.
Ricochet Robots Mitch Powell Daniel Tilgner. Abstract Ricochet robots is a board game created in Germany in A player is given 30 seconds to find.
Learning to Play the Game of GO Lei Li Computer Science Department May 3, 2007.
Solving Tsumego on Computers M2 Hirokazu Ishii Chikayama & Taura Lab.
Artificial Intelligence in Game Design Influence Maps and Decision Making.
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.
February 25, 2016Introduction to Artificial Intelligence Lecture 10: Two-Player Games II 1 The Alpha-Beta Procedure Can we estimate the efficiency benefit.
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.
CHESS.
Dakota Ewigman Jacob Zimmermann
Goal-driven Mechanism in Interim.2 Go Program
Chapter 6 : Game Search 게임 탐색 (Adversarial Search)
The Alpha-Beta Procedure
PN, PN2 and PN* in Lines of Action
Presentation transcript:

A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006

Problem Identification To determine if a block can be captured. A critical part for a strong Go program.

Challenges Open boundary. Complex situation: run out, kill adjacent enemy blocks, connect to a safe block, live inside, or get killed. Fast heuristic search. Selective search. Deep search. Seki and Ko.

Approach Fast ladder solver. Alpha-beta search + iterative deepening. Heuristic evaluation using multi-order liberties. Highly selective moves based on the evaluation. Forward pruning.

Chains and Blocks Chains: closely-related blocks that cannot be separated by attacker. Identification of chains: - Share more than one liberty - Share one protected liberty. - Adjacent to an attacker’s dead block.

Multi-order Liberty First order liberty: normal liberty. Augmented block: block plus all its adjacent intersections (may connect to another block). Second order liberty: liberty of the augmented block – first order liberty. Third order liberty: the liberty of twice- augmented block – first and second order liberty.

Block Evaluation N 1, N 2, N 3 – number of first, second and third order liberties, respectively. V = N 1 * 16 + N 2 * 8 + N 3 * 4. V = V+50 if an attacker’s adjacent block can be captured by ladders. V = V-25 if an defender’s adjacent block can be captured by ladder. Note: defender moves first.

Block Evaluation V = infinity if there are two solid eyes Solid eye: Liberty surrounded by defender or border and 3 out of the 4 diagonal points are secure (2 out of 2 for board- edge liberty). V = V+15 for each attacker’s adjacent block with liberty less than 3. The sign of V is reversed if attacker moves first.

Relevant Blocks Relevant attacker blocks: Adjacent attacker blocks with no more than 3 liberties and no more than that of the crucial block, if attacker moves first. If defender moves first, add the required liberty by 1. Relevant defender blocks: Defender blocks adjacent to relevant attacker blocks with no more than 3 liberties.

Move Selection Up to 4 first and second order liberties based on block evaluation (1-ply search). Almost all attacker’s moves that can be captured by ladders or at a solid eye is removed. Attacker’s sacrifice moves are allowed (?). 2 or 3 liberties for relevant attacker blocks. 2 liberties for relevant defender blocks. Algorithm favors liberties associated with blocks with few liberties or those that can help to increase liberties of blocks.

Move Selection Capturing moves are promoted. When the number of candidate moves is less than 2, pass move is generated. The authors claim that this move selection algorithm can generate “compact yet generally adequate candidate move set”.

Example 1 Black moves first. Defender block marked by triangle. 4 moves from 1 and 2 order liberties. Move 1 is promoted. And the right move is … ?

Example 2 Black moves first. Move 1 from first order liberty. Moves 2 and 3 from the liberties of the attacker relevant blocks. Move 4 and 5 from the liberties of the defender relevant blocks. And the right move is … ?

Example 3 Black moves first. And the right move is … ?

Iterative Deepening Search depth from 2 to 20 with increment of 2. Search terminates when a definite result (V>=150) is obtained, or depth/time limit is reached. Forward pruning: V is more than 50 away from the alpha-beta window.

Example 1: 6-ply search

Refute Move Speed up search by 20% May introduce the missing best move. Move 1 on the right is the refute move (?).

Seki and Ko Two consecutive passes: safe (unconditionally or by seki). Assuming first player can win Ko up to 3 times and second player cannot win any Ko. Modify the evaluation value for capturing based on winning Ko.

Experimental Results Test cases from Kano’s books: Graded Go Problems for Beginners (4 volumes). Results seem to be better than Thomsen and Cazenave’s approaches (Lamda search and iterative widening).

Time Vs. Solvability

Future Work Mix iterative deepening and widening to address missing key move problem. Proof number search in open regions.