learning objectives - jbnu.ac.krnlp.jbnu.ac.kr › ai2018 › slides › ch03_all.pdf ·...

78
Learning Objectives At the end of the class you should be able to: define a directed graph represent a problem as a state-space graph explain how a generic searching algorithm works c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 1

Upload: others

Post on 06-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Learning Objectives

At the end of the class you should be able to:

define a directed graph

represent a problem as a state-space graph

explain how a generic searching algorithm works

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 1

Page 2: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Searching

Often we are not given an algorithm to solve a problem, butonly a specification of what is a solution — we have to searchfor a solution.

A typical problem is when the agent is in one state, it has aset of deterministic actions it can carry out, and wants to getto a goal state.

Many AI problems can be abstracted into the problem offinding a path in a directed graph.

Often there is more than one way to represent a problem as agraph.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 2

Page 3: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

State-space Search

flat or modular or hierarchical

explicit states or features or individuals and relations

static or finite stage or indefinite stage or infinite stage

fully observable or partially observable

deterministic or stochastic dynamics

goals or complex preferences

single agent or multiple agents

knowledge is given or knowledge is learned

perfect rationality or bounded rationality

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 3

Page 4: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Directed Graphs

A graph consists of a set N of nodes and a set A of orderedpairs of nodes, called arcs .

Node n2 is a neighbor of n1 if there is an arc from n1 to n2.That is, if 〈n1, n2〉 ∈ A.

A path is a sequence of nodes 〈n0, n1, . . . , nk〉 such that〈ni−1, ni 〉 ∈ A.

The length of path 〈n0, n1, . . . , nk〉 is k .

Given a set of start nodes and goal nodes, a solution is apath from a start node to a goal node.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 4

Page 5: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Example Problem for Delivery Robot

The robot wants to get from outside room 103 to the inside ofroom 123.

stairs r101 r103 r105 r107 r109 r111

r113

r115

r117

r119r121r123r125r127r129r131

o101 o103 o105 o107 o109 o111

o113

o115

o117

o119o121o123o125o127o129o131

b1

b3 b4

b2

a2

a1

a3

d3

d1 d2

c2 c3

c1

tsmail

storage

mainoffice

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 5

Page 6: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

State-Space Graph for the Delivery Robot

16

8 124

64

44 9

7

74

36

86

4

3

7

mail ts o103

b3

b1

c2

c1

c3

b2

b4

o109

o119

o111

o123

r123

o125

storage

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 6

Page 7: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Partial Search Space for a Video Game

Grid game: Rob needs to collect coins C1, C2, C3, C4, withoutrunning out of fuel, and end up at location (1, 1):

FuelRobC3

54

987

.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 7

Page 8: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Partial Search Space for a Video Game

Grid game: Rob needs to collect coins C1, C2, C3, C4, withoutrunning out of fuel, and end up at location (1, 1):

FuelRobC3

5

State:〈X-pos,Y-pos,Fuel,C1,C2,C3,C4 〉

〈5,8,6,f,t,f,f 〉

〈5,9,5,f,t,f,f 〉 〈5,7,5,f,t,t,f 〉

〈4,9,20,f,t,f,f 〉〈5,8,4,f,t,f,f 〉

〈5,8,4,f,t,t,f 〉

〈6,8,5,f,t,f,f 〉

〈5,9,19,f,t,f,f 〉

4

987

Goal:〈1,1,?,t,t,t,t 〉

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 8

Page 9: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Graph Searching

Generic search algorithm: given a graph, start nodes, and goalnodes, incrementally explore paths from the start nodes.

Maintain a frontier of paths from the start node that havebeen explored.

As search proceeds, the frontier expands into the unexplorednodes until a goal node is encountered.

The way in which the frontier is expanded defines thesearch strategy.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 9

Page 10: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Problem Solving by Graph Searching

ends of paths on frontier

explored nodes

unexplored nodes

startnode

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 10

Page 11: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Graph Search Algorithm

Input: a graph,a set of start nodes,Boolean procedure goal(n) that tests if n is a goal node.

frontier := {〈s〉 : s is a start node};while frontier is not empty:

select and remove path 〈n0, . . . , nk〉 from frontier ;if goal(nk)

