Title: Problem Solving and Search
1Problem Solving and Search
- Introduction to Artificial Intelligence
- CS440/ECE448
- Lecture 2
2This Lecture
- Problem representation
- Problem solving through search
- Reading
- Chapter 2
- Announcements
- My office hours Weds. From 2 to 3pm.
3The 8-puzzle
Start
4The corresponding search tree
5Toy Problems and Real Problems
- 8-puzzle
- Vacuum World
- Cryptarithmetic
- 8-queens
- The water jug problem
- Missionaries and Cannibals
- Towers of Hanoi
- Traveling salesman
- Robot navigation
- Process or assembly planning
- VLSI Layout
6Problem Solving
- World State values of all attributes of
interest in the world. - State Space the set of all possible world
states. - Operators change one state into another cost
of applying operator. - Goal An (often partial) world state or states
in an agent, often implemented as a function of
state and current percept. - Initial State The values of attributes that are
in effect at the beginning of a problem before
any operators have been applied. - Note The states and the operators define a
directed (possibly weighted) graph.
- Solution (path) a sequence of operators
leading from the initial state to a goal state. - Path cost e.g. sum of distances, number of
operators executed
7In the real world
- The real world is absurdly complex.
- Real state space must be abstracted for problem
solving. - An abstract state is equivalent to a set of real
states. - Abstract operator is equivalent to a complex
combination of real actions. - Robot operator Move down hall In practice,
this might involve a complex set of sensor and
motor activities. - An abstract solution is equivalent to a set of
real paths that are solutions in the real world.
8Example The 8-puzzle
- States
- Operators
- Goal Test
- Path Cost
- Constraints
3 3 array of integer values Move tile number i
left, right, up, down goal state (given) 1 per
move Can only move in a direction if that space
is empty
9Example The 8-puzzle
- States
- Operators
- Goal Test
- Path Cost
- Constraints
Integer location of tiles (ignore intermediate
positions) Move blank left, right, up, down
goal state (given) 1 per move Can only move blank
in a direction if it stays in puzzle
10Example The 8-puzzle
1 2 3 4 5 6 7 8 9
Initial State 4, 1, 3, 6, 9, 5, 7, 2 Goal
State 1, 2, 3, 6, 9, 8, 7, 4
11Missionaries and cannibals
- Three missionaries and three cannibals are on the
left bank of a river. - There is one canoe which can hold one or two
people. - Find a way to get everyone to the right bank,
without ever leaving a group of missionaries in
one place outnumbered by cannibals in that place.
12Missionaries and cannibals
- States three numbers (i,j,k) representing the
number of missionaries, cannibals, and canoes on
the left bank of the river. - Initial state (3, 3, 1)
- Operators take one missionary, one cannibal, two
missionaries, two cannibals, one missionary and
one cannibal across the river in a given
direction (I.e. ten operators). - Goal Test reached state (0, 0, 0)
- Path Cost Number of crossings.
13Missionaries and Cannibals
(3,3,1)
14Missionaries and Cannibals
A missionary and cannibal cross
15Missionaries and Cannibals
(2,2,0)
16Missionaries and Cannibals
One missionary returns
17Missionaries and Cannibals
(3,2,1)
18Missionaries and Cannibals
Two cannibals cross
19Missionaries and Cannibals
(3,0,0)
20Missionaries and Cannibals
A cannibal returns
21Missionaries and Cannibals
(3,1,1)
22Missionaries and Cannibals
Two missionaries cross
23Missionaries and Cannibals
(1,1,0)
24Missionaries and Cannibals
A missionary and cannibal return
25Missionaries and Cannibals
(2,2,1)
26Missionaries and Cannibals
Two Missionaries cross
27Missionaries and Cannibals
(0,2,0)
28Missionaries and Cannibals
A cannibal returns
29Missionaries and Cannibals
(0,3,1)
30Missionaries and Cannibals
Two cannibals cross
31Missionaries and Cannibals
(0,1,0)
32Missionaries and Cannibals
A cannibal returns
33Missionaries and Cannibals
(0,2,1)
34Missionaries and Cannibals
The last two cannibals cross
35Missionaries and Cannibals
(0,0,0)
36Water Jugs
- You are given
- a spigot,
- a 3 Gallon jug,
- a 4 Gallon jug.
- The goal Get 2 gallons of water in the 4 gallon
jug. - Actions Filling jugs from spigot, dumping water
in jugs onto ground, dumping 4 gallon into 3
gallon jug until 3 gallon jug is full. Dumping 3
gallon jug into 4 gallon jug until empty or until
4 gallon is full, etc, etc.
37Water Jugs
- States How full are the two jugs?
- State Representation
- 4G ?
- 3G ?
- Constraints
- 0 ? 4G ? 4
- 0 ? 3G ? 3
- Initial State
- 4G 0
- 3G0
- Goal State
- 4G2
38Operators
- F3 Fill the 3 Gallon jug from the tap.
- F4 Fill the 4 Gallon jug from the tap.
- E4 Empty the 4-Gallon jug on the ground.
- P43 Pour water from 4G jug into the 3G jug until
3G jug is full. - P34 Pour water from 3G jug into the 4G jug until
4G jug is full or 3G is empty.
39Partial State GraphAnd Solution Path
- F3 Fill the 3 Gallon jug from the tap.
- F4 Fill the 4 Gallon jug from the tap.
- E4 Empty the 4-Gallon jug on the ground.
- P43 Pour water from 4G jug into the 3G jug until
3G jug is full. - P34 Pour water from 3G jug into the 4G jug until
4G jug is full or 3G is empty.
40Search Methods
41A Toy Example A Romanian Holiday
- State space Cities in Romania
- Initial state Town of Arad
- Goal Airport in Bucharest
- Operators Drive between cities
- Solution Sequence of cities
- Path cost number of cities, distance, time, fuel
42The state space
43Search Algorithms
- Basic Idea Off-line exploration of state space
by generating successors of already-explored
states (also known as expanding states).
Function GENERAL-SEARCH (problem, strategy)
returns a solution or failure Initialize the
search tree using the initial state of
problem loop do if there are no candidates for
expansion, then return failure Choose a leaf
node for expansion according to strategy if
node contains goal state then return
solution else expand node and add resulting
nodes to search tree. end
44General Search Example
Arad
45The solution
46Tree search example
47Tree search example
Expanded node
Fringe
48Tree search example
49Implementation of Search Algorithms
Nodes state, parent-node,operator, depth, path
cost
Function GENERAL-SEARCH (problem,
queing-fn) returns a solution or failure
queue ? MAKE-QUEUE (MAKE-NODE(INITIAL-STATEproble
m)) loop do if queue is empty, then return
failure node ? Remove-Front(queue) if
GOAL-TEST problem applied to STATE(node)
succeeds then return node else
queue?QUEING-FN(queue,EXPAND(node,operatorsproble
m)) end
50States vs. nodes
- 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 g(n). - States do not have parents, children, depth, or
path cost!
51Search Strategies
- A strategy is defined by picking the order of
node expansion. - Strategies are evaluated along the following
dimensions - completeness does it always find a solution if
one exists? - optimality does it always find a least-cost
solution? - time complexity number of nodes
generated/expanded - space complexity maximum number of nodes in
memory - Time and space complexity are measured in terms
of - b maximum branching factor of the search
tree - d depth of the least-cost solution
- m maximum depth of the state space (may be
infinite)
52Uninformed Search Strategies
- Uninformed (blind) strategies use only the
information available in the problem definition. - Informed search techniques which might have
additional information (e.g. a compass). - Breadth-first search
- Uniform-cost search
- Depth-first search
- Depth-limited search
- Iterative deepening search