solving tsumego on computers m2 hirokazu ishii chikayama & taura lab

Post on 17-Jan-2018

249 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Agenda 1. Introduction 2. Related Work GoTools 3. Tsumego Solver Df-pn (Depth-First Proof-Number Search) Df-pn+ (Depth-First Proof-Number Search+) 4. Conclusion & Future Work

TRANSCRIPT

Solving Tsumego on Computers

M2 Hirokazu IshiiChikayama & Taura Lab

Agenda

1. Introduction2. Related Work

GoTools3. Tsumego Solver

Df-pn (Depth-First Proof-Number Search) Df-pn+ (Depth-First Proof-Number Search+)

4. Conclusion & Future Work

Agenda

1. Introduction2. Related Work

GoTools3. Tsumego Solver

Df-pn (Depth-First Proof-Number Search) Df-pn+ (Depth-First Proof-Number Search+)

4. Conclusion & Future Work

Computer Game Players Have been studied for many years

Easy to evaluateSuitable to try out various basic technologies

Were successful in some gamesOthello, backgammon, chess…

Great challenges remain in some gamesShogi, Go…

I study on Go, especially tsumego.

Game Rule Go is a 2-players game. A move is played on a line intersection. If one or more stones are completely surrounded

by other stones, they are captured. The purpose of Go is to conquer a larger part of

the board than the opponent.

Game Rule Eye

An eye is an area within a group of stones which is completely surrounded by stones of the group.

If the group gets two eyes, they are absolutely alive.

Definition of Tsumi

Variation of TsumiSemeai problemEscape and Disconnect problemLife and Death problem

Goal is to distinguish whether there are two eyes or not.

Method AND/OR tree search

OR NODE It corresponds to a first player’s move. In order to prove tsumi of this node, we must prove

that one node of child nodes has tsumi.AND NODE

It corresponds to a second player’s move. In order to disprove this node, we must disprove th

at all nodes of child nodes are tsumi.

Agenda

1. Introduction2. Related Work

GoTools3. Tsumego Solver

Df-pn (Depth-First Proof-Number Search) Df-pn+ (Depth-First Proof-Number Search+)

4. Conclusion & Future Work

GoTools

Has been the best tsume-go solver for 15 years.

Uses a depth-first search. Specializes in completely enclosed positio

ns.

Heuristics Static rules

Most of the heuristic rules are static. It is at a particular auspicious point. It completes one or more eyes.・・・

Static rules rate moves lower or higher. Dynamic rules

The moves refuting opponent moves at subsequent positions also get some credit .

Dynamic Rules Number

The sequence in which the moves are made.

LetterThe field where

the stone is placed.

○:OR NODE□:AND NODE

1A

2B

3B

4C

5D

6D

Agenda

1. Introduction2. Related Work

GoTools3. Tsumego Solver

Df-pn (Depth-First Proof-Number Search) Df-pn+ (Depth-First Proof-Number Search+)

4. Conclusion & Future Work

Tsumego Solver

Important factors are to Recognize the position Generate candidate moves Evaluate these moves and select the next move

Evaluation of a tsumego is strictly determined life or death.

The only method of finding a strict solution is to search.

Df-pn Search

Depth-First SearchMemory and time are used efficiently. It is necessary to set a threshold.

Proof number Disproof number        Best-First search

Iterative DeepeningSearches are tried iteratively increasing the

threshold.

Proof Number Proof number is the minimum number of

descendant nodes which must be proven in order to prove the node.

We can see proof number of the node as the minimum resource required for search.

Proof number is effective for search because we want to search the most promising node.

Disproof Number Disproof number is the minimum number o

f descendant nodes that must be disproven in order to disprove the node.

Disproof number is effective for search as well as the proof number.

