0% found this document useful (0 votes)
79 views

Artificial Intelligence Chapter 3: Solving Problems by Searching

This document discusses problem solving through searching. It describes problem solving agents that find sequences of actions to reach desirable goal states. These agents use uninformed search algorithms that have no extra information about the problem other than the definition. Various examples of problems that can be solved through searching are provided, including water pouring, the eight puzzle, eight queens, and map planning. Searching involves generating a search tree from an initial state and successor functions to solve problems by finding paths from the initial state to a goal state.

Uploaded by

Ankit Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views

Artificial Intelligence Chapter 3: Solving Problems by Searching

This document discusses problem solving through searching. It describes problem solving agents that find sequences of actions to reach desirable goal states. These agents use uninformed search algorithms that have no extra information about the problem other than the definition. Various examples of problems that can be solved through searching are provided, including water pouring, the eight puzzle, eight queens, and map planning. Searching involves generating a search tree from an initial state and successor functions to solve problems by finding paths from the initial state to a goal state.

Uploaded by

Ankit Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 63

Artificial Intelligence

Chapter 3: Solving Problems


by Searching
Michael Scherger
Department of Computer
Science
Kent State University
January 26, 2003 AI: Chapter 3: Solving Pr 1
oblems by Searching
Problem Solving Agents
Problem solving agent
A kind of goal based agent
Finds sequences of actions that lead to
desirable states.

The algorithms are uninformed


No extra information about the problem
other than the definition
No extra information
No heuristics (rules)
January 26, 2003 AI: Chapter 3: Solving Pr 2
oblems by Searching
Goal Based Agent
Goal Based Agent

What the world Sensors Percepts


State is like now

Environment
How the world evolves

What my actions do
What it will be like
if I do action A

What action I
Goals Actuators
should do now Actions

January 26, 2003 AI: Chapter 3: Solving Pr 3


oblems by Searching
Goal Based Agent
Function Simple-Problem-Solving-Agent( percept ) returns action

Inputs: percept a percept


Static: seq an action sequence initially empty
state some description of the current world
goal a goal, initially null
problem a problem formulation

state <- UPDATE-STATE( state, percept )


if seq is empty then do
goal <- FORMULATE-GOAL( state )
problem <- FORMULATE-PROBLEM( state, goal )
seq <- SEARCH( problem ) # SEARCH
action <- RECOMMENDATION ( seq ) # SOLUTION
seq <- REMAINDER( seq )
return action # EXECUTION

January 26, 2003 AI: Chapter 3: Solving Pr 4


oblems by Searching
Goal Based Agents
Assumes the problem environment is:
Static
The plan remains the same
Observable
Agent knows the initial state
Discrete
Agent can enumerate the choices
Deterministic
Agent can plan a sequence of actions such that each will
lead to an intermediate state

The agent carries out its plans with its eyes closed
Certain of whats going on
Open loop system

January 26, 2003 AI: Chapter 3: Solving Pr 5


oblems by Searching
Well Defined Problems and
Solutions
A problem
Initial state
Actions and Successor Function
Goal test
Path cost

January 26, 2003 AI: Chapter 3: Solving Pr 6


oblems by Searching
Example: Water Pouring
Given a 4 gallon bucket and a 3
gallon bucket, how can we measure
exactly 2 gallons into one bucket?
There are no markings on the bucket
You must fill each bucket completely

January 26, 2003 AI: Chapter 3: Solving Pr 7


oblems by Searching
Example: Water Pouring
Initial state:
The buckets are empty
Represented by the tuple ( 0 0 )

Goal state:
One of the buckets has two gallons of water in it
Represented by either ( x 2 ) or ( 2 x )

Path cost:
1 per unit step

January 26, 2003 AI: Chapter 3: Solving Pr 8


oblems by Searching
Example: Water Pouring
Actions and Successor Function
Fill a bucket
(x y) -> (3 y)
(x y) -> (x 4)
Empty a bucket
(x y) -> (0 y)
(x y) -> (x 0)
Pour contents of one bucket into another
(x y) -> (0 x+y) or (x+y-4, 4)
(x y) -> (x+y 0) or (3, x+y-3)
January 26, 2003 AI: Chapter 3: Solving Pr 9
oblems by Searching
Example: Water Pouring
(0,0)

(4,0) (0,3)

(1,3) (4,3) (3,0)

(1,0) (0,1)
(3,3) (4,2)

(4,1)
(2,3)

(2,0) (0,2)

January 26, 2003 AI: Chapter 3: Solving Pr 10


oblems by Searching
Example: Eight Puzzle
States:
Description of the eight 7 2 4
tiles and location of the
blank tile 5 6
Successor Function:
Generates the legal 8 3 1
states from trying the
four actions {Left,
Right, Up, Down}
Goal Test: 1 2 3
Checks whether the
state matches the goal 4 5 6
configuration
Path Cost: 7 8
Each step costs 1
January 26, 2003 AI: Chapter 3: Solving Pr 11
oblems by Searching
Example: Eight Puzzle
Eight puzzle is from a family of
sliding block puzzles
NP Complete
8 puzzle has 9!/2 = 181440 states
15 puzzle has approx. 1.3*1012 states
24 puzzle has approx. 1*1025 states

