Problem Solving

advertisement
Problem Solving by Searching
Chapter 3
Spring 2004
Copyright, 1996 © Dale Carnegie & Associates, Inc.
Problem-Solving Agents
This is a kind of goal-based agents that
decide what to do by finding sequences
of actions that lead to desirable states.
Formulating problems
Example problems
Searching for solutions
CS 471/598 by H. Liu
2
A simple problem-solving
agent
Goal formulation - limiting the objectives
 A goal is a set of world states in which the
goal is satisfied.
Problem formulation - deciding what
actions and states to consider
Search - looking for the best sequence of
actions
CS 471/598 by H. Liu
3
A simple agent
Solutions - the results of search, so they
are sequences of actions that lead to
the goal
Execution - acting upon the world
Formulate -> Search -> Execute
An algorithm in Fig 3.1
CS 471/598 by H. Liu
4
Well-defined problems and solutions
A problem is defined by four components




Initial state is where an agent starts
Possible actions, successor function <action,successor>
Goal test determines if a state is a goal state
Path cost function, step cost
A solution is a path from the initial state to a goal
state

Path - connecting sets of states
CS 471/598 by H. Liu
5
Problems and Solutions
States and actions are the basic elements
of a problem
A world of states: initial state I, operator O
(or successor)
State space - the set of all states
reachable from I by any sequences of O
Example: a simplified Romania road
map (Fig 3.2)
CS 471/598 by H. Liu
6
Formulating Problems
Choosing states and actions
The real art of problem solving is in what
goes into the description of the states and
operators and what does not
Abstraction - removing detail from a
representation
CS 471/598 by H. Liu
7
Measuring problem-solving
performance
Performance measures
 Completeness
 Optimality
 Time complexity
 Space complexity
Reach the goal
Search cost
Total cost = path cost + search cost
CS 471/598 by H. Liu
8
Example Problems
Toy problems: concise and exact, used
to illustrate or exercise various problemsolving methods - ideal cases
Real-world problems: more difficult and
we want solutions, but there might be
many different descriptions
CS 471/598 by H. Liu
9
Toy problem (1)
Vacuum world (Fig 3.3)





States: 8
Initial states: any
Successor function: Left, Right, Suck
Goal test: Clean or not
Path cost: Each step costs 1
Comparing with the real world case
CS 471/598 by H. Liu
10
Toy problem (2)
The 8-puzzle





States:O(9!)
Initial state: Start state (Fig 3.4)
Successor function: Left, Right, Up, Down
Goal test: Goal state (Fig 3.4)
Path cost: Each step costs 1
CS 471/598 by H. Liu
11
Toy problem (3)
The 8-queens (Fig 3.5)





States: 64*63*…*57
Initial states: Empty board
Successor function: Add a queen to any
empty square
Goal test: 8 queens on the board, none
attacked
Path cost: N/A
CS 471/598 by H. Liu
12
Real-world problems
Route finding
Touring and traveling salesperson problem
VLSI layout
Robot navigation
Assembly sequencing
Protein design
Internet searching
CS 471/598 by H. Liu
13
Search
Generating action sequences


Expanding the current state by ...
Generating a new set of states
Let’s look at a situation we come to BY …
 PHX -> ASU -> BY
A state map
CS 471/598 by H. Liu
14
What is search?
The essence of search is to consider one
choice at a time.
Search tree – generated by the initial state
and successor, defines the state space (two
examples - Figs 3.6 and 3.8)

root, nodes, fringe (leaf nodes)
A general search algorithm (Fig 3.9)



Initial state, test, expand, test, expand, …
How to expand is determined by a search strategy
How to implement the fringe - a queue
CS 471/598 by H. Liu
15
Search Evaluation
Evaluating search strategies (Criteria)




Completeness – guaranteed to find a solution if
there is one
Time complexity – big O
Space complexity – big O
Optimality – the solution is optimal
Two types of search


Blind search (uninformed)
Heuristic search (informed)
CS 471/598 by H. Liu
16
Uninformed Search Strategies
Breadth-first search (a binary tree example)
 Expanding the shallowest node



Complete? Optimal? What if cost is non-decreasing
How to implement it
branching factor - a killing cost (Fig 3.11)
The main concerns


the memory requirements
exponential complexity
Uniform cost search – expands the node with the
lowest path cost

When is it identical to BFS?
CS 471/598 by H. Liu
17
Search Strategies (2)
Depth-first search



A binary tree example (Fig 3.12)
Complete? Optimal?
How to implement it
The main concerns


Wrong branch
Deep branch
The cures

Depth-limited search (Fig 3.13)
 Determining depth limit based on the problem (how
many cities in the map of Romania?)

Iterative deepening search (Fig 3.15)
CS 471/598 by H. Liu
18
Search Strategies (3)
Bidirectional search


The two directions: Start, Goal (Fig 3.16)
What’s the saving?
The main concerns



How to search backwards
Multiple goal states
Efficient checking to avoid redundant
search in the other tree
CS 471/598 by H. Liu
19
Search Strategies (4)
Which one to use when

We need to know the strategies in terms of
the four criteria
 Comparing uninformed search strategies
(Fig 3.17)

We need to know the problem to be solved
CS 471/598 by H. Liu
20
Avoiding Repeated States
It’s wasting time to expand states that
have already been encountered and
expanded before.
How to avoid


Systematic search
Remembering what have been visited
(open list vs. closed list)
 Graph-Search (Fig 3.19)
CS 471/598 by H. Liu
21
Searching with partial
information
Sensorless problems

Reason about sets of states instead of a single
state (Fig 3.21)
Contingency problems


Environment is partially observable, actions are
uncertain
[Suck, Right, if [R,Dirty] then Suck] with position
and local dirt sensors
Exploration problems


Both the states and actions of E are unknown
Can be viewed as an extreme case of contingency
problems
CS 471/598 by H. Liu
22
Summary
Problem solving is goal-based
A problem is of 4 parts

initial state, operator, goal test, path cost
A single general search algorithm can
solve any problem, but …
Four criteria: completeness, optimality,
time complexity, space complexity
Various search strategies
CS 471/598 by H. Liu
23
Download