1 an efficient algorithm for eyespace classification in go author: peter drake, niku schreiner brett...

Post on 22-Dec-2015

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

An Efficient Algorithm for Eyespace Classification in Go

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

2

Outline Introduction Eyespace Simple and Improved Canonical

Form Whole Board Evaluation Summary Limitations

3

Introduction Eye evaluation is important

for life and death problem Goal: create a database for

eyespace classifications

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

5

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

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

7

Size True:

Size 1 or 2 are dead Size 3 is unsettled

Assumption: Any eyespace of size 7 or more is

alive

8

Shapes Shapes of eyespaces from size 1 to 6

9

Graph Representation Adjacency matrix representation:

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

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?

12

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

should have the same representation!

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?

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

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

16

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

alive

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)

18

Limitations Only handles

eyespace of one group!!!

Surrounding information is important!

19

Another Example

Capture racing!

W: 27 liberties

B: 15 liberties But…

top related