January 26, 2003 AI: Chapter 3: Solving Pr 12


oblems by Searching
Example: Eight Queens
Place eight queens on a Q
chess board such that
no queen can attack Q
another queen
Q
No path cost because Q
only the final state
counts! Q
Q
Incremental
formulations Q
Complete state
formulations Q
January 26, 2003 AI: Chapter 3: Solving Pr 13
oblems by Searching
Example: Eight Queens
States: Q
Any arrangement of 0 to
8 queens on the board Q
Initial state:
No queens on the board Q
Successor function:
Add a queen to an empty Q
square
Goal Test: Q
8 queens on the board
and none are attacked Q
64*63**57 = 1.8*1014
possible sequences Q
Ouch!
Q
January 26, 2003 AI: Chapter 3: Solving Pr 14
oblems by Searching
Example: Eight Queens
States: Q
Arrangements of n
queens, one per column Q
in the leftmost n columns,
with no queen attacking
another are states
Q
Successor function: Q
Add a queen to any
square in the leftmost Q
empty column such that
it is not attacked by any Q
other queen.
2057 sequences to Q
investigate
Q
January 26, 2003 AI: Chapter 3: Solving Pr 15
oblems by Searching
Other Toy Examples
Another Example: Jug Fill
Another Example: Black White Marble
s
Another Example: Row Boat Problem
Another Example: Sliding Blocks
Another Example: Triangle Tee

January 26, 2003 AI: Chapter 3: Solving Pr 16


oblems by Searching
Example: Map Planning

January 26, 2003 AI: Chapter 3: Solving Pr 17


oblems by Searching
Searching For Solutions
Initial State
e.g. At Arad
Successor Function
A set of action state pairs
S(Arad) = {(Arad->Zerind, Zerind), }
Goal Test
e.g. x = at Bucharest
Path Cost
sum of the distances traveled
January 26, 2003 AI: Chapter 3: Solving Pr 18
oblems by Searching
Searching For Solutions
Having formulated some problems
how do we solve them?

Search through a state space

Use a search tree that is generated


with an initial state and successor
functions that define the state space
January 26, 2003 AI: Chapter 3: Solving Pr 19
oblems by Searching
Searching For Solutions
A state is (a representation of) a physical
configuration

A node is a data structure constituting part of a


search tree
Includes parent, children, depth, path cost

States do not have children, depth, or path cost

The EXPAND function creates new nodes, filling in


the various fields and using the SUCCESSOR function
of the problem to create the corresponding states

January 26, 2003 AI: Chapter 3: Solving Pr 20


oblems by Searching
Searching For Solutions

January 26, 2003 AI: Chapter 3: Solving Pr 21


oblems by Searching
Searching For Solutions

January 26, 2003 AI: Chapter 3: Solving Pr 22


oblems by Searching
Searching For Solutions

January 26, 2003 AI: Chapter 3: Solving Pr 23


oblems by Searching
Uninformed Search
Strategies
Uninformed strategies use only the
information available in the problem definition
Also known as blind searching

Breadth-first search
Uniform-cost search
Depth-first search
Depth-limited search
Iterative deepening search

January 26, 2003 AI: Chapter 3: Solving Pr 24


oblems by Searching
Comparing Uninformed Search
Strategies
Completeness
Will a solution always be found if one exists?
Time
How long does it take to find the solution?
Often represented as the number of nodes searched
Space
How much memory is needed to perform the search?
Often represented as the maximum number of nodes
stored at once
Optimal
Will the optimal (least cost) solution be found?

Page 81 in AIMA text


January 26, 2003 AI: Chapter 3: Solving Pr 25
oblems by Searching
Comparing Uninformed Search
Strategies
Time and space complexity are
measured in
b maximum branching factor of the
search tree
m maximum depth of the state space
d depth of the least cost solution

January 26, 2003 AI: Chapter 3: Solving Pr 26


oblems by Searching
Breadth-First Search
Recall from Data Structures the basic
algorithm for a breadth-first search on a
graph or tree

Expand the shallowest unexpanded


node

Place all new successors at the end of a


FIFO queue
January 26, 2003 AI: Chapter 3: Solving Pr 27
oblems by Searching
Breadth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 28


oblems by Searching
Breadth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 29


oblems by Searching
Breadth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 30


oblems by Searching
Breadth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 31


oblems by Searching
Properties of Breadth-First
Search
Complete
Yes if b (max branching factor) is finite
Time
1 + b + b2 + + bd + b(bd-1) = O(bd+1)
exponential in d
Space
O(bd+1)
Keeps every node in memory
This is the big problem; an agent that generates nodes
at 10 MB/sec will produce 860 MB in 24 hours
Optimal
Yes (if cost is 1 per step); not optimal in general

