Applying proof numbers to Life and Death: First Result Akihiro Kishimoto

Slides:



Advertisements
Similar presentations
Review: Search problem formulation
Advertisements

B-Trees. Motivation When data is too large to fit in the main memory, then the number of disk accesses becomes important. A disk access is unbelievably.
Development of the Best Tsume-Go Solver
Games & Adversarial Search Chapter 5. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent’s reply. Time.
Artificial Intelligence Chapter 9 Heuristic Search Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
Games & Adversarial Search
Artificial Intelligence Problem Solving Eriq Muhammad Adams
1 Blind (Uninformed) Search (Where we systematically explore alternatives) R&N: Chap. 3, Sect. 3.3–5.
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.
CSE332: Data Abstractions Lecture 9: B Trees Dan Grossman Spring 2010.
Spider Search: an Efficient and Non-Frontier-Based Real-Time Search Algorithm Presenter: Chao Lin Chu 599B Advisor: Dr. Russell J. Abbott.
Solving Probabilistic Combinatorial Games Ling Zhao & Martin Mueller University of Alberta September 7, 2005 Paper link:
Df-pn: Depth-first Proof Number Search
Computational Methods for Management and Economics Carla Gomes
1 Life-and-Death Problem Solver in Go Author: Byung-Doo Lee Dept of Computer Science, Univ. of Auckland Presented by: Xiaozhen Niu.
The 6 th Computer Olympiad: Computer-Games Workshop (Maastricht, 2001) Advances of AND/OR-tree Search Algorithms in Shogi Mating Search Hiroyuki Iida and.
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.
B + -Trees (Part 1) Lecture 20 COMP171 Fall 2006.
B + -Trees (Part 1). Motivation AVL tree with N nodes is an excellent data structure for searching, indexing, etc. –The Big-Oh analysis shows most operations.
B + -Trees (Part 1) COMP171. Slide 2 Main and secondary memories  Secondary storage device is much, much slower than the main RAM  Pages and blocks.
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:
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.
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.
Tree properties and traversals
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 19: Binary Trees. Objectives In this chapter, you will: – Learn about binary trees – Explore various binary tree traversal algorithms – Organize.
October 3, 2012Introduction to Artificial Intelligence Lecture 9: Two-Player Games 1 Iterative Deepening A* Algorithm A* has memory demands that increase.
Informed search algorithms Chapter 4. Outline Best-first search Greedy best-first search A * search Heuristics.
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.
CSC-305 Design and Analysis of AlgorithmsBS(CS) -6 Fall-2014CSC-305 Design and Analysis of AlgorithmsBS(CS) -6 Fall-2014 Design and Analysis of Algorithms.
Randomized Parallel Proof-Number Search ACG 12, Pamplona, May 2009.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Decision Trees Binary output – easily extendible to multiple output classes. Takes a set of attributes for a given situation or object and outputs a yes/no.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
LogTree: A Framework for Generating System Events from Raw Textual Logs Liang Tang and Tao Li School of Computing and Information Sciences Florida International.
Database Management Systems, R. Ramakrishnan 1 Algorithms for clustering large datasets in arbitrary metric spaces.
Solving Tsumego on Computers M2 Hirokazu Ishii Chikayama & Taura Lab.
Adversarial Search 2 (Game Playing)
Chapter 6 – Trees. Notice that in a tree, there is exactly one path from the root to each node.
Blind Search Russell and Norvig: Chapter 3, Sections 3.4 – 3.6 CS121 – Winter 2003.
Adversarial Search In this lecture, we introduce a new search scenario: game playing 1.two players, 2.zero-sum game, (win-lose, lose-win, draw) 3.perfect.
Best-first search is a search algorithm which explores a graph by expanding the most promising node chosen according to a specified rule.
Dept. Computer Science, Korea Univ. Intelligent Information System Lab A I (Artificial Intelligence) Professor I. J. Chung.
Lecture 3 Problem Solving through search Uninformed Search
By Kevin Madison and Emma Drobina
Last time: search strategies
Iterative Deepening A*
Backtracking And Branch And Bound
Russell and Norvig: Chapter 3, Sections 3.4 – 3.6
CSE373: Data Structures & Algorithms Lecture 5: AVL Trees
Trees CMSC 202, Version 5/02.
Depth-First Searches Introduction to AI.
CMSC 202 Trees.
Introduction to Artificial Intelligence Lecture 9: Two-Player Games I
Iterative Deepening CPSC 322 – Search 6 Textbook § 3.7.3
Backtracking and Branch-and-Bound
Unit –VII Coping with limitations of algorithm power.
Iterative Deepening and Branch & Bound
The Rich/Knight Implementation
PN, PN2 and PN* in Lines of Action
The Rich/Knight Implementation
Depth-First Searches.
Presentation transcript:

