+ All Categories
Home > Documents > CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng,...

CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng,...

Date post: 19-Jan-2016
Category:
Upload: rodney-logan
View: 216 times
Download: 0 times
Share this document with a friend
Popular Tags:
99
CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based on Russell, aima.eecs.berkeley.edu/slides-pdf.
Transcript
Page 1: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

CS 8520: Artificial Intelligence

Search

Paula Matuszek

Fall, 2005

Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based on Russell, aima.eecs.berkeley.edu/slides-pdf.

Page 2: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 2

Problem-solving agents

Page 3: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 3

Example: Romania• On holiday in Romania; currently in Arad.• Flight leaves tomorrow from Bucharest• Formulate goal:

– be in Bucharest

• Formulate problem:– states: various cities– actions: drive between cities

• Find solution:– sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest

Page 4: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 4

Example: Romania

Page 5: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 5

Problem types• Deterministic, fully observable single-state problem

– Agent knows exactly which state it will be in; solution is a sequence

• Non-observable sensorless problem (conformant problem)– Agent may have no idea where it is; solution is a sequence

• Nondeterministic and/or partially observable contingency problem– percepts provide new information about current state– often interleave} search, execution

• Unknown state space exploration problem

Page 6: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 6

Example: vacuum world• Single-state, start in #5.

Solution?

Page 7: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 7

Example: vacuum world• Single-state, start in #5.

Solution? [Right, Suck]

• Sensorless, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution?

Page 8: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 8

Example: vacuum world• Sensorless, start in

