Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture...
Transcript of Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture...
![Page 1: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/1.jpg)
Lecture 2
▪ Music:▪ 9 to 5 - Dolly Parton▪ Por una Cabeza (instrumental) - written by Carlos Gardel, performed by
Horacio Rivera▪ Bear Necessities - from The Jungle Book, performed by Anthony the
Banjo Man
![Page 2: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/2.jpg)
AI in the News
▪ https://ai.googleblog.com/2019/06/introducing-tensornetwork-open-source.html
▪ Use cases in physics!▪ Approximating quantum states is a typical use-case for tensor networks
in physics.▪ “... we describe a tree tensor network (TTN) algorithm for
approximating the ground state of either a periodic quantum spin chain (1D) or a lattice model on a thin torus (2D)”
![Page 3: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/3.jpg)
▪ Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow)▪ Project 0: Python Tutorial
▪ Optional, but please do it. It walks you through the project submission process.▪ Homework 0: Math self-diagnostic
▪ Optional, but important to check your preparedness for second half of the class.▪ Project 1: Search is out!
▪ Best way to test your programming preparedness▪ Use post @5 on Piazza to search for a project partner if you don’t have one!
▪ HW 1 is out!▪ 3 components: electronic, written, and self-assessment
▪ Sections start this week▪ Sorry for the lecture-discussion misalignment!
▪ Make sure you are signed up for Piazza and Gradescope▪ Check all the pinned posts on Piazza
▪ You can give me feedback through this link: https://tinyurl.com/aditya-feedback-form
Announcements
![Page 4: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/4.jpg)
CS 188: Artificial Intelligence
Search
Instructors: Sergey Levine & Stuart Russell
University of California, Berkeley[slides adapted from Dan Klein, Pieter Abbeel]
![Page 5: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/5.jpg)
Today
▪ Agents that Plan Ahead
▪ Search Problems
▪ Uninformed Search Methods▪ Depth-First Search▪ Breadth-First Search▪ Uniform-Cost Search
![Page 6: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/6.jpg)
Agents and environments
Agent
?
Sensors
Actuators
Environment
Percepts
Actions
▪ An agent perceives its environment through sensors and acts upon it through actuators
▪ Q: What are some examples of this?
![Page 7: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/7.jpg)
Rationality
▪ A rational agent chooses actions maximize the expected utility▪ Today: agents that have a goal, and a cost
▪ E.g., reach goal with lowest cost
▪ Later: agents that have numerical utilities, rewards, etc.▪ E.g., take actions that maximize total reward over time (e.g., largest profit in $)
![Page 8: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/8.jpg)
Agent design
▪ The environment type largely determines the agent design▪ Fully/partially observable => agent requires memory (internal state)▪ Discrete/continuous => agent may not be able to enumerate all states▪ Stochastic/deterministic => agent may have to prepare for contingencies▪ Single-agent/multi-agent => agent may need to behave randomly
![Page 9: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/9.jpg)
Agents that Plan
![Page 10: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/10.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 11: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/11.jpg)
Video of Demo Reflex Optimal
![Page 12: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/12.jpg)
Video of Demo Reflex Odd
![Page 13: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/13.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
▪ Planning vs. replanning
[Demo: re-planning (L2D3)][Demo: mastermind (L2D4)]
![Page 14: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/14.jpg)
Video of Demo Replanning
![Page 15: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/15.jpg)
Video of Demo Mastermind
![Page 16: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/16.jpg)
Search Problems
![Page 17: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/17.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 18: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/18.jpg)
Search Problems Are Models
![Page 19: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/19.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 20: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/20.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 21: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/21.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 22: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/22.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 23: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/23.jpg)
Agent design
▪ The environment type largely determines the agent design▪ Fully/partially observable => agent requires memory (internal state)▪ Discrete/continuous => agent may not be able to enumerate all states▪ Stochastic/deterministic => agent may have to prepare for contingencies▪ Single-agent/multi-agent => agent may need to behave randomly
![Page 24: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/24.jpg)
State Space Graphs and Search Trees
![Page 25: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/25.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 26: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/26.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
S
G
d
b
p q
c
e
h
a
f
r
Tiny state space graph for a tiny search problem
![Page 27: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/27.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 28: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/28.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 29: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/29.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 30: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/30.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)?
sb
b G a
a
G
a G b G
… …
![Page 31: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/31.jpg)
Break!
▪ Stand up and stretch▪ Talk to your neighbors
![Page 32: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/32.jpg)
Tree Search
![Page 33: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/33.jpg)
Search Example: Romania
![Page 34: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/34.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 35: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/35.jpg)
General Tree Search
▪ Important ideas:▪ Fringe
▪ the set of nodes that are to-be-visited▪ Expansion
▪ the process of ‘visiting’ a node▪ Exploration strategy
▪ how do we decide which fringe node to visit?
▪ Main question: which fringe nodes to explore?
![Page 36: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/36.jpg)
Example: Tree Search
S
G
d
b
p q
c
e
h
a
f
r
![Page 37: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/37.jpg)
Example: Tree Search
a a p
q
h
f
r
q
c G
a
q
qp
q
a
S
G
d
b
p q
c
e
h
a
f
r
fd e
r
S
d e p
e
h r
f
c G
b c
ss � ds � es � ps � d � bs � d � cs � d � es � d � e � hs � d � e � rs � d � e � r � fs � d � e � r � f � cs � d � e � r � f � G
![Page 38: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/38.jpg)
Depth-First Search
![Page 39: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/39.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
fd
ba
c
e
r
Strategy: expand a deepest node first
![Page 40: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/40.jpg)
Search Algorithm Properties
![Page 41: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/41.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 node
b nodes
b2 nodes
bm nodes
m tiers
![Page 42: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/42.jpg)
Depth-First Search (DFS) Properties
…b 1 node
b 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 43: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/43.jpg)
Breadth-First Search
![Page 44: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/44.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
SearchTiers
Strategy: expand a shallowest node first
![Page 45: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/45.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 node
b nodes
b2 nodes
bm nodes
s tiers
bs nodes
![Page 46: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/46.jpg)
Quiz: DFS vs BFS
![Page 47: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/47.jpg)
Quiz: DFS vs BFS
▪ When will BFS outperform DFS?
▪ When will DFS outperform BFS?
[Demo: dfs/bfs maze water (L2D6)]
![Page 48: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/48.jpg)
Video of Demo Maze Water DFS/BFS (part 1)
![Page 49: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/49.jpg)
Video of Demo Maze Water DFS/BFS (part 2)
![Page 50: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/50.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 51: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/51.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 covera 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 52: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/52.jpg)
Uniform Cost Search (Dijkstra’s algorithm)
![Page 53: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/53.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:
S
G
d
b
p q
c
e
h
a
f
r
3 9 1
164 115
713
8
1011
17 11
0
6
3 9
1
1
2
8
8 2
15
1
2
Cost contours
2
![Page 54: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/54.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 ≤ 2c ≤ 1
![Page 55: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/55.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 56: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/56.jpg)
Video of Demo Empty UCS
![Page 57: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/57.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 1)
![Page 58: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/58.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 2)
![Page 59: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/59.jpg)
Video of Demo Maze with Deep/Shallow Water --- DFS, BFS, or UCS? (part 3)
![Page 60: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/60.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 61: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/61.jpg)
The One Queue
▪ DFS▪ Stack (LIFO)
▪ BFS▪ Queue (FIFO)
▪ UCS / Dijkstra’s▪ min-Priority Queue▪ where priority is the cumulative cost from the start node
![Page 62: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/62.jpg)
Recap
▪ Agents that Plan Ahead▪ Reflex agents vs planning agents
▪ Search Problems▪ State space representation
▪ Uninformed Search Methods▪ Depth-First Search▪ Breadth-First Search▪ Uniform-Cost Search
![Page 63: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/63.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 64: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/64.jpg)
Search Gone Wrong?
![Page 65: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/65.jpg)
Example: Pancake Problem
Cost: Number of pancakes flipped
![Page 66: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/66.jpg)
Example: Pancake Problem
![Page 67: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/67.jpg)
Example: Pancake Problem
3
2
4
3
3
2
2
2
4
State space graph with costs as weights
34
3
4
2
![Page 68: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/68.jpg)
General Tree Search
Action: flip top twoCost: 2
Action: flip all fourCost: 4
Path to reach goal:Flip four, flip three
Total cost: 7
![Page 69: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/69.jpg)
Uniform Cost Search
▪ Strategy: expand lowest path cost
▪ The good: UCS is complete and optimal!
▪ The bad:▪ Explores options in every “direction”▪ No information about goal location Start Goal
…
c ≤ 3
c ≤ 2c ≤ 1
![Page 70: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/70.jpg)
Informed Search
![Page 71: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/71.jpg)
Search Heuristics▪ A heuristic is:
▪ A function that estimates how close a state is to a goal▪ Designed for a particular search problem▪ Examples: Manhattan distance, Euclidean distance for
pathing
10
511.2
![Page 72: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/72.jpg)
Example: Heuristic Function
h(x)
![Page 73: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/73.jpg)
Example: Heuristic FunctionHeuristic: the number of the largest pancake that is still out of place
43
0
2
3
3
3
4
4
3
4
4
4
h(x)
![Page 74: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/74.jpg)
Greedy Search
![Page 75: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/75.jpg)
Example: Heuristic Function
h(x)
![Page 76: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/76.jpg)
Greedy Search
▪ Expand the node that seems closest…
▪ What can go wrong?
![Page 77: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/77.jpg)
Greedy Search
▪ Strategy: expand a node that you think is closest to a goal state▪ Heuristic: estimate of distance to nearest goal for
each state
▪ A common case:▪ Best-first takes you straight to the (wrong) goal
▪ Worst-case: like a badly-guided DFS
…b
…b
[Demo: contours greedy empty (L3D1)] [Demo: contours greedy pacman small maze (L3D4)]
![Page 78: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/78.jpg)
Video of Demo Contours Greedy (Empty)
![Page 79: Lecture 2 - University of California, Berkeleycs188/su19/assets/slides/lecture02.pdf · Lecture moved to North Gate Hall, room 105, starting Wednesday (tomorrow) Project 0: Python](https://reader033.fdocuments.in/reader033/viewer/2022050315/5f78024101cda374a750f71c/html5/thumbnails/79.jpg)
Video of Demo Contours Greedy (Pacman Small Maze)