1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett...

19
1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    0

Transcript of 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett...

Page 1: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

1

An Efficient Algorithm for Eyespace Classification in Go

Author: Peter Drake, Niku SchreinerBrett Tomlin, Loring VeenstraPresented by: Xiaozhen Niu

Page 2: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

2

Outline Introduction Eyespace Simple and Improved Canonical

Form Whole Board Evaluation Summary Limitations

Page 3: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

3

Introduction Eye evaluation is important

for life and death problem Goal: create a database for

eyespace classifications

Page 4: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

4

Life and Death Definitions:

Alive: even if the attacker plays first, the defender can ensure alive

Dead: even if the defender plays first, the defender can not ensure alive

Unsettled: neither alive or dead

Page 5: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

5

Example Group A: alive, B: dead, C: alive, D: unsettled

Page 6: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

6

Eyespace Relevant features of an eyespace:

Size Shape Which points within the space, if any,

are occupied by friendly or enemy stones

Which points within the space, if any, are on edge or corner points

Page 7: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

7

Size True:

Size 1 or 2 are dead Size 3 is unsettled

Assumption: Any eyespace of size 7 or more is

alive

Page 8: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

8

Shapes Shapes of eyespaces from size 1 to 6

Page 9: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

9

Graph Representation Adjacency matrix representation:

Page 10: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

10

Simple and Improved Canonical Form Simple canonical form:

consider all possible numberings of the vertices, and choose the one that produces the lexicographically largest adjacency matrix

Page 11: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

11

Drawbacks N! ways of numbering a graph with N

vertices Not enough information (internal

stones, edge of the board…) Different shapes really need different

representations?

Page 12: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

12

Example Group A, B and C are different, however they

should have the same representation!

Page 13: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

13

Improved Canonical Form Adding 7 label bits at the each row:

Stone (2 bits): 00 for black, 01 for white, 10 for empty

Edginess (2 bits): 01 on edge, 00 not on edge, 10 at corner

Neighboring (3 bits): how many neighbors it has?

Page 14: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

14

Whole Board Evaluation How to determine

eyespaces? Use a simple

heuristic: if a contiguous group partitions the board to one or more disjoint regions, all of them except the largest one are eyespaces

Page 15: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

15

Eyespaces of a Group If there is a

viable (unsettle or alive) enemy group inside one of the partition regions, that region does not count as eyespace

Page 16: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

16

Example A: dead, B: unsettled C: alive D: unsettled Therefore E is

alive

Page 17: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

17

Summary An accurate eyespace representation Can be used in static evaluation or during the

search Compared to Cazenave’s approach, slower but

more powerful, offering more information (internal stones, edges and corners)

Page 18: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

18

Limitations Only handles

eyespace of one group!!!

Surrounding information is important!

Page 19: 1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.

19

Another Example

Capture racing!

W: 27 liberties

B: 15 liberties But…