return 〈n0, . . . , nk〉;for every neighbor n of nk

add 〈n0, . . . , nk , n〉 to frontier ;end while

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 11

Page 12: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Which value is selected from the frontier at each stage definesthe search strategy.

The neighbors define the graph.

goal defines what is a solution.

If more than one answer is required, the search can continuefrom the return.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.1, Page 12

Page 13: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Learning Objectives

At the end of the class you should be able to:

demonstrate how depth-first search will work on a graph

demonstrate how breadth-first search will work on a graph

predict the space and time requirements for depth-first andbreadth-first searches

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 1

Page 14: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Search

Depth-first search treats the frontier as a stack

It always selects one of the last elements added to the frontier.

If the list of paths on the frontier is [p1, p2, . . .]I p1 is selected. Paths that extend p1 are added to the front of

the stack (in front of p2).I p2 is only selected when all paths from p1 have been explored.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 2

Page 15: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Illustrative Graph — Depth-first Search

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15 16

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 3

Page 16: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Which shaded goal will a depth-first search find first?

Q W

T

U

Y

R

V

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 4

Page 17: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Complexity of Depth-first Search

Does depth-first search guarantee to find the shortest path orthe path with fewest arcs?

What happens on infinite graphs or on graphs with cycles ifthere is a solution?

What is the time complexity as a function of length of thepath selected?

What is the space complexity as a function of length of thepath selected?

How does the goal affect the search?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 5

Page 18: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Breadth-first Search

Breadth-first search treats the frontier as a queue.

It always selects one of the earliest elements added to thefrontier.

If the list of paths on the frontier is [p1, p2, . . . , pr ]:I p1 is selected. Its neighbors are added to the end of the queue,

after pr .I p2 is selected next.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 6

Page 19: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Illustrative Graph — Breadth-first Search

1

2 3

4 5 6 7

8 9 10 11 12 13 14

15 16

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 7

Page 20: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Complexity of Breadth-first Search

Does breadth-first search guarantee to find the shortest pathor the path with fewest arcs?

What happens on infinite graphs or on graphs with cycles ifthere is a solution?

What is the time complexity as a function of the length of thepath selected?

What is the space complexity as a function of the length ofthe path selected?

How does the goal affect the search?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 8

Page 21: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Which shaded goal will a breadth-first search find first?

Q W

T

U

Y

R

V

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 9

Page 22: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Lowest-cost-first Search

Sometimes there are costs associated with arcs. The cost ofa path is the sum of the costs of its arcs.

cost(〈n0, . . . , nk〉) =k∑

i=1

|〈ni−1, ni 〉|

An optimal solution is one with minimum cost.

At each stage, lowest-cost-first search selects a path on thefrontier with lowest cost.

The frontier is a priority queue ordered by path cost.

It finds a least-cost path to a goal node.

When arc costs are equal =⇒ breadth-first search.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 10

Page 23: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Summary of Search Strategies

Strategy Frontier Selection Complete Halts Space

Depth-first Last node added

No No Linear

Breadth-first First node added

Yes No Exp

Lowest-cost-first Minimal cost(p)

Yes No Exp

Complete — if there a path to a goal, it can find one, even oninfinite graphs.Halts — on finite graph (perhaps with cycles).Space — as a function of the length of current path

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 11

Page 24: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Summary of Search Strategies

Strategy Frontier Selection Complete Halts Space

Depth-first Last node added No No LinearBreadth-first First node added Yes No ExpLowest-cost-first Minimal cost(p) Yes No Exp

Complete — if there a path to a goal, it can find one, even oninfinite graphs.Halts — on finite graph (perhaps with cycles).Space — as a function of the length of current path

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 12

Page 25: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Learning Objectives

At the end of the class you should be able to:

devise an useful heuristic function for a problem

demonstrate how best-first and A∗ search will work on a graph

predict the space and time requirements for best-first and A∗

search

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 1

Page 26: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Heuristic Search

Idea: don’t ignore the goal when selecting paths.

Often there is extra knowledge that can be used to guide thesearch: heuristics.

h(n) is an estimate of the cost of the shortest path fromnode n to a goal node.

h(n) needs to be efficient to compute.

h can be extended to paths: h(〈n0, . . . , nk〉) = h(nk).

