uninformed search methods ii. - university of...

26
1 M. Hauskrecht CS 1571 Intro to AI CS 2710 Foundations of AI Lecture 4 Milos Hauskrecht [email protected] 5329 Sennott Square Uninformed search methods II. M. Hauskrecht Announcements Homework assignment 1 is out Due on Tuesday, September 12, 2017 before the lecture Report and programming part: Programming part involves Puzzle 8 problem. Assignment (programs and reports) must be done individually not collaboratively!!! Course web page: http://www.cs.pitt.edu/~milos/courses/cs2710/ Homework submission: Electronic via CourseWeb Separate submission of the report and programs

Upload: lynhan

Post on 29-Mar-2018

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

1

M. HauskrechtCS 1571 Intro to AI

CS 2710 Foundations of AI

Lecture 4

Milos Hauskrecht

[email protected]

5329 Sennott Square

Uninformed search methods II.

M. Hauskrecht

Announcements

Homework assignment 1 is out

• Due on Tuesday, September 12, 2017 before the lecture

• Report and programming part:

– Programming part involves Puzzle 8 problem.

• Assignment (programs and reports) must be done

individually not collaboratively!!!

Course web page:

http://www.cs.pitt.edu/~milos/courses/cs2710/

Homework submission:

• Electronic via CourseWeb

• Separate submission of the report and programs

Page 2: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

2

M. HauskrechtCS 1571 Intro to AI

Uninformed methods

• Uninformed search methods use only information available in

the problem definition

– Breadth-first search (BFS)

– Depth-first search (DFS)

– Iterative deepening (IDA)

– Bi-directional search

• For the minimum cost path problem:

– Uniform cost search

M. HauskrechtCS 1571 Intro to AI

Properties of breadth-first search

• Completeness: Yes. The solution is reached if it exists.

• Optimality: Yes, for the shortest path.

• Time complexity:

exponential in the depth of the solution d

• Memory (space) complexity:

