Presentation is loading. Please wait.

Presentation is loading. Please wait.

Randomized Parallel Proof-Number Search ACG 12, Pamplona, May 2009.

Similar presentations


Presentation on theme: "Randomized Parallel Proof-Number Search ACG 12, Pamplona, May 2009."— Presentation transcript:

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.


Download ppt "Randomized Parallel Proof-Number Search ACG 12, Pamplona, May 2009."

Similar presentations


Ads by Google