Adversarial search

2,738 views

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,738
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
118
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Adversarial search

  1. 1. ARTIFICIAL INTELLIGENCE Chapter 6 Adversarial search Prepared by: Issam Al-dehedhawy Farah Al-Tufaili
  2. 2. ADVERSARIAL SEARCH Examining the problems that arise when we try to plan ahead in a world where other agents are planning against us.
  3. 3. OVERVIEW OF GAMES Games are a form of multi-agent environment What do other agents do and how do they affect our success? Cooperative vs. competitive multi-agent environments . Competitive multi-agent environments give rise to adversarial search.
  4. 4. OUTLINES Introduction to game Optimal decisions in games Optimal strategies  Tic-tac-toe.  The minimax algorithm.  Optimal decisions in multiplayer games.
  5. 5. GAME SEARCH Game-playing programs developed by AI researchers since the beginning of the modern AI – Programs playing chess, checkers, etc (1950s) • Specifics of the game search: – Sequences of player’s decisions we control – Decisions of other player(s) we do not control • Contingency problem: – Many possible opponent’s moves must be “covered” by the solution – Opponent’s behavior introduces an uncertainty in the game – We do not know exactly what the response is going to be • Rational opponent – maximizes it own utility (payoff) Function.
  6. 6. GAMES VS. SEARCH Search – no adversary -Solution is (heuristic) method for finding goal -Heuristics and CSP techniques can find optimal solution Evaluation function: estimate of cost from start to goal through given node. Examples: path planning, scheduling activities Games – adversary -Solution is strategy (strategy specifies move for every possible opponent reply). -Time limits force an approximate solution to be taken. Evaluation function: evaluate “goodness” of game position Examples: chess, checkers, Othello, backgammon
  7. 7. TYPES OF GAME PROBLEMS Types of game problems Adversarial games: win of one player is a loss of the other – Cooperative games: players have common interests and utility function – A spectrum of game problems in between the two
  8. 8. TYPES OF GAME PROBLEMS Fully cooperative games Adversarial games we focus on adversarial games only!!
  9. 9. OPTIMAL DECISIONS IN GAMES • Game problem formulation: – Initial state: initial board position and identifies the player to move – successor function: legal moves a player can make – Goal (terminal test): determines when the game is over – Utility (payoff) function: measures the outcome of the game and its desirability • Search objective: – find the sequence of player’s decisions (moves) maximizing its utility (payoff) – Consider the opponent’s moves and their utility
  10. 10. OPTIMAL STRATEGIES -Find the contingent strategy for MAX assuming an infallible MIN opponent. -Assumption: Both players play optimally !! Given a game tree, the optimal strategy can be determined by using the minimax value of each node: -MINIMAX-VALUE(n)= UTILITY(n) If n is a terminal maxs  successors(n) MINIMAX-VALUE(s) If n is a max then
  11. 11. EXAMPLE OF AN ADVERSARIAL 2 PERSON GAME: TIC-TAC-TOE Player 1 (x) moves first win dro w los s A two player game where minmax algorithm is applies is Tic–Tac-Toe. In this game in order to win you must fill a row, a column or diagonal (X or O).
  12. 12. GAME PROBLEM FORMULATION (TIC-TAC-TOE) Objectives: • Player 1: maximize outcome • Player 2: minimize outcome - 0 1 Terminal (goal) states Utility:
  13. 13.  Minimax is a decision rule algorithm, which is represented as a game-tree.  It has applications in decision theory, game theory , statistics and philosophy.  Minimax is applied in two player games. The one is the min and the other is the max player.  By agreement the root of the game-tree represents the max player.  It is assumed that each player aims to do the best move for himself and therefore the worst move for his opponent in order to win the game. MINIMAX ALGORITHM
  14. 14. MINIMAX ALGORITHM How to deal with the contingency problem? • Assuming that the opponent is rational and always optimizes its behavior (opposite to us) we consider the best response. opponent’s • Then the minimax algorithm determines the best move
  15. 15. MINIMAX ALGORITHM 3 8 12 2 4 6 14 5 2 3 2 2 3Max Min Utilit y
  16. 16. MINIMAX ALGORITHM 4 3 6 2 1 9 5 3 1 Max Min Utility 2 7 5 Max
  17. 17. MINIMAX ALGORITHM 2 1 9 5 3 1 Max Min Utilit y 2 7 5 Max 4 4 3 6
  18. 18. MINIMAX ALGORITHM 2 1 9 5 3 1 Max Min Utilit y 2 7 5 Max 4 6 4 3 6
  19. 19. MINIMAX ALGORITHM 4 3 6 2 1 9 5 3 1 Max Min Utilit y 2 7 5 Max 4 64
  20. 20. MINIMAX ALGORITHM 4 3 6 2 1 9 5 3 1 Max Min 2 7 5 Max 4 64 2 Utilit y
  21. 21. MINIMAX ALGORITHM 4 3 6 2 1 9 5 3 1 Max Min 2 7 5 Max 4 64 2 9 Utilit y
  22. 22. MINIMAX ALGORITHM 4 3 6 2 1 9 5 3 1 Max Min 2 7 5 Max 4 64 2 9 2 Utilit y
  23. 23. MINIMAX ALGORITHM 2 1 9 5 3 3 Max Min 2 7 5 Max 4 64 2 9 2 1 Utilit y 4 3 6
  24. 24. MINIMAX ALGORITHM 2 1 9 5 3 3 Max Min 2 7 5 Max 4 64 2 9 2 1 7 Utilit y 4 3 6
  25. 25. MINIMAX ALGORITHM 2 1 9 5 3 3 Max Min 2 7 5 Max 4 64 2 9 2 1 7 3 Utilit y 4 3 6
  26. 26. MINIMAX ALGORITHM 2 1 9 5 3 3 Max Min 2 7 5 Max 4 64 2 9 2 1 7 3 4 Utilit y 4 3 6
  27. 27. MINIMAX ALGORITHM function MINIMAX-DECISION(state) returns an action inputs: state, current state in game vMAX-VALUE(state) return the action in SUCCESSORS(state) with value v function MIN-VALUE(state) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state) v  ∞ for a,s in SUCCESSORS(state) do v  MIN(v,MAX-VALUE(s)) return v function MAX-VALUE(state) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state) v  ∞ for a,s in SUCCESSORS(state) do v  MAX(v,MIN-VALUE(s)) return v
  28. 28. PROPERTIES OF MINIMAX Complete? Yes (if tree is finite) Optimal? Yes (against an optimal opponent) Time complexity? O(bm) Space complexity? O(bm) (depth-first exploration,for algorithm that generates all successors at once or O(m) for an algorithm that generates suuccesors one at atime ) For chess, b ≈ 35, m ≈100 for "reasonable" games  exact solution completely infeasible
  29. 29. Minimax advantages: -Returns an optimal action, assuming perfect opponent play. Minimax is the simplest possible (reasonable) game search algorithm. -Tic-Tac-Toe player, chances are you either looked this up on Wikipedia, or invented it in the process.) Minimax disadvantages: It's completely infeasible in practice. ! When the search tree is too large, we need to limit the search depth and apply an evaluation function to the cut-off states.
  30. 30. MULTIPLAYER GAMES Games allow more than two players Single minimax values become vectors

×