CE 473: Artificial Intelligence Autumn 2011 A* Search Luke - - PowerPoint PPT Presentation

ce 473 artificial intelligence autumn 2011
SMART_READER_LITE
LIVE PREVIEW

CE 473: Artificial Intelligence Autumn 2011 A* Search Luke - - PowerPoint PPT Presentation

CE 473: Artificial Intelligence Autumn 2011 A* Search Luke Zettlemoyer Based on slides from Dan Klein Multiple slides from Stuart Russell or Andrew Moore Today A* Search Heuristic Design Graph search Recap: Search


slide-1
SLIDE 1

CE 473: Artificial Intelligence Autumn 2011

A* Search

Luke Zettlemoyer

Based on slides from Dan Klein Multiple slides from Stuart Russell or Andrew Moore

slide-2
SLIDE 2

Today

§ A* Search § Heuristic Design § Graph search

slide-3
SLIDE 3

Recap: Search

§ Search problem:

§ States (configurations of the world) § Successor function: a function from states to lists of (state, action, cost) triples; drawn as a graph § Start state and goal test

§ Search tree:

§ Nodes: represent plans for reaching states § Plans have costs (sum of action costs)

§ Search Algorithm:

§ Systematically builds a search tree § Chooses an ordering of the fringe (unexplored nodes)

slide-4
SLIDE 4

Example: Pancake Problem

Cost: Number of pancakes flipped Action: Flip over the top n pancakes

slide-5
SLIDE 5

Example: Pancake Problem

slide-6
SLIDE 6

Example: Pancake Problem

3 2 4 3 3 2 2 2 4

State space graph with costs as weights

3 4 3 4 2 3

slide-7
SLIDE 7

General Tree Search

Action: flip top two Cost: 2 Action: flip all four Cost: 4 Path to reach goal: Flip four, flip three Total cost: 7

slide-8
SLIDE 8

Uniform Cost Search

§ Strategy: expand lowest path cost § The good: UCS is complete and optimal! § The bad:

§ Explores options in every “direction” § No information about goal location

Start Goal … c ≤ 3 c ≤ 2 c ≤ 1

slide-9
SLIDE 9

Example: Heuristic Function

Heuristic: the largest pancake that is still out of place 4 3 2 3 3 3 4 4 3 4 4 4

h(x)

slide-10
SLIDE 10

Best First (Greedy)

§ Strategy: expand a node that you think is closest to a goal state

§ Heuristic: estimate of distance to nearest goal for each state

§ A common case:

§ Best-first takes you straight to the (wrong) goal

§ Worst-case: like a badly- guided DFS

… b … b

slide-11
SLIDE 11

Example: Heuristic Function

h(x)

slide-12
SLIDE 12

Combining UCS and Greedy

§ A* Search orders by the sum: f(n) = g(n) + h(n)

S a d b G h=5 h=6 h=2 1 5 1 1 2 h=6 h=0 c h=7 3 e h=1 1

Example: Teg Grenager

§ Uniform-cost orders by path cost, or backward cost g(n) § Best-first orders by goal proximity, or forward cost h(n)

1

slide-13
SLIDE 13

§ Should we stop when we enqueue a goal?

When should A* terminate?

S B A G 2 3 2 2

h = 1 h = 2 h = 0 h = 3

§ No: only stop when we dequeue a goal

slide-14
SLIDE 14

Is A* Optimal?

A G S 1 3

h = 6 h = 0

5

h = 7

§ What went wrong? § Actual bad goal cost < estimated good goal cost § We need estimates to be less than actual costs!

slide-15
SLIDE 15

Admissible Heuristics

§ A heuristic h is admissible (optimistic) if: where is the true cost to a nearest goal

4

15

§ Examples: § Coming up with admissible heuristics is most

  • f what’s involved in using A* in practice.
slide-16
SLIDE 16

Optimality of A*: Blocking

Notation: § g(n) = cost to node n § h(n) = estimated cost from n to the nearest goal (heuristic) § f(n) = g(n) + h(n) = estimated total cost via n § G*: a lowest cost goal node § G: another goal node

slide-17
SLIDE 17

Optimality of A*: Blocking

Proof: § What could go wrong? § We’d have to have to pop a suboptimal goal G off the fringe before G*

§ This can’t happen: § For all nodes n on the best path to G* § f(n) < f(G) § So, G* will be popped before G

slide-18
SLIDE 18

Properties of A*

… b … b

Uniform-Cost A*

slide-19
SLIDE 19

UCS vs A* Contours

§ Uniform-cost expanded in all directions § A* expands mainly toward the goal, but does hedge its bets to ensure optimality

Start Goal Start Goal

slide-20
SLIDE 20

Which Algorithm?

