Touring problems Start from Arad, visit each city at least once. What is the state-space...
-
Upload
barbara-freeman -
Category
Documents
-
view
215 -
download
2
Transcript of Touring problems Start from Arad, visit each city at least once. What is the state-space...
![Page 1: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/1.jpg)
Touring problems
Start from Arad, visit each city at least once. What is the state-space formulation?
Start from Arad, visit each city exactly once. What is the state-space formulation?
Two techniques for modeling constraints Invalidate states Precondition actions
1
![Page 2: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/2.jpg)
2
Uninformed search strategies
Uninformed search strategies use only the information available in the problem definition
![Page 3: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/3.jpg)
3
Tree search algorithms
Basic idea: offline, simulated exploration of state space by
generating successors of already-explored states (a.k.a.~expanding states)
![Page 4: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/4.jpg)
4
Tree search example
![Page 5: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/5.jpg)
5
Tree search example
![Page 6: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/6.jpg)
6
Tree search example
![Page 7: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/7.jpg)
7
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.
Two different nodes may refer to the same state (but on different paths)!
![Page 8: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/8.jpg)
8
Implementation: general tree search
![Page 9: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/9.jpg)
9
Breadth-first search
Expand shallowest unexpanded node Implementation:
fringe is a FIFO queue, i.e., new successors go at end
![Page 10: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/10.jpg)
10
Breadth-first search
Expand shallowest unexpanded node Implementation:
fringe is a FIFO queue, i.e., new successors go at end
![Page 11: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/11.jpg)
11
Breadth-first search
Expand shallowest unexpanded node Implementation:
fringe is a FIFO queue, i.e., new successors go at end
![Page 12: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/12.jpg)
12
Breadth-first search
Expand shallowest unexpanded node Implementation:
fringe is a FIFO queue, i.e., new successors go at end
![Page 13: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/13.jpg)
13
Repeated states
Failure to detect repeated states can turn a linear problem into an exponential one!
![Page 14: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/14.jpg)
14
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 15: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/15.jpg)
14 Jan 2004 CS 3243 - Blind Search 15
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 16: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/16.jpg)
14 Jan 2004 CS 3243 - Blind Search 16
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 17: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/17.jpg)
14 Jan 2004 CS 3243 - Blind Search 17
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 18: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/18.jpg)
18
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 19: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/19.jpg)
19
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 20: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/20.jpg)
20
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 21: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/21.jpg)
21
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 22: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/22.jpg)
22
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 23: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/23.jpg)
23
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 24: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/24.jpg)
24
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 25: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/25.jpg)
25
Depth-first search
Expand deepest unexpanded node Implementation:
fringe = LIFO queue, i.e., put successors at front
![Page 26: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/26.jpg)
Which one is better?
BFS or DFS?
14 Jan 2004 CS 3243 - Blind Search 26
![Page 27: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/27.jpg)
27
Search strategies
A search strategy is defined by picking the order of node expansion
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 (assumed to be finite) m: maximum depth of the state space (may be ∞) Typical scenario: d is finite, but m is not
![Page 28: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/28.jpg)
28
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 29: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/29.jpg)
29
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 30: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/30.jpg)
30
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 ≥ ε Time? # of nodes with g ≤ cost of optimal solution,
O(bceiling(C*/ ε)) where C* is the cost of the optimal solution
Space? # of nodes with g ≤ cost of optimal solution, O(bceiling(C*/ ε))
Optimal? Yes – nodes expanded in increasing order of g(n)
![Page 31: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/31.jpg)
To summarize …
BFS: memory very high, complexity lower, optimal
DFS: memory very low, complexity higher (maybe lower if solutions are dense), not optimal
Is there an uninformed search that combines the advantages of these methods?
14 Jan 2004 CS 3243 - Blind Search 31
![Page 32: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/32.jpg)
32
Depth-limited search
= depth-first search with depth limit L,i.e., nodes at depth L have no successors How to determine a good depth? Recursive implementation:
![Page 33: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/33.jpg)
33
Iterative deepening search
![Page 34: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/34.jpg)
34
Iterative deepening search l =0
![Page 35: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/35.jpg)
35
Iterative deepening search l =1
![Page 36: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/36.jpg)
36
Iterative deepening search l =2
![Page 37: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/37.jpg)
37
Iterative deepening search l =3
![Page 38: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/38.jpg)
38
Iterative deepening search Number of nodes generated in a depth-limited search
to depth d with branching factor b: NDLS = b0 + b1 + b2 + … + bd-2 + bd-1 + bd
Number of nodes generated in an iterative deepening search to depth d with branching factor b:
NIDS = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd
For b = 10, d = 5, NDLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 NIDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456
Overhead = (123,456 - 111,111)/111,111 = 11%
![Page 39: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/39.jpg)
39
Properties of iterative deepening search
Complete? Yes Time? (d+1)b0 + d b1 + (d-1)b2 + … +
bd = O(bd) Space? O(bd) Optimal? Yes, if step cost = 1
![Page 40: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/40.jpg)
40
Summary of algorithms
Demo of search algorithms
http://www.cs.rochester.edu/~kautz/Mazes/search_algorithm_demo.htm
![Page 41: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/41.jpg)
41
Bi-directional search
![Page 42: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/42.jpg)
42
Bi-directional search
• Pros and cons• Pros • O(bd) to O(bd/2) in terms of time• b = 10, d= 6, reduce from 11,111,100 to 22,200
• Cons• memory requirement, O(bd/2) • difficult to come up with predecessor function• implicit goal test
![Page 43: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/43.jpg)
43
![Page 44: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/44.jpg)
14 Jan 2004 CS 3243 - Blind Search 44
Graph search
![Page 45: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/45.jpg)
14 Jan 2004 CS 3243 - Blind Search 45
Graph search
• Will a node be generated twice?• Yes
• Will a node be expanded twice?• No
![Page 46: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/46.jpg)
14 Jan 2004 CS 3243 - Blind Search 46
Graph search
![Page 47: Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.](https://reader030.fdocuments.in/reader030/viewer/2022032702/56649ccf5503460f9499b5c8/html5/thumbnails/47.jpg)
Optimality of graph search
Uniform search BFS DFS
14 Jan 2004 CS 3243 - Blind Search 47