Df-pn: Depth-first Proof Number Search

Slides:



Advertisements
Similar presentations
Uninformed search strategies
Advertisements

Development of the Best Tsume-Go Solver
Artificial Intelligence Chapter 9 Heuristic Search Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
1 Heuristic Search Chapter 4. 2 Outline Heuristic function Greedy Best-first search Admissible heuristic and A* Properties of A* Algorithm IDA*
Tree Searching. Tree searches A tree search starts at the root and explores nodes from there, looking for a goal node (a node that satisfies certain conditions,
Problem Solving Agents A problem solving agent is one which decides what actions and states to consider in completing a goal Examples: Finding the shortest.
Solving Problems by Searching Currently at Chapter 3 in the book Will finish today/Monday, Chapter 4 next.
Blind Search1 Solving problems by searching Chapter 3.
Search Strategies Reading: Russell’s Chapter 3 1.
Implementation and Evaluation of Search Methods. Use a stack data structure. 1. Push root node of tree on the stack. 2. Pop the top node off the stack.
Artificial Intelligence (CS 461D)
Artificial Intelligence Lecture No. 7 Dr. Asad Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
SE Last time: Problem-Solving Problem solving: Goal formulation Problem formulation (states, operators) Search for solution Problem formulation:
Review: Search problem formulation
Department of Computer Science University of Maryland, College Park
Informed Search (no corresponding text chapter). Recall: Wanted " An algorithm and associated data structure(s) that can: 1) Solve an arbitrary 8-puzzle.
UnInformed Search What to do when you don’t know anything.
The 6 th Computer Olympiad: Computer-Games Workshop (Maastricht, 2001) Advances of AND/OR-tree Search Algorithms in Shogi Mating Search Hiroyuki Iida and.
Informed Search CSE 473 University of Washington.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Problem Spaces and Search Fall 2008 Jingsong.
Blind Search-Part 2 Ref: Chapter 2. Search Trees The search for a solution can be described by a tree - each node represents one state. The path from.
Applying proof numbers to Life and Death: First Result Akihiro Kishimoto
Graphs & Graph Algorithms Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
CS 188: Artificial Intelligence Spring 2006 Lecture 2: Queue-Based Search 8/31/2006 Dan Klein – UC Berkeley Many slides over the course adapted from either.
Recent Progress on the One-eye Solver Akihiro Kishimoto
CS 561, Session 6 1 Last time: Problem-Solving Problem solving: Goal formulation Problem formulation (states, operators) Search for solution Problem formulation:
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering Heuristic Search Notes for Ch.12 of Bratko and Ch.2 of Shoham For CSCE 580.
An One-eye Solver Based on Proof and Disproof Numbers 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.
State-Space Searches. 2 State spaces A state space consists of –A (possibly infinite) set of states The start state represents the initial problem Each.
State-Space Searches.
Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the.
Problem Solving and Search Andrea Danyluk September 11, 2013.
Tree Searching Breadth First Search Dept First Search.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l inference l all learning.
How are things going? Core AI Problem Mobile robot path planning: identifying a trajectory that, when executed, will enable the robot to reach the goal.
Problem-Solving by Searching Uninformed (Blind) Search Algorithms.
Informed search algorithms Chapter 4. Outline Best-first search Greedy best-first search A * search Heuristics.
State-Space Searches. 2 State spaces A state space consists of A (possibly infinite) set of states The start state represents the initial problem Each.
CS.462 Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 02 : Search.
Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana Lazebnik,
RBFS is a linear-space algorithm that expands nodes in best-first order even with a non-monotonic cost function and generates fewer nodes than iterative.
Randomized Parallel Proof-Number Search ACG 12, Pamplona, May 2009.
For Friday Finish reading chapter 4 Homework: –Lisp handout 4.
For Monday Read chapter 4, section 1 No homework..
COMP261 Lecture 6 Dijkstra’s Algorithm. Connectedness Is this graph connected or not? A Z FF C M N B Y BB S P DDGG AA R F G J L EE CC Q O V D T H W E.
Review: Tree search Initialize the frontier using the starting state While the frontier is not empty – Choose a frontier node to expand according to search.
Lecture 3: Uninformed Search
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
1 Solving problems by searching Chapter 3. Depth First Search Expand deepest unexpanded node The root is examined first; then the left child of the root;
Uninformed Search ECE457 Applied Artificial Intelligence Spring 2007 Lecture #2.
Basic Problem Solving Search strategy  Problem can be solved by searching for a solution. An attempt is to transform initial state of a problem into some.
Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Uninformed search strategies A search strategy is defined by picking the order of node expansion Uninformed search strategies use only the information.
Informed Search CSE 473 University of Washington.
CPSC 322, Lecture 6Slide 1 Uniformed Search (cont.) Computer Science cpsc322, Lecture 6 (Textbook finish 3.5) Sept, 17, 2012.
Breadth First Search and Depth First Search. Greatest problem in Computer Science Has lead to a lot of new ideas and data structures Search engines before.
Solving Tsumego on Computers M2 Hirokazu Ishii Chikayama & Taura Lab.
Hello Everyone!!! 1. Tree And Graphs 2 Features of Trees  Tree Nodes Each node have 0 or more children A node have must one parent  Binary tree Tree.
Adversarial Search 2 (Game Playing)
Source: David Lee Matuszek
Best-first search is a search algorithm which explores a graph by expanding the most promising node chosen according to a specified rule.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
External Methods Chapter 15 (continued)
CSE 4705 Artificial Intelligence
Searching for Solutions
Tree Searching.
Tree Searching.
CMSC 471 Fall 2011 Class #4 Tue 9/13/11 Uninformed Search
PN, PN2 and PN* in Lines of Action
Presentation transcript:

Df-pn: Depth-first Proof Number Search Studied by Ayumu Nagai Surveryed by Akihiro Kishimoto

Outline of Presentation Motivations Proof Number Search Seo’s Algorithm Df-pn Conclusions

Motivations Why do we use depth-first search? Dfs uses less memory than bfs in general O(d) v.s. O(b^d) Has low overhead to manage nodes C.f. A* needs priority queue, IDA* just needs stack Can behave like bfs with TT C.f. IDA* and A*, SSS* and MT-SSS*, Seo and AO*

Why df-pn? Proof Number Search: best-first search for AND/OR trees Df-pn: depth-first search Same behavior as pn-search Less expansion of interior nodes Generally better performance than pn-search

Proof-Number Search(1/3): Proof Numbers Pn- search [Allis et.al.:94] Proof numbers Minimum number of leaf nodes to be expanded to prove Better to select the child with small proof number for proving trees Example of proof numbers 1 3 1 Leaf nodes 1 1 1 1 pn OR node pn AND node

Proof Number Search(2/3): Disproof Numbers Pn- search [Allis et.al.:94] Disproof numbers Minimum number of leaf nodes to be expanded to disprove Better to select the child with small disproof number for disproving trees Example of disproof numbers 1 3 1 1 1 1 1 dn OR node dn AND node

Proof-Number Search (3/3) Algorithm Traverse from the root to a leaf by choosing Node with smallest (dis)proof number at (AND)OR node Expand a leaf node Update (Backup) pn & dn to the root Continue 1-3 until proven or disproven 2,2 3,1 2,1 1,1 1,1 1,1 1,1 1,2 pn,dn OR node pn,dn AND node

Seo’s algorithm(1/4) Proof number as a threshold Transposition table Multiple Iterative Deepening

Seo’s algorithm(2/4): Depth-first search Threshold for proof number Iterative deepening Behavior of Seo’s algorithm PN=1 PN=2 PN=3

Seo’s algorithm(3/4): Transposition table Iterative deepening Re-expansion of the nodes Save proof numbers of the nodes previously expanded in TT

Seo’s algorithm(4/4): Multiple iterative deepening Overestimation of proof numbers at AND nodes When an OR node is proved Iterative deepening at all OR nodes Behavior of Multiple Iterative Deepening PN=13 12 5 7 Proved PN=8 PN=9 AND node OR node PN=10

Sketch of Seo’s Algorithm Node Selection: OR node: c1 AND node: as you like Updating Threshold: OR: PN = min(pn(c2) + 1, PN) AND: PN = PN + pn (c1) – (pn(c2) + … + pn(ck)) Returning Condition: PN <= pn(n) Others: Iterative deepening at OR node as far as PN > pn(n) Notations: n: node searching pn(n): proof number at n c1,…,ck: children of n where pn(c1)<=…<=pn(ck) PN: threshold

Df-pn If you understand Seo’s algorithm, df-pn is easy to understand! has two thresholds for proof & disproof numbers C.f. Seo had only one threshold Iterative deepening at both OR and AND nodes Need to avoid overestimations of proof and disproof numbers C.f. Seo avoided only the case of proof numbers

Sketch of df-pn Notations: n: node searching Node Selection: Always c1 Updating Threshold: OR: PN’= min(pn(c2) + 1, PN) DN’= DN – (dn(c2) + … + dn(ck)) AND: PN’= PN – (pn(c2) + … + pn(ck)) DN’= min(dn(c2) + 1, DN) Returning Condition : PN <= pn(n) || DN <= dn(n) Others: Iterative deepening as far as PN > pn(n) && DN > dn(n) Notations: n: node searching pn(n): proof number at n dn(n): disproof number at n c1,…,ck: children of n where pn(c1)<=…<=pn(ck) at OR node n, dn(c1)<=…<=dn(ck) at AND node n PN: threshold of pn DN: threshold of dn

Conclusions I believe enhanced AND/OR tree search algorithms will improve the ability of tsumego solvers!

References Masahiro Seo: The C* Algorithm for AND/OR Tree Search and its Application to a Tsume-Shogi Program, M.Sc. Thesis, Department of Information Science, University of Tokyo, 1995 Ayumu Nagai and Hiroshi Imai: Proof for the Equivalence Between Some Best-First Algorithms and Depth-First Algorithms for AND/OR Trees, KOREA-JAPAN Joint Workshop on Algorithms and Computation,pp. 163-170, 1999 Ayumu Nagai: Df-pn Algorithm for Searching AND/OR Trees and its Applications, Ph.D. Thesis, Department of Computing Science, University of Tokyo, 2002