|
|
|
|
Booking a flight |
|
Scheduling a meeting |
|
Playing chess |
|
VLSI Layout |
|
Construction Planning |
|
Parsing Grammars |
|
Robot Navigation |
|
Assembly Sequencing |
|
etc. etc. etc. |
|
|
|
|
Simple Search Problem-Solving Agent |
|
4 Parts of a Search Problem |
|
Example Search Problems |
|
General Search |
|
Breadth-First Search |
|
Depth-First Search |
|
Etc. |
|
|
|
|
|
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 - no information given to aid search |
|
State space: |
|
Initial state |
|
Operators (or successor function) |
|
Goal test |
|
Path cost |
|
|
|
|
|
|
|
|
|
|
|
|
8-puzzle |
|
8-queens problem Þ problem formulation is important! |
|
|
|
|
Booking a flight |
|
Scheduling a meeting |
|
Playing chess |
|
VLSI Layout |
|
Construction Planning |
|
Parsing Grammars |
|
Robot Navigation |
|
Assembly Sequencing |
|
etc. etc. etc. |
|
|
|
|
|
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 |
|
|
|
|
|
|
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? |
|
|
|
|
|
|
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? |
|
|
|
|
|
|
Time complexity O(b^d) |
|
Space complexity O(b*d) |
|
What’s the tradeoff? |
|
Neither optimal nor complete |
|
|
|
|
|
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-first search with a depth limit. |
|
No nodes beyond the depth limit are enqueued. |
|
|
|
|
|
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. |
|
|
|
|
|
Search both directions until search frontiers
meet. |
|
|
|
|
How to drive from Palo Alto, CA to Gettysburg,
PA? |
|
|
|
|
|
|
|
Different levels of granularity help reduce
problem complexity |
|
|
|
|
“Time is money.” |
|
Search takes time. |
|
Point of diminishing returns with real-time
search problems |
|
|
|
|
Each search space state as a set of world
states. |
|
Goal test a conjunction of goal tests |
|
Problems with this approach |
|
Minimizing uncertainty |
|