CS 371: Introduction to
Artificial Intelligence
What do these have in
common?
|
|
|
Booking a flight |
|
Scheduling a meeting |
|
Playing chess |
|
VLSI Layout |
|
Construction Planning |
|
Parsing Grammars |
|
Robot Navigation |
|
Assembly Sequencing |
|
etc. etc. etc. |
Outline
|
|
|
Simple Search Problem-Solving Agent |
|
4 Parts of a Search Problem |
|
Example Search Problems |
|
General Search |
|
Breadth-First Search |
|
Depth-First Search |
|
Etc. |
Simple Problem-Solving
Agent
Knowledge and Problem
Types
|
|
|
Single-state problem - current state
known, each action maps to a single state |
|
Multiple-state problem - current state
or effects of actions unknown |
|
Contingency problem - uncertainty
reduced by sensing during execution of actions |
|
Exploration problem - no information
about the effects of actions |
Uninformed Search Problem
|
|
|
|
Uninformed - no information given to
aid search |
|
State space: |
|
Initial state |
|
Operators (or successor function) |
|
Goal test |
|
Path cost |
Search Problem
Formulation
Search Problem
Formulation
Search Problem
Formulation
Search Problem
Formulation
Search Problem
Formulation
Search Problem
Formulation
Search Problem
Formulation
Search Problem
Formulation
Example Toy Problems
|
|
|
8-puzzle |
|
8-queens problem Þ problem formulation is important! |
Real-World Search
Problems
|
|
|
Booking a flight |
|
Scheduling a meeting |
|
Playing chess |
|
VLSI Layout |
|
Construction Planning |
|
Parsing Grammars |
|
Robot Navigation |
|
Assembly Sequencing |
|
etc. etc. etc. |
Search Strategies
|
|
|
|
General approach |
|
Criteria for comparing tradeoffs |
|
Search strategies: |
|
Breadth-first search |
|
Uniform cost search |
|
Depth-first search |
|
Depth-limited search |
|
Iterative deepening search |
|
Bidirectional search |
|
Island-driven search |
Search Paradigm
General Search Algorithm
Criteria for Comparing
Tradeoffs
|
|
|
Completeness - guaranteed to find
solution if there is one? |
|
Time complexity - how much time does it
take to find a solution? |
|
Space complexity - how much memory does
it take to find a solution? |
|
Optimality - does it find the best of
all possible solutions? |
Breadth-First Search
Breadth-First Search
(cont.)
|
|
|
|
Time complexity: |
|
Branching factor b |
|
Search depth d |
|
O(b^d) |
|
Space complexity also O(b^d) |
|
Same time/space complexity. Which is
the more critical limit? |
Uniform-Cost Search
Depth-First Search
Depth-First Search
(cont.)
|
|
|
Time complexity O(b^d) |
|
Space complexity O(b*d) |
|
What’s the tradeoff? |
|
Neither optimal nor complete |
Avoiding Repeated States
|
|
|
|
Some ways of dealing with repeated
states: |
|
Don’t avoid repeated states |
|
Don’t immediately repeat the same state |
|
Don’t introduce cycles in paths |
|
Don’t repeat states |
|
Problem formulation |
Depth-Limited Search
|
|
|
Depth-first search with a depth limit. |
|
No nodes beyond the depth limit are
enqueued. |
Iterative-Deepening
Search
|
|
|
|
Sequential runs of depth-limited search
with increasing depth: |
|
Depth-limited search (limit = 1) |
|
Depth-limited search (limit = 2) |
|
Depth-limited search (limit = 3) |
|
Etc. |
A Fun Puzzle (with a
point)
Bidirectional Search
|
|
|
Search both directions until search
frontiers meet. |
Abstraction in Problem
Formulation
|
|
|
How to drive from Palo Alto, CA to
Gettysburg, PA? |
|
|
|
|
|
|
|
Different levels of granularity help
reduce problem complexity |
Search Cost vs. Total
Cost
|
|
|
“Time is money.” |
|
Search takes time. |
|
Point of diminishing returns with
real-time search problems |
Multiple-State Search
Problem
|
|
|
Each search space state as a set of
world states. |
|
Goal test a conjunction of goal tests |
|
Problems with this approach |
|
Minimizing uncertainty |