CS 4100: Artificial Intelligence Informed Search Instructor: Jan-Willem van de Meent [Adapted from slides by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley (ai.berkeley.edu).]
Announcements • Homework k 1: Search (lead TA: Iris) • Due Mon 16 Sep at 11:59pm (deadline ext xtended) • Pr t 1: Search (lead TA: Iris) Project 1 • Due Mon 23 Sep at 11:59pm • Longer than most – start early! • Homework k 2: Constraint Satisfaction Problems (lead TA: Eli) • Due Mon 23 Sep at 11:59pm • Offi Office H Hours • Iris: s: Mon 10.00am-noon, RI 237 • JW JW: Tue 1.40pm-2.40pm, DG 111 • El Eli: Wed 3.00pm-5pm, RY 143 • Zh Zhaoqi qing: : Thu 9.00am-11.00am, HS 202
Today • Informed Search • Heuristics • Greedy Search • A* Search • Graph Search
Recap: Search
Recap: Search • Search problem: • St States (configurations of the world) • Ac Actions and cost sts • Successo ssor functio n (world dynamics) • Start st state and goal test st • Search tree: • No Nodes represent plans s for reaching states • Pl Plans have cost sts s (sum of action costs) • Search algorithm: • Systematically builds a search tree • Chooses an ordering of the fr frin inge (unexplored nodes) • Co Comple lete te: : finds solution if it exists • Op Optim timal: l: finds least-cost plan
Example: Pancake Problem Cost: Number of pancakes flipped
Example: Pancake Problem
Example: Pancake Problem
Example: Pancake Problem State space graph with costs as weights 4 2 3 2 3 4 3 4 2 3 2 2 4 3
General Tree Search Action: flip top two Action: flip all four Path to reach goal: Cost: 2 Cost: 4 Flip four, flip three Total cost: 7
The One Queue • All these search algorithms are the same except for fringe strategies • Conceptually, all fringes are priority queues (i.e. collections of nodes with attached priorities) • Practically, for DFS and BFS, you can avoid the log(n) overhead from an actual priority queue, by using stacks and queues • Can even code one implementation that takes a variable queuing object
Uninformed Search
Uniform Cost Search • Strategy: y: expand lowest path cost c £ 1 … c £ 2 c £ 3 • The ood: UCS is complete and optimal! The good • The The bad ad: • Explores options in every “direction” Start Goal • No information about goal location
UCS in Empty Space
UCS Contours for a Small Maze
Informed Search
Search Heuristics A heuristic is: • A function that estimates how close a state is to a goal • Designed for a particular search problem • Ex Exampl ples: Manhattan distance, Euclidean distance • 10 5 11.2
Example: Heuristic for Travel in Romania h(x)
Example: Heuristic for Pancake Flipping Heurist He stic: the number of pancakes that is still out of place 2 h(x) 4 3 3 2 0 3 4 3 3 3 2 3
Example: Heuristic for Pancake Flipping New He Ne Heurist stic: the index of the largest pancake that is still out of place 2 h 1 (x) 3 4 4 h 2 (x) 4 3 3 3 3 3 2 2 4 0 0 3 0 3 3 4 4 4 3 3 4 3 3 3 3 3 4 2 2 4 3 3 2 3
Greedy Search
Strategy: Pick node with smallest h(x) h(x)
Greedy Search • Expand the node that seems closest • What can go wrong?
Greedy Search b • Strategy: … y: expand the node that you think is closest to a goal state • Heurist stic: estimate of distance to nearest goal for each state • A common case se: b • Best-first takes you straight to the goal … (but finds suboptimal path) • Worst se: like a badly-guided DFS st-case
Greedy Search in Empty Space
Greedy Search in a Small Maze
A* Search
A* Search UCS UCS Gr Greedy Search (slow and steady) (fast but unreliable) A* A* Se Search (best of both worlds)
Combining UCS and Greedy Search st orders by path cost, or ba backward cost g( Un Unif iform rm-co cost g(n) • Greedy orders by goal proximity, or fo forward heuristic h( Gr h(n) n) • g = 0 8 S h=6 g = 1 h=1 e a h=5 1 1 3 2 g = 9 g = 2 g = 4 S a d G b d e h=1 h=6 h=2 h=6 h=5 1 h=2 h=0 1 g = 3 g = 6 g = 10 c b c G d h=7 h=0 h=2 h=7 h=6 g = 12 G h=0 A* Search orders by the sum: f( f(n) = g(n) + h(n) • Exampl Ex ple: Teg Grenager
When should A* terminate? • Should we stop when we enqueue a goal? h = 2 A 2 2 S G h = 3 h = 0 2 3 B h = 1 • No No: only stop when we dequeue a goal
Is A* Optimal? h = 6 1 3 A S h = 7 G h = 0 5 • What went wrong? • Actual cost < heuristic cost • We need estimates to be less than actual costs!
Admissible Heuristics
Idea: Admissibility Inadmissible (pessimistic) heuristics break Admissible (optimistic) heuristics slow down optimality by trapping good plans on the fringe bad plans but never outweigh true costs
Admissible Heuristics • A heuristic h( h(n) n) is admissible (optimistic) if: where h* h*(n) n) is the true cost to a nearest goal • Examples: 4 15 • Coming up with admissible heuristics is most of what’s involved in using A* in practice.
Optimality of A* Tree Search
Optimality of A* Tree Search As Assume me: • A is an optimal goal node … • B is a suboptimal goal node • h is admissible Cl Claim: • A will exit the fringe before B
Optimality of A* Tree Search: Blocking Pr Proof: … • Imagine B is on the fringe • Some ancestor n of A is on the fringe, too (maybe A A itself!) Claim: n will be expanded before B • Cl f(n) is less or equal to f( 1. 1. f( f(A) Definition of f-cost Admissibility of h h = 0 at a goal
Optimality of A* Tree Search: Blocking Pr Proof: … • Imagine B is on the fringe • Some ancestor n of A is on the fringe, too (maybe A A itself!) Claim: n will be expanded before B • Cl f(n) is less or equal to f( 1. f( 1. f(A) 2. f( 2. f(A) is less than f( f(B) B is suboptimal h= h=0 0 at a goal
Optimality of A* Tree Search: Blocking Pr Proof: … • Imagine B is on the fringe • Some ancestor n of A is on the fringe, too (maybe A A itself!) Claim: n will be expanded before B • Cl f(n) is less or equal to f( 1. 1. f( f(A) f(A) is less than f( 2. 2. f( f(B) 3. n expands before B 3. • All ancestors of A expand before B • A expands before B A* search is op • A* opti timal
Properties of A*
Properties of A* Uniform-Cost A* b b … …
UCS vs A* Contours • Unifor Uniform-co cost t expands equally in all “directions” Start Goal • A* A* expands mainly toward the goal, but does hedge its bets to ensure optimality Start Goal
A* Search in Empty Space
A* Search in Small Maze
Comparison Greedy Uniform Cost A*
A* Applications • Video games • Pathing / routing problems • Resource planning problems • Robot motion planning • Language analysis • Machine translation • Speech recognition • …
Pacman (Tiny Maze) – UCS / A*
Quiz: z: Shallow/Deep Water – Guess the Algorithm
Creating Heuristics
Creating Admissible Heuristics • Most of the work in solving hard search problems optimally is in coming up with admissible heuristics • Often, admissible heuristics are solutions to relaxe xed problems , where new actions are available 366 15 • Inadmissible heuristics are often useful too
Example: 8 Puzzle Start State Actions Goal State • What are the states? • How many states? • What are the actions? • How many successors from the start state? • What should the costs be?
8 Puzzle I • Heurist stic: Number of tiles misplaced • Why is it admissible? 8 • h(start) = • This is a relaxed-problem heuristic Start State Goal State Average nodes expanded when the optimal path has… …4 steps …8 steps …12 steps UCS 112 6,300 3.6 x 10 6 TILES 13 39 227 Statistics from Andrew Moore
8 Puzzle II • What if we had an easi sier 8-puzzle where any y tile could slide in any y direction at any y time (ignoring other tiles)? Start State Goal State • Total Ma Manhattan distance of tiles • Why is it admissible? Average nodes expanded when the optimal path has… • h(start) = 3 + 1 + 2 + … = 18 …4 steps …8 steps …12 steps TILES 13 39 227 MANHATTAN 12 25 73
8 Puzzle III • How about using the actual cost st as a heuristic? • Would it be admissible? • Would we save on nodes expanded? • What’s wrong with it? • Wi *: a trade-off between quality With A*: y of est stimate and work k per node • As heuristics get closer to the true cost, you will expand fewer nodes but usually do more work per node to compute the heuristic
Semi-Lattice of Heuristics
Trivial Heuristics, Dominance • Dominance: h a ≥ h c if • Heuristics form a semi-lattice: • Max of admissible heuristics is admissible • Trivial heuristics • Bottom of lattice is the zero heuristic (what does this give us?) • Top of lattice is the exact heuristic
Graph Search
Tree Search: Extra Work! • Repeated states can cause exponentially more work. State Graph Search Tree
Recommend
More recommend