Unit 2 L4
Unit 2 L4
Noida
Adversarial Search
Unit: 02
Introduction to Search
August 4, 2024 2
Continue…
• The environment with more than one agent is termed
as multi-agent environment, in which each agent is an
opponent of other agent and playing against each other. Each
agent needs to consider the action of other agent and effect
of that action on their performance.
• So, Searches in which two or more players with conflicting
goals are trying to explore the same search space for the
solution, are called adversarial searches, often known as
Games.
• Games are modeled as a Search problem and heuristic
evaluation function, and these are the two main factors which
help to model and solve games in AI.
August 4, 2024 3
Types of game in AI
August 4, 2024 4
Continue…
• Perfect information: A game with the perfect
information is that in which agents can look into the
complete board. Agents have all the information about
the game, and they can see each other moves also.
Examples are Chess, Checkers, Go, etc.
• Imperfect information: If in a game agents do not have
all information about the game and not aware with
what's going on, such type of games are called the
game with imperfect information, such as tic-tac-toe,
Battleship, blind, Bridge, etc.
August 4, 2024 5
Continue…
• Deterministic games: Deterministic games are those
games which follow a strict pattern and set of rules for the
games, and there is no randomness associated with them.
Examples are chess, Checkers, Go, tic-tac-toe, etc.
• Non-deterministic games: Non-deterministic are those
games which have various unpredictable events and has a
factor of chance or luck. This factor of chance or luck is
introduced by either dice or cards. These are random, and
each action response is not fixed. Such games are also
called as stochastic games.
Example: Backgammon, Monopoly, Poker, etc .
August 4, 2024 6
Continue…
• Note: In this topic, we will discuss deterministic games, fully
observable environment, zero-sum, and where each agent acts
alternatively.
Zero-Sum Game
• Zero-sum games are adversarial search which involves pure
competition.
• In Zero-sum game each agent's gain or loss of utility is exactly
balanced by the losses or gains of utility of another agent.
• One player of the game try to maximize one single value, while
other player tries to minimize it.
• Each move by one player in the game is called as ply.
• Chess and tic-tac-toe are examples of a Zero-sum game.
August 4, 2024 7
Continue…
Zero-sum game: Embedded thinking
• The Zero-sum game involved embedded thinking in
which one agent or player is trying to figure out:
• What to do.
• How to decide the move
• Needs to think about his opponent as well
• The opponent also thinks what to do
• Each of the players is trying to find out the response of
his opponent to their actions. This requires embedded
thinking or backward reasoning to solve the game
problems in AI.
August 4, 2024 8
Continue…
Formalization of the problem:
• A game can be defined as a type of search in AI which
can be formalized of the following elements:
• Initial state: It specifies how the game is set up at the
start.
• Player(s): It specifies which player has moved in the state
space.
• Action(s): It returns the set of legal moves in state space.
• Result(s, a): It is the transition model, which specifies the
result of moves in the state space.
August 4, 2024 9
Continue…
• Terminal-Test(s): Terminal test is true if the game is
over, else it is false at any case. The state where the
game ends is called terminal states.
• Utility(s, p): A utility function gives the final numeric
value for a game that ends in terminal states s for
player p. It is also called payoff function. 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.
August 4, 2024 10
Continue…
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.
Example: Tic-Tac-Toe game tree:
• The following figure is showing part of the game-tree for tic-tac-toe
game. Following are some key points of the game:
• There are two players MAX and MIN.
• Players have an alternate turn and start with MAX.
• MAX maximizes the result of the game tree
• MIN minimizes the result.
August 4, 2024 11
Continue…
•
August 4, 2024 12
Continue…
Example Explanation:
• 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.
August 4, 2024 13
Continue…
• 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 alternately.
• Hence adversarial Search for the minimax procedure works
as follows:
• It aims to find the optimal strategy for MAX to win the game.
August 4, 2024 14
Continue…
• 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 then:
August 4, 2024 16
Game Theory
August 4, 2024 17
Mini-Max Algorithm in AI
• Mini-max algorithm is a recursive or backtracking
algorithm which is used in decision-making and game
theory. It provides an optimal move for the player
assuming that opponent is also playing optimally.
• Mini-Max algorithm uses recursion to search through
the game-tree.
• 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.
• In this algorithm two players play the game, one is
called MAX and other is called MIN.
August 4, 2024 18
Continue…
Working of Min-Max Algorithm
• The working of the minimax algorithm can be easily
described using an example. Below we have taken an
example of game-tree which is representing the two-
player game.
• 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.
August 4, 2024 19
Continue…
• 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:
August 4, 2024 20
Continue…
• Step-1: In the first step, the algorithm generates the
entire game-tree and apply the utility function to get
the utility values for the terminal states. In the below
tree diagram, let's take A is the initial state of the
tree. Suppose maximizer takes first turn which has
worst-case initial value =- infinity, and minimizer will
take next turn which has worst-case initial value =
+infinity.
August 4, 2024 21
Continue…
August 4, 2024 22
Continue…
August 4, 2024 23
Continue…
• Step 3: In the next step, it's a turn for minimizer, so it
will compare all nodes value with +∞, and will find
the 3rd layer node values.
For node B= min(4,6) = 4
For node C= min (-3, 7) = -3
August 4, 2024 24
Continue…
August 4, 2024 25
Continue…
• 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.
August 4, 2024 26
Continue…
August 4, 2024 27
Continue…
Properties of Mini-Max algorithm
• Complete- Min-Max algorithm is Complete. It will
definitely find a solution (if exist), in the finite search
tree.
• Optimal- Min-Max algorithm is optimal if both
opponents are playing optimally.
• Time complexity- As it performs DFS for the game-
tree, so the time complexity of Min-Max algorithm
is O(bm), where b is branching factor of the game-tree,
and m is the maximum depth of the tree.
• Space Complexity- Space complexity of Mini-max
algorithm is also similar to DFS which is O(bm).
August 4, 2024 28
Continue…
Limitation of the minimax Algorithm:
• The main drawback of the minimax algorithm is that
it gets really slow for complex games such as Chess,
go, etc. This type of games has a huge branching
factor, and the player has lots of choices to decide.
This limitation of the minimax algorithm can be
improved from alpha-beta pruning which we have
discussed in the next topic
August 4, 2024 29
Alpha-Beta Pruning
August 4, 2024 30
Continue…
• Alpha-beta pruning can be applied at any depth of a
tree, and sometimes it not only prune the tree
leaves but also entire sub-tree.
• 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 +∞.
August 4, 2024 31
Continue…
• The Alpha-beta pruning to a standard minimax
algorithm returns the same move as the standard
algorithm does, but it removes all the nodes which
are not really affecting the final decision but making
algorithm slow. Hence by pruning these nodes, it
makes the algorithm fast.
August 4, 2024 32
Continue…
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.
• While backtracking the tree, the node values will be
passed to upper nodes instead of values of alpha and beta.
• We will only pass the alpha, beta values to the child nodes.
August 4, 2024 33
Continue…
Working of Alpha-Beta Pruning:
• Let's take an example of two-player search tree to
understand the working of Alpha-beta pruning
• Step 1: At the first step the, Max player will start first
move from node A where α= -∞ and β= +∞, these value
of alpha and beta passed down to node B where again
α= -∞ and β= +∞, and Node B passes the same value to
its child D.
August 4, 2024 34
Continue…
August 4, 2024 35
Continue…
• Step 2: At Node D, the value of α will be calculated as its
turn for Max. The value of α is compared with firstly 2
and then 3, and the max (2, 3) = 3 will be the value of α at
node D and node value will also 3.
• Step 3: Now algorithm backtrack to node B, where the
value of β will change as this is a turn of Min, Now β= +∞,
will compare with the available subsequent nodes value,
i.e. min (∞, 3) = 3, hence at node B now α= -∞, and β= 3.
August 4, 2024 36
Continue…
August 4, 2024 37
Continue…
August 4, 2024 38
Continue…
• Step 4: At node E, Max will take its turn, and the
value of alpha will change. The current value of
alpha will be compared with 5, so max (-∞, 5) = 5,
hence at node E α= 5 and β= 3, where α>=β, so
the right successor of E will be pruned, and
algorithm will not traverse it, and the value at
node E will be 5.
August 4, 2024 39
Continue…
August 4, 2024 40
Continue…
• 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.
• Step 6: At node F, again the value of α will be compared with left
child which is 0, and max(3,0)= 3, and then compared with right
child which is 1, and max(3,1)= 3 still α remains 3, but the node
value of F will become 1.
August 4, 2024 41
Continue…
August 4, 2024 42
Continue…
August 4, 2024 43
Continue…
August 4, 2024 44
Continue…
• Step 8: C now returns the value of 1 to A here the best
value for A is max (3, 1) = 3. Following is the final game
tree which is the showing the nodes which are
computed and nodes which has never computed. Hence
the optimal value for the maximizer is 3 for this example.
August 4, 2024 45
Continue…
August 4, 2024 46
Youtube & NPTEL Video Links and Online
Courses Details
August 4, 2024 47
Daily Quiz
August 4, 2024 48
Daily Quiz
August 4, 2024 49
Daily Quiz
August 4, 2024 50
Daily Quiz
August 4, 2024 51
Daily Quiz
August 4, 2024 52
Daily Quiz
August 4, 2024 53
Weekly Assignment
Q1: Demonstrate shortcomings of Hill Climbing Search and it’s variations.
CO2
Q6: Inspect and find the complete and optimal algorithm among BFS, Greedy BFS
and A*. CO2
August 4, 2024 54
MCQ s
August 4, 2024 55
MCQ s
August 4, 2024 56
MCQ s
A heuristic is a way of trying ___________
a) To discover something or an idea embedded in a program
b) To search and measure how far a node in a search tree seems to be from
a goal
c) To compare two nodes in a search tree to see if one is better than another
d) All of the mentioned
Answer: d
Explanation: In a heuristic approach, we discover certain idea and use
heuristic functions to search for a goal and predicates to compare nodes.
August 4, 2024 57
MCQ s
In many problems the path to goal is irrelevant, this class of problems can
be solved using ____________
a) Informed Search Techniques
b) Uninformed Search Techniques
c) Local Search Techniques
d) Informed & Uninformed Search Techniques
Answer: c
August 4, 2024 58
MCQ s
August 4, 2024 59
MCQ s
August 4, 2024 60
MCQ s
August 4, 2024 61
MCQ s
August 4, 2024 62
MCQ s
August 4, 2024 63
Expected Questions for University Exam
August 4, 2024 64
Summary
August 4, 2024 65
References