Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf ·...
Transcript of Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf ·...
![Page 1: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/1.jpg)
CIS 391 - 2015
Uninformed Search Strategies
AIMA 3.4
1
![Page 2: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/2.jpg)
The Goat, Cabbage, Wolf Problem
(From xkcd.com)CIS 391 - 2015 2
![Page 3: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/3.jpg)
But First: Missionaries & Cannibals
Three missionaries and three cannibals come to a river. A rowboat that seats
two is available. If the cannibals ever outnumber the missionaries on
either bank of the river, the missionaries will be eaten. (problem 3.9)
How shall they cross the river?
CIS 391 - 2015 3
![Page 4: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/4.jpg)
Formulation: Missionaries & Cannibals
States: (CL, ML, BL)
Initial state: (331)
Goal test: True if all M, C, and boat on other bank (000)
Actions: Travel Across Travel Back
-101 101
-201 201
-011 011
-021 021
-111 111
CIS 391 - 2015 4
![Page 5: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/5.jpg)
Outline for today’s lecture
Introduction to Uninformed Search
• (Review of Breadth first and Depth-first search
Iterative deepening search
• Strange Subroutine: Depth-limited search
• Depth-limited search + iteration = WIN!!
Briefly: Bidirectional search
If time: Uniform Cost Search
CIS 391 - 2015 5
![Page 6: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/6.jpg)
6
Uninformed search strategies:
AKA “Blind search”
Uses only information available in problem definition
Informally:
Uninformed search: All non-goal nodes in frontier look equally good
Informed search: Some non-goal nodes can be ranked above others.
CIS 391 - 2015 6
![Page 7: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/7.jpg)
Search Strategies
Review: Strategy = order of tree expansion
• Implemented by different queue structures (LIFO, FIFO, priority)
Dimensions for evaluation
• Completeness- always find the solution?
• Optimality - finds a least cost solution (lowest path cost) first?
• Time complexity - # of nodes generated (worst case)
• Space complexity - # of nodes in memory (worst case)
Time/space complexity variables
• b, maximum branching factor of search tree
• d, depth of the shallowest goal node
• m, maximum length of any path in the state space (potentially )
CIS 391 - 2015 7
![Page 8: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/8.jpg)
Introduction to space complexity
You know about:
• “Big O” notation
• Time complexity
Space complexity is analogous to time complexity
Units of space are arbitrary
• Doesn’t matter because Big O notation ignores constant
multiplicative factors
• Space units:
—One Memory word
—Size of any fixed size data structure
– eg Size of fixed size node in search tree
CIS 391 - 2015 8
![Page 9: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/9.jpg)
Review: Breadth-first search
Idea:
• Expand shallowest unexpanded node
Implementation:
• frontier is FIFO (First-In-First-Out) Queue:
—Put successors at the end of frontier successor list.
CIS 391 - 2015 9
![Page 10: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/10.jpg)
Breadth-first search (simplified)
function BREADTH-FIRST-SEARCH(problem) returns a solution, or failure
node <- a node with STATE = problem.INITIAL-STATE, PATH-COST=0
if problem.GOAL-TEST(node.STATE) then return SOLUTION(node)
frontier <- a FIFO queue with node as the only element
loop do
if EMPTY?(frontier) then return failure
node <- POP(frontier) // chooses the shallowest node in frontier
add node.STATE to explored
for each action in problem.ACTIONS(node.STATE) do
child <- CHILD-NODE(problem, node, action)
if problem.GOAL-TEST(child.STATE) then return SOLUTION(child)
frontier <- INSERT(child, frontier)
From Figure 3.11 Breadth-first search (ignores loops, repeated nodes)
Position within
queue of new items
determines search
strategy
Subtle: Node inserted into
queue only after testing to
see if it is a goal state
CIS 391 - 2015 10
![Page 11: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/11.jpg)
Properties of breadth-first search
Complete? Yes (if b is finite)
Time Complexity? 1+b+b2+b3+… +bd = O(bd)
Space Complexity? O(bd) (keeps every node in memory)
Optimal? Yes, if cost = 1 per step
(not optimal in general)
b: maximum branching factor of search tree
d: depth of the least cost solution
m: maximum depth of the state space ()
CIS 391 - 2015 11
![Page 12: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/12.jpg)
CIS 391 - Intro to AI12
Exponential Space (and time) Not Good...
• Exponential complexity uninformed search problems cannot
be solved for any but the smallest instances.
• (Memory requirements are a bigger problem than execution
time.)
Fig 3.13 Assumes b=10, 1M nodes/sec, 1000 bytes/node
DEPTH NODES TIME MEMORY
2 110 0.11 milliseconds 107 kilobytes
4 11110 11 milliseconds 10.6 megabytes
6 106 1.1 seconds 1 gigabytes
8 108 2 minutes 103 gigabytes
10 1010 3 hours 10 terabytes
12 1012 13 days 1 petabytes
14 1014 3.5 years 99 petabytles
CIS 391 - 2015 12
![Page 13: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/13.jpg)
Review: Depth-first search
Idea:
• Expand deepest unexpanded node
Implementation:
• frontier is LIFO (Last-In-First-Out) Queue:
—Put successors at the front of frontier successor list.
CIS 391 - 2015 13
![Page 14: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/14.jpg)
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(b*m), i.e., linear space!
Optimal? No
b: maximum branching factor of search tree
d: depth of the least cost solution
m: maximum depth of the state space ()
CIS 391 - 2015 14
![Page 15: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/15.jpg)
Depth-first vs Breadth-first
Use depth-first if
• Space is restricted
• There are many possible solutions with long paths
and wrong paths are usually terminated quickly
• Search can be fine-tuned quickly
Use breadth-first if
• Possible infinite paths
• Some solutions have short paths
• Can quickly discard unlikely paths
CIS 391 - 2015 15
![Page 16: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/16.jpg)
CIS 391 - 2015
Iterative Deepening Search
16
![Page 17: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/17.jpg)
17
Search Conundrum
Breadth-first
Complete,
Optimal but uses O(bd) space
Depth-first
Not complete unless m is bounded
Not optimal
Uses O(bm) time; terrible if m >> d
but only uses O(bm) space
How can we get the best of both?CIS 391 - 2015 17
![Page 18: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/18.jpg)
18
Depth-limited search: A building block
Depth-First search but with depth limit l.
• i.e. nodes at depth l have no successors.
• No infinite-path problem!
If l = d (by luck!), then optimal
• But:
—If l < d then incomplete
—If l > d then not optimal
Time complexity:
Space complexity:
( )lO b
O(bl)
CIS 391 - 2015 18
![Page 19: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/19.jpg)
CIS 521 - Intro to AI19
Iterative deepening search
A general strategy to find best depth limit l.
• Key idea: use Depth-limited search as subroutine,
with increasing l .
For d = 0 to do
depth-limited-search to level d
if it succeeds
then return solution
• Complete & optimal: Goal is always found at
depth d, the depth of the shallowest goal-node.
Could this possibly be efficient?
19
![Page 20: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/20.jpg)
Nodes constructed at each deepening
Depth 0: 0 (Given the node, doesn’t construct it.)
Depth 1: b1 nodes
Depth 2: b nodes + b2 nodes
Depth 3: b nodes + b2 nodes + b3 nodes
…
CIS 391 - 2015 20
![Page 21: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/21.jpg)
Total nodes constructed:
Depth 0: 0 (Given the node, doesn’t construct it.)
Depth 1: b1 = b nodes
Depth 2: b nodes + b2 nodes
Depth 3: b nodes + b2 nodes + b3 nodes
…
Suppose the first solution is the last node at depth 3:
Total nodes constructed:
3*b nodes + 2*b2 nodes + 1*b3 nodes
CIS 391 - 2015 21
![Page 22: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/22.jpg)
22
ID search, Evaluation II: Time Complexity
• More generally, the time complexity is
• N(IDS) = (d)b + (d-1)b2 + … + (1)bd = O(bd)
As efficient in terms of O(…) as Breadth First Search:
• N(BFS) = b + b2 + … + bd = O(bd)
CIS 391 - 2015 22
![Page 23: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/23.jpg)
CIS 521 - Intro to AI23
ID search, Evaluation III
Complete: YES (no infinite paths)
Time complexity:
Space complexity:
Optimal: YES if step cost is 1.
O(bd )
( )O bd
23
![Page 24: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/24.jpg)
CIS 391 - 2015
Summary of algorithms
Criterion Breadth-
First
Depth-
First
Depth-
limited
Iterative
deepening
Complete? YES NO NO YES
Time bd bm bl bd
Space bd bm bl bd
Optimal? YES NO NO YES
24
![Page 25: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/25.jpg)
CIS 391 - 2015 25
Very briefly: Bidirectional search
Two simultaneous searches from start an goal.
• Motivation:
Check whether the node belongs to the other frontier before expansion.
Space complexity is the most significant weakness.
Complete and optimal if both searches are Breadth-First.
ddd bbb 2/2/
25
![Page 26: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/26.jpg)
CIS 391 - 2015 26
How to search backwards?
The predecessor of each node must be efficiently computable.
• Works well when actions are easily reversible.
26
![Page 27: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/27.jpg)
CIS 391 - 2015 27
![Page 28: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/28.jpg)
CIS 391 - 2015
“Uniform Cost” Search
“In computer science, uniform-cost search
(UCS) is a tree search algorithm used for
traversing or searching a weighted tree, tree
structure, or graph.” - Wikipedia
28
![Page 29: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/29.jpg)
Motivation: Romanian Map Problem
Arad
118
All our search methods so far assume
step-cost = 1
This is only true for some problems
CIS 391 - 2015 29
![Page 30: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/30.jpg)
g(N): the path cost function
If all moves equal in cost:
• Cost = # of nodes in path-1
• g(N) = depth(N) in the search tree
• Equivalent to what we’ve been assuming so far
Assigning a (potentially) unique cost to each step
• N0, N1, N2, N3 = nodes visited on path p from N0 to N3
• C(i,j): Cost of going from Ni to Nj
• If N0 the root of the search tree,
g(N3)=C(0,1)+C(1,2)+C(2,3)
CIS 391 - 2015 31
![Page 31: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/31.jpg)
Uniform-cost search (UCS)
Extension of BF-search:
• Expand node with lowest path cost
Implementation: frontier = priority queue ordered by g(n)
Subtle but significant difference from BFS:
• Tests if a node is a goal state when it is selected for expansion, not when it is added to the frontier.
• Updates a node on the frontier if a better path to the same state is found.
• So always enqueues a node before checking whether it is a goal.
WHY???CIS 391 - 2015 32
![Page 32: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/32.jpg)
Uniform Cost Search
S
a
b
d p
a
c
e
p
h
f
r
q
q c G
a
qe
p
h
f
r
q
q c G
a
Expand cheapest node first:
Frontier is a priority queue
No longer ply at a time, but follows
cost contours
Therefore: Must be optimal
S
G
d
b
pq
c
e
h
a
f
r
3 9 1
16411
5
713
8
1011
17 11
0
6
39
1
1
2
8
81
15
1
2
Cost
contours
2
Slide from Stanford CS 221
(from slide by Dan Klein
(UCB) and many others)
CIS 391 - 2015 33
![Page 33: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/33.jpg)
Complexity of UCS
Complete!
Optimal!
• if the cost of each step exceeds some positive bound ε.
Time complexity: O(b1 + C*/ε)
Space complexity: O(b1 + C*/ε)
where C* is the cost of the optimal solution
(if all step costs are equal, this becomes O(bd+1)
NOTE: Dijkstra’s algorithm just UCS without goal
CIS 391 - 2015 34
![Page 34: Uninformed Search Strategies - Penn Engineeringcis391/Lectures/uninformed-search fall 2015.pdf · Uninformed search strategies: ... • m, maximum length of any path in the state](https://reader033.fdocuments.in/reader033/viewer/2022052917/5abcb4b97f8b9a76038e36b1/html5/thumbnails/34.jpg)
CIS 391 - 2015
Summary of algorithms (for notes)
Criterion Breadth-
First
Uniform-
cost
Depth-
First
Depth-
limited
Iterative
deepening
Bidirectional
search
Complete
?YES YES NO NO YES YES
Time bd b1+C*/e bm bl bd bd/2
Space bd b1+C*/e bm bl bd bd/2
Optimal? YES YES NO NO YES YES
35
Assumes b is finite