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

Ai 4

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Ai 4

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Arti cial Intelligence

Adversarial Search

Dr. Junaid Younas


fi
Last lecture…..

• Informed Search
• Greedy Search
• A * Search
• Learning desired Heuristic Function
Today’s lecture

• Semester Project
• Assignment#1
• Adversarial Search
• Minimax Algorithm
• Alpha-beta pruning
Semester Project….Assign#1 —2-weeks

• Group yourself in Threes


• Ideally not with the friends you are seen most of the time
• Project topics — any of the topic implementation from the course outline
• Project report — Introduction, Problem identi cation, literature review, research gap
identi cation, contributions of each member — 2 pages max
fi
fi
Adversarial Search

• Two or more agents with con icting goals


• Multi-agent Competitive environment
• 3 stances in multi-agent environment
• Economy — ignore actions of agents
• Adversaries as part of environment —
nondeterministic

• Adversaries as agents — Adversarial


search trees
fl
Let’s play a simple game….

• You choose one of the given basket


• Adversary choose a number from basket
• Your Goal is to maximise the chosen number

A B C

50 -50 1 3 15 -5
In AI, Chess and GO are commonly analysed games

• Types
• Perfect Information
• Zero-sum game
• Move ⟹ Action
• Position ⟹ State
• Is solved?
Game tree

• Each node is decision point for the player


• Each path (root-to-leaf) is a possible outcome
of the game

• Nodes ⟹ states
• Edges ⟹ actions
A game can be de ned as space search problem…..

• Players ={agent, opp}


• Initial State S0 — starting state
• To-MOVE(s) — turn of player
• Actions(s) — possible and available actions at
state s

• Succ(s, a) — resulting state for action a in state s


• Is-END(s) — Terminal test — terminals states
• Utility(s) — agent’s utility for state s
Model a search space for chess
fi
Draw the search tree for tic-tac-toe game
MINMAX search algorithm helps to plan contingent strategy

• Deterministic zero-sum games


• Tic-tac-toe, checkers, chess
• Agent maximises the results
• Opp minimises the results
• Minimax search
• A state-space search tree
• Alternate turns for players 2 3 5 6 8
• Compute each players minimax value
UTILITY(s, max) ifIsEnd(s)
MINIMAX(s) = maxa∈Actions(s)Vminmax(Suc(s, a)) Players(s) = agent
mina∈Actions(s)Vminmax(Suc(s, a)) Players(s) = opp
Minimax Implementation
Minimax Implementation
MiniMax e ciency

• Complete DFS like exploration (exhaustive)


m
• Time complexity: O(b )
• Space complexity: O(bm)
• Infeasible for complex games
123
• B =35, m=80, 10 explorations
ffi
Is it Sensible to explore complete tree?
Properties of alpha-beta pruning

• Doesn’t alter minimax value for a root node


• Values of intermediate nodes might be wrong
• Good child ordering improves the e ectiveness of pruning
• With perfect ordering
m/2
• Time complexity drops to O(b )
• Doubles solvable depth
• Full searches for complicated scenarios is still too complex
ff
Alpha-beta pruning

• Min value
• Compute MIN-Value at node n
• Loop over n’s children
• n’s estimate of the children’s min is dropping
• Who cares about n’s value? MAX
• Let α be the best value that MAX can get at any choice point
along the current path from the root

• If n becomes worse then α, MAX will avoid it..


• MAX version is symmetric
Lets do an example…..(correction)

What about multiplayer game?


Let’s do alpha beta pruning for above tree

MINIMAX(state, α, β)
α — the value of best choice β — the value of best choice
found at any point of Path for found at any point of Path for
MAX, α = at-least MIN, β = atmost
Some examples of alpha beta pruning

10 8 4 50

f(x) = max(min(max(10,6), max(19,9)), min(max(1,2), max(20,5)))


Evaluation functions

• A function that takes in the state and outputs an estimate of the true minimax value of
that node

EVAL(s, p) ifCUT − OFF(s, d)


H − MINIMAX(s) = maxa∈Actions(s)Vminmax(Suc(s, a), d + 1) Players(s) = agent
• mina∈Actions(s)Vminmax(Suc(s, a), d + 1) Players(s) = opp

• For terminal state, EVAL(s, p) = UTILITY(s, p)


• For non-terminal states?
• UTILITY(loss, p) ≤ EVAL(s, p) ≤ UTILITY(win, p)
Evaluation Functions

• The most common evaluation function is linear combination


EVAL(s) = w1 f1(s) + w2 f2(s) + w3 f3(s) + . . . . . + wn fn(s)

• fi(s) corresponds to features derived from input state


• wi(s) is the weight assigned to each feature
• Possible features for checkers
• Pawns, loins/kings
• Evaluation function for checker
• Eval = 2.agentKings + agentPawans − 2.oppKings − oppPawns
What about evaluation function of CHESS?
ExpectiMAx

• Adding randomness to the decision-making


• Chance nodes — to compute the expected
utility

• Chance nodes = ∑ p(s′| s)V(s′)


• Simplest way is to add probability factor
• Expand using p=1/3


Reminder: Work on Assignment-3
Thanks … Content Inspiration CS-188

You might also like