# Development of the Best Tsume-Go Solver

## Presentation on theme: "Development of the Best Tsume-Go Solver"— Presentation transcript:

Development of the Best Tsume-Go Solver
Akihiro Kishimoto

Today’s Talk My and Martin’s effort to develop Tsume-Go Explorer
Apply ideas behind one-eye solver to tsume-Go

Problem Description Crucial stones are given
Attacker tries to capture all crucial stones Defender tries to live Make two eyes Seki Play restricted to region Example

Previous Work on Tsume-Go
GoTools [Wolf:1994] Best tsume-Go solver for 15 years Powerful rules for life/death detection A lot of Go-knowledge written by hand Naïve search algorithm Limited to problems with 14 empty points

Previous Work on Shogi Tsume-shogi solvers
Powerful search algorithms [Nagai:2002] A lot of shogi-specific knowledge Simpler than Go-knowledge Surpass best human players Can solve problems over 100 moves

TsumeGo Explorer Search-based approach Enhancements
Df-pn(r) [Kishimoto & Mueller:2003, 2004] Simple methods to detect terminal node One or two point eyes, seki, no eye space enough to live Enhancements Connections to safe stones Forced moves Simulation Evaluation function to initialize proof and disproof numbers

Connections to Safe Stones
Consider attacker’s connections [Mueller:97] Promote unsafe stones to safe Detect dead status earlier Example

Forced Moves Forced attacker moves Forced defender moves

Simulation [Kawano:96] Where to apply? P1 A4 A4 Df-pn (r) wins P2 P3
OR node AND node

Heuristic Initialization (1 / 2)
Problem of df-pn based search Hates capturing stones Apparently has large proof and disproof numbers Use evaluation function to initialize proof and disproof numbers P1 P2 Leaf node pn(P2) = 1 dn(P2) = 1 pn(P2) = evalPN(P2) dn(P2) = evalDN(P2)

Heuristic Initialization (2 / 2)
Heuristic distance to make two eyes Heuristic distance to break eye spaces 15 4 2 4 15 2 1 2 3 2 4 2 1 5 5 2 3

Problem of Heuristic Initialization
Standard Df-pn Df-pn with heuristic initialization 6 1 6 6 1 1 th.pn = 7 th.pn = 2 Leaf nodes Leaf nodes Result in more expansions of interior nodes OR node pn AND node pn

Non-Uniform Threshold Control
Compute average of evaluation values Use as a unit to increase thresholds Achieve 20% node reduction for harder problems Ratio of reexpanded node 45% ->33% Example 6 6 8 th.pn = 8 + (6 + 8) / 2 = 15 OR node pn AND node pn

Comparison with GoTools
Conditions Athlon 2800XP+ 5 minutes/per problem 300 MB TT for Tsume-Go Explorer Test suites Hard 418 problems in Wolf’s collection 148 one-eye problems created by Martin

Performance in Wolf’s Test Collection
# of Problems Execution Solved Time GoTools ,235 TsumeGo Explorer Total Problems

Performance in One-Eye Problems
Execution # of Problems Time Solved (119 Probs.) GoTools TsumeGo Explorer Total Problems

Comparison on Each Problem Wolf’s Test Problems

Comparison on Each Problem One-Eye Problems (1 / 2)
Plots on problems solved by both programs

Comparison on Each Problem One-Eye Problems
Plot on problems solved only by TsumeGo Explorer

Lessons Learned (1 / 2) White to kill
GoTools’ knowledge work for small problems GoTools solves statically TsumeGo Explorer needs 3,159 nodes

Lessons Learned (2 / 2) Black to live
Need better search algorithm for harder problems GoTools cannot solve within 5 minutes TsumeGo Explorer needs 0.73 seconds (22,616 nodes)

Summary Conclusions Future work Successfully developed the best solver
Solve larger problems Limited to between 22 and 27 empty points C.f. GoTools 14 empty points Solve open-boundary positions Integration with the game-playing program

Next Target! Solved if Black plays first Unsolved if White plays first
750 seconds 16 million nodes Unsolved if White plays first