1 / 21

Game Playing

Game Playing. Outline. Perfect Play Resource Limits Alpha-Beta pruning Games of Chance. Games vs Search problems. Unpredictable opponent use contingency plan Time limits only approximate solution Approaches algorithm for perfect play finite horizon, approximation

jerica
Download Presentation

Game Playing

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. Game Playing

  2. Outline • Perfect Play • Resource Limits • Alpha-Beta pruning • Games of Chance

  3. Games vs Search problems • Unpredictable opponent • use contingency plan • Time limits • only approximate solution • Approaches • algorithm for perfect play • finite horizon, approximation • pruning to reduce costs

  4. Types of Games

  5. Tic-Tac-Toe Example

  6. Initial State starting configuration and whose move Operators legal moves Terminal Test Checks if game is over Utility Function Evaluates who has won and by how much Structure of a Game

  7. Minimax

  8. Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do VALUE[op] <- MINIMAX-VALUE(APPLY(op, game), game) end return the op with the highest VALUE[op] function MINIMAX-VALUE(state,game) returns a utility value if op TERMINAL-TEST[game](state) then return UTILITY[game](state) else if MAX is to move in state then return the highest MINIMAX-VALUE of SUCCESSORS(state) else return the lowest MINIMAX-VALUE of SUCCESSORS(state)

  9. Properties of MiniMax • Complete ? • Yes (if tree finite) • Optimal ? • Yes, against optimal opponent • Time Complexity ? • O(bm) • Space Complexity ? • O(bm) (depth first exploration)

  10. Resource Limits • Time complexity means given time limits • limited choice of solution • Approach • cutoff test (depth limit) • evaluation function (estimate of desirability of position)

  11. Evaluation Functions • Normally weighted linear sum of features • Eval(s) = w1f1(s) + w2f2(s) + .. + wnfn(s)

  12. Cutting off search • MinimaxCutoff identical to MinimaxValue except • TERMINAL? Replaced by CUTOFF? • UTILITY replaced by EVAL • In practice if bm = 106, b = 35 => m = 4 • 4-ply - human novice • 8-ply - typical PC or human master • 12-ply - Deep Blue, grand master

  13. MAX 3 A1 A3 A2 <=5 MIN 3 X <=2 X<=2 <=14 A23 A13 A33 A11 A21 A31 A12 A22 A32 2 3 12 X 8 X 14 X 5 5 X X 2 Alpha-Beta pruning Example

  14. Properties of Alpha-Beta • pruning doesn’t effect final result • Ordering improves efficiency of pruning • “perfect ordering”, time complexity O(bm/2) • doubles depth of search • In practice, time complexity O(b3m/4)

  15. Alpha-Beta Algorithm function MAX-VALUE(state, game, alpha, beta) returns the minimax value of a state inputs: state, current state in game game, game description alpha, the best score for MAX along the path to state beta, the best score for MIN along the path to state if CUT-OFF(state) then return EVAL(state) for each s in SUCCESSORS(state) do alpha <- MAX(alpha, MIN-VALUE(s, game, alpha, beta)) if alpha >= beta then return beta end return alpha

  16. Alpha-Beta cont. function MIN-VALUE(state, game, alpha, beta) returns the minimax value of a state if CUT-OFF(state) then return EVAL(state) for each s in SUCCESSORS(state) do beta <- MIN(beta, MAX-VALUE(s, game, alpha, beta)) if alpha >= beta then return alpha end return beta

  17. Deterministic Games • Checkers:- • Chinook, 1994 • Chess • Deep Blue, 1997 • Othello • computers too good • Go • computers too bad

  18. Non-deterministic Games • Chance adds difficulty • dice roll, deal of cards, flip of coin • ExpectiMax, like MiniMax • with additional chance nodes

  19. Backgammon

  20. expectimax(C) = sumi(p(di) maxs(utility(s))) C: chance node, di: dice roll p(di): probability of roll occurring maxs(utility(s)): max utility possible after dice roll Time Complexity O(bm nm) makes problems even harder to solve ExpectiMiniMax

More Related