0% found this document useful (0 votes)
44 views

Adversarial Search: Course: Artificial Intelligence Effective Period: September 2018

The document provides information about adversarial search algorithms for solving games. It discusses minimax algorithm, alpha-beta pruning, and heuristics for imperfect real-time decisions. The minimax algorithm finds the best move in a game by assuming the opponent plays optimally to minimize the player's maximum payoff. Alpha-beta pruning improves minimax by avoiding searching game tree branches that cannot alter the result. Heuristics evaluate positions without fully searching to allow real-time play when complete search is intractable.

Uploaded by

wizyjcko
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Adversarial Search: Course: Artificial Intelligence Effective Period: September 2018

The document provides information about adversarial search algorithms for solving games. It discusses minimax algorithm, alpha-beta pruning, and heuristics for imperfect real-time decisions. The minimax algorithm finds the best move in a game by assuming the opponent plays optimally to minimize the player's maximum payoff. Alpha-beta pruning improves minimax by avoiding searching game tree branches that cannot alter the result. Heuristics evaluate positions without fully searching to allow real-time play when complete search is intractable.

Uploaded by

wizyjcko
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

Course : Artificial Intelligence

Effective Period : September 2018

Adversarial Search

Session 04

1
Learning Outcomes
At the end of this session, students will be able to:

 LO1: Describe what is AI and identify concept of intelligent


agent

 LO2: Explain various intelligent search algorithms to solve the


problems

2
Outline
1. Games

2. Optimal Decision in Games (Minimax Algorithm)

3. Alpha-Beta Pruning

4. Imperfect Real-Time Decisions

5. Exercise

3
Games
• Games is a search problems

– How we can find the best solution while predicting the


opponent’s move?

• Multiagent environments which the relation between agents


is competitive

– The agents’ goal are in conflict (I and opponent)

4
Games
• Games are interesting because they are too hard to solve

– For example, chess has an average branching factor of


about 35, and games often go to 50 moves by each player

• So the search tree has about 35100 or 10154 nodes

• Games like the real world

– Require the ability to make some decision even when


the optimal decision is infeasible

– Also penalize inefficiency severely

5
Kind of Games
• Abstraction: To describe a game we must capture every
relevant aspect of the game, such as:

– Chess

– Tic-tac-toe

• Accessible environments: Such games are characterized by


perfect information

6
Kind of Games
• Unpredictable opponent: introduces uncertainty thus,
game-playing must deal with contingency problems

• Pruning allows us to ignore portions of the search tree that


make no difference to the final choice

• Heuristic evaluation functions allow us to approximate the


true utility of a state without doing a complete search

7
Kind of Games

8
Kind of Games
A game can be formally defined as a kind of search problem with
the following elements:

• The initial state  ?

• Player(s)  ?

• Actions(s)  ?

• Result(s, a)  ?

• Terminal-test  ?

• Utility function/ objective function/ payoff function  ?

9
Optimal Decisions in Game
• In a normal search problem, the optimal solution would be a
sequence of actions leading to a goal state

• In adversarial search, MIN has something so say about it

– MAX must find a contingent strategy

– An optimal solution of MAX is the move that MIN has the


worst of optimal solutions

• This definition of optimal play for MAX assumes that MIN


also plays optimally—it maximizes the worst-case outcome
for MAX.
10
Optimal Decisions in Game
• Terminal positions, where MAX wins (score: +infinity) or MIN
wins (score: -infinity).

– The ply of a node is the number of moves needed to


reach that node (i.e. arcs from the root of the tree).

– The ply of a tree is the maximum of the plies of its nodes


(or layer of nodes).

11
Minimax Strategy
• Considering two-player, take turns and try respectively to
maximize and minimize a scoring function and called MAX and
MIN

• We assume that the MAX player makes the first move

• Represented the game as a tree where the nodes represent


the current position and the arcs represent moves

• Since players take turns, successive nodes represent positions


where different players must move

12
Minimax Strategy
• The Minimax game strategy for the MAX (MIN) player is to
select the move that leads to the successor node with the
highest (lowest) score.

– The scores are computed starting from the leaves of the


tree and backing up their scores to their predecessor in
accordance with the Minimax strategy.

13
Minimax Strategy
• Basic Idea: choose move with highest minimax value
= best achievable payoff against best play

• Algorithm:

1. Generate game tree completely

2. Determine utility of each terminal state

3. Propagate the utility values upward in the three by applying


MIN and MAX operators on the nodes in the current level

4. At the root node use minimax decision to select the move


with the max (of the min) utility value

14
Minimax Strategy

15
Game Tree

16
Minimax Strategy
• Example: Generate game tree

17
Minimax Strategy
• Example: Generate game tree

18
Minimax Strategy
• Example: Generate game tree

19
Minimax Strategy
• Example: Generate game tree

20
Minimax Strategy
• Example: A sub tree of a game tree

21
Minimax Strategy
• What is a good move?

22
Alpha-Beta Pruning
• Pruning: eliminating a branch of the search tree from
consideration without exhaustive examination of each node

• - pruning: the basic idea is to prune portions of the search


tree that cannot improve the utility value of the max or min
node, by just considering the values of nodes seen so far

•  = highest-value, choice point along the path for MAX

•  = lowest-value, choice point along the path for MIN

23
Alpha-Beta Pruning
6
MAX

MIN 6

 = highest value
 = lowest value

6 12 8

24
Alpha-Beta Pruning
6
MAX

MIN 6 2

Note that whatever x


value, it must be 2 or
smaller than 2

6 12 8 2 Thus, it would not


Result = max(min(6,12,8),min(2,x,x)) change the final result
= max(12,min(2,x,x))
= 12
25
Alpha-Beta Pruning
MAX 6

MIN 6 2 5

6 12 8 2 14

26
Alpha-Beta Pruning

27
Alpha-Beta Pruning

28
Alpha-Beta Pruning

MAX 6
Selected
move

MIN 6 2 5

6 12 8 2 14 5 8
29
Imperfect Real-Time Decisions
• Complete search is too complex and impractical

• Claude Shannon’s paper Programming a Computer for


Playing Chess (1950) proposed to alter minimax or
alpha-beta in two ways:

– Replace the utility function by heuristic evaluation


function Eval, which estimates the position’s utility

– Replace terminal test by a cutoff test that decides


when to apply Eval
30
Imperfect Real-Time Decisions

Weighted linear function: to combine n heuristics

e.g.
w’s could be the values of pieces (1 for prawn, 3 for bishop
etc.)
f’s could be the number of type of pieces on the board 31
Imperfect Real-Time Decisions

Value

10
9
5
3
3
1

32
References
• Stuart Russell, Peter Norvig. 2010. Artificial Intelligence : A
Modern Approach. Pearson Education. New Jersey.
ISBN:9780132071482

33
Exercise

34
Exercise

Given a Min-Max tree as below, describe in your own figure how the
process of Alpha-Beta Pruning is executed to the tree!

MAX

MIN

MAX

5 3 7 1 8 2 1 4 9 5 6 3 8 1
35

You might also like