h(n) is an underestimate if there is no path from n to a goalwith cost less than h(n).

An admissible heuristic is a nonnegative heuristic functionthat is an underestimate of the actual cost of a path to a goal.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 2

Page 27: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Example Heuristic Functions

If the nodes are points on a Euclidean plane and the cost isthe distance, h(n) can be the straight-line distance from n tothe closest goal.

If the nodes are locations and cost is time, we can use thedistance to a goal divided by the maximum speed.

If the goal is to collect all of the coins and not run out of fuel,the cost is an estimate of how many steps it will take tocollect the rest of the coins, refuel when necessary, and returnto goal position.

A heuristic function can be found by solving a simpler (lessconstrained) version of the problem.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 3

Page 28: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Best-first Search

Idea: select the path whose end is closest to a goal accordingto the heuristic function.

Best-first search selects a path on the frontier with minimalh-value.

It treats the frontier as a priority queue ordered by h.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 4

Page 29: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Illustrative Graph — Best-first Search

g

s

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 5

Page 30: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Complexity of Best-first Search

Does best-first search guarantee to find the shortest path orthe path with fewest arcs?

What happens on infinite graphs or on graphs with cycles ifthere is a solution?

What is the time complexity as a function of length of thepath selected?

What is the space complexity as a function of length of thepath selected?

How does the goal affect the search?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 6

Page 31: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

A∗ Search

A∗ search uses both path cost and heuristic values

cost(p) is the cost of path p.

h(p) estimates the cost from the end of p to a goal.

Let f (p) = cost(p) + h(p).f (p) estimates the total path cost of going from a start nodeto a goal via p.

startpath p−→ n︸ ︷︷ ︸

cost(p)

estimate−→ goal︸ ︷︷ ︸h(p)︸ ︷︷ ︸

f (p)

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 7

Page 32: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

A∗ Search Algorithm

A∗ is a mix of lowest-cost-first and best-first search.

It treats the frontier as a priority queue ordered by f (p).

It always selects the node on the frontier with the lowestestimated distance from the start to a goal node constrainedto go via that node.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 8

Page 33: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Complexity of A∗ Search

Does A∗ search guarantee to find the shortest path or thepath with fewest arcs?

What happens on infinite graphs or on graphs with cycles ifthere is a solution?

What is the time complexity as a function of length of thepath selected?

What is the space complexity as a function of length of thepath selected?

How does the goal affect the search?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 9

Page 34: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Admissibility of A∗

If there is a solution, A∗ always finds an optimal solution —thefirst path to a goal selected— if

the branching factor is finite

arc costs are bounded above zero (there is some ε > 0 suchthat all of the arc costs are greater than ε), and

h(n) is nonnegative and an underestimate of the cost of theshortest path from n to a goal node.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 10

Page 35: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Why is A∗ admissible?

If a path p to a goal is selected from a frontier, can there be ashorter path to a goal?

Suppose path p′ is on the frontier. Because p was chosenbefore p′, and h(p) = 0:

cost(p) ≤ cost(p′) + h(p′).

Because h is an underestimate:

cost(p′) + h(p′) ≤ cost(p′′)

for any path p′′ to a goal that extends p′.

So cost(p) ≤ cost(p′′) for any other path p′′ to a goal.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 11

Page 36: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Why is A∗ admissible?

If a path p to a goal is selected from a frontier, can there be ashorter path to a goal?

Suppose path p′ is on the frontier. Because p was chosenbefore p′, and h(p) = 0:

cost(p) ≤ cost(p′) + h(p′).

Because h is an underestimate:

cost(p′) + h(p′) ≤ cost(p′′)

for any path p′′ to a goal that extends p′.

So cost(p) ≤ cost(p′′) for any other path p′′ to a goal.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 12

Page 37: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Why is A∗ admissible?

If a path p to a goal is selected from a frontier, can there be ashorter path to a goal?

Suppose path p′ is on the frontier. Because p was chosenbefore p′, and h(p) = 0:

cost(p) ≤ cost(p′) + h(p′).

Because h is an underestimate:

cost(p′) + h(p′) ≤ cost(p′′)

for any path p′′ to a goal that extends p′.

So cost(p) ≤ cost(p′′) for any other path p′′ to a goal.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 13