Applying proof numbers to Life and Death: First Result Akihiro Kishimoto

Outline Introduction Current Status of my Tsume-Go solver Experiments Issues to be resolved Conclusions

Research Direction Go is hard to do a brute-force search –Still we need a search to prove the safety of stones Need a “smarter” search algorithm –Proof and disproof numbers are successful in tsume-shogi solvers –Why not apply this method to tsume-go solvers?

Current Status Writing a tsumego solver for Explorer –Proof numbers as a threshold as well as an evaluation [Seo:95] –Disproof numbers for dynamic ordering at AND nodes –Garbage collection scheme [Nagai:99]

What I haven’t done Handle Ko and Seki –E.g. Seki causes an issue (c.f. GHI problem) Enhancements –Most important part to go up performance

Proof Numbers Variable depth-first search [Seo:95] –Proof number [Allis:94] as a threshold –Transposition table Proof Number pn OR nodeAND node 1

Proof Numbers: How to Compute? pn(n): minimal number of leaf nodes to prove n Terminal Node: –OR: pn(n) = Inf –AND: pn(n) = 0 Leaf (Unknown) Node: – pn(n) = 1 Internal node: – OR: pn(n) = min (pn(n1), …, pn(nk)) n1…nk:children – AND: pn(n) = pn(n1) + …. + pn (nk) n1… nk: children

Disproof Numbers Dual notion of proof numbers pn(n): minimal number of leaf nodes to prove n dn(n): minimal number of leaf nodes to disprove n Disproof Number pn OR nodeAND node

Disproof Numbers: How to Compute? Terminal Node: –OR: dn(n) = 0 –AND: dn(n) = Inf Leaf (Unknown) Node: – dn(n) = 1 Internal node: –OR: dn(n) = dn(n1)+ … +dn(nk)) n1… nk: children –AND: dn(n) = min(dn(n1),….,dn (nk)) n1… nk: children

Garbage Collection Scheme Transposition table can’t save all the nodes –Some information must be discarded –Want to keep more important information SmallTreeGC [Nagai:99] 0 Small tree Large tree 0 0

Garbage Collection Scheme (cont’d) 1.Keep an entry to count the size of subtree 2.Discard TT entries with small subtrees 3.Continue 2 until TT has enough empty entries e.g. 60 % of entries are thrown out

Experimental Results Pick up 5 problems from Thomas Wolf’s collection (lv1) Problems solved: 3

Experimental Results (cont’d) 58,653 nodes Depth=8 10,775 nodes Depth=13 Unsolved 157,653 nodes

What happens? (Show the search space) –Weak heuristic to kill stones pass is weird –Stable branching factor? –Slow

Not Research Issue but Important! # of nodes expanded per second is slow and unstable (1,000 – 10,000 nodes/sec on leedale) Case: 4,000 nodes / sec % cumulative List::LongContains TsumeGoTask::NuMovesToAdd TsumeGoTask::CheckAdj kHash::initTable List::Append(int)

Not Research Issue but Important (cont’d) Case: 1,000 nodes/ sec % cumulative List::LongContains TsumeGoTask::NuMovesToAdd List::Append(int) TsumeGoTask::GenMoves GoBoard::AdjacentBlocks

Things to be Implemented: (Dis)proof with Cyclic Positions (c.f. GHI Problem)[Breuker:98] –Duplicate TT entries to save results [Nagai:02] –Specific method to df- pn B A Proof? Disproof? C D E

Overestimation of Proof and Disproof Numbers Proof Set Search [Mueller:2002] –Keep a set rather than numbers for (dis)proof [Nagai: 2002] –Keep track of ancestors of a node with more than one parents Example AND nodeOR node pn = 1!!

Conclusions Are proof and disproof numbers effective? –Too early to conclude –Need lots of enhancements Evaluation functions Simulation Position decomposition …

Near Future Work Incorporate Martin’s one-eye evaluation function Handle Ko [Wolf] and Seki Convert Seo’s algorithm into df-pn –Df-pn doesn’t work well at present…. Faster implementation