Presentation is loading. Please wait.

Presentation is loading. Please wait.

An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto

Similar presentations


Presentation on theme: "An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto"— 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 Definition of One-eye Problems 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

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 What Happens? 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 B A C E F OR nodeAND node pn(E) >= th.pn pn(E) = pn(A) + pn(F) D th.pn = pn(A) + 1 Win for AND

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 Plausible Proof and Disproof Numbers (cont’d) Minimal distance will be backed up to parent –All the children with larger min. distance are solved Example B A CD E F Win for OR md = 0 md = 1 md = 2  0 md = 3  0 md = 2 Ignode pn(C) pn(E)= pn(F) OR nodeAND node pn(E)= pn(A)

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 Virtual Connections (cont’d) Attacker’s connection Defender’s connection

13 Protected Points 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

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 Forced Defender’s Move Conditions 1.No empty eye point 2.Only one safe attacker’s block 3.Attacker’s block has a path to safe stones –What to do? –Attacker  win for attacker –Defender  prevent attacker’s connection

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

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


Download ppt "An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto"

Similar presentations


Ads by Google