January 26, 2003 AI: Chapter 3: Solving Pr 32


oblems by Searching
Lessons From Breadth First
Search
The memory requirements are a
bigger problem for breadth-first
search than is execution time

Exponential-complexity search
problems cannot be solved by
uniformed methods for any but the
smallest instances

January 26, 2003 AI: Chapter 3: Solving Pr 33


oblems by Searching
Uniform-Cost Search
Same idea as the algorithm for
breadth-first searchbut
Expand the least-cost unexpanded
node
FIFO queue is ordered by cost
Equivalent to regular breadth-first
search if all step costs are equal

January 26, 2003 AI: Chapter 3: Solving Pr 34


oblems by Searching
Uniform-Cost Search
Complete
Yes if the cost is greater than some threshold
step cost >=
Time
Complexity cannot be determined easily by d or
d
Let C* be the cost of the optimal solution
O(bceil(C*/ ))
Space
O(bceil(C*/ ))
Optimal
Yes, Nodes are expanded in increasing order
January 26, 2003 AI: Chapter 3: Solving Pr 35
oblems by Searching
Depth-First Search
Recall from Data Structures the basic
algorithm for a depth-first search on a
graph or tree

Expand the deepest unexpanded node

Unexplored successors are placed on a


stack until fully explored

January 26, 2003 AI: Chapter 3: Solving Pr 36


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 37


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 38


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 39


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 40


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 41


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 42


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 43


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 44


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 45


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 46


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 47


oblems by Searching
Depth-First Search

January 26, 2003 AI: Chapter 3: Solving Pr 48


oblems by Searching
Depth-First Search
Complete
No: fails in infinite-depth spaces, spaces with loops
Modify to avoid repeated spaces along path
Yes: in finite spaces
Time
O(bm)
Not great if m is much larger than d
But if the solutions are dense, this may be faster than
breadth-first search
Space
O(bm)linear space
Optimal
No

January 26, 2003 AI: Chapter 3: Solving Pr 49


oblems by Searching
Depth-Limited Search
A variation of depth-first search that
uses a depth limit
Alleviates the problem of unbounded trees
Search to a predetermined depth l (ell)
Nodes at depth l have no successors

Same as depth-first search if l =


Can terminate for failure and cutof

January 26, 2003 AI: Chapter 3: Solving Pr 50


oblems by Searching
Depth-Limited Search

January 26, 2003 AI: Chapter 3: Solving Pr 51


oblems by Searching
Depth-Limited Search
Complete
Yes if l < d
Time
O(bl)
Space
O(bl)
Optimal
No if l > d
January 26, 2003 AI: Chapter 3: Solving Pr 52
oblems by Searching
Iterative Deepening Search
Iterative deepening depth-first
search
Uses depth-first search
Finds the best depth limit
Gradually increases the depth limit; 0, 1, 2,
until a goal is found

January 26, 2003 AI: Chapter 3: Solving Pr 53


oblems by Searching
Iterative Deepening Search

January 26, 2003 AI: Chapter 3: Solving Pr 54


oblems by Searching
Iterative Deepening Search

January 26, 2003 AI: Chapter 3: Solving Pr 55


oblems by Searching
Iterative Deepening Search

January 26, 2003 AI: Chapter 3: Solving Pr 56


oblems by Searching
Iterative Deepening Search

January 26, 2003 AI: Chapter 3: Solving Pr 57


oblems by Searching
Iterative Deepening Search

January 26, 2003 AI: Chapter 3: Solving Pr 58


oblems by Searching
Iterative Deepening Search
Complete
Yes
Time
O(bd)
Space
O(bd)
Optimal
Yes if step cost = 1
Can be modified to explore uniform cost tree

January 26, 2003 AI: Chapter 3: Solving Pr 59


oblems by Searching
Lessons From Iterative
Deepening Search
Faster than BFS even though IDS
generates repeated states
BFS generates nodes up to level d+1
IDS only generates nodes up to level d

In general, iterative deepening search is


the preferred uninformed search
method when there is a large search
space and the depth of the solution is
not known
January 26, 2003 AI: Chapter 3: Solving Pr 60
oblems by Searching
Avoiding Repeated States
Complication of wasting time by expanding
states that have already been encountered
and expanded before
Failure to detect repeated states can turn a linear
problem into an exponential one

Sometimes, repeated states are unavoidable


Problems where the actions are reversable
Route finding
Sliding blocks puzzles

January 26, 2003 AI: Chapter 3: Solving Pr 61


oblems by Searching
Avoiding Repeated States

State Space Search Tree

January 26, 2003 AI: Chapter 3: Solving Pr 62


oblems by Searching
Avoiding Repeated States

January 26, 2003 AI: Chapter 3: Solving Pr 63


oblems by Searching

You might also like