nodes are kept in the memory

)( dbO

)( dbO

Page 3: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

3

M. HauskrechtCS 1571 Intro to AI

Properties of depth-first search

• Completeness: No. If infinite loops can occur.

– Solution 1: set the maximum depth limit m

– Solution 2: prevent occurrence of cycles

• Optimality: No. Solution found first may not be the shortest possible.

• Time complexity:

exponential in the maximum depth of the search tree m

• Memory (space) complexity:

linear in the maximum depth of the search tree m

)( mbO

)(bmO

M. HauskrechtCS 1571 Intro to AI

Elimination of state repeats

While searching the state space for the solution we can encounter

the same state many times.

Question: Is it necessary to keep and expand all copies of states

in the search tree?

Two possible cases:

(A) Cyclic state repeats

(B) Non-cyclic state repeats A

A

B

B

Search tree

Page 4: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

4

M. HauskrechtCS 1571 Intro to AI

Elimination of cycles

Case A: Corresponds to the path with a cycle

A branch of the tree representing a path with a cycle cannot be the part of the shortest solution and can be safely eliminated.

A

A

M. HauskrechtCS 1571 Intro to AI

Elimination of non-cyclic state repeats

A state B is reached by a longer than optimal path than it

cannot be the part of the shortest solution and can be safely

eliminated.

B

B

Root of the search tree

nodeB-1

nodeB-2

Page 5: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

5

M. HauskrechtCS 1571 Intro to AI

Elimination of state repeats with BFS

Breadth FS is well behaved with regard to all state repeats:

• we can safely eliminate the node that is associated with the state

that has been expanded before

A

A

B

B

Search tree

M. HauskrechtCS 1571 Intro to AI

Elimination of state repeats with DFS

Caveat: The order of node expansion does not imply correct

elimination strategy

Solution: we need to remember the length of the path in order to

safely eliminate any of the nodes

B

B

Root of the search tree

nodeB-1

nodeB-2

Page 6: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

6

M. HauskrechtCS 1571 Intro to AI

Limited-depth depth first search

• Put the limit (l) on the depth of the depth-first exploration

• The limit is set externally and may not cover the solution

)( lbO

)(blOl - is a given limit

• Time complexity:

• Memory complexity:

Limit l=2

Not explored

l

M. HauskrechtCS 1571 Intro to AI

Iterative deepening algorithm (IDA)

• Based on the idea of the limited-depth search, but

• It resolves the difficulty of knowing the depth limit ahead of

time.

Idea: try all depth limits in an increasing order.

That is, search first with the depth limit l=0, then l=1, l=2,

and so on until the solution is reached

Iterative deepening combines advantages of the depth-first and

breadth-first search with only moderate computational

overhead

Page 7: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

7

M. HauskrechtCS 1571 Intro to AI

Iterative deepening algorithm (IDA)

• Progressively increases the limit of the limited-depth depth-

first search

Limit 0

Limit 1

Limit 2

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Cutoff depth = 0

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

Page 8: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

8

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Cutoff depth = 0

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Cutoff depth = 1

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

Page 9: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

9

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

Cutoff depth = 1

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

Cutoff depth = 1

Page 10: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

10

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

Cutoff depth = 1

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

Cutoff depth = 1

Page 11: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

11

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

Cutoff depth = 2

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind Sibiu Timisoara

Oradea Fagaras Rimnicu

VilceaArad OradeaArad Arad Lugoj

Cutoff depth = 2

Page 12: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

12

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind

OradeaArad

Sibiu Timisoara

Fagaras Rimnicu

VilceaOradeaArad Arad Lugoj

Cutoff depth = 2

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind

OradeaArad

Sibiu Timisoara

Fagaras Rimnicu

VilceaOradeaArad Arad Lugoj

Cutoff depth = 2

Page 13: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

13

M. HauskrechtCS 1571 Intro to AI

Iterative deepening

Arad

Zerind

OradeaArad

Sibiu Timisoara

Fagaras Rimnicu

VilceaOradeaArad Arad Lugoj

Cutoff depth = 2

M. HauskrechtCS 1571 Intro to AI

Arad

Iterative deepening

Arad

Zerind Sibiu TimisoaraSibiu

Fagaras Rimnicu

VilceaOradeaArad Arad LugojOradea

Cutoff depth = 2

Page 14: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

14

M. HauskrechtCS 1571 Intro to AI

Properties of IDA

• Completeness: ?

• Optimality: ?

• Time complexity:

?

• Memory (space) complexity:

?

M. HauskrechtCS 1571 Intro to AI

Properties of IDA

• Completeness: Yes. The solution is reached if it exists.

(the same as BFS when limit is always increased by 1)

• Optimality:

• Time complexity:

?

• Memory (space) complexity:

?

Page 15: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

15

M. HauskrechtCS 1571 Intro to AI

Properties of IDA

• Completeness: Yes. The solution is reached if it exists.

(the same as BFS when limit is always increased by 1)

• Optimality: Yes, for the shortest path.

(the same as BFS)

• Time complexity:

?

• Memory (space) complexity:

?

M. HauskrechtCS 1571 Intro to AI

IDA – time complexity

)1(O )(bO )( 2bO )( dbO

Level 0 Level 1 Level 2 Level d

)( dbO

d

Page 16: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

16

M. HauskrechtCS 1571 Intro to AI

Properties of IDA

• Completeness: Yes. The solution is reached if it exists.

(the same as BFS)

• Optimality: Yes, for the shortest path.

(the same as BFS)

• Time complexity:

exponential in the depth of the solution d

worse than BFS, but asymptotically the same

• Memory (space) complexity:

?

)()()()()1( 21 dd bObObObOO

M. HauskrechtCS 1571 Intro to AI

IDA – memory complexity

)1(O )(bO )2( bO )(dbO

Level 0 Level 1 Level 2 Level d

)(dbO

d

Page 17: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

17

M. HauskrechtCS 1571 Intro to AI

Properties of IDA

• Completeness: Yes. The solution is reached if it exists.

(the same as BFS)

• Optimality: Yes, for the shortest path.

(the same as BFS)

• Time complexity:

exponential in the depth of the solution d

worse than BFS, but asymptotically the same

• Memory (space) complexity:

much better than BFS

)()()()()1( 21 dd bObObObOO

)(dbO

M. HauskrechtCS 1571 Intro to AI

Bi-directional search

• In some search problems we want to find the path from the initial state to the unique goal state (e.g. traveler problem)

• Bi-directional search idea:

– Search both from the initial state and the goal state;

– Use inverse operators for the goal-initiated search.

Initial state Goal state

Page 18: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

18

M. HauskrechtCS 1571 Intro to AI

Bi-directional search

Why bidirectional search? What is the benefit? Assume BFS.

• ?

Initial stateGoal state

M. HauskrechtCS 1571 Intro to AI

Bi-directional search

Why bidirectional search? What is the benefit? Assume BFS.

• Cuts the depth of the search space by half

Initial stateGoal state

d/2 d/2

O(bd/2) Time and memory complexity

Page 19: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

19

M. HauskrechtCS 1571 Intro to AI

Bi-directional search

Why bidirectional search? Assume BFS.

• It cuts the depth of the search tree by half.

Caveat: Merge the solutions.

• How?

Initial state Goal state

Equal ?

M. HauskrechtCS 1571 Intro to AI

Bi-directional search

Why bidirectional search? Assume BFS.

• It cuts the depth of the search tree by half.

Caveat: Merge the solutions.

• How? The hash structure remembers the side of the tree the state was expanded first time. If the same state is reached from other side we have a solution.

Initial state Goal state

Equal ?

Page 20: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

20

M. HauskrechtCS 1571 Intro to AI

Minimum cost path search

Traveler example with distances [km]

Optimal path: the shortest distance path between the initial and

destination city

M. HauskrechtCS 1571 Intro to AI

Searching for the minimum cost path

• General minimum cost path-search problem:

– adds weights or costs to operators (links)

• Search strategy:

– “Intelligent” expansion of the search tree should be driven by

the cost of the current (partially) built path

• Implementation:

– Path cost function for node n :

• length of the path represented by the search tree branch

starting at the root of the tree (initial state) to n

– Search strategy:

• Expand the leaf node with the minimum first

• Can be implemented by a priority queue

)(ng

)(ng

Page 21: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

21

M. HauskrechtCS 1571 Intro to AI

Searching for the minimum cost path

• The basic algorithm for finding the minimum cost path:

– Dijkstra’s shortest path

• In AI, the strategy goes under the name

– Uniform cost search

• Note:

– When operator costs are all equal to 1 the uniform cost search

is equivalent to the breadth first search BFS

M. HauskrechtCS 1571 Intro to AI

Uniform cost search

• Expand the node with the minimum path cost first

• Implementation: a priority queue

Arad 0Arad 0queue

g(n)

Page 22: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

22

M. HauskrechtCS 1571 Intro to AI

Uniform cost search

Arad

Zerind Sibiu Timisoara

0

75140

118

75 140 118

Zerind 75

Timisoara 118

Sibiu 140

queue

g(n)

M. HauskrechtCS 1571 Intro to AI

Uniform cost search

Arad

Zerind

OradeaArad

Sibiu Timisoara

0

75140

118

75 140 118

7571

150 146

Timisoara 118

Sibiu 140

Oradea 146

Arad 150

queue

g(n)

Page 23: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

23

M. HauskrechtCS 1571 Intro to AI

Uniform cost search

Arad

Zerind Sibiu Timisoara

OradeaArad Arad Lugoj

0

75140

118

75

140

118

7571

150 146

118111

229236

Sibiu 140

Oradea 146

Arad 150

Lugoj 129

Arad 236

queue

g(n)

M. HauskrechtCS 1571 Intro to AI

Properties of the uniform cost search

• Completeness: assume that operator costs are non-negative ?

• Optimality: ?

• Time complexity:

?

• Memory (space) complexity:

?

Page 24: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

24

M. HauskrechtCS 1571 Intro to AI

Properties of the uniform cost search

• Completeness: Yes, assuming that operator costs are non-negative (the cost of path never decreases)

• Optimality: Yes. Returns the least-cost path.

• Time complexity:

number of nodes with the cost g(n) smaller than the optimal cost

• Memory (space) complexity:

number of nodes with the cost g(n) smaller than the optimal cost

))((successor)( ngng

M. HauskrechtCS 1571 Intro to AI

Elimination of state repeats

Idea: A node is redundant and can be eliminated if there is

another node with exactly the same state and a shorter path

from the initial state

BB

Root of the search tree

nodeB-1

nodeB-2

g(nodeB-1) =120

g(nodeB-2) =95

Page 25: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

25

M. HauskrechtCS 1571 Intro to AI

Elimination of state repeats

Idea: A node is redundant and can be eliminated if there is

another node with exactly the same state and a shorter path

from the initial state

BB

Root of the search tree

nodeB-1

nodeB-2

g(nodeB-1) =120

g(nodeB-2) =95

M. HauskrechtCS 1571 Intro to AI

Elimination of state repeats

Idea: A node is redundant and can be eliminated if there is

another node with exactly the same state and a shorter path

from the initial state

Assuming positive costs:

• If the state has already been expanded, is there a shorter path

to that node ?

BB

Root of the search tree

nodeB-1

nodeB-2

g(nodeB-1) =120

g(nodeB-2) =95

Page 26: Uninformed search methods II. - University of Pittsburghpeople.cs.pitt.edu/~milos/courses/cs2710/Lectures/Class4.pdf · Uninformed search methods II. ... • Cuts the depth of the

26

M. HauskrechtCS 1571 Intro to AI

Elimination of state repeats

Idea: A node is redundant and can be eliminated if there is

another node with exactly the same state and a shorter path

from the initial state

Assuming positive costs:

– If the state has already been expanded, is there a shorter

path to that node ? No !

Implementation: Marking with the hash table

BB

Root of the search tree

nodeB-1

nodeB-2

g(nodeB-1) =120

g(nodeB-2) =95