1 solving awari using large-scale parallel retrograde analysis john w. romein henri e. bal vrije...
Post on 19-Dec-2015
224 views
TRANSCRIPT
![Page 1: 1 Solving Awari using Large-Scale Parallel Retrograde Analysis John W. Romein Henri E. Bal Vrije Universiteit, Amsterdam](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d2b5503460f94a00dea/html5/thumbnails/18.jpg)
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