• L7_exAnswer and explanation
• Review
• Search vs. planning
• Situation calculus
• STRIPS operators
1
L7_ex 解答例
2
Forward chaining example
Let us add facts r1, r2, r3, f1, f2, f3 in turn into KB.
r1. Buffalo(x) Pig(y) Faster(x,y)
r2. Pig(y) Slug(z) Faster(y,z)
x, y, z
r3. Faster(x,y) Faster(y,z) Faster(x,z)
f1. Buffalo(Bob)
[r1-c1, Bob/x, yes]
f2. Pig(Pat)
[r1-c2, Pat/y, yes]
f3. Slug(Steve)
[r2-c2, Steve/z, yes]
[r2, f2, f3, Pat/y, Steve/z, yes]
f4. Faster(Bob, Pat)
f5. Faster(Pat, Steve)
[r3, f4, f5, Bob/x, Pat/y, Steve/z, yes] f6. Faster(Bob, Steve)
3
Backward chaining example
Bob is a buffalo
| 1. Buffalo(Bob)
--f1
Pat is a pig
| 2. Pig(Pat)
--f2
Buffaloes run faster than pigs
| 3. x, y Buffalo(x) Pig(y) Faster(x,y) --r1
Goal: to prove
Faster(Bob, Pat)
Faster(x, y)
r1
Buffalo(x) Pig(y)
R(2) – And Elimination
R(8) – Universal Elimination
Buffalo(x)
Pig(y)
{x/Bob}
R(8) – Universal Elimination
{y/Pat}
Buffalo(Bob)
{}
Pig(Pat)
{}
4
Search in problem solving
a
b
• Problem solution:
c
A path through the state space tree
abc
• State space search:
Search is a traversal of the tree
until the goals is reached.
• State transitions is performed
by operators
5
DifficultySearch
using standard
in problem
search
solving
algorithms
Standard search algorithms
seems to fail miserably since
the goal test is inadequate.
What is
“finish”?
6
Planning
Search
problem
in problem
in situation
solving
calculus
Consider the same task get milk, bananas, and a cordless drill
A planning problem is represented in situation calculus by logical
sentences that describe the three main parts of a problem.
• Initial state:
At(home, S0) Have(Milk, S0) Have(Banana, S0) Have(Drill, S0)
• Goal state:
s At(home, s) Have(Milk, s) Have(Bananas, s) Have(Drill, s)
• Operators:
a, s Have(Milk, Result (a,s)) [ (a=Buy(Milk)) At(Supermarket, s)
(Have(Milk, s) a Drop(Milk) )]
• Plan:
p = [Go(Supermarket), Buy(Milk), Buy(Bananas), Go(HWS), …]
7
Problem
Search in
solving
problem
vs. planning
solving
• Representation of states
PS: Direct assignment of a symbol to each state
PL: Logic sentences
• Representation of goals
PS: A goal state symbol
PL: Sentences that describe objective
• Representation of actions
PS: Operators that transform one state symbol into another
PL: Addition/deletion of logic sentences describing world state
• Representation of plans
PS: Path through state space
PL: Ordered or partially-orderer sequence of actions.
8
Advantages
Search inofproblem
Planning
solving
Systems
• Uniform language for describing states, goals, actions,
and their effects.
• Ability to add actions to a plan whenever they are needed,
not just in an incremental sequence from some initial state.
• Ability to capture the fact that most parts of the world are
independent of most other parts.
• It performs better for complex worlds over standard search
algorithm since searching space becomes huge when there
are many initial states and operators in standard search
algorithms.
9
The Situation Calculus
Wff - well formed formula
A goal can be described by a wff: x On(x, B)
if we want to have a block on B
Planning: finding a set of actions to achieve a goal wff.
Situation Calculus (McCarthy, Hayes, 1969, Green 1969)
– A Predicate Calculus formalization of states, actions, and their effects.
– So state in figure can be described by:
On(B, A) On(A, C) On(A, Fl) Clear(B)
we reify the state and include them as arguments
The atoms denotes relations over states.
On(B, A, S0) On(A, C, S0) On(C, Fl, S0) Clear(B, S0)
We can also have.
x, y, s On(x, y, s) (y = Fl) Clear(y, s)
s Clear(Fl, s)
10
Representing actions
Reify the actions: denote an action by a symbol
– actions are functions
move(B,A,Fl): move block B from block A to Fl
move (x,y,z) - action schema
do: A function constant, do denotes a function that maps actions and
states into states
do( , ) 1
action
state
Express the effects of actions.
– Example: (on, move) (expresses the effect of move on On)
– positive effect axiom:
[On ( x, y, s ) Clear ( x, s ) Clear ( z , s ) ( x z )
On ( x, z , do(move( x, y, z ), s ))]
[On ( x, y, s ) Clear ( x, s ) Clear ( z , s ) ( x z )
On ( x, y, do(move( x, y, z ), s ))]
11
Effect axioms for (clear, move)
move(x, y, z)
matching?
precondition are
satisfied with
B/x, A/y, S0/s, F1/z
what was true in
S0 remains true
12
Frame axioms
Not everything true can be inferred
A fluent is something
Such as, On(C,Fl) remains true but cannot be inferred
that flows and changes
across situations
Actions have local effect
– We need frame axioms for each action and each fluent that does
not change as a result of the action
– example: frame axioms for (move, on)
– If a block is on another block and move is not relevant, it will
stay the same.
Positive
[On ( x, y, s) clear ( x u)] On ( x, y, do(move(u, v, z ), s))
Negative
(On ( x, y, s) [( x u)v( y z )]) On ( x, y, do(move(u, v, z ), s)
– Frame axioms for (move, clear)
Clear (u, s ) (u z ) Clear (u, do( move( x, y, z ), s ))
Clear (u, s ) (u y ) Clear (u, do(move( x, y, z ), s ))
13
STRIPS: describing goals and state
STRIPS: STanford Research Institute Planning System
Basic approach in GPS (general Problem Solver):
• Find a “difference” (Something in G that is not provable in S0)
• Find a relevant operator f for reducing the difference
• Achieve precondition of f; apply f; from resultant state, achieve G.
14
STRIPS planning
• STRIPS uses logical formulas to represent the states
S0, G, P, etc:
• Description of operator f:
15
A STRIPS planning example
On(B,A)
On(A,C)
On(C,F1)
Clear(B)
Clear(Fl)
The formula describes a set of world states
Planning search for a formula satisfying a goal description
•
•
•
•
•
On(A, C)
On(C, Fl)
On(B, Fl)
Clear(A)
Clear(B)
16
STRIPS Description of Operators
A STRIPS operator has 3 parts:
– A set, PC - preconditions
– A set D - the delete list
– A set A - the add list
Usually described by Schema: Move(x,y,z)
– PC: On(x,y) and On(Clear(x) and Clear(z)
– D: Clear(z) , On(x,y)
– A: On(x,z), Clear(y), Clear(F1)
A state S1 is created applying operator O by adding A and
deleting D from S1.
17
Example: The move operator
18
Example1: The move operator
G
S0
S0->P
f(P)->G
x/B, y/A, z/Fl
x/B, y/A, z/Fl
P:
On(x,y)
f: move(x,y, z)
Clear(x)
add: On(x,z), Clear(y)
Clear(z)
del: On(x,y), Clear(z)
On(x,z)
f(P)
:
Clear(x)
Clear(y)
19
Example1: The move operator
A
B
C
+
Clear(F2)
G
S0
S0->P
f(P)->G
x/B, y/A, z/Fl
x/B, y/A, z/Fl
P:
On(x,y)
f: move(x,y, z)
Clear(x)
add: On(x,z), Clear(y)
Clear(z)
del: On(x,y), Clear(z)
On(x,z)
f(P)
:
Clear(x)
Clear(y)
20
STRIPS algorithms are to search for operators!!!
We will leave the discussion of STRIPS algorithms
to next week.
21
Quiz:
What differences are between standard search algorithms
for problem solving and planning systems?
22
© Copyright 2026 Paperzz