1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije...

18
1 Solving Awari using Large-Scale Solving Awari using Large-Scale Parallel Retrograde Analysis Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    2

Transcript of 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije...

Page 1: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

1

Solving Awari using Large-ScaleSolving Awari using Large-ScaleParallel Retrograde AnalysisParallel Retrograde Analysis

John W. RomeinHenri E. Bal

Vrije Universiteit, Amsterdam

Page 2: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

2

introduction: awariintroduction: awari

3500-year old board game

best-known mancala variant

wari, owari, wale, awale, ...

determine score for 889,063,398,406 positions

retrograde analysis

144 CPUs, 72 GB RAM, 1.4 TB disks, Myrinet

Page 3: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

3

outlineoutline rules of awari

databases

(parallel) retrograde analysis

performance

verification

new game insights

www: awari oracle

Page 4: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

4

rules of awarirules of awari

sow counterclockwise

capture if last, enemy pit contains 2 or 3 stones

goal: capture majority of stones

Page 5: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

5

awari databasesawari databases

build n-stone databases (n = 0, 1, ... , 46, 48)

entry board

entry contains score (-n ... +n)

south to move n entries size

0 11 122 78... ...46 136,883,249,790 120 GB48 203,648,015,936 178 GB

Total 889,063,398,406 778 GB

Page 6: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

6

scoresscores best move depends on remaining stones

not on captured stones!

final result = captured stones + score

score = eventual division of remaining stones

score = +2 (86)

south to move

Page 7: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

7

database construction:database construction:retrograde analysisretrograde analysis

MiniMax tree (DCG) search state space bottom-up

3 1

4

46

initial state

final states

2 3 1 1 4 6 2 4

41

Page 8: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

8

10-bit retrograde analysis10-bit retrograde analysis

best score (7 bits) + nr. unknown children (3 bits)

inform parent if score becomes known

?1

1

?1

1

?0

0

1202

02

02

0

2 1

Page 9: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

9

2-bit retrograde analysis2-bit retrograde analysis

2 bits/entry in RAM: Win/Draw/Loss/Unknown

search n times with widening window (-i, i)

PROCEDURE CreateDatabase(n) ISFOR i IN 1 ... n DO

Window := (-i, i);SetLeaves();// handle terminal states and capturesBottomUpSearch();CollectScores();

Win Draw -i < score < iLoss

score i

score -i

Page 10: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

10

bottom-up searchbottom-up search

WWWW

UW

U

W U

PROCEDURE CheckState(node) ISIF state [node] = unknown AND AllChildrenAreWins(node) THEN

state [node] := loss;SetParentsToWin(node);CheckStateOfGrandParents(node);

ÔL

ÔW

Page 11: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

11

parallel retrograde analysisparallel retrograde analysis

WWWW

UW

U

W U

ÔL

ÔW

partition database

receive queue with work

migrate work (asynchronously)

global termination detection

Page 12: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

12

performance (1/3)performance (1/3)

72 x

dual 1.0 GHz Pentium III

1 GB RAM

20 GB disk

2.0 Gb/s Myrinet

Myrinet switch

Page 13: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

13

performance (2/3)performance (2/3)

48-stones: 15 hours

total: 51 hours

Page 14: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

14

performance (3/3)performance (3/3)

communication

20 30 MB/s send + receive per SMP node

1.4 2.1 GB/s through switch

130 TB in total = 1.0 Pb !

disk I/O

10 TB in total

Page 15: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

15

verificationverification hardware:

ECC RAM, cache, and Myrinet memory

CRC communication and disk checksums

software: 2 algorithms give identical results (up to 41 stones)

recomputed using 64 SMPs

NegaMax integrity check

compared statistics with others (up to 36 stones)

Page 16: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

16

new awari insightsnew awari insights

awari is a draw

best opening move: F4

other opening moves are losing! to capture is not always the best choice

in 22% of cases, it is not

Page 17: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

17

the awari oraclethe awari oracle

web server (being worked on)

lookup positions

interactive play

download

statistics

requires 5 x 160 GB disks

http://awari.cs.vu.nl/

Page 18: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam.

18

conclusionsconclusions

awari is solved and is a draw

parallel retrograde analysis

overlap computation, communication and disk I/O

required:

score determination of 889,063,398,406 positions

large parallel system

51 hours computation time 1.0 Pb communication