CS-370-Week 2
CS-370-Week 2
Week 2
Instructor: Dr. Hashir Kiani
General Conduct
• Do not talk amongst yourselves during the class
• Be respectful of others
• Only speak at your turn and preferably raise your hand if you want to
say something
2
Lecture Outline
• Recap of Previous Lecture
• Search Tree
• Iterative Deepening
3
Recap of Previous Lecture
• What is Search?
• Give some applications of Search.
• What is State? Initial State? Actions? Transition Model?
• What is state space? State space graph?
• What is goal test? Path cost? Solution? Optimal solution?
• What elements should be present in a data structure used to
implement a node?
• What algorithmic approach can be used to solve a search problem?
• What is the problem with this approach?
• What is a better approach that can be used?
4
Recap of Previous Lecture
• What kind of data structure is a stack?
• What is depth first search?
• What kind of data structure is a queue?
• What is breadth first search?
5
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Depth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Breadth-First Search
A
Search Tree
A
B
C D
E F G
I K
H J
L
M
112
BFS vs DFS
• Is it complete?
• Yes, if we prevent cycles bm nodes
• Is it optimal?
• No, it finds the “leftmost” solution,
regardless of depth or cost
Breadth-First Search (BFS) Properties
• What nodes does BFS expand?
• Processes all nodes above shallowest
solution
• Let depth of shallowest solution be s b 1 node
• Search takes time O(bs) … b nodes
s tiers
b2 nodes
• How much space does the frontier
take? bs nodes
• Has roughly the last tier, so O(bs)
• Is it complete? bm nodes
• s must be finite if a solution exists, so
yes!
• Is it optimal?
• Only if costs are all the same.
Iterative Deepening Search
• Idea: get DFS’s space advantage with BFS’s
time / shallow-solution advantages
• Run a DFS with depth limit 1. If no solution… b
• Run a DFS with depth limit 2. If no solution… …
5 2
1
C D 6
Explored Set E F G
3 2 3
I 4 K 3
H 4 J 2
1
2 L
M
119
Uniform Cost Search Properties
• UCS is complete and optimal
120
Questions?
121