CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless...
-
Upload
lester-mccormick -
Category
Documents
-
view
218 -
download
2
Transcript of CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless...
![Page 1: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/1.jpg)
CSE 511a: Artificial Intelligence
Spring 2012
Lecture 2: Queue-Based Search
1/16/2012
Robert Pless – Wash U.
Multiple slides over the course adapted from Kilian Weinberger, Dan Klein (or Stuart Russell or Andrew Moore)
![Page 2: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/2.jpg)
Announcements Project 0: Python Tutorial
Posted. * Due Thursday, Jan 24, midnight.
Don’t delay, project 1 will be coming soon.
![Page 3: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/3.jpg)
Question from last class
How many humans fail the Turing test? Jon Stewart Interview, "The Most Human Human
" Loebner contest is a P v P (?) test,
Judges converse with human and chatbot, then have to name the human. Best current chatbot wins 29% of the time (so, humans lose 29%).
• CAPTCHAs are a very weak, computer graded Turing tests… human success rates 75 – 95%
![Page 4: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/4.jpg)
Today
Agents that Plan Ahead
Search Problems
Uninformed Search Methods (part review for some) Depth-First Search Breadth-First Search Uniform-Cost Search
Heuristic Search Methods (new for all) Greedy Search
But first, Pacman demo
![Page 5: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/5.jpg)
Review
What is a rational Agent?
![Page 6: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/6.jpg)
Review
What is a rational Agent?
Agent acts to achieve the best expected outcome given its current knowledge about the world.
![Page 7: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/7.jpg)
Reflex Agents
Reflex agents: Choose action based on
current percept May have memory or
model of the world’s current state
Do not consider the future consequences of their actions
Act on how the world IS
Can a reflex agent be rational?
![Page 8: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/8.jpg)
Goal Based Agents
Goal-based agents: Plan ahead Ask “what if” Decisions based on
(hypothesized) consequences of actions
Must have a model of how the world evolves in response to actions
Act on how the world WOULD BE
![Page 9: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/9.jpg)
Search Problems
A search problem consists of:
A state space
A successor function
A start state and a goal test
A cost function (for now we set cost=1 for all steps) 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 10: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/10.jpg)
Example: Romania
State space: Cities
Successor function: Go to adj city
with cost = dist
Start state: Arad
Goal test: Is state ==
Bucharest?
Solution?
![Page 11: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/11.jpg)
State Space Sizes?
Search Problem: Eat all of the food
Pacman positions: 10 x 12 = 120
Food count: 30 Ghost positions: 12 Pacman facing:
up, down, left, right
![Page 12: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/12.jpg)
Tree Search
![Page 13: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/13.jpg)
State Space Graphs
State space graph: A mathematical representation of a search problem Every search problem, has
a corresponding state space graph
The successor function is represented by arcs
We can rarely build this graph in memory (so we don’t)
S
G
d
b
pq
c
e
h
a
f
r
Ridiculously tiny search graph for a tiny search problem
![Page 14: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/14.jpg)
State Space Sizes?
Search Problem: Eat all of the food
Pacman positions: 10 x 12 = 120
Food count: 30 Ghost positions: 12 Pacman facing:
up, down, left, right
![Page 15: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/15.jpg)
Search Trees
A search tree: This is a “what if” tree of plans and outcomes Start state at the root node Children correspond to successors Nodes contain states, correspond to PLANS to those states For most problems, we can never actually build the whole tree
“E”, 1.0“N”, 1.0
![Page 16: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/16.jpg)
Another Search Tree
Search: Expand out possible plans Maintain a fringe of unexpanded plans Try to expand as few tree nodes as possible
![Page 17: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/17.jpg)
General Tree Search
Important ideas: Fringe Expansion Exploration strategy
Main question: which fringe nodes to explore?
Detailed pseudocode is in the book!
![Page 18: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/18.jpg)
State 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 problem graph.
![Page 19: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/19.jpg)
Review: 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
rqp
hfd
b
ac
e
r
Strategy: expand deepest node first
Implementation: Fringe is a LIFO stack
![Page 20: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/20.jpg)
Review: 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
c
e
h
a
f
r
Search
Tiers
Strategy: expand shallowest node first
Implementation: Fringe is a FIFO queue
![Page 21: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/21.jpg)
Analysis of Search Algorithms
[demo]
![Page 22: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/22.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?
Variables:
n Number of states in the problem
b The average branching factor B(the average number of successors)
C* Cost of least cost solution
s Depth of the shallowest solution
m Max depth of the search tree
![Page 23: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/23.jpg)
DFS
Infinite paths make DFS incomplete… How can we fix this?
Algorithm Complete Optimal Time Space
DFS Depth First Search
N N O(BLMAX) O(LMAX)
START
GOAL
a
b
N N Infinite Infinite
![Page 24: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/24.jpg)
DFS With cycle checking, DFS is complete.*
Algorithm Complete Optimal Time Space
DFS w/ Path Checking Y N O(bm+1) O(bm)
…b
1 node
b nodes
b2 nodes
bm nodes
m tiers
* Or graph search – next lecture.
![Page 25: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/25.jpg)
BFS
When is BFS optimal?
Algorithm Complete Optimal Time Space
DFS w/ Path Checking
BFS
Y N O(bm+1) O(bm)
…b
1 node
b nodes
b2 nodes
bm nodes
s tiers
Y N* O(bs+1) O(bs+1)
bs nodes
![Page 26: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/26.jpg)
Comparisons
When will BFS outperform DFS?
When will DFS outperform BFS?
![Page 27: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/27.jpg)
Iterative DeepeningIterative deepening uses DFS as a subroutine:
1. Do a DFS which only searches for paths of length 1 or less.
2. If “1” failed, do a DFS which only searches paths of length 2 or less.
3. If “2” failed, do a DFS which only searches paths of length 3 or less.
….and so on.
Algorithm Complete Optimal Time Space
DFS w/ Path Checking
BFS
ID
Y N O(bm+1) O(bm)
Y N* O(bs+1) O(bs+1)
Y N* O(bs+1) O(bs)
…b
![Page 28: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/28.jpg)
Cost sensitive search
![Page 29: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/29.jpg)
Costs on Actions
Notice that BFS finds the shortest path in terms of number of transitions. It does not find the least-cost path.We will quickly cover an 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
1
4
4
15
1
32
2
![Page 30: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/30.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
Expand cheapest node first:
Fringe is a priority queueS
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 1
15
1
2
Cost contours
2
![Page 31: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/31.jpg)
Priority Queue Refresher
pq.push(key, value) inserts (key, value) into the queue.
pq.pop() returns the key with the lowest value, and removes it from the queue.
You can decrease a key’s priority by pushing it again Unlike a regular queue, insertions aren’t constant time,
usually O(log n)
We’ll need priority queues for cost-sensitive search methods
A priority queue is a data structure in which you can insert and retrieve (key, value) pairs with the following operations:
![Page 32: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/32.jpg)
Uniform Cost SearchAlgorithm Complete Optimal Time Space
DFS w/ Path Checking
BFS
UCS
Y N O(bm+1) O(bm)
…b
C*/ tiers
Y N O(bs+1) O(bs+1)
Y* Y O(b1+C*/) O(b1+C*/)
* UCS can fail if actions can get arbitrarily cheap
![Page 33: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/33.jpg)
Search Heuristics
![Page 34: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/34.jpg)
Uniform Cost Issues
Remember: 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 3
c 2
c 1
[demo]
![Page 35: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/35.jpg)
Search Heuristics
Any estimate of how close a state is to a goal Designed for a particular search problem Examples: Manhattan distance, Euclidean distance
10
511.2
![Page 36: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/36.jpg)
Heuristics
![Page 37: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/37.jpg)
Best First / Greedy Search Expand the node that seems closest…
What can go wrong?
![Page 38: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/38.jpg)
Best First / Greedy Search
A common case: Best-first takes you straight
to the (wrong) goal
Worst-case: like a badly-guided DFS in the worst case Can explore everything Can get stuck in loops if no
cycle checking
Like DFS in completeness (finite states w/ cycle checking)
…b
…b
[demo]
![Page 39: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/39.jpg)
Search Gone Wrong?
![Page 40: CSE 511a: Artificial Intelligence Spring 2012 Lecture 2: Queue-Based Search 1/16/2012 Robert Pless – Wash U. Multiple slides over the course adapted from.](https://reader036.fdocuments.net/reader036/viewer/2022062516/56649e435503460f94b368fc/html5/thumbnails/40.jpg)
Alternative pacman
Video