A Heuristic Search Algorithm for Capturing Problems in Go

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 twiceaugmented block – first and second order
liberty.
Block Evaluation
• N1, N2, N3 – number of first, second and
third order liberties, respectively.
• V = N1 * 16 + N2 * 8 + N3 * 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 boardedge 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.