Download presentation
Presentation is loading. Please wait.
Published byTabitha Thomas Modified over 9 years ago
1
Randomized Parallel Proof-Number Search ACG 12, Pamplona, May 2009
2
Randomized Parallel Proof-Number Search Jahn-T. Saito, Mark Winands, H. Jaap van den Herik
3
DKE Motivation 10 years ago Kishimoto and Kotani parallelized PDS for distributed memory machines. RQ How can standard PNS and PN 2 be parallelized for today's common computers?
4
DKE Overview Proof-Number Search (PNS) Parallel Search Randomized Parallel PNS Experiment Conclusion and future work
5
DKE Proof-Number Search (PNS) Binary goal: (dis)prove the root node – E.g., to be a win for the player to move Solving positions or whole games: Shogi, LOA, Othello, Fanorona Best-First Search (BFS) Heuristic selection: most-proving node i. Proof-Number Search (PNS)
6
DKE i. Proof-Number Search (PNS) Proof number and Disproof Number Proof number (pn): the minimum number of leaf nodes which have to be proved in order to prove the node Disproof number (dn): the minimum number of leaf nodes which have to be disproved in order to disprove the node Proof number and disproof number for each node Assume one expansion for each unexpanded node
7
DKE PNS Example a bc i h lk e d gf 1 2 1 2 1 1 1 1 1 2 1 1 draw ? ? loss? j ? 1 1 win 0 0 0 0 0 i. Proof-Number Search (PNS)
8
DKE i. Proof-Number Search – PN 2 PN 2 2-level PN search Bounded The sub trees of the children are deleted when the second-level search stops. PN1 PN2 Second level stops when a certain limit of nodes in memory is reached or its root is (dis) proved. Leaf node in the first level. Root node in the second level.
9
DKE Overview Proof-Number Search (PNS) Parallel Search Randomized Parallel PNS Experiment Conclusion and future work
10
DKE Search Overhead Brockington and Schaeffer, 1997 Search overhead Synchronization overhead Communication overhead ii. Parallel Search
11
DKE ii. Parallel Search Randomized Best-First Search (RBFS) Shoham & Toledo, 2002 Parallelize any Best-First Search (BFS) Multiple threads operate on same tree Best-first evaluation to set probability for selecting a suboptimal child
12
DKE Overview Proof-Number Search (PNS) Parallel Search Randomized Parallel PNS Experiment Conclusion and future work
13
DKE Multiple threads, one tree
14
DKE How do we implement RP for PNS? RP-PNS / RP-PN 2 Two kinds of threads: –One PV thread: most-proving heuristic –Alternatives threads: slightly deviate from most-proving heuristic iii. Randomized Parallel PNS
15
DKE iii. Randomized Parallel PNS How do the alternative threads deviate from the PV? Randomly deviate from PV once to N 2 or N 3. Randomly choose from best n sibbling nodes N 1,…,N n where bsn(N i ) < bsn(N 1 ) + some constant D.
16
DKE Randomization iii. Randomized Parallel PNS
17
DKE RP-PNS vs RBFS iii. Randomized Parallel PNS Equal chances for n best siblings Deviate proportional to the BF heuristic PV and alternative threads All threads are equal Proof Number SearchAny Best-First Search RP-PNSRBFS
18
DKE Overview Proof-Number Search (PNS) Parallel Search Randomized Parallel PNS Experiment Conclusion and future work
19
DKE Experimental setup LOA test set –143 positions –Average of 4.28 million nodes with PNS Two series of experiments –RP-PNS with 1, 2, 4, and 8 threads –RP-PN 2 with 1, 2, 4, and 8 threads iv. Experiment
20
DKE LOA iv. Experiment
21
DKE Implementation lock per node locking policy PN 2 : limit PN2 tree to S 3/4 /T nodes –T is #threads –S is size of PN1 tree –Compromise between speed and space C/C++ (pthreads) on 2.66 GHz Xeon iv. Experiment
22
DKE Implementation iv. Experiment
23
DKE Results iv. Experiment
24
DKE Observations iv. Experiment Speed-up for RP-PNS and RP-PN 2 Best RP-PN 2 is faster than PNS and uses less memory RP-PN 2 does hardly increase the maximal memory consumption RP-PN 2 scales better than RP-PNS
25
DKE Explanations for (3) and (4) iv. Experiment Best RP-PN 2 designed to use less memory than serial PNS by size of PN2 trees RP-PN 2 scales better: partially because the size of PN2 depends on T
26
DKE Overhead: 8 vs 1 threads iv. Experiment RP-PNS ca. 33% more expansions (i.e., search overhead), rest overhead is synchronization overhead. RP-PN 2 ca. 26% more expansions (i.e., search overhead) rest overhead is search overhead
27
DKE Overview Proof-Number Search (PNS) Parallel Search Randomized Parallel PNS Experiment Conclusion and future work
28
DKE Conclusion v. Conclusion RP-PNS viable for parallelizing PNS and PN 2 on shared memory architectures Figures seem comparable to ParaPDS (Kishimoto and Kotani 1999) but performance is not: –Different test sets –Different algorithms –Hash tables in ParaPDS Offer a new way to balance time and memory consumption of PNS RP-PNS and RP-PN2 scale reasonably, but can still be improved
29
DKE Future Work Smart distribution of parallelization between PN1 and PN2 for PN 2 on more processors Pooling locks for the implementation Better distribution function K-best moves Apply in small Go boards v. Future Work
30
DKE Thank you.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.