cmu 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 fall 2016: lecture 2 search problems •...
TRANSCRIPT
![Page 1: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/1.jpg)
CMU 15-781Lecture 2: Uninformed Search
Teacher:Gianni A. Di Caro
![Page 2: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/2.jpg)
15781 Fall 2016: Lecture 2
SEARCH PROBLEMS
• A search problem has:o States (configurations)o Start state and goal stateso Actions available to the agent in each stateo Transition model: the state resulting from doing
action a in state s (Successor function)o Cost model: step costs c(s, a, s’) ≥ 0, path costs
(additive)
2
Find one (the optimal) sequence of actions (path)from start to a goal state
![Page 3: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/3.jpg)
15781 Fall 2016: Lecture 2
EXAMPLE: PANCAKES
3
![Page 4: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/4.jpg)
15781 Fall 2016: Lecture 2
EXAMPLE: PANCAKES
4
1
1
1
1 1
s t
![Page 5: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/5.jpg)
15781 Fall 2016: Lecture 2
EXAMPLE: 8-PUZZLE
5
5
4
6 1
87
3
2
54 6
1
87
32
5
4
6 1
87
3
2
5
4
6 1
87
32
1
1
s
t
How many states?
![Page 6: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/6.jpg)
15781 Fall 2016: Lecture 2
EXAMPLE: PATHFINDING
6
![Page 7: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/7.jpg)
15781 Fall 2016: Lecture 2
EXAMPLE: TOURING PROBLEMS
7
Visit every city at least once, starting and ending in Bucharest
How the state space looks like?
Traveling salesperson problem (TSP): Visit each city exactly once and find the
tour of minimum “cost”(costs may be not symmetric…)
![Page 8: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/8.jpg)
15781 Fall 2016: Lecture 2
EXAMPLE: TOURING PROBLEMS
8
71,009 cities16,892 cities
http://www.math.uwaterloo.ca/tsp/world/countries.html
Trivial to find one feasible solution, (NP-) hard to find the best one
![Page 9: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/9.jpg)
15781 Fall 2016: Lecture 2
EXAMPLE: PROTEIN FOLDING
9
![Page 10: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/10.jpg)
15781 Fall 2016: Lecture 2
TREE SEARCHfunction TREE-SEARCH(problem, strategy)set of frontier nodes contains the start state of problemloop • if there are no frontier nodes then return failure• choose a frontier node for expansion using strategy• if the node contains a goal then return the corresponding
solution• else expand the node and add the resulting nodes to the
set of frontier nodes
10
![Page 11: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/11.jpg)
15781 Fall 2016: Lecture 2
TREE SEARCH
11
Frontiernodes
Explorednodes
![Page 12: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/12.jpg)
15781 Fall 2016: Lecture 2
TREE SEARCH• Tree search can expand the same
states again and again• In a rectangular grid:
o Search tree of depth 𝑑 has 4# leaveso There are only 4𝑑 states within 𝑑
steps of any given state
12
Algorithms that forget
their historyare doomed to repeat it!
![Page 13: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/13.jpg)
15781 Fall 2016: Lecture 2
STATES VS. NODES• State s: an admissible configuration of the world• Node n: a bookkeeping data structure used to represent the
search tree, that contains:o n.STATE: the state s to which n corresponds too n.PARENT: the node in the search tree that generated node no n.ACTION: the action that was applied to the parent to generate no n.PATH-COST: the cost g(n) of the path from the initial node to n
as indicated by the parent pointers (cost-to-come)• Nodes are on specific paths, as defined by PARENT
pointers, states are not• Two different nodes can contain the same state s, if s was
generated via two different search paths
13
![Page 14: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/14.jpg)
15781 Fall 2016: Lecture 2
STATES VS. NODES
14
1
23
45
6
7
81
23
45
6
7
8
Node
STATE
PARENT
ACTION = RightPATH-COST = 6
Same state, different nodes
![Page 15: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/15.jpg)
15781 Fall 2016: Lecture 2
GRAPH SEARCHfunction GRAPH-SEARCH(problem, strategy)set of frontier nodes contains the start state of problemloop • if there are no frontier nodes then return failure• choose a frontier node for expansion using strategy, and
add it to the explored set• if the node contains a goal then return the corresponding
solution• else expand the node and add the resulting nodes to the set
of frontier nodes, only if not in the frontier or explored set
15
![Page 16: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/16.jpg)
15781 Fall 2016: Lecture 2
GRAPH SEARCH ILLUSTRATED
16
Separation property: Every path from initial state to an unexplored state has to pass through the frontier.The frontier separates explored vs. unexplored regions
Each node is associated to a different state,the search tree grows on the state graph
![Page 17: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/17.jpg)
15781 Fall 2016: Lecture 2
UNINFORMED VS. INFORMED
17
Uninformed InformedCan only generate successors and distinguish goals from non-goals
Strategies that know whether one non-goal is more promising than another
![Page 18: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/18.jpg)
15781 Fall 2016: Lecture 2
MEASURING PERFORMANCE
18
Completeness Optimality Time SpaceGuaranteed to find a solution when there is one?
Finds the cheapest solution?
How long does it take to find a solution?
How much memory is needed to perform the search?
![Page 19: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/19.jpg)
15781 Fall 2016: Lecture 2
BREADTH-FIRST SEARCH
• Strategy: Expand shallowest unexpanded node • Can be implemented by using a FIFO queue for
the frontier• Goal test applied when node is generated
19
![Page 20: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/20.jpg)
15781 Fall 2016: Lecture 2
BREADTH-FIRST SEARCH
• Complete: Yes, also in infinite graphs, but b must be finite• Optimality: If the path cost is a nondecreasing function of the
depth (e.g., all actions have the same cost)• Time complexity: Imagine each node has 𝑏 successors, and solution
is at depth 𝑑, then generate ∑ 𝑏& = Θ 𝑏##&)* nodes. If goal test is
applied when node expanded ➔ Θ 𝑏#+*
• Space complexity: For graph search Θ 𝑏# nodes are in frontier and Θ 𝑏#-* in the explored (➜ tree search would not save much)
20
Complete? Optimal? Time SpaceYes Not really Θ 𝑏# Θ 𝑏#
AlgorithmBFS
![Page 21: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/21.jpg)
15781 Fall 2016: Lecture 2
BREADTH-FIRST SEARCH
21
11
105
1
11
11
1Not optimal Optimal
Exponential BFS tree growth (b=2)
For b=10, d=12 ➔ Θ(1012) nodes If 1 node requires 1 kB ➔ 1012 kB!
![Page 22: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/22.jpg)
15781 Fall 2016: Lecture 2
BIDIRECTIONAL SEARCH
• Idea: Possibly improve the running time of BFS by running two simultaneous searches, forward from the initial state and backward from the goal
• Poll 1: What is the worst-case running time of BIDIRECTIONAL SEARCH?1. Θ(𝑏 ⋅ 𝑑)2. Θ((𝑏/2)#)3. Θ(𝑏#/6)4. Θ(𝑏#)
22
![Page 23: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/23.jpg)
15781 Fall 2016: Lecture 2
BIDIRECTIONAL SEARCHΘ(𝑏#/6) + Θ(𝑏#/6)≪ Θ(𝑏#)For b=10, d=6, each BFS generates up to depth d=3 ➜ 2,220 nodes vs. 1,111,110, big memory save!
23
Issues:• Asymmetric costs• Unidirectional moves• Repeated check for frontier intersection
(additional constant time with hashing)• Existence of multiple goals • Abstract goal definition
![Page 24: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/24.jpg)
15781 Fall 2016: Lecture 2
UNIFORM-COST SEARCH• Strategy: Expand unexpanded node with lowest path cost 𝑔(𝑛)• Can be implemented by using a priority queue ordered by 𝑔(𝑛) for the frontier
• Other changes from BFS:o Goal test applied when node is selected for expansiono If a successor is already in the frontier set, its path cost needs to
be updated if lower than the previously computed one
24
99
211
80
97
101
99
211
80
97
101
99
211
80
97
101
99
211
80
97
101
99
211
80
97
101
![Page 25: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/25.jpg)
15781 Fall 2016: Lecture 2
UNIFORM-COST SEARCH
• Optimality: When a node is selected for expansion the optimal path to the node has been found
• Completeness: If the cost of every step exceeds 𝜖 > 0(and b is finite)
• Time complexity: If 𝐶∗ is the cost of the optimal solution and 𝜖 is a lower bound on the step cost, the worst-case depth of the search tree is 1 + ⌊𝐶∗/𝜖⌋
• The complexity is Θ(𝑏#+*) when step costs are uniform
25
Complete? Optimal? Time SpaceSorta Yes Θ 𝑏*+ A∗/B Θ 𝑏*+ A∗/B
AlgorithmUCS
![Page 26: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/26.jpg)
15781 Fall 2016: Lecture 2
DEPTH-FIRST SEARCH
• Strategy: Expand deepest unexpanded node • Can be implemented by using a stack for the
frontier (LIFO)• Recursive implementation is also common
26
![Page 27: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/27.jpg)
15781 Fall 2016: Lecture 2
DEPTH-FIRST SEARCH
27
![Page 28: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/28.jpg)
15781 Fall 2016: Lecture 2
DEPTH-FIRST SEARCH
• Completeness: Clearly not in general• Poll 2: In a finite state space, which version of DFS is
complete?1. TREE SEARCH
2. GRAPH SEARCH3. Both4. Neither
28
Complete? Optimal? Time SpaceNo No Θ 𝑏C Θ 𝑏 ⋅ 𝑚
AlgorithmDFS
![Page 29: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/29.jpg)
15781 Fall 2016: Lecture 2
DEPTH-FIRST SEARCH
• Time complexity: Θ 𝑏C , where 𝑚 is the maximum depth of any solution!
• Space complexity: DFS tree search needs to store only a single path from the root to a leaf, along with unexpanded sibling nodes for each node on the path
• Consequently, depth-first tree search is the workhorse of many areas of AI (including CSPs and SAT solving)
29
Complete? Optimal? Time SpaceNo No Θ 𝑏C Θ 𝑏 ⋅ 𝑚
AlgorithmDFS
![Page 30: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/30.jpg)
15781 Fall 2016: Lecture 2
ITERATIVE DEEPENING SEARCH
• Run DFS with depth limit ℓ = 1,2, …• Combines the best properties of BFS and DFS• Completeness: Yes, for the same reason BFS is complete• Time complexity: Seems wasteful but most of the nodes
are at the bottom level; total 𝑑 ⋅ 𝑏 + 𝑑 − 1 𝑏6 +⋯+ 1 ⋅ 𝑏# = Θ 𝑏#
30
Complete? Optimal? Time SpaceYes No Θ 𝑏# Θ 𝑏 ⋅ 𝑑
AlgorithmIDS
![Page 31: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/31.jpg)
15781 Fall 2016: Lecture 2
BFS
SUMMARY OF ALGORITHMS
31
Complete? Optimal? Time SpaceYes Not really Θ 𝑏# Θ 𝑏#
Algorithm
Sorta Yes Θ 𝑏*+ A∗/B Θ 𝑏*+ A∗/BUCSNo No Θ 𝑏C Θ 𝑏 ⋅ 𝑚DFSYes No Θ 𝑏# Θ 𝑏 ⋅ 𝑑IDS
![Page 32: CMU 15-781arielpro/15381f16/c_slides/781f16-2.pdf · 15781 Fall 2016: Lecture 2 SEARCH PROBLEMS • A search problem has: o States(configurations) o Start state and goal states o](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f82384dc741805a970df9a8/html5/thumbnails/32.jpg)
15781 Fall 2016: Lecture 2
SUMMARY
• Terminology:o Search problemso Local search
• Algorithms:o Generic search algorithms:
tree search vs. graph searcho Strategies: BFS, Bidirectional,
UCS, DFS, Iterative Deepeningo Local search algorithms …. Next time
32