“The capacity to learn and solve problems “ in particular
The ability to solve novel problems
The ability to act rationally
The ability to act like humans
Intelligence exhibited by an artificial entity.
BASICALLY : Putting human intelligence into a machine.
Human Intelligence is not fully understood.
There is no method of determining when a machine is actually intelligent
Simulates human thoughts
Matches or exceeds
Robots in movie Matrix,
Upcoming : Endiran
To understand human intelligence better
To create useful “smart” programs
Minimax is a procedure used for minimizing the possible loss while
maximizing the potential gain
Originally formulated for two player game
To be simpler
Considering for two player games, the players are referred to as
MAX (the player) and MIN( the opponent).
MAX is the player trying to maximize its score and MIN is the opponent
trying to minimize MAX’s score.
Let me have two players MAX and MIN
BASIS : Assume opponent best move
TASK : To find a “best” move for MAX
ASSUME : MAX moves first & then MIN moves thus alternatively
TYPE : Win , lose or draw
Say each configuration has an evaluation number
High number favor the player
So we want to choose moves which maximize evaluation
Low number favors the opponent
So they will choose moves which minimize evaluation
You (Computer) assume that the opponent will choose the minimizing
move next(After your move)
So you now choose the best move under assumption
i.e maximum (highest value) option considering both your move
and the Opponent’s optimal move
AN OPTIMAL PROCEDURE
Designed to find the optimal strategy for Max and find best
1. Generate the whole game tree to leaves
2. Apply evaluation function to leaves
3. Back-up values from leaves toward the root:
a Max node computes the max of its child values
a Min node computes the Min of its child values
4. When value reaches the root:
choose max value and the corresponding move.
However: It is impossible to develop the whole search tree, instead
develop part of the tree and evaluate static evaluation function.
Static (Heuristic) Evaluation
An Evaluation Function
◦ estimates how good the current board configuration is for a
◦ Typically, one figures how good it is for the player, and how good
it is for the opponent,
subtracts the opponents score from the players
E(n) = M(n)- O(n)
Values ranges from -infinity (loss) to +infinity (win) or [-1, +1].
If the board evaluation is X for a player, it’s -X for the opponent
◦ Evaluating chess boards,
Function for tic-tac-toe
The static evaluation function
Algorithm MINIMAX(Position, Depth, Player)
1. If DEEP-ENOUGH( Position, Depth), then return the structure
VALUE = EVA-Fn( Position, Player);
PATH = nil
This indicates that there is no path from this node and that its value is
that found by evaluation function.
2. Otherwise, generate one more search of the tree by calling the
MOVE-GEN( Position, Player) and setting SUCCESSORS to the
list it returns.
3. If SUCCESSORS is empty, then there are no moves to be made, so
the same structure as DEEP-ENOUGH
4. If SUCCESSORS is not empty, then examine each element in turn
and keep track of the best one.
The best move for the player is selected upon the maximum returning
value of the tree node
Properties of minMAX
Complete? - Yes(if tree is finite)
Optimal? - Yes(against an optimal opponent)
Time Complexity? O(bm )
Space Complexity? O(bm) (depth first exploration)
• MINMAX the heart of almost every computer
• Applies to games where
• Players take turns
• Underlying assumption
• Have perfect information
• But can work form games without perfect
information or chance
• Can work in real time(i.e. not turn based) with
• Basic concepts of AI
• MiniMAX procedure
• MiniMAX principle
• Optimal procedure
• Minimax algorithm & an example
• Properties & Overview
Chess is a game played by two people on a chessboard,
with 32 pieces (16 for each player) of six types.
Each type of piece moves in a distinct way.
The goal of the game is to checkmate, i.e. to threaten
the opponent's king with inevitable capture.
Games do not necessarily end with checkmate – players
often resign if they believe they will lose.
In addition, there are several ways that a game can end in a draw.
Player MAX starts with white coins and makes the move
Player MIN moves with black coins after the MAX makes the
The MAX keeps up the move assuming the MIN next move
i.e The MAX makes the best move assuming the opponent MIN
The MIN also tries to defeat MAX by making good moves
What is functional network ?
A group of variables, which have measurable values, and
interact in some way such that the value of one variable affects the
value of another.
In the image to the left, the variables are represented by
circles, and the functional interactions by arrows.
Idea is to minimize the maximum absolute error between predicted and
Cards are shuffled and distrubuted
The player with the highest rank showing, is the first to speak and to
bet. He can either bet or check.
By saying 'Check', he passes the decision to bet to the next player who
can also check. If all players check, then it is the end of the round.
Everyone opens his cards and the highest hand wins.
The player with highest ranking is consider as MAX and he makes the
best move to win
The other player tries to minimize the opponent by not passing the
The player MAX plays so efficiently assuming the opponents move
The first player rolls the dice and mark off the number rolled starting on the "1"
spot on the board. All players take turns rolling the dice and moving their
If the marker reaches the number which has bottom of the ladder he climbs the
ladder and go to the top of the ladder and continue from there, and If the marker
reaches the number which has the face of the snake then he needs to go down to
the box where it has its tail and continue from there.
First the player MAX makes the move when he get “1” on the dice.
Now the opponenet MIN chance is less than MAX since MAX started to move
When MIN tries to make a move after it enters it moves in such a way that it
minimize that is cut off the coins of MAX in the board
Knowing the move of MIN the MAX always tries to make best move to safe itself
from min and also to win