Announcements CS 4100: Artificial Intelligence • Homework k 1: Search (lead TA: Iris) Informed Search • Due Mon 16 Sep at 11:59pm (deadline ext xtended) • Pr Project 1 t 1: Search (lead TA: Iris) • 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 Instructor: Jan-Willem van de Meent • El Eli: Wed 3.00pm-5pm, RY 143 • Zh Zhaoqi qing: : Thu 9.00am-11.00am, HS 202 [Adapted from slides by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley (ai.berkeley.edu).] Today Recap: Search • Informed Search • Heuristics • Greedy Search • A* Search • Graph Search Recap: Search Example: Pancake Problem • 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 Cost: Number of pancakes flipped Example: Pancake Problem Example: Pancake Problem
Example: Pancake Problem General Tree Search State space graph with costs as weights 4 2 3 2 3 Action: flip top two Action: flip all four 4 Path to reach goal: Cost: 2 Cost: 4 3 Flip four, flip three 4 2 Total cost: 7 3 2 2 4 3 Uninformed Search 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 Uniform Cost Search UCS in Empty Space • 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 Contours for a Small Maze Informed Search
Search Heuristics Example: Heuristic for Travel in Romania • 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 h(x) Example: Heuristic for Pancake Flipping Example: Heuristic for Pancake Flipping Heurist He stic: the number of pancakes that is still out of place New He Ne Heurist stic: the index of the largest pancake that is still out of place 2 2 h(x) h 1 (x) 3 4 4 4 h 2 (x) 4 3 3 3 3 3 3 3 2 2 2 0 4 0 0 3 0 3 3 3 4 4 4 4 3 3 3 4 3 3 3 3 3 3 3 4 2 2 2 3 4 3 3 2 3 Greedy Search Strategy: Pick node with smallest h(x) h(x) Greedy Search Greedy Search b • Expand the node that seems closest • 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 st-case se: like a badly-guided DFS • What can go wrong?
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 When should A* terminate? • Unif Un iform rm-co cost st orders by path cost, or ba backward cost g( g(n) • Should we stop when we enqueue a goal? • Greedy orders by goal proximity, or fo Gr forward heuristic h( h(n) n) h = 2 g = 0 8 S h=6 A 2 2 g = 1 e h=1 a h=5 1 S G h = 3 h = 0 1 3 2 g = 2 g = 9 g = 4 S a d G b d e h=6 h=1 h=2 h=6 h=5 1 h=2 h=0 2 B 3 1 g = 3 g = 6 g = 10 c b c G d h=7 h=0 h=2 h = 1 h=7 h=6 g = 12 • No No: only stop when we dequeue a goal G h=0 • A* Search orders by the sum: f( f(n) = g(n) + h(n) Ex Exampl ple: Teg Grenager Is A* Optimal? Admissible Heuristics h = 6 1 A 3 S h = 7 G h = 0 5 • What went wrong? • Actual cost < heuristic cost • We need estimates to be less than actual costs!
Idea: Admissibility 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 Inadmissible (pessimistic) heuristics break Admissible (optimistic) heuristics slow down • Coming up with admissible heuristics is optimality by trapping good plans on the fringe bad plans but never outweigh true costs 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 Optimality of A* Tree Search: Blocking Pr Proof: Proof: Pr … … • Imagine B is on the fringe • Imagine B is on the fringe • Some ancestor n of A is on the • Some ancestor n of A is on the fringe, too (maybe A A itself!) fringe, too (maybe A A itself!) Claim: n will be expanded before B Claim: n will be expanded before B • Cl • Cl 1. 1. f( f(n) is less or equal to f( f(A) 1. 1. f( f(n) is less or equal to f( f(A) 2. f( 2. f(A) is less than f( f(B) Definition of f-cost B is suboptimal h=0 h= 0 at a goal 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!) Properties of A* • Cl Claim: n will be expanded before B 1. 1. f( f(n) is less or equal to f( f(A) 2. f( 2. f(A) is less than f( f(B) 3. 3. n expands before B • All ancestors of A expand before B • A expands before B A* search is op • A* opti timal
Properties of A* UCS vs A* Contours Uniform-Cost A* • Unifor Uniform-co cost t expands equally in all “directions” b b 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 A* Applications • Video games • Pathing / routing problems • Resource planning problems • Robot motion planning • Language analysis • Machine translation • Speech recognition Greedy Uniform Cost A* • … 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 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 Start State Actions Goal State Average nodes expanded • What are the states? when the optimal path has… • How many states? …4 steps …8 steps …12 steps • What are the actions? UCS 112 6,300 3.6 x 10 6 • How many successors from the start state? TILES 13 39 227 • What should the costs be? Statistics from Andrew Moore 8 Puzzle II 8 Puzzle III • How about using the actual cost st as a heuristic? • What if we had an easi sier 8-puzzle y tile could slide in • Would it be admissible? where any any y direction at any y time • Would we save on nodes expanded? (ignoring other tiles)? • What’s wrong with it? Start State Goal State • Total Ma Manhattan distance of tiles • Why is it admissible? Average nodes expanded • Wi *: a trade-off between quality stimate and work With A*: y of est k per node when the optimal path has… • As heuristics get closer to the true cost, you will expand fewer nodes • h(start) = 3 + 1 + 2 + … = 18 …4 steps …8 steps …12 steps but usually do more work per node to compute the heuristic TILES 13 39 227 MANHATTAN 12 25 73 Trivial Heuristics, Dominance • Dominance: h a ≥ h c if Semi-Lattice of Heuristics • 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
Recommend
More recommend