search - GitHub Pages
Transcript of search - GitHub Pages
![Page 1: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/1.jpg)
CS 5522: Artificial Intelligence II Search
Instructor: Alan Ritter
Ohio State University [These slides were adapted from CS188 Intro to AI at UC Berkeley. All materials available at http://ai.berkeley.edu.]
![Page 2: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/2.jpg)
Today
▪ Agents that Plan Ahead
▪ Search Problems
▪ Uninformed Search Methods ▪ Depth-First Search
▪ Breadth-First Search
▪ Uniform-Cost Search
![Page 3: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/3.jpg)
Agents that Plan
![Page 4: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/4.jpg)
Reflex Agents
▪ Reflex agents: ▪ Choose action based on current percept
(and maybe memory) ▪ May have memory or a model of the world’s
current state ▪ Do not consider the future consequences of
their actions ▪ Consider how the world IS
▪ Can a reflex agent be rational?
[Demo: reflex optimal (L2D1)][Demo: reflex optimal (L2D2)]
![Page 5: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/5.jpg)
Video of Demo Reflex Optimal
![Page 6: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/6.jpg)
Video of Demo Reflex Optimal
![Page 7: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/7.jpg)
Video of Demo Reflex Optimal
![Page 8: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/8.jpg)
Video of Demo Reflex Odd
![Page 9: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/9.jpg)
Video of Demo Reflex Odd
![Page 10: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/10.jpg)
Video of Demo Reflex Odd
![Page 11: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/11.jpg)
Planning Agents
▪ Planning agents: ▪ Ask “what if” ▪ Decisions based on (hypothesized)
consequences of actions ▪ Must have a model of how the world evolves
in response to actions ▪ Must formulate a goal (test) ▪ Consider how the world WOULD BE
▪ Optimal vs. complete planning
▪ Planning vs. replanning
[Demo: replanning (L2D3)][Demo: mastermind (L2D4)]
![Page 12: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/12.jpg)
Video of Demo Replanning
![Page 13: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/13.jpg)
Video of Demo Replanning
![Page 14: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/14.jpg)
Video of Demo Replanning
![Page 15: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/15.jpg)
Video of Demo Mastermind
![Page 16: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/16.jpg)
Video of Demo Mastermind
![Page 17: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/17.jpg)
Video of Demo Mastermind
![Page 18: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/18.jpg)
Search Problems
![Page 19: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/19.jpg)
Search Problems
▪ A search problem consists of:
![Page 20: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/20.jpg)
Search Problems
▪ A search problem consists of:
▪ A state space
![Page 21: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/21.jpg)
Search Problems
▪ A search problem consists of:
▪ A state space
▪ A successor function (with actions, costs)
![Page 22: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/22.jpg)
Search Problems
▪ A search problem consists of:
▪ A state space
▪ A successor function (with actions, costs)
“N”, 1.0
“E”, 1.0
![Page 23: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/23.jpg)
Search Problems
▪ A search problem consists of:
▪ A state space
▪ A successor function (with actions, costs)
▪ A start state and a goal test
“N”, 1.0
“E”, 1.0
![Page 24: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/24.jpg)
Search Problems
▪ A search problem consists of:
▪ A state space
▪ A successor function (with actions, costs)
▪ A start state and a goal test
▪ A solution is a sequence of actions (a plan) which transforms the start state to a goal state
“N”, 1.0
“E”, 1.0
![Page 25: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/25.jpg)
Search Problems Are Models
![Page 26: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/26.jpg)
Search Problems Are Models
![Page 27: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/27.jpg)
Example: Traveling in Romania
![Page 28: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/28.jpg)
Example: Traveling in Romania
▪ State space: ▪ Cities
![Page 29: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/29.jpg)
Example: Traveling in Romania
▪ State space: ▪ Cities
▪ Successor function: ▪ Roads: Go to adjacent city with
cost = distance
![Page 30: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/30.jpg)
Example: Traveling in Romania
▪ State space: ▪ Cities
▪ Successor function: ▪ Roads: Go to adjacent city with
cost = distance
▪ Start state: ▪ Arad
![Page 31: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/31.jpg)
Example: Traveling in Romania
▪ State space: ▪ Cities
▪ Successor function: ▪ Roads: Go to adjacent city with
cost = distance
▪ Start state: ▪ Arad
▪ Goal test: ▪ Is state == Bucharest?
![Page 32: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/32.jpg)
Example: Traveling in Romania
▪ State space: ▪ Cities
▪ Successor function: ▪ Roads: Go to adjacent city with
cost = distance
▪ Start state: ▪ Arad
▪ Goal test: ▪ Is state == Bucharest?
▪ Solution?
![Page 33: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/33.jpg)
What’s in a State Space?
The world state includes every last detail of the environment
![Page 34: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/34.jpg)
What’s in a State Space?
The world state includes every last detail of the environment
A search state keeps only the details needed for planning (abstraction)
![Page 35: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/35.jpg)
What’s in a State Space?
▪ Problem: Pathing ▪ States: (x,y) location ▪ Actions: NSEW ▪ Successor: update location
only ▪ Goal test: is (x,y)=END
The world state includes every last detail of the environment
A search state keeps only the details needed for planning (abstraction)
![Page 36: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/36.jpg)
What’s in a State Space?
▪ Problem: Pathing ▪ States: (x,y) location ▪ Actions: NSEW ▪ Successor: update location
only ▪ Goal test: is (x,y)=END
▪ Problem: Eat-All-Dots ▪ States: {(x,y), dot
booleans} ▪ Actions: NSEW ▪ Successor: update location
and possibly a dot boolean ▪ Goal test: dots all false
The world state includes every last detail of the environment
A search state keeps only the details needed for planning (abstraction)
![Page 37: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/37.jpg)
State Space Sizes?
▪ World state:▪ Agent positions: 120▪ Food count: 30▪ Ghost positions: 12▪ Agent facing: NSEW
![Page 38: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/38.jpg)
State Space Sizes?
▪ World state:▪ Agent positions: 120▪ Food count: 30▪ Ghost positions: 12▪ Agent facing: NSEW
▪ How many
![Page 39: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/39.jpg)
State Space Sizes?
▪ World state:▪ Agent positions: 120▪ Food count: 30▪ Ghost positions: 12▪ Agent facing: NSEW
▪ How many▪ World states?
![Page 40: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/40.jpg)
State Space Sizes?
▪ World state:▪ Agent positions: 120▪ Food count: 30▪ Ghost positions: 12▪ Agent facing: NSEW
▪ How many▪ World states? 120x(230)x(122)x4
![Page 41: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/41.jpg)
State Space Sizes?
▪ World state:▪ Agent positions: 120▪ Food count: 30▪ Ghost positions: 12▪ Agent facing: NSEW
▪ How many▪ World states? 120x(230)x(122)x4▪ States for pathing?
![Page 42: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/42.jpg)
State Space Sizes?
▪ World state:▪ Agent positions: 120▪ Food count: 30▪ Ghost positions: 12▪ Agent facing: NSEW
▪ How many▪ World states? 120x(230)x(122)x4▪ States for pathing? 120
![Page 43: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/43.jpg)
State Space Sizes?
▪ World state:▪ Agent positions: 120▪ Food count: 30▪ Ghost positions: 12▪ Agent facing: NSEW
▪ How many▪ World states? 120x(230)x(122)x4▪ States for pathing? 120▪ States for eat-all-dots?
![Page 44: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/44.jpg)
State Space Sizes?
▪ World state:▪ Agent positions: 120▪ Food count: 30▪ Ghost positions: 12▪ Agent facing: NSEW
▪ How many▪ World states? 120x(230)x(122)x4▪ States for pathing? 120▪ States for eat-all-dots? 120x(230)
![Page 45: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/45.jpg)
Quiz: Safe Passage
▪ Problem: eat all dots while keeping the ghosts perma-scared
![Page 46: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/46.jpg)
Quiz: Safe Passage
▪ Problem: eat all dots while keeping the ghosts perma-scared▪ What does the state space have to specify?
![Page 47: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/47.jpg)
Quiz: Safe Passage
▪ Problem: eat all dots while keeping the ghosts perma-scared▪ What does the state space have to specify?
▪ (agent position, dot booleans, power pellet booleans, remaining scared time)
![Page 48: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/48.jpg)
State Space Graphs and Search Trees
![Page 49: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/49.jpg)
State Space Graphs
▪ State space graph: A mathematical representation of a search problem
![Page 50: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/50.jpg)
State Space Graphs
▪ State space graph: A mathematical representation of a search problem
![Page 51: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/51.jpg)
State Space Graphs
▪ State space graph: A mathematical representation of a search problem▪ Nodes are (abstracted) world configurations
![Page 52: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/52.jpg)
State Space Graphs
▪ State space graph: A mathematical representation of a search problem▪ Nodes are (abstracted) world configurations▪ Arcs represent successors (action results)
![Page 53: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/53.jpg)
State Space Graphs
▪ State space graph: A mathematical representation of a search problem▪ Nodes are (abstracted) world configurations▪ Arcs represent successors (action results)▪ The goal test is a set of goal nodes (maybe only
one)
![Page 54: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/54.jpg)
State Space Graphs
▪ State space graph: A mathematical representation of a search problem▪ Nodes are (abstracted) world configurations▪ Arcs represent successors (action results)▪ The goal test is a set of goal nodes (maybe only
one)
▪ In a state space graph, each state occurs only once!
![Page 55: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/55.jpg)
State Space Graphs
▪ State space graph: A mathematical representation of a search problem▪ Nodes are (abstracted) world configurations▪ Arcs represent successors (action results)▪ The goal test is a set of goal nodes (maybe only
one)
▪ In a state space graph, each state occurs only once!
▪ We can rarely build this full graph in memory (it’s too big), but it’s a useful idea
![Page 56: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/56.jpg)
State Space Graphs
▪ State space graph: A mathematical representation of a search problem ▪ Nodes are (abstracted) world configurations ▪ Arcs represent successors (action results) ▪ The goal test is a set of goal nodes (maybe only
one)
▪ In a search graph, each state occurs only once!
▪ We can rarely build this full graph in memory (it’s too big), but it’s a useful idea
S
G
d
b
p q
c
e
h
a
f
r
Tiny search graph for a tiny search problem
![Page 57: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/57.jpg)
Search Trees
![Page 58: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/58.jpg)
Search Trees
This is now / start
![Page 59: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/59.jpg)
Search Trees
“E”, 1.0“N”, 1.0
This is now / start
Possible futures
![Page 60: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/60.jpg)
Search Trees
“E”, 1.0“N”, 1.0
This is now / start
Possible futures
![Page 61: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/61.jpg)
Search Trees
▪ A search tree: ▪ A “what if” tree of plans and their outcomes ▪ The start state is the root node ▪ Children correspond to successors ▪ Nodes show states, but correspond to PLANS that achieve those states ▪ For most problems, we can never actually build the whole tree
“E”, 1.0“N”, 1.0
This is now / start
Possible futures
![Page 62: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/62.jpg)
State Space Graphs vs. Search Trees
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 Ga
S
G
d
b
p q
c
e
h
a
f
r
We construct both on demand – and we construct as
little as possible.
Each NODE in in the search tree is an entire PATH in the state space
graph.
Search TreeState Space Graph
![Page 63: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/63.jpg)
Quiz: State Space Graphs vs. Search Trees
S G
b
a
Consider this 4-state graph:
![Page 64: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/64.jpg)
Quiz: State Space Graphs vs. Search Trees
S G
b
a
Consider this 4-state graph: How big is its search tree (from S)?
![Page 65: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/65.jpg)
Quiz: State Space Graphs vs. Search Trees
S G
b
a
Consider this 4-state graph: How big is its search tree (from S)?
![Page 66: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/66.jpg)
Quiz: State Space Graphs vs. Search Trees
S G
b
a
Consider this 4-state graph:
Important: Lots of repeated structure in the search tree!
How big is its search tree (from S)?
![Page 67: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/67.jpg)
Tree Search
![Page 68: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/68.jpg)
Search Example: Romania
![Page 69: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/69.jpg)
Searching with a Search Tree
▪ Search: ▪ Expand out potential plans (tree nodes) ▪ Maintain a fringe of partial plans under consideration ▪ Try to expand as few tree nodes as possible
![Page 70: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/70.jpg)
Searching with a Search Tree
▪ Search: ▪ Expand out potential plans (tree nodes) ▪ Maintain a fringe of partial plans under consideration ▪ Try to expand as few tree nodes as possible
![Page 71: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/71.jpg)
Searching with a Search Tree
▪ Search: ▪ Expand out potential plans (tree nodes) ▪ Maintain a fringe of partial plans under consideration ▪ Try to expand as few tree nodes as possible
![Page 72: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/72.jpg)
General Tree Search
▪ Important ideas: ▪ Fringe ▪ Expansion ▪ Exploration strategy
▪ Main question: which fringe nodes to explore?
![Page 73: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/73.jpg)
Example: Tree Search
S
G
d
b
p q
c
e
h
a
f
r
![Page 74: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/74.jpg)
Depth-First Search
![Page 75: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/75.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 76: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/76.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 77: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/77.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
d
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 78: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/78.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
d
bStrategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 79: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/79.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
d
baStrategy: expand a
deepest node first
Implementation: Fringe is a LIFO stack
![Page 80: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/80.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
d
cStrategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 81: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/81.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
d
cStrategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 82: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/82.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
de
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 83: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/83.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
rh
de
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 84: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/84.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
rph
de
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 85: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/85.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
rqph
de
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 86: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/86.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
rh
de
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 87: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/87.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
de
r
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 88: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/88.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
fde
r
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 89: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/89.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
fde
r
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 90: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/90.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
fde
r
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 91: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/91.jpg)
Depth-First 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
S
G
d
b
p q
c
e
h
a
f
r
fde
r
Strategy: expand a deepest node first
Implementation: Fringe is a LIFO stack
![Page 92: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/92.jpg)
Search Algorithm Properties
![Page 93: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/93.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?
![Page 94: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/94.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?
![Page 95: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/95.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?
![Page 96: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/96.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
![Page 97: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/97.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:
![Page 98: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/98.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:
![Page 99: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/99.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:
![Page 100: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/100.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor
…b
![Page 101: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/101.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor
…b
1 node
![Page 102: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/102.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor
…b
1 nodeb nodes
![Page 103: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/103.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor
…b
1 nodeb nodes
b2 nodes
![Page 104: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/104.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor▪ m is the maximum depth
…b
1 nodeb nodes
b2 nodes
m tiers
![Page 105: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/105.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor▪ m is the maximum depth
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
![Page 106: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/106.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor▪ m is the maximum depth▪ solutions at various depths
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
![Page 107: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/107.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor▪ m is the maximum depth▪ solutions at various depths
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
![Page 108: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/108.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor▪ m is the maximum depth▪ solutions at various depths
▪ Number of nodes in entire tree?
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
![Page 109: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/109.jpg)
Search Algorithm Properties
▪ Complete: Guaranteed to find a solution if one exists?▪ Optimal: Guaranteed to find the least cost path?▪ Time complexity?▪ Space complexity?
▪ Cartoon of search tree:▪ b is the branching factor▪ m is the maximum depth▪ solutions at various depths
▪ Number of nodes in entire tree?▪ 1 + b + b2 + …. bm = O(bm)
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
![Page 110: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/110.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?
![Page 111: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/111.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?
![Page 112: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/112.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?
![Page 113: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/113.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?
![Page 114: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/114.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.
![Page 115: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/115.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.▪ Could process the whole tree!
![Page 116: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/116.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.▪ Could process the whole tree!▪ If m is finite, takes time O(bm)
![Page 117: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/117.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.▪ Could process the whole tree!▪ If m is finite, takes time O(bm)
▪ How much space does the fringe take?
![Page 118: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/118.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.▪ Could process the whole tree!▪ If m is finite, takes time O(bm)
▪ How much space does the fringe take?▪ Only has siblings on path to root, so O(bm)
![Page 119: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/119.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.▪ Could process the whole tree!▪ If m is finite, takes time O(bm)
▪ How much space does the fringe take?▪ Only has siblings on path to root, so O(bm)
▪ Is it complete?
![Page 120: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/120.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.▪ Could process the whole tree!▪ If m is finite, takes time O(bm)
▪ How much space does the fringe take?▪ Only has siblings on path to root, so O(bm)
▪ Is it complete?▪ m could be infinite, so only if we prevent
cycles (more later)
![Page 121: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/121.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.▪ Could process the whole tree!▪ If m is finite, takes time O(bm)
▪ How much space does the fringe take?▪ Only has siblings on path to root, so O(bm)
▪ Is it complete?▪ m could be infinite, so only if we prevent
cycles (more later)
▪ Is it optimal?
![Page 122: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/122.jpg)
Depth-First Search (DFS) Properties
…b
1 nodeb nodes
b2 nodes
bm nodes
m tiers
▪ What nodes DFS expand?▪ Some left prefix of the tree.▪ Could process the whole tree!▪ If m is finite, takes time O(bm)
▪ How much space does the fringe take?▪ Only has siblings on path to root, so O(bm)
▪ Is it complete?▪ m could be infinite, so only if we prevent
cycles (more later)
▪ Is it optimal?▪ No, it finds the “leftmost” solution,
regardless of depth or cost
![Page 123: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/123.jpg)
Breadth-First Search
![Page 124: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/124.jpg)
Breadth-First 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
S
G
d
b
p q
ce
h
a
f
r
Strategy: expand a shallowest node first
Implementation: Fringe is a FIFO queue
![Page 125: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/125.jpg)
Breadth-First 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
S
G
d
b
p q
ce
h
a
f
r
Strategy: expand a shallowest node first
Implementation: Fringe is a FIFO queue
![Page 126: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/126.jpg)
Breadth-First 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
S
G
d
b
p q
ce
h
a
f
r
Strategy: expand a shallowest node first
Implementation: Fringe is a FIFO queue
![Page 127: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/127.jpg)
Breadth-First 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
S
G
d
b
p q
ce
h
a
f
r
Strategy: expand a shallowest node first
Implementation: Fringe is a FIFO queue
![Page 128: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/128.jpg)
Breadth-First 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
S
G
d
b
p q
ce
h
a
f
r
Strategy: expand a shallowest node first
Implementation: Fringe is a FIFO queue
![Page 129: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/129.jpg)
Breadth-First 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
S
G
d
b
p q
ce
h
a
f
r
Strategy: expand a shallowest node first
Implementation: Fringe is a FIFO queue
![Page 130: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/130.jpg)
Breadth-First 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
S
G
d
b
p q
ce
h
a
f
r
Search
Tiers
Strategy: expand a shallowest node first
Implementation: Fringe is a FIFO queue
![Page 131: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/131.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?
…b
1 nodeb nodes
b2 nodes
bm nodes
![Page 132: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/132.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?
…b
1 nodeb nodes
b2 nodes
bm nodes
![Page 133: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/133.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?
…b
1 nodeb nodes
b2 nodes
bm nodes
![Page 134: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/134.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?
…b
1 nodeb nodes
b2 nodes
bm nodes
![Page 135: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/135.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?
…b
1 nodeb nodes
b2 nodes
bm nodes
![Page 136: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/136.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?▪ Processes all nodes above shallowest
solution …b
1 nodeb nodes
b2 nodes
bm nodes
![Page 137: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/137.jpg)
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 nodeb nodes
b2 nodes
bm nodes
s tiers
![Page 138: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/138.jpg)
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 nodeb nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 139: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/139.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?▪ Processes all nodes above shallowest
solution▪ Let depth of shallowest solution be s▪ Search takes time O(bs)
…b
1 nodeb nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 140: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/140.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?▪ Processes all nodes above shallowest
solution▪ Let depth of shallowest solution be s▪ Search takes time O(bs)
▪ How much space does the fringe take?
…b
1 nodeb nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 141: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/141.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?▪ Processes all nodes above shallowest
solution▪ Let depth of shallowest solution be s▪ Search takes time O(bs)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bs)
…b
1 nodeb nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 142: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/142.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?▪ Processes all nodes above shallowest
solution▪ Let depth of shallowest solution be s▪ Search takes time O(bs)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bs)
▪ Is it complete?
…b
1 nodeb nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 143: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/143.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?▪ Processes all nodes above shallowest
solution▪ Let depth of shallowest solution be s▪ Search takes time O(bs)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bs)
▪ Is it complete?▪ s must be finite if a solution exists, so yes!
…b
1 nodeb nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 144: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/144.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?▪ Processes all nodes above shallowest
solution▪ Let depth of shallowest solution be s▪ Search takes time O(bs)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bs)
▪ Is it complete?▪ s must be finite if a solution exists, so yes!
▪ Is it optimal?
…b
1 nodeb nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 145: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/145.jpg)
Breadth-First Search (BFS) Properties
▪ What nodes does BFS expand?▪ Processes all nodes above shallowest
solution▪ Let depth of shallowest solution be s▪ Search takes time O(bs)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bs)
▪ Is it complete?▪ s must be finite if a solution exists, so yes!
▪ Is it optimal?▪ Only if costs are all 1 (more on costs later)
…b
1 nodeb nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 146: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/146.jpg)
Quiz: DFS vs BFS
![Page 147: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/147.jpg)
Quiz: DFS vs BFS
▪ When will BFS outperform DFS?
▪ When will DFS outperform BFS?
[Demo: dfs/bfs maze water (L2D6)]
![Page 148: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/148.jpg)
Video of Demo Maze Water DFS/BFS (part 1)
![Page 149: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/149.jpg)
Video of Demo Maze Water DFS/BFS (part 1)
![Page 150: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/150.jpg)
Video of Demo Maze Water DFS/BFS (part 1)
![Page 151: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/151.jpg)
Video of Demo Maze Water DFS/BFS (part 2)
![Page 152: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/152.jpg)
Video of Demo Maze Water DFS/BFS (part 2)
![Page 153: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/153.jpg)
Video of Demo Maze Water DFS/BFS (part 2)
![Page 154: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/154.jpg)
Iterative Deepening
…b
▪ Idea: get DFS’s space advantage with BFS’s time / shallow-solution advantages
![Page 155: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/155.jpg)
Iterative Deepening
…b
▪ Idea: get DFS’s space advantage with BFS’s time / shallow-solution advantages▪ Run a DFS with depth limit 1. If no
solution…
![Page 156: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/156.jpg)
Iterative Deepening
…b
▪ Idea: get DFS’s space advantage with BFS’s time / shallow-solution advantages▪ Run a DFS with depth limit 1. If no
solution…▪ Run a DFS with depth limit 2. If no
solution…
![Page 157: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/157.jpg)
Iterative Deepening
…b
▪ Idea: get DFS’s space advantage with BFS’s time / shallow-solution advantages▪ Run a DFS with depth limit 1. If no
solution…▪ Run a DFS with depth limit 2. If no
solution…▪ Run a DFS with depth limit 3. …..
![Page 158: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/158.jpg)
Iterative Deepening
…b
▪ Idea: get DFS’s space advantage with BFS’s time / shallow-solution advantages▪ Run a DFS with depth limit 1. If no
solution…▪ Run a DFS with depth limit 2. If no
solution…▪ Run a DFS with depth limit 3. …..
![Page 159: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/159.jpg)
Iterative Deepening
…b
▪ Idea: get DFS’s space advantage with BFS’s time / shallow-solution advantages▪ Run a DFS with depth limit 1. If no
solution…▪ Run a DFS with depth limit 2. If no
solution…▪ Run a DFS with depth limit 3. …..
▪ Isn’t that wastefully redundant?
![Page 160: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/160.jpg)
Iterative Deepening
…b
▪ Idea: get DFS’s space advantage with BFS’s time / shallow-solution advantages▪ Run a DFS with depth limit 1. If no
solution…▪ Run a DFS with depth limit 2. If no
solution…▪ Run a DFS with depth limit 3. …..
▪ Isn’t that wastefully redundant?▪ Generally most work happens in the lowest
level searched, so not so bad!
![Page 161: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/161.jpg)
Cost-Sensitive Search
BFS finds the shortest path in terms of number of actions. It does not find the least-cost path. We will now cover a similar algorithm which does find the least-cost path.
START
GOAL
d
b
pq
c
e
h
a
f
r
2
9 2
81
8
2
3
2
4
4
15
1
32
2
![Page 162: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/162.jpg)
Uniform Cost Search
![Page 163: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/163.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
0
39
1
1
2
8
8 2
15
1
22
![Page 164: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/164.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
0
39
1
1
2
8
8 2
15
1
22
![Page 165: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/165.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16
0
39
1
1
2
8
8 2
15
1
22
![Page 166: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/166.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
0
39
1
1
2
8
8 2
15
1
22
![Page 167: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/167.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
0
6
39
1
1
2
8
8 2
15
1
22
![Page 168: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/168.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
713
0
6
39
1
1
2
8
8 2
15
1
22
![Page 169: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/169.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
713
0
6
39
1
1
2
8
8 2
15
1
22
![Page 170: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/170.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
713
8
0
6
39
1
1
2
8
8 2
15
1
22
![Page 171: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/171.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
713
8
1011
0
6
39
1
1
2
8
8 2
15
1
22
![Page 172: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/172.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
713
8
1011
17 11
0
6
39
1
1
2
8
8 2
15
1
22
![Page 173: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/173.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
713
8
1011
17 11
0
6
39
1
1
2
8
8 2
15
1
22
![Page 174: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/174.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
Strategy: expand a cheapest node first:
Fringe is a priority queue (priority: cumulative cost) S
G
d
b
p q
c
e
h
a
f
r
3 9 1
16411
5
713
8
1011
17 11
0
6
39
1
1
2
8
8 2
15
1
2
Cost contours
2
![Page 175: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/175.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 176: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/176.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 177: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/177.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 178: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/178.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 179: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/179.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 180: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/180.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!▪ If that solution costs C* and arcs cost at least ε , then the
“effective depth” is roughly C*/ε
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 181: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/181.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!▪ If that solution costs C* and arcs cost at least ε , then the
“effective depth” is roughly C*/ε▪ Takes time O(bC*/ε) (exponential in effective depth)
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 182: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/182.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!▪ If that solution costs C* and arcs cost at least ε , then the
“effective depth” is roughly C*/ε▪ Takes time O(bC*/ε) (exponential in effective depth)
▪ How much space does the fringe take?
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 183: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/183.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!▪ If that solution costs C* and arcs cost at least ε , then the
“effective depth” is roughly C*/ε▪ Takes time O(bC*/ε) (exponential in effective depth)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bC*/ε)
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 184: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/184.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!▪ If that solution costs C* and arcs cost at least ε , then the
“effective depth” is roughly C*/ε▪ Takes time O(bC*/ε) (exponential in effective depth)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bC*/ε)
▪ Is it complete?
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 185: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/185.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!▪ If that solution costs C* and arcs cost at least ε , then the
“effective depth” is roughly C*/ε▪ Takes time O(bC*/ε) (exponential in effective depth)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bC*/ε)
▪ Is it complete?▪ Assuming best solution has a finite cost and minimum arc cost
is positive, yes!
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 186: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/186.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!▪ If that solution costs C* and arcs cost at least ε , then the
“effective depth” is roughly C*/ε▪ Takes time O(bC*/ε) (exponential in effective depth)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bC*/ε)
▪ Is it complete?▪ Assuming best solution has a finite cost and minimum arc cost
is positive, yes!
▪ Is it optimal?
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 187: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/187.jpg)
…
Uniform Cost Search (UCS) Properties
▪ What nodes does UCS expand?▪ Processes all nodes with cost less than cheapest solution!▪ If that solution costs C* and arcs cost at least ε , then the
“effective depth” is roughly C*/ε▪ Takes time O(bC*/ε) (exponential in effective depth)
▪ How much space does the fringe take?▪ Has roughly the last tier, so O(bC*/ε)
▪ Is it complete?▪ Assuming best solution has a finite cost and minimum arc cost
is positive, yes!
▪ Is it optimal?▪ Yes! (Proof next lecture via A*)
b
C*/ε “tiers”c ≤ 3
c ≤ 2
c ≤ 1
![Page 188: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/188.jpg)
Uniform Cost Issues
▪ Remember: UCS explores increasing cost contours
▪ The good: UCS is complete and optimal!
…
c ≤ 3c ≤ 2
c ≤ 1
[Demo: empty grid UCS (L2D5)] [Demo: maze with deep/shallow water DFS/BFS/UCS (L2D7)]
![Page 189: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/189.jpg)
Uniform Cost Issues
▪ Remember: UCS explores increasing cost contours
▪ The good: UCS is complete and optimal!
▪ The bad:▪ Explores options in every “direction”▪ No information about goal location
…
c ≤ 3c ≤ 2
c ≤ 1
[Demo: empty grid UCS (L2D5)] [Demo: maze with deep/shallow water DFS/BFS/UCS (L2D7)]
![Page 190: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/190.jpg)
Uniform Cost Issues
▪ Remember: UCS explores increasing cost contours
▪ The good: UCS is complete and optimal!
▪ The bad:▪ Explores options in every “direction”▪ No information about goal location
Start Goal
…
c ≤ 3c ≤ 2
c ≤ 1
[Demo: empty grid UCS (L2D5)] [Demo: maze with deep/shallow water DFS/BFS/UCS (L2D7)]
![Page 191: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/191.jpg)
Uniform Cost Issues
▪ Remember: UCS explores increasing cost contours
▪ The good: UCS is complete and optimal!
▪ The bad:▪ Explores options in every “direction”▪ No information about goal location
▪ We’ll fix that soon!
Start Goal
…
c ≤ 3c ≤ 2
c ≤ 1
[Demo: empty grid UCS (L2D5)] [Demo: maze with deep/shallow water DFS/BFS/UCS (L2D7)]
![Page 192: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/192.jpg)
Video of Demo Empty UCS
![Page 193: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/193.jpg)
Video of Demo Empty UCS
![Page 194: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/194.jpg)
Video of Demo Empty UCS
![Page 195: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/195.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 1)
![Page 196: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/196.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 1)
![Page 197: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/197.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 1)
![Page 198: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/198.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 2)
![Page 199: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/199.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 2)
![Page 200: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/200.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 2)
![Page 201: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/201.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 3)
![Page 202: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/202.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 3)
![Page 203: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/203.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 3)
![Page 204: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/204.jpg)
The One Queue
▪ All these search algorithms are the same except for fringe strategies ▪ Conceptually, all fringes are priority
queues (i.e. collections of nodes with attached priorities)
▪ Practically, for DFS and BFS, you can avoid the log(n) overhead from an actual priority queue, by using stacks and queues
▪ Can even code one implementation that takes a variable queuing object
![Page 205: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/205.jpg)
Search and Models
▪ Search operates over models of the world ▪ The agent doesn’t
actually try all the plans out in the real world!
▪ Planning is all “in simulation”
▪ Your search is only as good as your models…
![Page 206: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/206.jpg)
Search and Models
▪ Search operates over models of the world ▪ The agent doesn’t
actually try all the plans out in the real world!
▪ Planning is all “in simulation”
▪ Your search is only as good as your models…
![Page 207: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/207.jpg)
Search Gone Wrong?
![Page 208: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/208.jpg)
Search Gone Wrong?
![Page 209: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/209.jpg)
Search Gone Wrong?
![Page 210: search - GitHub Pages](https://reader031.fdocuments.in/reader031/viewer/2022012503/617d81148d6078561b674ef7/html5/thumbnails/210.jpg)
Search Gone Wrong?