Page 38: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Why is A∗ admissible?

A∗ can always find a solution if there is one:

The frontier always contains the initial part of a path to agoal, before that goal is selected.

A∗ halts, as the costs of the paths on the frontier keepsincreasing, and will eventually exceed any finite number.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 14

Page 39: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

How do good heuristics help?

Suppose c is the cost of an optimal solution. What happen to apath p where

cost(p) + h(p) < c

cost(p) + h(p) = c

cost(p) + h(p) > c

How can a better heuristic function help?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 15

Page 40: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Summary of Search Strategies

Strategy Frontier Selection Complete Halts Space

Depth-first Last node added

No No Linear

Breadth-first First node added

Yes No Exp

Heuristic depth-first Local min h(p)

No No Linear

Best-first Global min h(p)

No No Exp

Lowest-cost-first Minimal cost(p)

Yes No Exp

A∗ Minimal f (p)

Yes No Exp

Complete — if there a path to a goal, it can find one, even oninfinite graphs.Halts — on finite graph (perhaps with cycles).Space — as a function of the length of current path

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 16

Page 41: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Summary of Search Strategies

Strategy Frontier Selection Complete Halts Space

Depth-first Last node added No No LinearBreadth-first First node added Yes No ExpHeuristic depth-first Local min h(p) No No LinearBest-first Global min h(p) No No ExpLowest-cost-first Minimal cost(p) Yes No ExpA∗ Minimal f (p) Yes No Exp

Complete — if there a path to a goal, it can find one, even oninfinite graphs.Halts — on finite graph (perhaps with cycles).Space — as a function of the length of current path

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 17

Page 42: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Learning Objectives

At the end of the class you should be able to:

explain how cycle checking and multiple-path pruning canimprove efficiency of search algorithms

explain the complexity of cycle checking and multiple-pathpruning for different search algorithms

justify why the monotone restriction is useful for A∗ search

predict whether forward, backward, bidirectional orisland-driven search is better for a particular problem

demonstrate how dynamic programming works for a particularproblem

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 1

Page 43: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Summary of Search Strategies

Strategy Frontier Selection Complete Halts Space

Depth-first Last node added

No No Linear

Breadth-first First node added

Yes No Exp

Heuristic depth-first Local min h(p)

No No Linear

Best-first Global min h(p)

No No Exp

Lowest-cost-first Minimal cost(p)

Yes No Exp

A∗ Minimal f (p)

Yes No Exp

Complete — if there a path to a goal, it can find one, even oninfinite graphs.Halts — on finite graph (perhaps with cycles).Space — as a function of the length of current path

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 2

Page 44: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Summary of Search Strategies

Strategy Frontier Selection Complete Halts Space

Depth-first Last node added No No LinearBreadth-first First node added Yes No ExpHeuristic depth-first Local min h(p) No No LinearBest-first Global min h(p) No No ExpLowest-cost-first Minimal cost(p) Yes No ExpA∗ Minimal f (p) Yes No Exp

Complete — if there a path to a goal, it can find one, even oninfinite graphs.Halts — on finite graph (perhaps with cycles).Space — as a function of the length of current path

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 3

Page 45: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Cycle Checking

s

A searcher can prune a path that ends in a node already onthe path, without removing an optimal solution.

In depth-first methods, checking for cycles can be done intime in path length.

For other methods, checking for cycles can be done intime in path length.

Does cycle checking mean the algorithms halt on finitegraphs?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 4

Page 46: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Multiple-Path Pruning

s

Multiple path pruning: prune a path to node n that thesearcher has already found a path to.What needs to be stored?How does multiple-path pruning compare to cycle checking?Do search algorithms with multiple-path pruning always halton finite graphs?What is the space & time overhead of multiple-path pruning?Can multiple-path pruning prevent an optimal solution beingfound?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 5

Page 47: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Multiple-Path Pruning & Optimal Solutions

Problem: what if a subsequent path to n is shorter than the firstpath to n?

remove all paths from the frontier that use the longer path.

change the initial segment of the paths on the frontier to usethe shorter path.

ensure this doesn’t happen. Make sure that the shortest pathto a node is found first.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 6

Page 48: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Multiple-Path Pruning & Optimal Solutions

