An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto

Slides:



Advertisements
Similar presentations
Adopt Algorithm for Distributed Constraint Optimization
Advertisements

Development of the Best Tsume-Go Solver
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.
Informed Search Methods Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 4 Spring 2004.
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.
January 26, 2003AI: Chapter 3: Solving Problems by Searching 1 Artificial Intelligence Chapter 3: Solving Problems by Searching Michael Scherger Department.
Study Group Randomized Algorithms 21 st June 03. Topics Covered Game Tree Evaluation –its expected run time is better than the worst- case complexity.
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
Artificial Intelligence Chapter 9 Heuristic Search Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
Artificial Intelligence Adversarial search Fall 2008 professor: Luigi Ceccaroni.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Game Playing (Tic-Tac-Toe), ANDOR graph By Chinmaya, Hanoosh,Rajkumar.
Branch & Bound Algorithms
Artificial Intelligence Lecture No. 7 Dr. Asad Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Search in AI.
Artificial Intelligence Lecture
Mahgul Gulzai Moomal Umer Rabail Hafeez
Abstract Proof Search Studied by Tristan Cazenave Surveyed by Akihiro Kishimoto.
Life in the Game of Go David B. Benson Surveyed by Akihiro Kishimoto.
CPSC 322 Introduction to Artificial Intelligence October 25, 2004.
Domineering Solving Large Combinatorial Search Spaces.
1 A Library of Eyes in Go Author: Thomas Wolf, Matthew Pratola Dept of Mathematics Brock University Presented by: Xiaozhen Niu.
This time: Outline Game playing The minimax algorithm
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2004.
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
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.
Df-pn: Depth-first Proof Number Search
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.
1 An Improved Safety Solver for Computer Go Presented by: Xiaozhen Niu Date: 2004/02/24.
Problem Solving and Search in AI Heuristic Search
Inside HARUKA Written by Ryuichi Kawa Surveyed by Akihiro Kishimto.
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:
A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006.
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
Recent Progress on the One-eye Solver Akihiro Kishimoto
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.
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.
1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.
1 Problem Solving and Searching CS 171/271 (Chapter 3) Some text and images in these slides were drawn from Russel & Norvig’s published material.
Solving Problems by Searching CPS Outline Problem-solving agents Example problems Basic search algorithms.
Graphs II Robin Burke GAM 376. Admin Skip the Lua topic.
1 Game AI Path Finding. A Common Situation of Game AI A Common Situation of Game AI Path Planning Path Planning –From a start position to a destination.
KU NLP Heuristic Search Heuristic Search and Expert Systems (1) q An interesting approach to implementing heuristics is the use of confidence.
Development of a Machine-Learning-Based AI For Go By Justin Park.
Renju Presented by JungYun Lo National Dong Hwa University Department of Computer Science and Information Engineering Artificial Intelligence Laboratory.
 Summary  How to Play Go  Project Details  Demo  Results  Conclusions.
Chapter 7 Recursion 1CSCI 3333 Data Structures. 2 Recurrent Sequence A recursively defined sequence – First, certain initial values are specified  c.f.,
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
6.6 Solving Radical Equations. Principle of power: If a = b then a n = b n for any n Question: Is it also true that if a n = b n then a = b? Explain in.
Amazons Experiments in Computer Amazons, Martin Mueller and Theodore Tegos, 2002 Exhaustive Search in the Game Amazons Raymond Georg Snatzke, 2002 Presented.
Randomized Parallel Proof-Number Search ACG 12, Pamplona, May 2009.
1 Solving problems by searching 171, Class 2 Chapter 3.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3 - Search.
Goal-based Problem Solving Goal formation Based upon the current situation and performance measures. Result is moving into a desirable state (goal state).
Artificial Intelligence Lecture No. 6 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Introduction to Artificial Intelligence (G51IAI) Dr Rong Qu Blind Searches - Introduction.
Solving Tsumego on Computers M2 Hirokazu Ishii Chikayama & Taura Lab.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
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.
G5AIAI Introduction to AI
Search CSC 358/ Outline Homework #6 Game search States and operators Issues Search techniques DFS, BFS Beam search A* search Alpha-beta.
Brian Williams, Fall 041 Analysis of Uninformed Search Methods Brian C. Williams Sep 21 st, 2004 Slides adapted from: Tomas Lozano Perez,
Problem Solving and Searching
Problem Solving and Searching
Introducing Underestimates
Exercise Every positive number has how many real square roots? 2.
PN, PN2 and PN* in Lines of Action
Presentation transcript:

An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto

Today’s Talk Explain my and Martin’s recent efforts to an one-eye solver –Problem Description –Df-pn’s Problem and my Solution –Enhancements –Conclusions and future work

Definition of One-eye Problems Crucial stones (one eye) are given Attacker tries to capture crucial stones Defender makes another eye connected to crucial stones Surrounded by attacker’s stones

Basic Algorithm Search algorithm –Df-pn Depth-first search Behaves same as Allis’ proof-number search Less expansion for interior nodes –Terminal node detection Has an eye Can’t find any eye space

Basic Df-pn’s Result Problem Set: –39 * 2 problems made by Martin (3-20 empty squares) –Black goes first  alive –White goes first  kill Results –Very Bad! (Pentium III 700Mhz, 100 MB TT, 5 minutes) 9 Problems solved 20 Problems exceeded maximal thresholds 49 Time out

What Happens? df-pn’s problem –Condition for exceeding thresholds int MID(Node n, Threhold th) { ….. if (n.pn >= th.pn | | n.dn >= th.dn) return UNKNOWN; ….. } Example B A C E F OR nodeAND node pn(E) >= th.pn pn(E) = pn(A) + pn(F) D th.pn = pn(A) + 1 Win for AND

Plausible Proof and Disproof Numbers Keep the minimal distance from the root for each node AND node: pn(N1) + … + pn(Nk) (if pn(N1) + … + pn(Nk) != 0) max(pn(Nk+1),…,pn(Nm)) (if pn(N1) + … + pn(Nk) = 0) N1, …, Nk: N’s children && Nj.min_distance > N.min_distance (1 <= j <= k) Nk+1, …, Nm: N’s children && Nj.min_distance <= N.min_distance (k + 1 <= j <= m) pn(N) =

Plausible Proof and Disproof Numbers (cont’d) Minimal distance will be backed up to parent –All the children with larger min. distance are solved Example B A CD E F Win for OR md = 0 md = 1 md = 2  0 md = 3  0 md = 2 Ignode pn(C) pn(E)= pn(F) OR nodeAND node pn(E)= pn(A)

Results with Df-pn + Plausible Proof and Disproof Numbers Much better! –# of Problems solved: 73 C.f. without this technique: 9

Enhancements to Df-pn What is needed? –Detect an eye/false eye earlier Virtual connections Protected points –Reduce branching factor Forced moves

Virtual Connections Two purposes –Guarantee connections to the crucial stones for defender –Prove attacker’s stones are connected to safe stones Ensure defender can’t find any eye spaces

Virtual Connections (cont’d) Attacker’s connection Defender’s connection

Protected Points Conditions –A liberty is surrounded by attacker’s stones –At least one is a safe block –None is in atari safe stones Note: work only one- level

Experimental Results with Virtual Connection + Protected Points Df-pn + plausible pn & dn + Attacker’s VC + PP –Problems solved: 76 –Total # of nodes expanded: 5,724,902 (2,908,003) (for Problems Solved) The above + Defender’s VC + PP –Problems solved: 76 –Total # of nodes expanded: 5,725,134 (2,907,844) C.f. previous result: –Problems solved: 73 –Total # of nodes expanded: 5,884,887

Forced Defender’s Move Conditions 1.No empty eye point 2.Only one safe attacker’s block 3.Attacker’s block has a path to safe stones –What to do? –Attacker  win for attacker –Defender  prevent attacker’s connection

Forced Attacker’s Move Condition –Distance to an eye is 1 –Connected to crucial stones What to do? –Defender  win for defender –Prevent defender’s making an eye

Experimental Results with Forced Moves Previous enhancement + forced defender’s move –Problem solved: 76 –Total # of nodes expanded: 4,603,536 The above + forced attacker’s move –Problem solved: 76 –Total # of nodes expanded: 2,406,596 C.f. without these methods –Problem Solved: 76 –Total # of nodes expanded: 5,725,134

Summary of the Results Solved Total # of expansion Basic df-pn 9 + plausible pn & dn 73 + virtual connection 76 5,725,134 + forced defender’s move 76 4,603,536 + forced attacker’s move 76 2,40,6596

Conclusions Df-pn + safe knowledge works very well –Need fairly simple enhancements –Guarantee correct results –Become the current best(?) solver

Future Work Deal with ko-threats –Only the simplest case is solved Need more enhancements –Evaluation functions –Virtual disconnections –Benson’s safe regions –Generalized Forced Moves Measure experiments with real game-playing systems Treat open positions

Problems Unsolved in 5 Minutes Black to play