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.
© Copyright 2026 Paperzz