1 / 14

Recent Progress on the One-eye Solver

Recent Progress on the One-eye Solver. Akihiro Kishimoto kishi@cs.ualberta.ca. Outline of this Talk. Previous Status of my Research Techniques Recently Added Experimental Results Conclusions Future Work. Previous Progress. Built a high performance one-eye solver

khanh
Download Presentation

Recent Progress on the One-eye Solver

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Recent Progress on the One-eye Solver Akihiro Kishimoto kishi@cs.ualberta.ca

  2. Outline of this Talk • Previous Status of my Research • Techniques Recently Added • Experimental Results • Conclusions • Future Work

  3. Previous Progress • Built a high performance one-eye solver • Depth-first proof-number search • Minimal distance heuristics • Connections to safe/crucial stones • Forced moves • Simulation

  4. Recent Progress • Methods recently implemented • Heuristic initialization for proof and disproof numbers • Elimination of useless moves • Preliminary for a divide-and-conquer approach

  5. Heuristic Initializations • Basic proof-number search variants • If (n is a leaf node) n.pn = n.dn = 1 • Proof-number search with heuristic initializations (e.g. [Allis:94] [Breuker et al.:94][Nagai:99]) • If (n is a leaf node) { n.pn = EstimateProofNumber(n); n.dn = EstimateDisproofNumber(n) }

  6. Current Implementation for Heuristic Initializations • Definitions: • Proof cannot make the second eye • # of eye spaces is used for estimating pn • Disproof can make the second eye • Distance to an eye is used for estimating dn Note: Initializations to proof and disproof numbers are combined with the move generator • Df-pn looks up all the information on children

  7. Distance to an eye # of eye spaces Examples 4 2 4 8 2 1 2 3 1 2 4 2 5 5 2 3

  8. One Issue on Heuristic Initializations • Higher overhead for re-expanding interior nodes Basic df-pn df-pn + initialization 1 5 th.pn=2 1 1 Leaf th.pn=6 5 5 Leaf pn pn OR node AND node

  9. Compute an average evaluation value of all the children Use that number as a unit to the threshold Example Solution to the Overhead of the Re-expansion 5 5 6 7 Leaf pn OR node th.pn = 6 + (5 + 6 + 7) / 3 pn AND node = 6 + 6 = 12

  10. Experimental Results for Heuristic Initializations • For 136 test positions solved (Athlon 2400MP 200 MB TT) Total nodes Time Node / sec. df-pn without init 18,197,651 456 39,907 df-pn + dn init 15,135,326 359 42,159 df-pn + pn & dn init 9,015,558 189 47,701

  11. Preliminary stage for a divide-and-conquer approach Divide-and-Conquer Approach Eliminating Useless Moves

  12. Algorithm Compute connections to safe stones using the miai strategy Detect regions divided by safe stones considering connections Don’t generate moves in the regions that do not have potential eye spaces Example Eliminating Useless Move (cont’d)

  13. Experimental Results: Useless Move Elimination • For 136 problems solved Total nodes Time Node / sec. df-pn without init 18,197,651 456 39,907 df-pn + dn init 15,135,326 359 42,159 df-pn + pn & dn init 9,015,558 189 47,701 df-pn + init + move elim. 7,725,253 167 46,259

  14. Conclusions and Future Work • Summary • Achieving better results is always good  • Future work • Of course, we want more!

More Related