1 / 23

# Adversarial Search: Game Playing - PowerPoint PPT Presentation

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

2. Agenda • Review of game-playing approaches • A how-to example: Checkers • Your homework

3. Minimax Algorithm • Alternate levels of tree represent MAX (computer) and MIN (opponent) • Depth first search for optimal strategy for MAX • Assume both players make optimal move at each point • Back minimax values up the tree MAX MIN

4. Search Formulation • States: board configurations • Operators (Successor function): legal moves • Goal test: (for max) a terminal state with high utility • Utility function: numeric values for final states. E.g., win, loss, draw with values 1, -1, 0

5. MAX MIN -1

6. MAX MIN -1 -1

7. MAX MIN -1 -1 -1

8. MAX MIN -1 -1 -1 1

9. MAX MIN -1 1 1 -1 1 -1 1

10. MAX MIN -1 1 1 -1 1 -1 1

11. Move: A turn by P1 and response by P2 Ply: A level in the tree corresponding to a single turn Ply is used to specify how deep a program searches

12.  value is a lower-bound on the actual value of a MAX node •  value is an upper-bound on actual value of a MIN node  ≥ 3  ≤ 3

13.  ≥ 3  > β so no need to look further  ≤ 3  ≤ 2

14. Pruning Methods • Alpha-Beta pruning • Heuristic evaluation functions • Evaluate a board state to produce an estimate of the utility at end game • Order nodes by evaluation function results

15. Heuristics: evaluation functions • Bound the depth of search, and use an evaluation function to estimate value of current board configurations • E.g., Othello: #white pieces - #black pieces • E.g., Chess: Value of all white pieces – Value of all black pieces • Typical values from –infinity (lost) to +infinity (won) or [-1,+1]  turn non-terminal nodes into terminal leaves And, - pruning continues to apply -> Use expert knowledge and/or machine learning

16. Building a program to play checkers • Play the game: http://www.darkfish.com/checkers/Checkers.html • What are good strategies? http://dqsoft.com/checkerstips.html

17. The α-β algorithm

18. Suppose • We want to add in heuristic evaluation function • We want to specify how many ply the program will search • We want to make it specific to checkers • We want to order expansion of nodes by evaluation function