Presentation is loading. Please wait.

Presentation is loading. Please wait.

Applying proof numbers to Life and Death: First Result Akihiro Kishimoto

Similar presentations


Presentation on theme: "Applying proof numbers to Life and Death: First Result Akihiro Kishimoto"— Presentation transcript:

1 Applying proof numbers to Life and Death: First Result Akihiro Kishimoto Kishi@cs.ualberta.ca

2 Outline Introduction Current Status of my Tsume-Go solver Experiments Issues to be resolved Conclusions

3 Research Direction Go is hard to do a brute-force search –Still we need a search to prove the safety of stones Need a “smarter” search algorithm –Proof and disproof numbers are successful in tsume-shogi solvers –Why not apply this method to tsume-go solvers?

4 Current Status Writing a tsumego solver for Explorer –Proof numbers as a threshold as well as an evaluation [Seo:95] –Disproof numbers for dynamic ordering at AND nodes –Garbage collection scheme [Nagai:99]

5 What I haven’t done Handle Ko and Seki –E.g. Seki causes an issue (c.f. GHI problem) Enhancements –Most important part to go up performance

6 Proof Numbers Variable depth-first search [Seo:95] –Proof number [Allis:94] as a threshold –Transposition table Proof Number 32 2 1111 pn OR nodeAND node 1

7 Proof Numbers: How to Compute? pn(n): minimal number of leaf nodes to prove n Terminal Node: –OR: pn(n) = Inf –AND: pn(n) = 0 Leaf (Unknown) Node: – pn(n) = 1 Internal node: – OR: pn(n) = min (pn(n1), …, pn(nk)) n1…nk:children – AND: pn(n) = pn(n1) + …. + pn (nk) n1… nk: children

8 Disproof Numbers Dual notion of proof numbers pn(n): minimal number of leaf nodes to prove n dn(n): minimal number of leaf nodes to disprove n Disproof Number pn OR nodeAND node 2 32 11111

9 Disproof Numbers: How to Compute? Terminal Node: –OR: dn(n) = 0 –AND: dn(n) = Inf Leaf (Unknown) Node: – dn(n) = 1 Internal node: –OR: dn(n) = dn(n1)+ … +dn(nk)) n1… nk: children –AND: dn(n) = min(dn(n1),….,dn (nk)) n1… nk: children

10 Garbage Collection Scheme Transposition table can’t save all the nodes –Some information must be discarded –Want to keep more important information SmallTreeGC [Nagai:99] 0 Small tree Large tree 0 0

11 Garbage Collection Scheme (cont’d) 1.Keep an entry to count the size of subtree 2.Discard TT entries with small subtrees 3.Continue 2 until TT has enough empty entries e.g. 60 % of entries are thrown out

12 Experimental Results Pick up 5 problems from Thomas Wolf’s collection (lv1) Problems solved: 3

13 Experimental Results (cont’d) 58,653 nodes Depth=8 10,775 nodes Depth=13 Unsolved 157,653 nodes

14 What happens? (Show the search space) –Weak heuristic to kill stones pass is weird –Stable branching factor? –Slow

15 Not Research Issue but Important! # of nodes expanded per second is slow and unstable (1,000 – 10,000 nodes/sec on leedale) Case: 4,000 nodes / sec % cumulative 33.81 0.47 List::LongContains 10.79 0.62 TsumeGoTask::NuMovesToAdd 8.63 0.74 TsumeGoTask::CheckAdj 7.91 0.85 kHash::initTable 6.47 0.94 List::Append(int)

16 Not Research Issue but Important (cont’d) Case: 1,000 nodes/ sec % cumulative 55.42 3.07 List::LongContains 16.25 3.97 TsumeGoTask::NuMovesToAdd 8.12 4.42 List::Append(int) 3.07 4.59 TsumeGoTask::GenMoves 2.53 4.73 GoBoard::AdjacentBlocks

17 Things to be Implemented: (Dis)proof with Cyclic Positions (c.f. GHI Problem)[Breuker:98] –Duplicate TT entries to save results [Nagai:02] –Specific method to df- pn B A Proof? Disproof? C D E

18 Overestimation of Proof and Disproof Numbers Proof Set Search [Mueller:2002] –Keep a set rather than numbers for (dis)proof [Nagai: 2002] –Keep track of ancestors of a node with more than one parents Example 11 1 2 11 AND nodeOR node pn = 1!!

19 Conclusions Are proof and disproof numbers effective? –Too early to conclude –Need lots of enhancements Evaluation functions Simulation Position decomposition …

20 Near Future Work Incorporate Martin’s one-eye evaluation function Handle Ko [Wolf] and Seki Convert Seo’s algorithm into df-pn –Df-pn doesn’t work well at present…. Faster implementation


Download ppt "Applying proof numbers to Life and Death: First Result Akihiro Kishimoto"

Similar presentations


Ads by Google