Chap 4 Games
Chap 4 Games
Chap IV – Games
Outline
Zero-Sum Game
Game Tree
Min-Max Algorithm
Alpha-Beta Pruning
2
Adversarial Search
4
Zero-Sum Game
5
Formalization of the problem
A game can be defined as a type of search in AI which can be formalized of the following elements:
Result(s, a): It is the transition model, which specifies the result of moves in the state space.
Terminal-Test(s): Terminal test is true if the game is over, else it is false at any case. The state
Utility(s, p): A utility function gives the final numeric value for a game that ends in terminal states
For Chess, the outcomes are a win, loss, or draw and its payoff values
are +1, 0, ½.And for tic-tac-toe, utility values are +1, -1, and 0.
6
Game tree
A game tree is a tree where nodes of the tree are the game states and
Edges of the tree are the moves by players. Game tree involves initial
state, actions function, and result Function.
The following figure is showing part of the game-tree for tic-tac-toe game.
Following are some key points of the game:
7
Game tree
8
Game tree
From the initial state, MAX has 9 possible moves as he starts first.
MAX place x and MIN place o, and both player plays alternatively until we reach a
leaf node where one player has three in a row or all squares are filled.
Both players will compute each node, Minimax, the Minimax value which is the best
achievable utility against an optimal adversary.
Suppose both the players are well aware of the tic-tac-toe and playing the best play.
Each player is doing his best to prevent another one from winning. MIN is acting
against Max in the game.
So in the game tree, we have a layer of Max, a layer of MIN, and each layer is called as
Ply. Max place x, then MIN puts o to prevent Max from winning, and this game
continues until the terminal node.
In this either MIN wins, MAX wins, or it's a draw. This game-tree is the whole search
space of possibilities that MIN and MAX are playing tic-tac-toe and taking turns
9
alternately.
Game tree
Hence adversarial Search for the Minimax procedure works as
follows:
It aims to find the optimal strategy for MAX to win the game.
It follows the approach of Depth-first search.
In the game tree, optimal leaf node could appear at any depth of
the tree. Propagate the Minimax values up to the tree until the
terminal node discovered.
In a given game tree, the optimal strategy can be determined
from the Minimax value of each node, which can be written as
MINIMAX(n). MAX prefer to move to a state of maximum value
and MIN prefer to move to a state of minimum value. 10
Mini-Max Algorithm in Artificial Intelligence
Min-Max algorithm is mostly used for game playing in AI. Such as Chess, Checkers, tic-
tac-toe, go, and various tow-players game. This Algorithm computes the minimax
decision for the current state.
11
Min-Max Algorithm
In this algorithm two players play the game, one is called MAX and other is
called MIN.
Both the players fight it as the opponent player gets the minimum benefit while
they get the maximum benefit.
Both Players of the game are opponent of each other, where MAX will select
the maximized value and MIN will select the minimized value.
The minimax algorithm proceeds all the way down to the terminal node of the
tree, then backtrack the tree as the recursion.
12
Min-Max Algorithm
In this example, there are two players one is called Maximizer and other is
called Minimizer.
Maximizer will try to get the Maximum possible score, and Minimizer will try to
get the minimum possible score.
• This algorithm applies DFS, so in this game-tree, we have to go all the way through the
leaves to reach the terminal nodes.
• At the terminal node, the terminal values are given so we will compare those value and
backtrack the tree until the initial state occurs. Following are the main steps involved in
solving the two-player game tree:
13
Min-Max Algorithm
15
Min-Max Algorithm
16
Min-Max Algorithm
Step 4: Now it's a turn for Maximizer,
and it will again choose the maximum
of all nodes value and find the
maximum value for the root node. In
this game tree, there are only 4 layers,
hence we reach immediately to the
root node, but in real games, there will
be more than 4 layers.
17
Properties of Mini-Max algorithm
Complete- Min-Max algorithm is Complete. It will definitely find a
solution (if exist), in the finite search tree.
18
Limitation of the Minimax Algorithm
19
Min-Max Algorithm
20
Alpha-Beta Pruning
Alpha-beta pruning is a modified version of the Minimax algorithm. It is an
optimization technique for the Minimax algorithm.
The Minimax search algorithm that the number of game states it has to
examine are exponential in depth of the tree. Since we cannot eliminate
the exponent, but we can cut it to half. Hence there is a technique by
which without checking each node of the game tree we can compute the
correct Minimax decision, and this technique is called pruning. This
involves two threshold parameter Alpha and beta for future expansion, so
it is called alpha-beta pruning. It is also called as Alpha-Beta
Algorithm.
21
Alpha-Beta Pruning
The two-parameter can be defined as:
◦ Alpha: The best (highest-value) choice we have found so far at any
point along the path of Maximizer.The initial value of alpha is -∞.
◦ Beta: The best (lowest-value) choice we have found so far at any point
along the path of Minimizer.The initial value of beta is +∞.
22
Alpha-Beta Pruning
Condition for Alpha-beta pruning:
The main condition which required for alpha-beta
pruning is:
α>=β
Key points about alpha-beta pruning:
The Max player will only update the value of alpha.
The Min player will only update the value of beta.
23
Alpha-Beta Pruning
24
Alpha-Beta Pruning
25
Alpha-Beta Pruning
In the next step, algorithm traverse the
next successor of Node B which is
node E, and the values of α= -∞, and
β= 3 will also be passed.
26
Alpha-Beta Pruning
Step 5: At next step, algorithm again
backtrack the tree, from node B to node A.
At node A, the value of alpha will be
changed the maximum available value is 3 as
max (-∞, 3)= 3, and β= +∞, these two values
now passes to right successor of A which is
Node C. At node C, α=3 and β= +∞, and
the same values will be passed on to node F.
28
Alpha-Beta Pruning
29
Pseudo-code for Alpha-beta Pruning
30
Exercise
Apply the Minimax algorithm and the Alpha-Beta
pruning on the following tree.
31