{1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution? [Right,Suck,Left,Suck]

• Contingency – Nondeterministic: Suck may

dirty a clean carpet

– Partially observable: location, dirt at current location.

– Percept: [L, Clean], i.e., start in #5 or #7

Solution?

Page 9: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 9

Example: vacuum world• Sensorless, start in

{1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution? [Right,Suck,Left,Suck]

• Contingency – Nondeterministic: Suck may

dirty a clean carpet

– Partially observable: location, dirt at current location.

– Percept: [L, Clean], i.e., start in #5 or #7

Solution? [Right, if dirt then Suck]

Page 10: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 10

Single-state problem formulationA problem is defined by four items:

1. initial state e.g., "at Arad"2. actions or successor function S(x) = set of action–state

pairs • e.g., S(Arad) = {<Arad Zerind, Zerind>, … }

3. goal test, can be• explicit, e.g., x = "at Bucharest"• implicit, e.g., Checkmate(x)

4. path cost (additive)• e.g., sum of distances, number of actions executed, etc.• c(x,a,y) is the step cost, assumed to be ≥ 0

• A solution is a sequence of actions leading from the initial state to a goal state

Page 11: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 11

Selecting a state space• Real world is absurdly complex

state space must be abstracted for problem solving

• (Abstract) state = set of real states• (Abstract) action = complex combination of real actions

– e.g., "Arad Zerind" represents a complex set of possible routes, detours, rest stops, etc.

• For guaranteed realizability, any real state "in Arad“ must get to some real state "in Zerind"

• (Abstract) solution = – set of real paths that are solutions in the real world

• Each abstract action should be "easier" than the original problem

Page 12: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 12

Vacuum world state space graph

• States? Actions? Goal Test? Path Cost?

Page 13: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 13

Vacuum world state space graph

• states? integer dirt and robot location • actions? Left, Right, Suck• goal test? no dirt at all locations• path cost? 1 per action

Page 14: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 14

Example: The 8-puzzle

• states?• actions?• goal test?• path cost?

Page 15: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 15

Example: The 8-puzzle

• states? locations of tiles • actions? move blank left, right, up, down • goal test? = goal state (given)• path cost? 1 per move

[Note: optimal solution of n-Puzzle family is NP-hard]

Page 16: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 16

Example: robotic assembly

• states? • actions?• goal test?• path cost?

Page 17: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 17

Example: robotic assembly

• states?: real-valued coordinates of robot joint angles parts of the object to be assembled

• actions?: continuous motions of robot joints• goal test?: complete assembly• path cost?: time to execute

Page 18: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 18

Tree search algorithms• Basic idea:

– offline, simulated exploration of state space by generating successors of already-explored states (a.k.a.~expanding states)

Page 19: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 19

Tree search example

Page 20: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 20

Tree search example

Page 21: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 21

Tree search example

Page 22: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 22

Implementation: general tree search

Page 23: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 23

Implementation: states vs. nodes• A state is a (representation of) a physical configuration• A node is a data structure constituting part of a search tree

includes state, parent node, action, path cost g(x), depth

• The Expand function creates new nodes, filling in the various fields and using the SuccessorFn of the problem to create the corresponding states.

Page 24: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 24

Search strategies• A search strategy is defined by picking the order of

node expansion. (e.g., breadth-first, depth-first) • Strategies are evaluated along the following

dimensions:– completeness: does it always find a solution if one exists?– time complexity: number of nodes generated– space complexity: maximum number of nodes in memory– optimality: does it always find a least-cost solution?

• Time and space complexity are measured in terms of – b: maximum branching factor of the search tree– d: depth of the least-cost solution– m: maximum depth of the state space (may be infinite)

Page 25: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 25

Uninformed search strategies• Uninformed search strategies use only the

information available in the problem definition

• Breadth-first search

• Uniform-cost search

• Depth-first search

• Depth-limited search

• Iterative deepening search

Page 26: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 26

Implementation: general tree search

Page 27: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 27

Breadth-first search• Expand shallowest unexpanded node

• Implementation:– fringe is a FIFO queue, i.e., new successors go

at end

Page 28: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 28

Breadth-first search• Expand shallowest unexpanded node

• Implementation:– fringe is a FIFO queue, i.e., new successors

go at end

Page 29: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 29

Breadth-first search• Expand shallowest unexpanded node

• Implementation:– fringe is a FIFO queue, i.e., new successors go

at end

Page 30: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 30

Breadth-first search• Expand shallowest unexpanded node

• Implementation:– fringe is a FIFO queue, i.e., new successors go

at end

Page 31: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 31

Properties of breadth-first search• Complete? Yes (if b is finite)• Time? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1)• Space? O(bd+1) (keeps every node in memory)• Optimal? Yes (if cost = 1 per step)

• Space is the bigger problem (more than time)

Page 32: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 32

Uniform-cost search• Expand least-cost unexpanded node• Implementation:

– fringe = queue ordered by path cost

• Equivalent to breadth-first if step costs all equal• Complete? Yes, if step cost >= epsilon (otherwise can

loop)• Time and space? O(bceiling(C*/ epsilon)) where C* is the cost of

the optimal solution and epsilon is the smallest step cost– Can be much worse than breadth-first if many small steps not on

optimal path

• Optimal? Yes – nodes expanded in increasing order of g(n)

Page 33: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 33

Uniform Cost Search

Page 34: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 34

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 35: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 35

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 36: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 36

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 37: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 37

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 38: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 38

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 39: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 39

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 40: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 40

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 41: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 41

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 42: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 42

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 43: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 43

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 44: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 44

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 45: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 45

Depth-first search• Expand deepest unexpanded node• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 46: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 46

Properties of depth-first search

• Complete? No: fails in infinite-depth spaces, spaces with loops– Modify to avoid repeated states along path

complete in finite spaces

• Time? O(bm): terrible if m is much larger than d– but if solutions are dense, may be much faster than

breadth-first

• Space? O(bm), i.e., linear space!• Optimal? No

Page 47: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 47

Depth-limited search• = depth-first search with depth limit l

• Nodes at depth l have no successors

• Solves problem of infinite depth

• Incomplete

• Recursive implementation:

Page 48: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 48

Iterative deepening search•Repeated Depth-Limited search, incrementing limit l until a solution is found or failure.

•Repeats earlier steps at each new level, so inefficient -- but never more than doubles cost

•No longer incomplete

Page 49: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 49

Iterative deepening search l =0

Page 50: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 50

Iterative deepening search l =1

Page 51: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 51

Iterative deepening search l =2

Page 52: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 52

Iterative deepening search l =3

Page 53: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 53

Properties of iterative deepening

• Complete? Yes

• Time? (d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd)

• Space? O(bd)

• Optimal? Yes, if step cost = 1

Page 54: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 54

Summary of Algorithms for Ininformed Search

Criterion Breadth-first

Uniform Cost

Depth First

Depth-Limited

Iterative Deepening

Complete?

Yes Yes No No Yes

Time? O(bd+1) O(b(ceilingC*

/epsilon)

O(bm) O(bl) O(bd)

Space? O(bd+1) O(b(ceilingC*

/epsilon)

O(bm) O(bl) O(bd)

Optimal? Yes Yes No No Yes

Page 55: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 55

A Caution: Repeated States• Failure to detect repeated states can turn a linear

problem into an exponential one, or even an infinite one.– For example: 8-puzzle– Simple repeat -- empty square simply moves back and

forth– More complex repeats also possible.

• Save list of expanded states -- the closed list.• Add new state to fringe only if it's not in closed list.

Page 56: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 56

Graph search

Page 57: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 57

Summary: Uninformed Search• Problem formulation usually requires abstracting away

real-world details to define a state space that can feasibly be explored

• Variety of uninformed search strategies

• Iterative deepening search uses only linear space and not much more time than other uninformed algorithms: usual choice

Page 58: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Informed search algorithms

Slides derived in part from

www.cs.berkeley.edu/~russell/slides/chapter04a.pdf, converted to powerpoint by Min-Yen Kan, National University of Singapore,

and from www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt, Marie DesJardins, University of Maryland Baltimore County.

Page 59: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 59

Review: Tree search

• A search strategy is defined by picking the order of node expansion

Page 60: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 60

Heuristic Search• Uninformed search is generic; choice of node to

expand is dependent on shape of tree and strategy for node expansion.

• Sometimes domain knowledge can help us make a better decision.

• For the Romania problem, eyeballing it results in looking at certain cities first because they "look closer" to where we are going.

• If that domain knowledge can be captured in a heuristic, search performance can be improved by using that heuristic.

• This gives us an informed search strategy.

Page 61: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 61

So What's A Heuristic?Webster's Revised Unabridged Dictionary (1913) (web1913)

Heuristic \Heu*ris"tic\, a. [Gr. ? to discover.] Serving to discover or find out.

The Free On-line Dictionary of Computing (15Feb98) heuristic 1. <programming> A rule of thumb, simplification or

educated guess that reduces or limits the search for solutions in domains that are difficult and poorly understood. Unlike algorithms, heuristics do not guarantee feasible solutions and are often used with no theoretical guarantee. 2. <algorithm> approximation algorithm.

From WordNet (r) 1.6 heuristic adj 1: (computer science) relating to or using a heuristic

rule 2: of or relating to a general formulation that serves to guide investigation [ant: algorithmic] n : a commonsense rule (or set of rules) intended to increase the probability of solving some problem [syn: heuristic rule, heuristic program]

Page 62: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 62

Heuristics• For search it has a very specific meaning:

– All domain knowledge used in the search is encoded in the heuristic function h.

• Examples:– Missionaries and Cannibals: Number of people on starting river bank– 8-puzzle: Number of tiles out of place – 8-puzzle: Sum of distances from goal – Romania: straight-line distance from city to Bucharest

• In general:– h(n) >= 0 for all nodes n – h(n) = 0 implies that n is a goal node – h(n) = infinity implies that n is a deadend from which a goal cannot be

reached

• h is some estimate of how desirable a move is, or how close it gets us to our goal

Page 63: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 63

Best-first search• Order nodes on the nodes list by

increasing value of an evaluation function, f(n), that incorporates domain-specific information in some way.

• This is a generic way of referring to the class of informed methods.

Page 64: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 64

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 65: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 65

Romania with step costs in km

Page 66: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 66

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 67: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 67

Greedy best-first search example

Page 68: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 68

Greedy best-first search example

Page 69: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 69

Greedy best-first search example

Page 70: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 70

Greedy best-first search example

Page 71: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 71

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• Remember: Time and space complexity are measured in

terms of – b: maximum branching factor of the search tree– d: depth of the least-cost solution– m: maximum depth of the state space (may be infinite)

Page 72: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 72

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 73: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 73

A* search example

Page 74: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 74

A* search example

Page 75: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 75

A* search example

Page 76: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 76

A* search example

Page 77: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 77

A* search example

Page 78: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 78

A* search example

Page 79: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 79

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.

• This means that we won't ignore a better path because we think the cost is too high. (If we underestimate it we wil learn that when we explore it.)

• Example: hSLD(n) (never overestimates the actual road distance)

Page 80: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 80

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 81: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 81

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 82: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 82

Properties of A*• If h(n) is admissible

• Complete? Yes (unless there are infinitely many nodes with f ≤ f(G) )

• Time? Exponential in [relative error in h * length of solution]

• Space? Keeps all nodes in memory

• Optimal? Yes; cannot expand f i+1 until f i is finished.

Page 83: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 83

Some observations on A*• Perfect heuristic: If h(n) = h*(n) for all n, then only nodes on

the optimal solution path will be expanded. So, no extra work will be performed.

• Null heuristic: If h(n) = 0 for all n, then this is an admissible heuristic and A* acts like Uniform-Cost Search.

• Better heuristic: If h1(n) < h2(n) <= h*(n) for all non-goal nodes, then h2 is a better heuristic than h1 – If A1* uses h1, and A2* uses h2, then every node expanded by A2* is

also expanded by A1*. – In other words, A1 expands at least as many nodes as A2*. – We say that A2* is better informed than A1*, or A2* dominates A1*

• The closer h is to h*, the fewer extra nodes that will be expanded

Page 84: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 84

What’s a good heuristic? How do we find one?

• If h1(n) < h2(n) <= h*(n) for all n, then both are admissible and h2 is better than (dominates) h1.

• Relaxing the problem: remove constraints to create a (much) easier problem; use the solution cost for this problem as the heuristic function

• Combining heuristics: take the max of several admissible heuristics: still have an admissible heuristic, and it’s better!

• Identify good features, then use a learning algorithm to find a heuristic function: may lose admissibility

Page 85: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 85

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 86: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 86

Some Examples of Heuristics?• 8-puzzle?

• Mapquest driving directions?

• Minesweeper?

• Crossword puzzle?

• Making a medical diagnosis?

• ??

Page 87: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 87

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 88: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 88

Example: n-queens• Put n queens on an n x n board with no two

queens on the same row, column, or diagonal

Page 89: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 89

Hill-climbing search• If there exists a successor s for the current state n such that

– h(s) < h(n)

– h(s) <= h(t) for all the successors t of n,

• then move from n to s. Otherwise, halt at n.

• Looks one step ahead to determine if any successor is better than the current state; if there is, move to the best successor.

• Similar to Greedy search in that it uses h, but does not allow backtracking or jumping to an alternative path since it doesn’t “remember” where it has been.

• Not complete since the search will terminate at "local minima," "plateaus," and "ridges."

Page 90: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 90

Hill-climbing search• "Like climbing Everest in thick fog with

amnesia"

Page 91: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 91

Hill climbing example

2 8 3

1 4

7 6 5

2 3

1 8 4

7 6 5

1 3

8 4

7 6 5

2

3

1 8 4

7 6 5

2

1 3

8 4

7 6 5

2

start goal

-5

h = -3

h = -3

h = -2

h = -1

h = 0h = -4

-5

-4

-4-3

-2

f(n) = -(number of tiles out of place)

2 8 3

1 6 4

7 5

1 3

8 4

7 6 5

2

Page 92: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 92

Drawbacks of hill climbing• Problems:

– Local Maxima: peaks that aren’t the highest point in the space

– Plateaus: the space has a broad flat region that gives the search algorithm no direction (random walk)

– Ridges: flat like a plateau, but with dropoffs to the sides; steps to the North, East, South and West may go down, but a step to the NW may go up.

• Remedy: – Random restart.

• Some problem spaces are great for hill climbing and others are terrible.

Page 93: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 93

Hill-climbing search• Problem: depending on initial state, can get

stuck in local maxima

Page 94: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 94

Example of a local maximum

1 2 5

7 4

8 6 3

1 2 5

7 4

8 6 3

1 2 5

7 4

8 6 3

1 2 5

7 4

8 6 3

1 2 5

7 4

8 6 3

-3

-4

-4

-4

0

start goal

Page 95: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 95

Simulated annealing• Simulated annealing (SA) exploits an analogy between the way

in which a metal cools and freezes into a minimum-energy crystalline structure (the annealing process) and the search for a minimum [or maximum] in a more general system.

• SA can avoid becoming trapped at local minima.

• SA uses a random search that accepts changes that increase objective function f, as well as some that decrease it.

• SA uses a control parameter T, which by analogy with the original application is known as the system “temperature.”

• T starts out high and gradually decreases toward 0.

Page 96: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 96

Simulated annealing search• Idea: escape local maxima by allowing some "bad" moves but

gradually decrease their frequency

Page 97: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 97

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 98: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 98

Local beam search• Keep track of k states rather than just one

• Start with k randomly generated states

• At each iteration, all the successors of all k states are generated

• If any one is a goal state, stop; else select the k best successors from the complete list and repeat.

Page 99: CS 8520: Artificial Intelligence Search Paula Matuszek Fall, 2005 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based.

Paula Matuszek, CSC 8520, Fall 2005. Based in part on aima.eecs.berkeley.edu/slides-ppt and www.cs.umbc.edu/671/fall03/slides/c5-6_inf_search.ppt 99

Summary: Informed search• Best-first search is general search where the minimum-cost nodes

(according to some measure) are expanded first. • Greedy search uses minimal estimated cost h(n) to the goal state as

measure. This reduces search time, but is neither complete nor optimal. • A* search combines uniform-cost search and greedy search: f(n) =

g(n) + h(n). A* handles state repetitions and h(n) never overestimates. – A* is complete, optimal and optimally efficient, but its space

complexity is still bad. – The time complexity depends on the quality of the heuristic

function.

• Local Search techniques are useful when you don't care about path, only result. Examples include– Hill-climbing – Simulated annealing– Local Beam Search


Recommended