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

Slides:



Advertisements
Similar presentations
Informed search algorithms
Advertisements

Development of the Best Tsume-Go Solver
Adversarial Search We have experience in search where we assume that we are the only intelligent being and we have explicit control over the “world”. Lets.
AVL Trees COL 106 Amit Kumar Shweta Agrawal Slide Courtesy : Douglas Wilhelm Harder, MMath, UWaterloo
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Artificial Intelligence Lecture No. 7 Dr. Asad Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Adversarial Search: Game Playing Reading: Chapter next time.
MINIMAX SEARCH AND ALPHA- BETA PRUNING: PLAYER 1 VS. PLAYER 2.
Selective Search in Games of Different Complexity Maarten Schadd.
Data Abstraction and Problem Solving with JAVA Walls and Mirrors Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Data Abstraction and Problem.
11Sahalu JunaiduICS 573: High Performance Computing5.1 Analytical Modeling of Parallel Programs Sources of Overhead in Parallel Programs Performance Metrics.
Progressive Strategies For Monte-Carlo Tree Search Presenter: Ling Zhao University of Alberta November 5, 2007 Authors: G.M.J.B. Chaslot, M.H.M. Winands,
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
Tirgul 5 AVL trees.
Games with Chance Other Search Algorithms CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 3 Adapted from slides of Yoonsuck Choe.
Solving Probabilistic Combinatorial Games Ling Zhao & Martin Mueller University of Alberta September 7, 2005 Paper link:
Df-pn: Depth-first Proof Number Search
Generalized Threats Search Paper Review Paper Author: T. Cazenave Review by: A. Botea.
Game-Playing Read Chapter 6 Adversarial Search. Game Types Two-person games vs multi-person –chess vs monopoly Perfect Information vs Imperfect –checkers.
The 6 th Computer Olympiad: Computer-Games Workshop (Maastricht, 2001) Advances of AND/OR-tree Search Algorithms in Shogi Mating Search Hiroyuki Iida and.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
Adversarial Search: Game Playing Reading: Chess paper.
Recent Progress on the One-eye Solver Akihiro Kishimoto
A Solution to the GHI Problem for Best-First Search D. M. Breuker, H. J. van den Herik, J. W. H. M. Uiterwijk, and L. V. Allis Surveyed by Akihiro Kishimoto.
Knight’s Tour Distributed Problem Solving Knight’s Tour Yoav Kasorla Izhaq Shohat.
CS4432: Database Systems II
Randomized Algorithms - Treaps
The Group Runtime Optimization for High-Performance Computing An Install-Time System for Automatic Generation of Optimized Parallel Sorting Algorithms.
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
Upper Confidence Trees for Game AI Chahine Koleejan.
Renju Presented by JungYun Lo National Dong Hwa University Department of Computer Science and Information Engineering Artificial Intelligence Laboratory.
Distributed Verification of Multi-threaded C++ Programs Stefan Edelkamp joint work with Damian Sulewski and Shahid Jabbar.
Chapter 13 B Advanced Implementations of Tables – Balanced BSTs.
Parallel dynamic batch loading in the M-tree Jakub Lokoč Department of Software Engineering Charles University in Prague, FMP.
Scaling Area Under a Curve. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
Evaluation-Function Based Monte-Carlo LOA Mark H.M. Winands and Yngvi Björnsson.
A Study of Balanced Search Trees: Brainstorming a New Balanced Search Tree Anthony Kim, 2005 Computer Systems Research.
1 Trees 4: AVL Trees Section 4.4. Motivation When building a binary search tree, what type of trees would we like? Example: 3, 5, 8, 20, 18, 13, 22 2.
Monte-Carlo methods for Computation and Optimization Spring 2015 Based on “N-Grams and the Last-Good-Reply Policy Applied in General Game Playing” (Mandy.
Game Playing. Introduction One of the earliest areas in artificial intelligence is game playing. Two-person zero-sum game. Games for which the state space.
1 Using Tiling to Scale Parallel Datacube Implementation Ruoming Jin Karthik Vaidyanathan Ge Yang Gagan Agrawal The Ohio State University.
Lecture 3: Uninformed Search
Parallel Event Processing for Content-Based Publish/Subscribe Systems Amer Farroukh Department of Electrical and Computer Engineering University of Toronto.
Marwan Al-Namari Hassan Al-Mathami. Indexing What is Indexing? Indexing is a mechanisms. Why we need to use Indexing? We used indexing to speed up access.
RADHA-KRISHNA BALLA 19 FEBRUARY, 2009 UCT for Tactical Assault Battles in Real-Time Strategy Games.
CSC 213 – Large Scale Programming Lecture 18: Zen & the Art of O (log n ) Search.
Data Structure II So Pak Yeung Outline Review  Array  Sorted Array  Linked List Binary Search Tree Heap Hash Table.
Solving Tsumego on Computers M2 Hirokazu Ishii Chikayama & Taura Lab.
Parallel Programming in Chess Simulations Tyler Patton.
Computer Organization CS224 Fall 2012 Lesson 52. Introduction  Goal: connecting multiple computers to get higher performance l Multiprocessors l Scalability,
Scaling Conway’s Game of Life. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
BINARY TREES Objectives Define trees as data structures Define the terms associated with trees Discuss tree traversal algorithms Discuss a binary.
Adversarial Search 2 (Game Playing)
Adversarial Search and Game Playing Russell and Norvig: Chapter 6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
RADHA-KRISHNA BALLA 19 FEBRUARY, 2009 UCT for Tactical Assault Battles in Real-Time Strategy Games.
Parallel Programming in Chess Simulations Part 2 Tyler Patton.
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
1 Parallel Datacube Construction: Algorithms, Theoretical Analysis, and Experimental Evaluation Ruoming Jin Ge Yang Gagan Agrawal The Ohio State University.
Adversarial Search and Game-Playing
By Kevin Madison and Emma Drobina
Binary Search Trees A binary search tree is a binary tree
Binary search tree. Removing a node
AlphaGo with Deep RL Alpha GO.
A Distributed Genetic Algorithm for Learning Evaluation Parameters in a Strategy Game Gary Matthias.
External Methods Chapter 15 (continued)
PN, PN2 and PN* in Lines of Action
Efficient Aggregation over Objects with Extent
Presentation transcript:

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

Randomized Parallel Proof-Number Search Jahn-T. Saito, Mark Winands, H. Jaap van den Herik

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?

DKE Overview Proof-Number Search (PNS) ‏ Parallel Search Randomized Parallel PNS Experiment Conclusion and future work

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) ‏

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

DKE PNS Example a bc i h lk e d gf draw ? ? loss? j ? 1 1 win i. Proof-Number Search (PNS) ‏

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.

DKE Overview Proof-Number Search (PNS) ‏ Parallel Search Randomized Parallel PNS Experiment Conclusion and future work

DKE Search Overhead Brockington and Schaeffer, 1997 Search overhead Synchronization overhead Communication overhead ii. Parallel Search

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

DKE Overview Proof-Number Search (PNS) ‏ Parallel Search Randomized Parallel PNS Experiment Conclusion and future work

DKE Multiple threads, one tree

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

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.

DKE Randomization iii. Randomized Parallel PNS

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

DKE Overview Proof-Number Search (PNS) ‏ Parallel Search Randomized Parallel PNS Experiment Conclusion and future work

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

DKE LOA iv. Experiment

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

DKE Implementation iv. Experiment

DKE Results iv. Experiment

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

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

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

DKE Overview Proof-Number Search (PNS) ‏ Parallel Search Randomized Parallel PNS Experiment Conclusion and future work

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

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

DKE Thank you.