Df-pn Search

)(,0)( ndnnpn

0)(,)( ndnnpn

1)(,1)( ndnnpn

If n is a leaf nodewhen the value is true

when the value is false

When n is an uninspected nodeThe node might be proven or disproven imme

diately when inspected

Df-pn Search

)(min)( CpnnpnnofchildlenC

nofchildrenC

Cdnndn )()(

)(min)( CdnndnnofchildlenC

nofchildrenC

cnpnnpn )()(

If n is an internal nodewhen n is an OR node

when n is an AND node

Df-pn Search

Is a depth-first search. Uses two kinds of threshold (proof number

and disproof number)

1 .Assign

where r is the root node

dp thrthr .,.

Df-pn Search

2 .At each node n, the search process continues to search below n until

(We call it the ending condition)

pthnnpn .)(

dthnndn .)( or

Df-pn Search

3 .If n is an OR nodeAt each node n, select the child nc with the mi

nimum proof number and the child n2 with the second minimum proof number. Search below nc with assigning

)1.,.min(. 2 pnnthnthn ppc

nofchildrenC

cddc dnCdnnthnthn ....

Df-pn Search

4 .If n is an AND nodeAt each node n, select the child nc and the child

n2 . Search below nc with assigning

5 .If the ending condition holds, the search process returns to the parent node.

)1.,.min(. 2 dnnthnthn ddc

nofchildrenC

cppc pnCpnnthnthn ....

A

Df-pn Search

R

D

I

E

H

B C

F

J

(∞,∞) ),(],[

dp ththdnpn○:OR NODE

□:AND NODE

G・・・

[1,1]

[1,1] [1,1] [1,1]

[1,3]

[1,1] [1,1] [1,1]

[30,1]

30 nodes

(2,∞-2)

[0,∞]

[2,1]

[1,3]

(2,∞-2)

[1,1] [1,1]

[1,3]

(3,∞-2)

[0,∞] [∞,0]

[∞,0]

[2,2]

(31,∞-1)

(30,2)

[0,∞]

[0,∞]

[1,1]

(31,∞-1)

[∞,0] [0,∞]

[0,∞]

[0,∞]

Df-pn+

Intends to distinguish promising moves more accurately and to search them much more deeper.

Uses two kinds of additional information during search.

Df-pn+

Two kinds of informationcost(dis)proof(n, nchild)

The cost of inspection of nchild starting from n.

h(dis)proof(n) Heuristic estimate of the cost to reach any proof so

lution from position n.

Df-pn+

The formula for calculating proof number and disproof number are modified from df-pn.

If node n is an uninspected node

)(npn )(nhproof)(ndn )(nhdisproof

Df-pn+ If n is an internal node

At each node n, search below nc with assigning

)((min)( CpnnpnnofchildlenC

),(cost Cnproof )

nofchildrenC

Cdnndn )(()( ),(cost Cndisproof )

dnndnnthnthn childcddc .(... )),(cos cdisproof nnt

),(cos cproof nntpnnthnthn ppc .,.min(. 2 ),(cos 2nnt proof )1

Bouzy’s 5/21 Algorithm

Dilation If the intersection is not surrounding

opponent’s stones, then add to the intersection the number of own interim territory and stones.

ErosionSubtract the number of intersections

with opponent’s stones or vacant.

Bouzy’s 5/21 Algorithm

41

1

1

1

2

2

2

2

4 Dilation + 2 Erosion

1

7 9

5 6

5

8

5

2

8

2

1 2

10

10 12

11 12

102

6

8

2

6

5

Bouzy’s 5/21 Algorithm

In GNU Go ver. 2.6, it was extensively used 5 Dilation and 21 Erosion are used for territory. 5 Dilation and 10 Erosion are used for moyo. 4 Dilation and 0 Erosion are used for area.

Higher Bouzy value means higher expectation to form an eye.

Because two eyes are required to live, the second maximum Bouzy value may give a good criterion.

Agenda

1. Introduction2. Related Work

GoTools3. Tsumego Solver

Df-pn (Depth-First Proof-Number Search) Df-pn+ (Depth-First Proof-Number Search+)

4. Conclusion & Future Work

Conclusion & Future Work

I showed… Definition of tsumi Feature of tsumego solver ‘GoTools’ Df-pn+ Bouzy’s 5/21 algorithm and its use in tsumego.

Firstly, I have to finish implementing the program. I also plan to apply the combinatorial game theory

to the program.

top related