mam ppt AI-unit-2-V1
-
Upload
sreemahasaraswath -
Category
Documents
-
view
122 -
download
0
Transcript of mam ppt AI-unit-2-V1
![Page 1: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/1.jpg)
Searching techniques
UNIT-2
![Page 2: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/2.jpg)
Informed search algorithms
![Page 3: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/3.jpg)
Outline Best-first search Greedy best-first search A* search Heuristics Local search algorithms Hill-climbing search Simulated annealing search Local beam search Genetic algorithms
![Page 4: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/4.jpg)
Best-first search Idea: use an evaluation function f(n) for each
node estimate of "desirability" Expand most desirable unexpanded node
Implementation:Order the nodes in fringe in decreasing order of desirability
Special cases: greedy best-first search A* search
![Page 5: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/5.jpg)
Romania with step costs in km
![Page 6: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/6.jpg)
Greedy best-first search
Evaluation function f(n) = h(n) (heuristic)
= estimate of cost from n to goal e.g., hSLD(n) = straight-line distance
from n to Bucharest Greedy best-first search expands
the node that appears to be closest to goal
![Page 7: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/7.jpg)
Greedy best-first search example
![Page 8: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/8.jpg)
Greedy best-first search example
![Page 9: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/9.jpg)
Greedy best-first search example
![Page 10: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/10.jpg)
Greedy best-first search example
![Page 11: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/11.jpg)
Properties of greedy best-first search
Complete? No – can get stuck in loops, e.g., Iasi Neamt Iasi Neamt
Time? O(bm), but a good heuristic can give dramatic improvement
Space? O(bm) -- keeps all nodes in memory
Optimal? No
![Page 12: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/12.jpg)
A* search
Idea: avoid expanding paths that are already expensive
Evaluation function f(n) = g(n) + h(n)
g(n) = cost so far to reach n h(n) = estimated cost from n to goal f(n) = estimated total cost of path
through n to goal
![Page 13: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/13.jpg)
A* search example
![Page 14: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/14.jpg)
A* search example
![Page 15: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/15.jpg)
A* search example
![Page 16: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/16.jpg)
A* search example
![Page 17: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/17.jpg)
A* search example
![Page 18: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/18.jpg)
A* search example
![Page 19: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/19.jpg)
Admissible heuristics A heuristic h(n) is admissible if for every
node n,h(n) ≤ h*(n), where h*(n) is the true cost to reach the goal state from n.
An admissible heuristic never overestimates the cost to reach the goal, i.e., it is optimistic
Example: hSLD(n) (never overestimates the actual road distance)
Theorem: If h(n) is admissible, A* using TREE-SEARCH is optimal
![Page 20: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/20.jpg)
Optimality of A* (proof) Suppose some suboptimal goal G2 has been generated
and is in the fringe. Let n be an unexpanded node in the fringe such that n is on a shortest path to an optimal goal G.
(G2) = g(G2) since h(G2) = 0 g(G2) > g(G) since G2 is suboptimal f(G) = g(G) since h(G) = 0 f(G2) > f(G) from above
![Page 21: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/21.jpg)
Optimality of A* (proof) Suppose some suboptimal goal G2 has been generated and
is in the fringe. Let n be an unexpanded node in the fringe such that n is on a shortest path to an optimal goal G.
f(G2) > f(G) from above h(n) ≤ h^*(n) since h is admissible g(n) + h(n) ≤ g(n) + h*(n) f(n) ≤ f(G)Hence f(G2) > f(n), and A* will never select G2 for expansion
![Page 22: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/22.jpg)
Consistent heuristics A heuristic is consistent if for every node n, every
successor n' of n generated by any action a,
h(n) ≤ c(n,a,n') + h(n')
If h is consistent, we havef(n') = g(n') + h(n') = g(n) + c(n,a,n') + h(n') ≥ g(n) + h(n) = f(n) i.e., f(n) is non-decreasing along any path. Theorem: If h(n) is consistent, A* using GRAPH-SEARCH is
optimal
![Page 23: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/23.jpg)
Optimality of A*
A* expands nodes in order of increasing f value
Gradually adds "f-contours" of nodes Contour i has all nodes with f=fi, where fi < fi+1
![Page 24: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/24.jpg)
Properties of A*
Complete? Yes (unless there are infinitely many nodes with f ≤ f(G) )
Time? Exponential Space? Keeps all nodes in memory Optimal? Yes
![Page 25: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/25.jpg)
Admissible heuristicsE.g., for the 8-puzzle: h1(n) = number of misplaced tiles h2(n) = total Manhattan distance(i.e., no. of squares from desired location of each tile)
h1(S) = ? h2(S) = ?
![Page 26: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/26.jpg)
Admissible heuristicsE.g., for the 8-puzzle: h1(n) = number of misplaced tiles h2(n) = total Manhattan distance(i.e., no. of squares from desired location of each tile)
h1(S) = ? 8 h2(S) = ? 3+1+2+2+2+3+3+2 = 18
![Page 27: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/27.jpg)
Dominance If h2(n) ≥ h1(n) for all n (both admissible) then h2 dominates h1 h2 is better for search
Typical search costs (average number of nodes expanded):
d=12 IDS = 3,644,035 nodesA*(h1) = 227 nodes A*(h2) = 73 nodes
d=24 IDS = too many nodesA*(h1) = 39,135 nodes A*(h2) = 1,641 nodes
![Page 28: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/28.jpg)
Relaxed problems A problem with fewer restrictions on the
actions is called a relaxed problem The cost of an optimal solution to a
relaxed problem is an admissible heuristic for the original problem
If the rules of the 8-puzzle are relaxed so that a tile can move anywhere, then h1(n) gives the shortest solution
If the rules are relaxed so that a tile can move to any adjacent square, then h2(n) gives the shortest solution
![Page 29: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/29.jpg)
Local search algorithms In many optimization problems, the
path to the goal is irrelevant; the goal state itself is the solution
State space = set of "complete" configurations
Find configuration satisfying constraints, e.g., n-queens
In such cases, we can use local search algorithms
keep a single "current" state, try to improve it
![Page 30: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/30.jpg)
Example: n-queens
Put n queens on an n × n board with no two queens on the same row, column, or diagonal
![Page 31: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/31.jpg)
Hill-climbing search
"Like climbing Everest in thick fog with amnesia"
![Page 32: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/32.jpg)
Hill-climbing search
Problem: depending on initial state, can get stuck in local maxima
![Page 33: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/33.jpg)
Hill-climbing search: 8-queens problem
h = number of pairs of queens that are attacking each other, either directly or indirectly
h = 17 for the above state
![Page 34: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/34.jpg)
Hill-climbing search: 8-queens problem
A local minimum with h = 1
![Page 35: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/35.jpg)
Simulated annealing search Idea: escape local maxima by allowing
some "bad" moves but gradually decrease their frequency
![Page 36: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/36.jpg)
Properties of simulated annealing search One can prove: If T decreases slowly
enough, then simulated annealing search will find a global optimum with probability approaching 1
Widely used in VLSI layout, airline scheduling, etc
![Page 37: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/37.jpg)
Constraint Satisfaction Problems
UNIT-2
![Page 38: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/38.jpg)
Outline
Constraint Satisfaction Problems (CSP)
Backtracking search for CSPs Local search for CSPs
![Page 39: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/39.jpg)
Constraint satisfaction problems (CSPs)
Standard search problem: state is a "black box“ – any data structure that supports
successor function, heuristic function, and goal test CSP:
state is defined by variables Xi with values from domain Di
goal test is a set of constraints specifying allowable combinations of values for subsets of variables
Simple example of a formal representation language
Allows useful general-purpose algorithms with more power than standard search algorithms
![Page 40: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/40.jpg)
Example: Map-Coloring
Variables WA, NT, Q, NSW, V, SA, T Domains Di = {red,green,blue} Constraints: adjacent regions must have different colors e.g., WA ≠ NT, or (WA,NT) in {(red,green),(red,blue),
(green,red), (green,blue),(blue,red),(blue,green)}
![Page 41: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/41.jpg)
Example: Map-Coloring
Solutions are complete and consistent assignments, e.g., WA = red, NT = green,Q = red,NSW = green,V = red,SA = blue,T = green
![Page 42: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/42.jpg)
Constraint graph Binary CSP: each constraint relates two
variables Constraint graph: nodes are variables, arcs are
constraints
![Page 43: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/43.jpg)
Varieties of CSPs Discrete variables
finite domains: n variables, domain size d O(dn) complete assignments e.g., Boolean CSPs, incl.~Boolean satisfiability (NP-complete)
infinite domains: integers, strings, etc. e.g., job scheduling, variables are start/end days for each job need a constraint language, e.g., StartJob1 + 5 ≤ StartJob3
Continuous variables e.g., start/end times for Hubble Space Telescope
observations linear constraints solvable in polynomial time by linear
programming
![Page 44: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/44.jpg)
Varieties of constraints Unary constraints involve a single variable,
e.g., SA ≠ green
Binary constraints involve pairs of variables, e.g., SA ≠ WA
Higher-order constraints involve 3 or more variables, e.g., cryptarithmetic column constraints
![Page 45: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/45.jpg)
Example: Cryptarithmetic
Variables: F T U W R O X1 X2 X3
Domains: {0,1,2,3,4,5,6,7,8,9} Constraints: Alldiff (F,T,U,W,R,O)
O + O = R + 10 · X1
X1 + W + W = U + 10 · X2
X2 + T + T = O + 10 · X3
X3 = F, T ≠ 0, F ≠ 0
![Page 46: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/46.jpg)
Real-world CSPs Assignment problems
e.g., who teaches what class Timetabling problems
e.g., which class is offered when and where? Transportation scheduling Factory scheduling
Notice that many real-world problems involve real-valued variables
![Page 47: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/47.jpg)
Standard search formulation (incremental)
Let's start with the straightforward approach, then fix it
States are defined by the values assigned so far
Initial state: the empty assignment { } Successor function: assign a value to an unassigned variable
that does not conflict with current assignment fail if no legal assignments
Goal test: the current assignment is complete
1. This is the same for all CSPs2. Every solution appears at depth n with n variables
use depth-first search3. Path is irrelevant, so can also use complete-state formulation4. b = (n - l )d at depth l, hence n! · dn leaves
![Page 48: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/48.jpg)
Backtracking search Variable assignments are commutative}, i.e.,[ WA = red then NT = green ] same as [ NT = green then WA
= red ]
Only need to consider assignments to a single variable at each node b = d and there are $d^n$ leaves
Depth-first search for CSPs with single-variable assignments is called backtracking search
Backtracking search is the basic uninformed algorithm for CSPs
Can solve n-queens for n ≈ 25
![Page 49: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/49.jpg)
Backtracking search
![Page 50: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/50.jpg)
Backtracking example
![Page 51: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/51.jpg)
Backtracking example
![Page 52: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/52.jpg)
Backtracking example
![Page 53: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/53.jpg)
Backtracking example
![Page 54: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/54.jpg)
Improving backtracking efficiency
General-purpose methods can give huge gains in speed: Which variable should be assigned
next? In what order should its values be
tried? Can we detect inevitable failure
early?
![Page 55: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/55.jpg)
Most constrained variable
Most constrained variable:choose the variable with the fewest
legal values
a.k.a. minimum remaining values (MRV) heuristic
![Page 56: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/56.jpg)
Most constraining variable
Tie-breaker among most constrained variables
Most constraining variable: choose the variable with the most
constraints on remaining variables
![Page 57: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/57.jpg)
Least constraining value
Given a variable, choose the least constraining value: the one that rules out the fewest values
in the remaining variables
Combining these heuristics makes 1000 queens feasible
![Page 58: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/58.jpg)
Forward checking Idea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
![Page 59: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/59.jpg)
Forward checking Idea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
![Page 60: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/60.jpg)
Forward checking Idea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
![Page 61: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/61.jpg)
Forward checking Idea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
![Page 62: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/62.jpg)
Constraint propagation Forward checking propagates information from
assigned to unassigned variables, but doesn't provide early detection for all failures:
NT and SA cannot both be blue! Constraint propagation repeatedly enforces
constraints locally
![Page 63: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/63.jpg)
Arc consistency Simplest form of propagation makes each arc
consistent X Y is consistent iff
for every value x of X there is some allowed y
![Page 64: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/64.jpg)
Arc consistency Simplest form of propagation makes each arc
consistent X Y is consistent iff
for every value x of X there is some allowed y
![Page 65: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/65.jpg)
Arc consistency Simplest form of propagation makes each arc
consistent X Y is consistent iff
for every value x of X there is some allowed y
If X loses a value, neighbors of X need to be rechecked
![Page 66: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/66.jpg)
Arc consistency Simplest form of propagation makes each arc consistent X Y is consistent iff
for every value x of X there is some allowed y
If X loses a value, neighbors of X need to be rechecked Arc consistency detects failure earlier than forward
checking Can be run as a preprocessor or after each assignment
![Page 67: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/67.jpg)
Arc consistency algorithm AC-3
Time complexity: O(n2d3)
![Page 68: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/68.jpg)
Local search for CSPs Hill-climbing, simulated annealing typically work
with "complete" states, i.e., all variables assigned
To apply to CSPs: allow states with unsatisfied constraints operators reassign variable values
Variable selection: randomly select any conflicted variable
Value selection by min-conflicts heuristic: choose value that violates the fewest constraints i.e., hill-climb with h(n) = total number of violated
constraints
![Page 69: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/69.jpg)
Example: 4-Queens States: 4 queens in 4 columns (44 = 256 states) Actions: move queen in column Goal test: no attacks Evaluation: h(n) = number of attacks
Given random initial state, can solve n-queens in almost constant time for arbitrary n with high probability (e.g., n = 10,000,000)
![Page 70: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/70.jpg)
Adversarial Search
UNIT-2
![Page 71: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/71.jpg)
Outline
Optimal decisions α-β pruning Imperfect, real-time decisions
![Page 72: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/72.jpg)
Games vs. search problems
"Unpredictable" opponent specifying a move for every possible opponent reply
Time limits unlikely to find goal, must approximate
![Page 73: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/73.jpg)
Game tree (2-player, deterministic, turns)
![Page 74: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/74.jpg)
Minimax Perfect play for deterministic games Idea: choose move to position with highest
minimax value = best achievable payoff against best
play E.g., 2-ply game:
![Page 75: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/75.jpg)
Minimax algorithm
![Page 76: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/76.jpg)
Properties of minimax Complete? Yes (if tree is finite) Optimal? Yes (against an optimal
opponent) Time complexity? O(bm) Space complexity? O(bm) (depth-first
exploration)
For chess, b ≈ 35, m ≈100 for "reasonable" games exact solution completely infeasible
![Page 77: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/77.jpg)
α-β pruning example
![Page 78: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/78.jpg)
α-β pruning example
![Page 79: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/79.jpg)
α-β pruning example
![Page 80: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/80.jpg)
α-β pruning example
![Page 81: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/81.jpg)
α-β pruning example
![Page 82: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/82.jpg)
Properties of α-β Pruning does not affect final result
Good move ordering improves effectiveness of pruning
With "perfect ordering," time complexity = O(bm/2) doubles depth of search
A simple example of the value of reasoning about which computations are relevant (a form of metareasoning)
![Page 83: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/83.jpg)
Why is it called α-β? α is the value of the
best (i.e., highest-value) choice found so far at any choice point along the path for max
If v is worse than α, max will avoid it prune that branch
Define β similarly for min
![Page 84: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/84.jpg)
The α-β algorithm
![Page 85: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/85.jpg)
The α-β algorithm
![Page 86: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/86.jpg)
Resource limits
Suppose we have 100 secs, explore 104 nodes/sec 106 nodes per move
Standard approach: cutoff test:
e.g., depth limit (perhaps add quiescence search) evaluation function
= estimated desirability of position
![Page 87: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/87.jpg)
Evaluation functions For chess, typically linear weighted sum of
featuresEval(s) = w1 f1(s) + w2 f2(s) + … + wn fn(s)
e.g., w1 = 9 with
f1(s) = (number of white queens) – (number of black queens), etc.
![Page 88: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/88.jpg)
Cutting off searchMinimaxCutoff is identical to MinimaxValue
except1. Terminal? is replaced by Cutoff?2. Utility is replaced by Eval
Does it work in practice?bm = 106, b=35 m=4
4-ply lookahead is a hopeless chess player! 4-ply ≈ human novice 8-ply ≈ typical PC, human master 12-ply ≈ Deep Blue, Kasparov
![Page 89: mam ppt AI-unit-2-V1](https://reader033.fdocuments.net/reader033/viewer/2022061105/543ead82b1af9f880b8b46e0/html5/thumbnails/89.jpg)