Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006.

Similar presentations


Presentation on theme: "A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006."— Presentation transcript:

1 A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006

2 Problem Identification To determine if a block can be captured. A critical part for a strong Go program.

3 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.

4 Approach Fast ladder solver. Alpha-beta search + iterative deepening. Heuristic evaluation using multi-order liberties. Highly selective moves based on the evaluation. Forward pruning.

5 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.

6 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 twice- augmented block – first and second order liberty.

7 Block Evaluation N 1, N 2, N 3 – number of first, second and third order liberties, respectively. V = N 1 * 16 + N 2 * 8 + N 3 * 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.

8 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 board- edge 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.

9 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.

10 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.

11 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”.

12 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 … ?

13 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 … ?

14 Example 3 Black moves first. And the right move is … ?

15 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.

16 Example 1: 6-ply search

17 Refute Move Speed up search by 20% May introduce the missing best move. Move 1 on the right is the refute move (?).

18 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.

19 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).

20 Time Vs. Solvability

21 Future Work Mix iterative deepening and widening to address missing key move problem. Proof number search in open regions.


Download ppt "A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006."

Similar presentations


Ads by Google