31
1 A Library of Eyes in Go Author: Thomas Wolf, Matthew Pratola Dept of Mathematics Brock University Presented by: Xiaozhen Niu

1 A Library of Eyes in Go Author: Thomas Wolf, Matthew Pratola Dept of Mathematics Brock University Presented by: Xiaozhen Niu

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

1

A Library of Eyes in Go

Author: Thomas Wolf, Matthew PratolaDept of Mathematics

Brock UniversityPresented by: Xiaozhen Niu

2

Outline Introduction Bend-4-in-the-corner Positions Position Generation Position Evaluation Unusual Positions Influence of External Liberties Summary

3

Introduction Eye evaluation is important

for life and death problem Goal: generate a library of

monolithic eyes positions with stored solutions

4

Bend-4-in-the-corner Positions Definition Bend-4-type positions Characterization

5

Definition If for a regular position, passing belongs

to the best moves of both sides then either: Position is unconditional dead, seki or alive,

called settled Position is not settled, having a ko status,

now it is called calm

6

Bend-4-type Positions Three properties:

Initial position does not have a ko-forbidden point

Defender is not unconditionally dead

Passing is the single best move for defender

7

Best First Moves Bend-4-type positions have more than

one solutions: If playing elsewhere is beneficial then the

single best move for attacker is to pass If playing elsewhere is not beneficial, or

attacker is asked to kill, then it should play the move leads to ko

8

Characterization Four types of bend-4 positions:

9

Characterization (2)

10

Position Generation Unique representations of three cases

of eyes: In the corner On the edge In the centre

Norm-locating procedure use shift, rotation and reflection repeatedly for a store position when encountering a new position

11

Generation Use 64 bit hash code (Zobrist) to identify a

monolithic eye position (made from White and Black is the attacker)

Start with three eyes of size 1 and increasing successively (around 200 million positions of size up to 11)

12

Generation (2) The generation includes 4 steps:

At first all internally empty eyes All possible legal combinations of white stones are generated All possible legal combinations of black stones are generated Positions including one or more ko-fights will be generated

once for each empty potential ko point

13

Observations Growth factors (Log (Number of positions))

are remarkably constant according to size The number of positions only grow little by

adding white stones The number of extra positions due to initial

ko grows faster then other numbers, and it’s highest for corner eyes

14

Position Evaluation Use program GoTools, performs binary alpha-

beta search To answer whether a position is at least “worth

one eye” so that it could live if it had another “eye”, evaluate two cases

The eye on its own One extra external 1-point eye being attached

Status of eyes often depend on the number of external liberties

Computations are done for 0 to 31 external liberties for two cases

15

Observations

16

Observations A large proportion of all eyes are

unconditionally alive (do not need to store). Only store a small fraction of all eyes

The larger the eye, the more likely the status and/or the best move depend on the number of external liberties and the more records are needed for the eye

17

Optimizations In evaluating, eye size n either keep its size, or

it shrinks. Any smaller eye can be evaluated by using stored information

Evaluate eyes with many interior stones first and then empty ones later

In theory each case would be evaluated 128 times (2x2x32), but it can always be sped up

Consistency check: White must not do worse when having more external liberties or extra external eyes

18

Efficiency Monolithic eye database is a single read-only

file A module in GoTools norm-transforms any

monolithic eye encountered during a computation by performing a rotation, reflection and shift

Generates a hash code, look up the entry and decode the information (status and moves)

Time saving, but loading a large database is slow!

19

Unusual Positions Calm positions: a position is not settled,

and passing is one of the best move for both sides

Include: Bend-4-type Eyes of size 5, 6, 7…

20

Eyes of Size 5

4 such positions All have exactly

1 external liberty and the status is that White needs 1 external ko-threat to live

21

Eyes of Size 6 Two types of calm positions of size 6, one is in

diagram 8 where White needs 1 ko-threat to live. In second type Black needs one ko-threat to kill

22

Eyes of Size 7 Black needs exactly 1 external ko-threat to kill

23

Eyes of Size 8 Black needs exactly 1 external ko-threat to kill

24

Eyes of Size 9 14: Black need 2 ko-threats to kill. 15: White needs an

extra eye and 1 ko-threat to live. 16: with 2 or 0 external liberties it is calm (Black needs 2 or 1ko-threats). But with 1 external liberty it’s not calm for 1 ko-threat

25

Eyes of Size 10 17,18: Black

needs 2 ko-threats; 19: Black needs 1 ko-threat; 20: White needs 1 ko-threat

26

Eyes of Size 11 21: Black needs 3 ko-threats to kill. 1 external liberty

it’s not calm, 0 external liberty is calm with Black needs 2 ko-threats; 22: Black needs 2 ko-threats; 23: Black needs 1 ko-threat; 24: White needs 1 ko-threat

27

Influence of External Liberties

Solution strategy depends on the number of external liberties

The more external liberties, the more ambitious aim White can try, i.e. a complete win instead of a ko

28

Choices of Best Moves For 1 or 2 external liberties, Black plays a1 or

d3 is equivalent (both needs 1 ko-threat)

29

Choices of Best Moves (2) With 3 external liberties: d3 is better (needs 1 ko-threat)

than a1 (needs 2 ko-threats) Values of passes: d3 (1 ko-threat and 4 passes of White)

or a1 (2 ko-threat and 2 passes of White)?

30

Choices of Best Moves (3) 4 external liberties: Black d3 is unconditional loss

whereas a1 at least leads to a ko (needs 3 ko-threats)

31

Summary Cover monolithic eyes of size up to 11 All possible internal configurations of stones of

both sides are considered Each eye is evaluated and the best

status/moves are provided If results in ko, the number of ko-threats are

determined