CMPT 463
What will be covered A* search Local search Game tree Constraint satisfaction problems (CSP)
Types of Questions T or F Short answers Homework questions (A*, MiniMax, pruning..)
A * search Best-known form of best-first 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
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 Example: h SLD (n) (never overestimates the actual road distance)
A* Search Complete Yes, unless there are infinitely many nodes with f <= f(G) Time Exponential in [relative error of h x length of soln] The better the heuristic, the better the time Best case h is perfect, O(d) Worst case h = 0, O(b d ) same as BFS Space Keeps all nodes in memory and save in case of repetition This is O(b d ) or worse A* usually runs out of space before it runs out of time Optimal Yes, cannot expand f i+1 unless f i is finished
Manhattan distances
Heuristic Function Function h(N) that estimate the cost of the cheapest path from node N to goal node. Example: 8-puzzle N goal h 2 (N) = sum of the distances of every tile to its goal position = = 13
Local search algorithms In many optimization problems, the path to the goal is irrelevant; the goal state itself is the solution. e.g., n-queens. We can use local search algorithms: keep a single "current" state, try to improve it generally move to neighbors The paths are not retained 9
Hill-climbing search Problem: depending on initial state, can get stuck in local maxima.
Some solutions allow a sideways move shoulder flat local maximum, that is not a shoulder 11
Some solutions Solution: a limit on the number of consecutive sideway moves E.g., 100 consecutive sideways movies in the 8-queens problem successful rate: raises from14% to 94% cost: 21 steps on average for each successful instance, 64 for each failure 12
Some more solutions (Variants of hill climbing ) Stochastic hill climbing chooses at random from among the uphill moves converge more slowly, but finds better solutions Random-restart hill climbing “If you don’t succeed, try, try again.” Keep restarting from randomly generated initial states, stopping when goal is found
Simulated Annealing Picks a random move (instead of the best) If “good move” accepted; else accepted with some probability The probability decreases exponentially with the “badness” of the move It also decreases as temperature “T” goes down
Local Beam Search Idea: keep k states instead of 1; choose top k of all their successors Not the same as k searches run in parallel! Searches that find good states recruit other searches to join them moves the resources to where the most progress is being made
Minimax The minimax value of a node is the utility (for Max) of being in the corresponding state, assuming that both players play optimally. Minimax(s) = Utility (s)if Terminal-test(s) max of Minimax(Result(s,a)) if Player(s) = Max min of Minimax(Result(s,a))if Player(s) = Min
Optimal Play MAX MIN This is the optimal play
Alpha-Beta Example [-∞, +∞] Range of possible values Do DFS until first leaf
Alpha-Beta Example (continued) [-∞,3] [-∞,+∞]
Alpha-Beta Example (continued) [-∞,3] [-∞,+∞]
Alpha-Beta Example (continued) [3,+∞] [3,3]
Alpha-Beta Example (continued) [-∞,2] [3,+∞] [3,3] This node is worse for MAX
Alpha-Beta Example (continued) [-∞,2] [3,14] [3,3][-∞,14],
Alpha-Beta Example (continued) [−∞,2] [3,5] [3,3][-∞,5],
Alpha-Beta Example (continued) [2,2] [−∞,2] [3,3]
Alpha-Beta Example (continued) [2,2] [-∞,2] [3,3]
27 Example: Map-Coloring Variables WA, NT, Q, NSW, V, SA, T Domains D i = {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)}
28 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
29 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
30 Example: Cryptarithmetic Variables: F T U W R O X 1 X 2 X 3 Domains: {0,1,2,3,4,5,6,7,8,9} Constraints: Alldiff (F,T,U,W,R,O) O + O = R + 10 · X 1 X 1 + W + W = U + 10 · X 2 X 2 + T + T = O + 10 · X 3 X 3 = F, T ≠ 0, F ≠ 0
Sudoku
Example: Sudoku CSP variables: X 11, …, X 99 domains: {1,…,9} constraints: row constraint: X 11 X 12, …, X 11 X 19 col constraint: X 11 X 12, …, X 11 X 19 block constraint: X 11 X 12, …, X 11 X 33 Goal: Assign a value to every variable such that all constraints are satisfied
33 Most constrained variable Most constrained variable: choose the variable with the fewest legal values a.k.a. minimum remaining values (MRV) heuristic
34 Most constraining variable Tie-breaker among most constrained variables Most constraining variable (degree heuristics): choose the variable with the most constraints on remaining variables
35 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
36 Forward checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values
37 Forward checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values
38 Forward checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values
39 Forward checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values