§ Uniform cost search (UCS):

slide-21
SLIDE 21

Which Algorithm?

§ A*, Manhattan Heuristic:

slide-22
SLIDE 22

Which Algorithm?

§ Best First / Greedy, Manhattan Heuristic:

slide-23
SLIDE 23

Creating Heuristics

§ What are the states? § How many states? § What are the actions? § What states can I reach from the start state? § What should the costs be?

8-puzzle:

slide-24
SLIDE 24

8 Puzzle I

§ Heuristic: Number of tiles misplaced § h(start) = 8

Average nod

  • ptimal path

e nodes expande l path has length… xpanded when ength… …4 steps …8 steps …12 steps

UCS 112 6,300 3.6 x 106

TILES

13 39 227

§ Is it admissible?

slide-25
SLIDE 25

8 Puzzle II

§ What if we had an easier 8-puzzle where any tile could slide any direction at any time, ignoring other tiles? § Total Manhattan distance § h(start) = 3 + 1 + 2 + … = 18

Average nod

  • ptimal path

e nodes expande l path has length… anded when ngth… …4 steps …8 steps …12 steps TILES

13 39 227

MANHATTAN

12 25 73

§ Admissible?

slide-26
SLIDE 26

8 Puzzle III

§ How about using the actual cost as a heuristic?

§ Would it be admissible? § Would we save on nodes expanded? § What’s wrong with it?

§ With A*: a trade-off between quality of estimate and work per node!

slide-27
SLIDE 27

Creating Admissible Heuristics

§ Most of the work in solving hard search problems

  • ptimally is in coming up with admissible heuristics

§ Often, admissible heuristics are solutions to relaxed problems, where new actions are available 15 366 § Inadmissible heuristics are often useful too (why?)

slide-28
SLIDE 28

Trivial Heuristics, Dominance

§ Dominance: ha ≥ hc 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

slide-29
SLIDE 29

A* Applications

§ Pathing / routing problems § Resource planning problems § Robot motion planning § Language analysis § Machine translation § Speech recognition § …

slide-30
SLIDE 30

Tree Search: Extra Work!

§ Failure to detect repeated states can cause exponentially more work. Why?

slide-31
SLIDE 31

Graph Search

§ In BFS, for example, we shouldn’t bother expanding some nodes (which, and why?)

S

a b d p a c e p h f r q q c

G

a q e p h f r q q c

G

a

slide-32
SLIDE 32

Graph Search

§ Idea: never expand a state twice § How to implement:

§ Tree search + list of expanded states (closed list) § Expand the search tree node-by-node, but… § Before expanding a node, check to make sure its state is new

§ Python trick: store the closed list as a set, not a list § Can graph search wreck completeness? Why/why not? § How about optimality?

slide-33
SLIDE 33

A* Graph Search Gone Wrong

S A B C G 1 1 1 2 3 h=2 h=1 h=4 h=1 h=0 S (0+2) A (1+4) B (1+1) C (2+1) G (5+0) C (3+1) G (6+0) S A B C G State space graph Search tree

slide-34
SLIDE 34

Optimality of A* Graph Search

Proof: § Main idea: Argue that nodes are popped with non-decreasing f-scores § for all n,n’ with n’ popped after n : § f(n’) ≥ f(n) § is this enough for optimality? § Sketch: § assume: f(n’) ≥ f(n), for all edges (n,a,n’) and all actions a § is this true? § proof by induction: (1) always pop the lowest f-score from the fringe, (2) all new nodes have larger (or equal) scores, (3) add them to the fringe, (4) repeat!

slide-35
SLIDE 35

Consistency

§ Wait, how do we know parents have better f-values than their successors?

A B G 3

h = 0 h = 10

g = 10

§ Consistency for all edges (n,a,n’):

§ h(n) ≤ c(n,a,n’) + h(n’)

§ Proof that f(n’) ≥ f(n),

§ f(n’) = g(n’) + h(n’) = g(n) + c(n,a,n’) + h(n’) ≥ g(n) + h(n) = f(n)

h = 8

slide-36
SLIDE 36

Optimality

§ Tree search:

§ A* optimal if heuristic is admissible (and non- negative) § UCS is a special case (h = 0)

§ Graph search:

§ A* optimal if heuristic is consistent § UCS optimal (h = 0 is consistent)

§ Consistency implies admissibility § In general, natural admissible heuristics tend to be consistent

slide-37
SLIDE 37

Summary: A*

§ A* uses both backward costs and (estimates of) forward costs § A* is optimal with admissible heuristics § Heuristic design is key: often use relaxed problems

slide-38
SLIDE 38

To Do:

§ Keep up with the readings § Get started on PS1 § it is long; start soon § due in about a week