1 / 24

Parallel Applications of the Minimax Algorithm

Parallel Applications of the Minimax Algorithm. Jeff Shelburg Adam Whaley. Overview. Game Trees Minimax Algorithm Minimax Efficiency Improvements Parallel Minimax Parallel Minimax Efficiency Improvements Speedup/Efficiency Results Randomized Best-First Minimax Speedup Results.

gittel
Télécharger la présentation

Parallel Applications of the Minimax Algorithm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parallel Applications of the MinimaxAlgorithm Jeff Shelburg Adam Whaley

  2. Overview • Game Trees • Minimax Algorithm • Minimax Efficiency Improvements • Parallel Minimax • Parallel Minimax Efficiency Improvements • Speedup/Efficiency Results • Randomized Best-First Minimax • Speedup Results

  3. Game Trees • Used to represent the state space of a game • Each successive depth in the tree represents the next at-turn player’s move decision • Shows all possible legal moves at every point in a game • Allows for search algorithms to intelligently decide the next best move

  4. Example Tic Tac Toe Game Tree

  5. Minimax Algorithm • Used in two-player, zero-sum games (such as Chess and Tic Tac Toe) • Estimates best move to perform for a given game state • Uses state evaluation heuristic to assign values to game states • Assumes opponent will choose best move during their turn

  6. MinimaxAlgorithm Child node state values denoted by x1, x2, …, xn General Algorithm: • Root Node: Return action associated with best child state value (either max or min, depending on the player) • Max Node: Return max(x1, x2, …, xn) • Min Node: Return min(x1, x2, …, xn) • Leaf Node: Return state value using state evaluation heuristic

  7. Example Tic Tac Toe Minimax

  8. Minimax Efficiency Improvements • Alpha-beta pruning • Prunes branches of game tree to cut down the effective search space • Move ordering • Uses history table of previously seen moves to order move evaluations in such a way to encourage pruning • Iterative deepening • Cuts down on effective search space when paired with alpha-beta pruning

  9. Alpha-Beta Pruning Example

  10. Why is this important? • Chess is has expansive state space • Chess game tree has average branching factor of 35 • IBM’s Deep Blue beat Chess Grandmaster Garry Kasparov in 1996

  11. Parallel Minimax • Two General Methods • Principal Variation Splitting • Randomized Best-First Minimax Search

  12. Principal Variation Splitting (PVSplit) • Recursively expands leftmost nodes in game tree to find bound on alpha value • Splits up game tree into sub-trees by recursing back up the tree and distributing remaining branches to other processes • Each process performs Minimax algorithm on their sub-tree

  13. Example PVSplit

  14. Manager-Worker Implementation

  15. PVSplit Efficiency Disadvantages • On distributed memory systems, the processors collectively analyze more game tree nodes than sequential methods • Extremely large communication overhead • Each processor is not able to take advantage of information found by other processors • On all parallel systems, processors with smaller sub-trees finish early • Wasted CPU cycles

  16. Parallel Minimax Speedup Chess implemented on an Intel Core 2 Duo

  17. Parallel Minimax Efficiency Chess implemented on an Intel Core 2 Duo

  18. Parallel Minimax Speedup 4x4 Tic-Tac-Toe on a 5 processor multicomputer platform

  19. Parallel Minimax Efficiency 4x4 Tic-Tac-Toe on a 5 processor multicomputer platform

  20. Communication vs Computation 4x4 Tic-Tac-Toe on a 5 processor multicomputer platform

  21. Randomized Best-First Minimax • Master process broadcasts root node of game tree to other processes • All processes repeatedly selects random child nodes of the game tree with a probability distribution • Child nodes with the highest game state value the highest chance of being selected

  22. Randomized Best-First Minimax • Allows the parallel system to explore many of the game tree’s most promising move sequences • Has a low chance of any two processes analyzing that exact same two paths • Maintains a linear speedup with up to 64 processors

  23. RBFM Speedup

  24. Questions? Sources [1]  Plamenka Borovska and Milena Lazarova. 2007. Efficiency of Parallel Minimax Algorithm for Game Tree Search. Proceedings of the 2007 international conference on Computer systems and technologies (CompSysTech '07), Boris Rachev, Angel Smrikarov, and Dimo Dimov (Eds.). ACM, New York, NY, USA, Article 14, 1-6. [2]  Brian Greskamp. 2003. Parallelizing a Simple Chess Program. University of Illinois, Urbana-Champaign, Illinois, 1-7. [3]  Yaron Shoham and Sivan Toledo. 2002. Parallel Randomized Best-First Minimax Search. Artificial Intelligence. 137, 1-2 (May 2002), 165-196. [4]  Matthew Guidry and Charles McClendon.  Techniques to Parallelize Chess.  Florida State University, Tallahassee, Florida, 1-7.

More Related