1 / 21

An One-eye Solver Based on Proof and Disproof Numbers

An One-eye Solver Based on Proof and Disproof Numbers. Akihiro Kishimoto Kishi@cs.ualberta.ca. Today’s Talk. Explain my and Martin’s recent efforts to an one-eye solver Problem Description Df-pn’s Problem and my Solution Enhancements Conclusions and future work.

regina
Download Presentation

An One-eye Solver Based on Proof and Disproof Numbers

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. An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto Kishi@cs.ualberta.ca

  2. Today’s Talk • Explain my and Martin’s recent efforts to an one-eye solver • Problem Description • Df-pn’s Problem and my Solution • Enhancements • Conclusions and future work

  3. Crucial stones (one eye) are given Attacker tries to capture crucial stones Defender makes another eye connected to crucial stones Surrounded by attacker’s stones Definition of One-eye Problems

  4. Basic Algorithm • Search algorithm • Df-pn • Depth-first search • Behaves same as Allis’ proof-number search • Less expansion for interior nodes • Terminal node detection • Has an eye • Can’t find any eye space

  5. Basic Df-pn’s Result • Problem Set: • 39 * 2 problems made by Martin (3-20 empty squares) • Black goes first  alive • White goes first  kill • Results • Very Bad! (Pentium III 700Mhz, 100 MB TT, 5 minutes) • 9 Problems solved • 20 Problems exceeded maximal thresholds • 49 Time out

  6. df-pn’s problem Condition for exceeding thresholds int MID(Node n, Threhold th) { ….. if (n.pn >= th.pn | | n.dn >= th.dn) return UNKNOWN; ….. } Example What Happens? A th.pn = pn(A) + 1 B C D pn(E) >= th.pn E F Win for AND OR node AND node pn(E) = pn(A) + pn(F)

  7. Plausible Proof and Disproof Numbers • Keep the minimal distance from the root for each node • AND node: pn(N1) + … + pn(Nk) (if pn(N1) + … + pn(Nk) != 0) max(pn(Nk+1),…,pn(Nm)) (if pn(N1) + … + pn(Nk) = 0) • N1, …, Nk: N’s children && Nj.min_distance > N.min_distance (1 <= j <= k) • Nk+1, …, Nm: N’s children && Nj.min_distance <= N.min_distance (k + 1 <= j <= m) pn(N) =

  8. Minimal distance will be backed up to parent All the children with larger min. distance are solved Plausible Proof and Disproof Numbers (cont’d) • Example A md = 0 md = 1 B md = 2  0 C D md = 2 Ignode pn(C) md = 3  0 E pn(E)= pn(F) F OR node AND node pn(E)= pn(A) Win for OR

  9. Results with Df-pn + Plausible Proof and Disproof Numbers • Much better! • # of Problems solved: 73 • C.f. without this technique: 9

  10. Enhancements to Df-pn • What is needed? • Detect an eye/false eye earlier • Virtual connections • Protected points • Reduce branching factor • Forced moves

  11. Virtual Connections • Two purposes • Guarantee connections to the crucial stones for defender • Prove attacker’s stones are connected to safe stones • Ensure defender can’t find any eye spaces

  12. Attacker’s connection Defender’s connection Virtual Connections (cont’d)

  13. Conditions A liberty is surrounded by attacker’s stones At least one is a safe block None is in atari safe stones Note: work only one-level Protected Points

  14. Experimental Results with Virtual Connection + Protected Points • Df-pn + plausible pn & dn + Attacker’s VC + PP • Problems solved: 76 • Total # of nodes expanded: 5,724,902 (2,908,003) (for Problems Solved) • The above + Defender’s VC + PP • Problems solved: 76 • Total # of nodes expanded: 5,725,134 (2,907,844) • C.f. previous result: • Problems solved: 73 • Total # of nodes expanded: 5,884,887

  15. Conditions No empty eye point Only one safe attacker’s block Attacker’s block has a path to safe stones What to do? Attacker  win for attacker Defender  prevent attacker’s connection Forced Defender’s Move

  16. Condition Distance to an eye is 1 Connected to crucial stones What to do? Defender  win for defender Prevent defender’s making an eye Forced Attacker’s Move

  17. Experimental Results with Forced Moves • Previous enhancement + forced defender’s move • Problem solved: 76 • Total # of nodes expanded: 4,603,536 • The above + forced attacker’s move • Problem solved: 76 • Total # of nodes expanded: 2,406,596 • C.f. without these methods • Problem Solved: 76 • Total # of nodes expanded: 5,725,134

  18. Summary of the Results Solved Total # of expansion Basic df-pn 9 +plausible pn & dn 73 + virtual connection 76 5,725,134 + forced defender’s move 76 4,603,536 + forced attacker’s move 76 2,40,6596

  19. Conclusions • Df-pn + safe knowledge works very well • Need fairly simple enhancements • Guarantee correct results • Become the current best(?) solver

  20. Future Work • Deal with ko-threats • Only the simplest case is solved • Need more enhancements • Evaluation functions • Virtual disconnections • Benson’s safe regions • Generalized Forced Moves • Measure experiments with real game-playing systems • Treat open positions

  21. Problems Unsolved in 5 Minutes Black to play Black to play

More Related