CS 371: Introduction to Artificial Intelligence
Uninformed Search

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