![Page 1: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/1.jpg)
Uninformed SearchChapter 3
(Based on slides by Stuart Russell, Subbarao Kambhampati, Dan Weld, Oren Etzioni, Henry Kautz, Richard Korf, and
other UW-AI faculty)
![Page 2: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/2.jpg)
What is a State?
• All information about the environment
• All information necessary to make a decision for the task at hand.
![Page 3: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/3.jpg)
Agent’s Knowledge Representation
Type State representation Focus
Atomic States are indivisible;No internal structure
Search on atomic states;
Propositional(aka Factored)
States are made of state variables that take values(Propositional or Multi-valued or Continuous)
Search+inference in logical (prop logic) and probabilistic (bayes nets) representations
Relational States describe the objects in the world and their inter-relations
Search+Inference in predicate logic (or relational prob. Models)
First-order +functions over objects Search+Inference in first order logic (or first order probabilistic models)
![Page 4: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/4.jpg)
Illustration with Vacuum World
Atomic:
S1, S2…. S8
state is seen as an indivisible
snapshot
All Actions are SXS matrices..
If you add a second roomba
the state space doubles
If you want to consider noisiness
Of the rooms, the representation
Quadruples..
Propositional/Factored:
States made up of 3 state variables
Dirt-in-left-room T/F
Dirt-in-right-room T/F
Roomba-in-room L/R
Each state is an assignment of
Values to state variables
23 Different states
Actions can just mention the variables
they affect
Note that the representation is
compact (logarithmic in the
size of the state space)
If you add a second roomba, the
Representation increases by just one
More state variable.
If you want to consider “noisiness” of
rooms, we need two variables, one for
Each room
Relational:
World made of objects: Roomba; L-room, R-room
Relations: In (<robot>, <room>); dirty(<room>)
If you add a second roomba, or more rooms, only the objects increase.
If you want to consider noisiness, you just need to add one other relation
![Page 5: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/5.jpg)
Atomic Agent
– Set of states
– Operators [and costs]
– Start state
– Goal state [test]
5
• Path: start a state satisfying goal test
• [May require shortest path]
Input:
Output:
![Page 6: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/6.jpg)
Why is search interesting?
• Many (all?) AI problems can be formulated as search problems!
• Examples:• Path planning
• Games
• Natural Language Processing
• Machine learning
• …
7
![Page 7: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/7.jpg)
Example: The 8-puzzle
• states?
• actions?
• goal test?
• path cost?
8
![Page 8: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/8.jpg)
Example: The 8-puzzle
• states? locations of tiles • actions? move blank left, right, up, down • goal test? = goal state (given)• path cost? 1 per move•
• [Note: optimal solution of n-Puzzle family is NP-hard]
9
![Page 9: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/9.jpg)
Search Tree Example: Fragment of 8-Puzzle Problem Space
10
![Page 10: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/10.jpg)
Example: robotic assembly
• states?: real-valued coordinates of robot joint angles parts of the object to be assembled
•• actions?: continuous motions of robot joints•• goal test?: complete assembly•• path cost?: time to execute•
11
![Page 11: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/11.jpg)
Example: Romania
• On holiday in Romania; currently in Arad.
• Flight leaves tomorrow from Bucharest
•
• Formulate goal:
– be in Bucharest
–
• Formulate problem:
– states: various cities
– actions: drive between cities
–
• Find solution:
– sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest
–
12
![Page 12: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/12.jpg)
Example: N Queens
• Input:– Set of states
– Operators [and costs]
– Start state
– Goal state (test)
• Output
13
Q
Q
Q
Q
![Page 13: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/13.jpg)
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.
•
14
![Page 14: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/14.jpg)
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?
– systematicity: does it visit each state at most once?
• Time and space complexity are measured in terms of
– b: maximum branching factor of the search tree
– d: depth of the least-cost solution
– m: maximum depth of the state space (may be ∞)
15
![Page 15: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/15.jpg)
Uninformed search strategies
• Uninformed search strategies use only the information available in the problem definition
• Breadth-first search
• Depth-first search
• Depth-limited search
• Iterative deepening search
16
![Page 16: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/16.jpg)
Repeated states
• Failure to detect repeated states can turn a linear problem into an exponential one!
•
17
![Page 17: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/17.jpg)
Depth First Search• Maintain stack of nodes to visit
• Evaluation
– Complete?
– Time Complexity?
– Space Complexity?
18
a
b
d e
c
f g h
No
O(bm)
O(bm)
![Page 18: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/18.jpg)
Breadth First Search: shortest first
• Maintain queue of nodes to visit
• Evaluation
– Complete?
– Time Complexity?
– Space Complexity?
– Optimal?
19
a
b c
d e f g h
Yes (b is finite)
O(bd)
O(bd)
Yes, if stepcost=1
![Page 19: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/19.jpg)
Uniform Cost Search: cheapest first
• Maintain queue of nodes to visit
• Evaluation
– Complete?
– Time Complexity?
– Space Complexity?
– Optimal?
20
a
b c
d e f g h
Yes (b is finite)
O(b(C*/e))
O(b(C*/e))1 5
2 6 13 4Yes
![Page 22: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/22.jpg)
Memory Limitation
• Suppose:
23
2 GHz CPU
1 GB main memory
100 instructions / expansion
5 bytes / node
200,000 expansions / sec
Memory filled in 100 sec … < 2 minutes
![Page 23: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/23.jpg)
Time vs. Memory
![Page 24: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/24.jpg)
Idea 1: Beam Search
• Maintain a constant sized frontier
• Whenever the frontier becomes large
– Prune the worst nodes
Optimal: no
Complete: no
![Page 25: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/25.jpg)
Idea 2: Iterative deepening search
26
![Page 26: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/26.jpg)
Iterative deepening search l =0
27
![Page 27: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/27.jpg)
Iterative deepening search l =1
28
![Page 28: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/28.jpg)
Iterative deepening search l =2
29
![Page 29: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/29.jpg)
Iterative deepening search l =3
30
![Page 30: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/30.jpg)
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
• Asymptotic ratio: (b+1)/(b-1)
• 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%31
![Page 31: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/31.jpg)
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– Can be modified to explore uniform cost tree (iterative lengthening)
• Systematic?
32
![Page 32: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/32.jpg)
Cost of Iterative Deepening
33
b ratio ID to DLS
2 3
3 2
5 1.5
10 1.2
25 1.08
100 1.02
![Page 33: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/33.jpg)
Forwards vs. Backwards
35
![Page 34: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/34.jpg)
vs. Bidirectional
36
When is bidirectional search applicable?
• Generating predecessors is easy
• Only 1 (or few) goal states
![Page 35: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/35.jpg)
Bidirectional search
• Complete? Yes
• Time?– O(bd/2)
• Space?– O(bd/2)
• Optimal?– Yes if uniform cost search used in both directions
37
![Page 36: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/36.jpg)
Summary of algorithms
38
![Page 37: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/37.jpg)
A
B
C
D
G
DFS:
BFS:
IDDFS:
A,B,G
A,B,C,D,G
(A), (A, B, G)
Note that IDDFS can do fewer
expansions than DFS on a graph
shaped search space.
![Page 38: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/38.jpg)
A
B
C
D
G
DFS:
BFS:
IDDFS:
A,B,G
A,B,A,B,A,B,A,B,A,B
(A), (A, B, G)
Note that IDDFS can do fewer
expansions than DFS on a graph
shaped search space.
Search on undirected graphs or directed graphs with cycles…
Cycles galore…
![Page 39: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/39.jpg)
Graph (instead of tree) Search:
Handling repeated nodes
• Repeated expansions is a bigger issue for DFS than for BFS or IDDFS
• Trying to remember all previously expanded nodes and comparing the
new nodes with them is infeasible
• Space becomes exponential
• duplicate checking can also be expensive
• Partial reduction in repeated expansion can be done by
• Checking to see if any children of a node n have the same state as the
parent of n
• Checking to see if any children of a node n have the same state as any
ancestor of n (at most d ancestors for n—where d is the depth of n)
![Page 40: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/40.jpg)
Breadth-First goes level by level
![Page 41: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/41.jpg)
Visualizing Breadth-First & Uniform Cost Search
Breadth-First goes level by level
This is also a proof of
optimality…
![Page 42: 573 lecture 2 - search Imausam/courses/col333/autumn2019/lectures/0… · predicate logic (or relational prob. Models) First-order +functions over objects Search+Inference in first](https://reader033.vdocuments.us/reader033/viewer/2022050403/5f80dcf75232b57b377b428b/html5/thumbnails/42.jpg)
Problem
• All these methods are slow (blind)
• Solution add guidance (“heuristic estimate”)
“informed search”44
© Jen
Theodore