Problem: what if a subsequent path to n is shorter than the firstpath to n?

remove all paths from the frontier that use the longer path.

change the initial segment of the paths on the frontier to usethe shorter path.

ensure this doesn’t happen. Make sure that the shortest pathto a node is found first.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 7

Page 49: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Multiple-Path Pruning & A∗

Suppose path p to n was selected, but there is a shorter pathto n. Suppose this shorter path is via path p′ on the frontier.

Suppose path p′ ends at node n′.

p was selected before p′, so:

cost(p) + h(n) ≤ cost(p′) + h(n′).

Suppose cost(n′, n) is the actual cost of a path from n′ to n.The path to n via p′ is shorter that p so:cost(p′) + cost(n′, n) < cost(p).

cost(n′, n) < cost(p)− cost(p′) ≤ h(n′)− h(n).

We can ensure this doesn’t occur if|h(n′)− h(n)| ≤ cost(n′, n).

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 8

Page 50: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Multiple-Path Pruning & A∗

Suppose path p to n was selected, but there is a shorter pathto n. Suppose this shorter path is via path p′ on the frontier.

Suppose path p′ ends at node n′.

p was selected before p′, so:cost(p) + h(n) ≤ cost(p′) + h(n′).

Suppose cost(n′, n) is the actual cost of a path from n′ to n.The path to n via p′ is shorter that p so:

cost(p′) + cost(n′, n) < cost(p).

cost(n′, n) < cost(p)− cost(p′) ≤ h(n′)− h(n).

We can ensure this doesn’t occur if|h(n′)− h(n)| ≤ cost(n′, n).

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 9

Page 51: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Multiple-Path Pruning & A∗

Suppose path p to n was selected, but there is a shorter pathto n. Suppose this shorter path is via path p′ on the frontier.

Suppose path p′ ends at node n′.

p was selected before p′, so:cost(p) + h(n) ≤ cost(p′) + h(n′).

Suppose cost(n′, n) is the actual cost of a path from n′ to n.The path to n via p′ is shorter that p so:cost(p′) + cost(n′, n) < cost(p).

cost(n′, n) <

cost(p)− cost(p′) ≤ h(n′)− h(n).

We can ensure this doesn’t occur if|h(n′)− h(n)| ≤ cost(n′, n).

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 10

Page 52: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Multiple-Path Pruning & A∗

Suppose path p to n was selected, but there is a shorter pathto n. Suppose this shorter path is via path p′ on the frontier.

Suppose path p′ ends at node n′.

p was selected before p′, so:cost(p) + h(n) ≤ cost(p′) + h(n′).

Suppose cost(n′, n) is the actual cost of a path from n′ to n.The path to n via p′ is shorter that p so:cost(p′) + cost(n′, n) < cost(p).

cost(n′, n) < cost(p)− cost(p′) ≤

h(n′)− h(n).

We can ensure this doesn’t occur if|h(n′)− h(n)| ≤ cost(n′, n).

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 11

Page 53: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Multiple-Path Pruning & A∗

Suppose path p to n was selected, but there is a shorter pathto n. Suppose this shorter path is via path p′ on the frontier.

Suppose path p′ ends at node n′.

p was selected before p′, so:cost(p) + h(n) ≤ cost(p′) + h(n′).

Suppose cost(n′, n) is the actual cost of a path from n′ to n.The path to n via p′ is shorter that p so:cost(p′) + cost(n′, n) < cost(p).

cost(n′, n) < cost(p)− cost(p′) ≤ h(n′)− h(n).

We can ensure this doesn’t occur if|h(n′)− h(n)| ≤ cost(n′, n).

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 12

Page 54: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Monotone Restriction

Heuristic function h satisfies the monotone restriction if|h(m)− h(n)| ≤ cost(m, n) for every arc 〈m, n〉.If h satisfies the monotone restriction, A∗ with multiple pathpruning always finds the shortest path to a goal.

This is a strengthening of the admissibility criterion.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 13

Page 55: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Direction of Search

The definition of searching is symmetric: find path from startnodes to goal node or from goal node to start nodes.

Forward branching factor: number of arcs out of a node.

Backward branching factor: number of arcs into a node.

Search complexity is bn. Should use forward search if forwardbranching factor is less than backward branching factor, andvice versa.

Note: when graph is dynamically constructed, the backwardsgraph may not be available.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 14

Page 56: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Bidirectional Search

Idea: search backward from the goal and forward from thestart simultaneously.

This wins as 2bk/2 � bk . This can result in an exponentialsaving in time and space.

The main problem is making sure the frontiers meet.

This is often used with one breadth-first method that builds aset of locations that can lead to the goal. In the otherdirection another method can be used to find a path to theseinteresting locations.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 15

Page 57: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Island Driven Search

Idea: find a set of islands between s and g .

s −→ i1 −→ i2 −→ . . . −→ im−1 −→ g

There are m smaller problems rather than 1 big problem.

This can win as mbk/m � bk .

The problem is to identify the islands that the path must passthrough. It is difficult to guarantee optimality.

The subproblems can be solved using islands =⇒hierarchy of abstractions.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 16

Page 58: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Dynamic Programming

Idea: for statically stored graphs, build a table of dist(n) theactual distance of the shortest path from node n to a goal.This can be built backwards from the goal:

dist(n) =

{0 if is goal(n),min〈n,m〉∈A(|〈n,m〉|+ dist(m)) otherwise.

This can be used locally to determine what to do.There are two main problems:

It requires enough space to store the graph.

The dist function needs to be recomputed for each goal.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.4, Page 17

Page 59: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Learning Objectives

At the end of the class you should be able to:

justify why depth-bounded search is useful

demonstrate how iterative-deepening works for a particularproblem

demonstrate how depth-first branch-and-bound works for aparticular problem

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 1

Page 60: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Bounded Depth-first search

A bounded depth-first search takes a bound (cost or depth)and does not expand paths that exceed the bound.

I explores part of the search graphI uses space linear in the depth of the search.

How does this relate to other searches?

How can this be extended to be complete?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 2

Page 61: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Which shaded goal will a depth-bounded search find first?

Q W

T

U

Y

R

V

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 3

Page 62: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Iterative-deepening search

Iterative-deepening search:I Start with a bound b = 0.I Do a bounded depth-first search with bound bI If a solution is found return that solutionI Otherwise increment b and repeat.

This will find the same first solution as what other method?

How much space is used?

What happens if there is no path to a goal?

Surely recomputing paths is wasteful!!!

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 4

Page 63: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Iterative-deepening search

Iterative-deepening search:I Start with a bound b = 0.I Do a bounded depth-first search with bound bI If a solution is found return that solutionI Otherwise increment b and repeat.

This will find the same first solution as what other method?

How much space is used?

What happens if there is no path to a goal?

Surely recomputing paths is wasteful!!!

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 5

Page 64: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Iterative-deepening search

Iterative-deepening search:I Start with a bound b = 0.I Do a bounded depth-first search with bound bI If a solution is found return that solutionI Otherwise increment b and repeat.

This will find the same first solution as what other method?

How much space is used?

What happens if there is no path to a goal?

Surely recomputing paths is wasteful!!!

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 6

Page 65: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Iterative-deepening search

Iterative-deepening search:I Start with a bound b = 0.I Do a bounded depth-first search with bound bI If a solution is found return that solutionI Otherwise increment b and repeat.

This will find the same first solution as what other method?

How much space is used?

What happens if there is no path to a goal?

Surely recomputing paths is wasteful!!!

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 7

Page 66: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Iterative-deepening search

Iterative-deepening search:I Start with a bound b = 0.I Do a bounded depth-first search with bound bI If a solution is found return that solutionI Otherwise increment b and repeat.

This will find the same first solution as what other method?

How much space is used?

What happens if there is no path to a goal?

Surely recomputing paths is wasteful!!!

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 8

Page 67: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Iterative Deepening Complexity

Complexity with solution at depth k & branching factor b:

level breadth-first iterative deepening # nodes

1 1 k b2 1 k − 1 b2

. . . . . . . . . . . .k − 1 1 2 bk−1

k 1 1 bk

total

≥ bk ≤ bk(

bb−1

)2

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 9

Page 68: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Iterative Deepening Complexity

Complexity with solution at depth k & branching factor b:

level breadth-first iterative deepening # nodes

1 1 k b2 1 k − 1 b2

. . . . . . . . . . . .k − 1 1 2 bk−1

k 1 1 bk

total ≥ bk ≤ bk(

bb−1

)2

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 10

Page 69: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound

combines depth-first search with heuristic information.

finds optimal solution.

most useful when there are multiple solutions, and we want anoptimal one.

uses the space of depth-first search.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 11

Page 70: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound

Suppose we want to find a single optimal solution.

Suppose bound is the cost of the lowest-cost path found to agoal so far.

What if the search encounters a path p such thatcost(p) + h(p) ≥ bound?

p can be pruned.

What can we do if a non-pruned path to a goal is found?bound can be set to the cost of p, and p can be rememberedas the best solution so far.

Why should this use a depth-first search?Uses linear space.

What can be guaranteed when the search completes?It has found an optimal solution.

How should the bound be initialized?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 12

Page 71: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound

Suppose we want to find a single optimal solution.

Suppose bound is the cost of the lowest-cost path found to agoal so far.

What if the search encounters a path p such thatcost(p) + h(p) ≥ bound?p can be pruned.

What can we do if a non-pruned path to a goal is found?

bound can be set to the cost of p, and p can be rememberedas the best solution so far.

Why should this use a depth-first search?Uses linear space.

What can be guaranteed when the search completes?It has found an optimal solution.

How should the bound be initialized?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 13

Page 72: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound

Suppose we want to find a single optimal solution.

Suppose bound is the cost of the lowest-cost path found to agoal so far.

What if the search encounters a path p such thatcost(p) + h(p) ≥ bound?p can be pruned.

What can we do if a non-pruned path to a goal is found?bound can be set to the cost of p, and p can be rememberedas the best solution so far.

Why should this use a depth-first search?

Uses linear space.

What can be guaranteed when the search completes?It has found an optimal solution.

How should the bound be initialized?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 14

Page 73: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound

Suppose we want to find a single optimal solution.

Suppose bound is the cost of the lowest-cost path found to agoal so far.

What if the search encounters a path p such thatcost(p) + h(p) ≥ bound?p can be pruned.

What can we do if a non-pruned path to a goal is found?bound can be set to the cost of p, and p can be rememberedas the best solution so far.

Why should this use a depth-first search?Uses linear space.

What can be guaranteed when the search completes?

It has found an optimal solution.

How should the bound be initialized?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 15

Page 74: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound

Suppose we want to find a single optimal solution.

Suppose bound is the cost of the lowest-cost path found to agoal so far.

What if the search encounters a path p such thatcost(p) + h(p) ≥ bound?p can be pruned.

What can we do if a non-pruned path to a goal is found?bound can be set to the cost of p, and p can be rememberedas the best solution so far.

Why should this use a depth-first search?Uses linear space.

What can be guaranteed when the search completes?It has found an optimal solution.

How should the bound be initialized?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 16

Page 75: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound

Suppose we want to find a single optimal solution.

Suppose bound is the cost of the lowest-cost path found to agoal so far.

What if the search encounters a path p such thatcost(p) + h(p) ≥ bound?p can be pruned.

What can we do if a non-pruned path to a goal is found?bound can be set to the cost of p, and p can be rememberedas the best solution so far.

Why should this use a depth-first search?Uses linear space.

What can be guaranteed when the search completes?It has found an optimal solution.

How should the bound be initialized?

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 17

Page 76: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound: Initializing Bound

The bound can be initialized to ∞.

The bound can be set to an estimate of the optimal pathcost. After depth-first search terminates either:

I A solution was found.I No solution was found, and no path was prunedI No solution was found, and a path was pruned.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 18

Page 77: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Depth-first Branch-and-Bound: Initializing Bound

The bound can be initialized to ∞.

The bound can be set to an estimate of the optimal pathcost. After depth-first search terminates either:

I A solution was found.I No solution was found, and no path was prunedI No solution was found, and a path was pruned.

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 19

Page 78: Learning Objectives - jbnu.ac.krnlp.jbnu.ac.kr › AI2018 › slides › ch03_all.pdf · 2018-09-03 · Learning Objectives At the end of the class you should be able to: de ne a

Which shaded goals will be best solutions so far?

Q W

T

U

Y

R

V

c©D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 20