planning partial order regression planning temporal representation 1 deductive planning in logic...

Post on 23-Dec-2015

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PLANNINGPLANNING

Partial order regression planningPartial order regression planning

Temporal representation 1Temporal representation 1

Deductive planning in LogicDeductive planning in Logic

Temporal representation 2Temporal representation 2

2

A A second class of plannerssecond class of planners: based on A.R.: based on A.R.

The many motivations ...The many motivations ...

Provide an additional (more complex) Provide an additional (more complex) illustration of ARillustration of AR..

Show important trade-offs in Show important trade-offs in Knowledge RepresentationKnowledge Representation..

Introduce Introduce Temporal RepresentationTemporal Representation (Situation Calculus). (Situation Calculus).

Temporal representation 1Temporal representation 1

From STRIPS to a simple situation From STRIPS to a simple situation calculuscalculus

4

Towards planning as Towards planning as Automated ReasoningAutomated Reasoning

Formulate Formulate in a logic theoryin a logic theory TT:: The initial situationThe initial situation For each operator:For each operator:

its preconditionsits preconditions the relation between the previous the relation between the previous

situation and the next one.situation and the next one.

Prove the Prove the logical consequencelogical consequence FF:: “ “ There exists a sequence of operations, such There exists a sequence of operations, such

that if they are applied to the initial situation, that if they are applied to the initial situation, the resulting situation satisfies some given the resulting situation satisfies some given properties”.properties”.

Extract the plan from the proof.Extract the plan from the proof.

5

What the STRIPS represen-tation What the STRIPS represen-tation lacks to do this:lacks to do this:

do NOT describe WHEN do NOT describe WHEN (at which time (at which time point or in which situation)point or in which situation) these these properties hold.properties hold.

1) State representations, like1) State representations, like

on(A,B) clear(A) on(B,Table)on(A,B) clear(A) on(B,Table)

Thus: if the goal is to have Thus: if the goal is to have on(A,Table)on(A,Table), this is , this is inconsistent with the current property inconsistent with the current property on(A,B)on(A,B) Remember: logic is monotonic … no Remember: logic is monotonic … no

consequences get consequences get removed! removed!

2) Add and Delete list are procedural.2) Add and Delete list are procedural. These do not declaratively describe the relation These do not declaratively describe the relation

between the previous situation and the next.between the previous situation and the next.

6

Introducing temporal information:Introducing temporal information:

1) What kind of temporal identifications to use?1) What kind of temporal identifications to use?

Time pointsTime points Situation namesSituation names

Extra argumentExtra argument

Meta-predicateMeta-predicate

2) How to add this information?2) How to add this information?

on(A,B,T)on(A,B,T) on(A,B,S)on(A,B,S)

holds(on(A,B),T)holds(on(A,B),T) holds(on(A,B),S)holds(on(A,B),S)

Two dimensions of options:Two dimensions of options:

7

A tiny example problem:A tiny example problem:

AA

BB

BB

AA

Initial situationInitial situation

Goal situationGoal situation

on(B,A,on(B,A,SS00)) on(A,Table,on(A,Table,SS00)) clear(B,clear(B,SS00))

ss on(B,Table, on(B,Table,ss))

8

Situation calculus, extra argument.Situation calculus, extra argument. Examples of situations:Examples of situations:

moveATableB(moveATableB(SS00))

moveCBA(moveABTable(moveCBA(moveABTable(SS00))))

Operations are described by functors:Operations are described by functors: Examples:Examples:

move A from B to C: move A from B to C: moveABC(x)moveABC(x)

move A from Table to B: move A from Table to B: moveATableB(x)moveATableB(x)

Situation descriptions using ‘terms’:Situation descriptions using ‘terms’:

The initial situation is described by a constant: The initial situation is described by a constant: SS00

A situation obtained from a situation A situation obtained from a situation ss by applying an by applying an

operator operator move . from . to .move . from . to . as the term: as the term: move…(move…(ss))

9

The situations in this worldThe situations in this world

S0

AABB

moveBATable(moveBATable(S0)

AA BB

moveATableB(moveBATable(moveATableB(moveBATable(S0))

moveBTableA(moveBATable(moveBTableA(moveBATable(S0))

AABB

AABB

10

The plan ?The plan ?

AA

BB

BB

AA

Initial situationInitial situation

Goal situationGoal situation

ss on(B,Table, on(B,Table,ss))

Finding a proof = finding a substitution for Finding a proof = finding a substitution for ss of of the form:the form:

THUS: the value for THUS: the value for ss IS THE PLANIS THE PLAN..

ss / moveBATable(/ moveBATable(SS00))

11

Completing situationsCompleting situations Note: also valid are:Note: also valid are:

~on(A,B,~on(A,B,SS00) ~on(B,Table,) ~on(B,Table,SS00) ~clear(A,) ~clear(A,SS00))

In STRIPS (and in LP) these are implicitly In STRIPS (and in LP) these are implicitly represented.represented.

In FOL, we could instead add:In FOL, we could instead add:

PSPS: also completes all later situations: also completes all later situations

x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) ~y=Table ~y=Table ~x=z ~x=z ~on(z,y,~on(z,y,ss))

yyxx zz

x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) ~y=z ~y=z ~on(x,z, ~on(x,z,ss))

yyxx

zz

x,y,x,y,ss on(x,y, on(x,y,ss) ) ~y=Table ~y=Table ~clear(y, ~clear(y,ss))

yyxx NotNot

clearclear

12

Relating different situations (1)Relating different situations (1)

ss on(B,A, on(B,A,ss) ) clear(B, clear(B,ss) ) on(B,Table, on(B,Table,moveBATable(moveBATable(ss)))) clear(A,clear(A,moveBATable(moveBATable(ss))))

For each operator we need to represent the For each operator we need to represent the relation between previous and next situationrelation between previous and next situation

if on(B,A)if on(B,A) clear(B)clear(B)add on(B,Table)add on(B,Table) clear(A)clear(A)delete on(B,A)delete on(B,A)

move B from A to Tablemove B from A to Table Example:Example:

Note: Note: delete on(B,A)delete on(B,A) is implicitly represented is implicitly represented because of because of add on(B,Table)add on(B,Table) and the and the completing completing formulaeformulae..

13

Relating different situations: Relating different situations: Frame axioms (1):Frame axioms (1):

STRIPS operators only express which things change !STRIPS operators only express which things change !

if on(B,A)if on(B,A) clear(B)clear(B)add clear(A)add clear(A) on(B,Table)on(B,Table)delete on(B,A)delete on(B,A)

move B from A to Tablemove B from A to Table

on(A,Table)on(A,Table)initiallyinitially

on(A,Table)on(A,Table)

still holdsstill holds

Example:Example:

IfIf on(A,Table,on(A,Table,ss)) is true and is true and move B from A to Tablemove B from A to Table is applicable, is applicable, thenthen on(A,Table,on(A,Table,moveBATable(moveBATable(ss)))) is true. is true.

FRAME AXIOMSFRAME AXIOMS

We need to express this explicitly !We need to express this explicitly !

14

Relating different situations: Relating different situations: Frame axioms (2):Frame axioms (2):

Example:Example: if on(B,A)if on(B,A) clear(B)clear(B)add clear(A)add clear(A) on(B,Table)on(B,Table)delete on(B,A)delete on(B,A)

move B from A to Tablemove B from A to Table

Anything that was Anything that was onon something else before, except something else before, except for B on A, still is:for B on A, still is:

x,y,s on(B,A,x,y,s on(B,A,ss) ) clear(B, clear(B,ss) ) on(x,y, on(x,y,ss) ) ~(x=B ~(x=B y=A) y=A) on(x,y,on(x,y,moveBATable(moveBATable(ss))))

Anything that was Anything that was clearclear before, still is: before, still is:

x,s on(B,A,x,s on(B,A,ss) ) clear(B, clear(B,ss) ) clear(x, clear(x,ss) ) clear(x,clear(x,moveBATable(moveBATable(ss))))

15

Discussion:Discussion: This is one of the most simple options.This is one of the most simple options.

It requires:It requires: very many axioms and frame axiomsvery many axioms and frame axioms

for for EACHEACH separate operation separate operation

Generalizing to operators patterns in not easy.Generalizing to operators patterns in not easy.

But:But: this is sufficient to illustrate planning as this is sufficient to illustrate planning as deduction.deduction.

We discuss more refined representations later.We discuss more refined representations later.

Planning as deductionPlanning as deduction

Automated reasoning applied to a Automated reasoning applied to a simple situation calculus representationsimple situation calculus representation

17

The theory and goalThe theory and goalon(B,A,on(B,A,SS00))on(A,Table,on(A,Table,SS00))clear(B,clear(B,SS00))ss on(B,A, on(B,A,ss) ) clear(B, clear(B,ss) )

on(B,Table,on(B,Table,moveBATable(moveBATable(ss)))) clear(A,clear(A,moveBATable(moveBATable(ss))))+ + the consistency axiomsthe consistency axioms+ + the Frame axiomsthe Frame axioms+ + similar formulae for other operatorssimilar formulae for other operators

T:T:

F:F: ss on(B,Table, on(B,Table,ss))

~F:~F: false false on(B,Table, on(B,Table,ss))

18

NormalizationNormalization

(T (T {~F})’: {~F})’:

on(B,A,on(B,A,SS00))on(A,Table,on(A,Table,SS00))clear(B,clear(B,SS00))on(B,Table,on(B,Table,moveBATable(moveBATable(ss))) ) on(B,A, on(B,A,ss) ) clear(B,clear(B,ss))clear(A,clear(A,moveBATable(moveBATable(ss))) ) on(B,A, on(B,A,ss) ) clear(B,clear(B,ss))false false on(B,Table, on(B,Table,ss))

+ + normalization of othersnormalization of others

19

A linear top-down proofA linear top-down proof

What is the plan??What is the plan??The answer substitution:The answer substitution: {{ss11//moveBATable(moveBATable(SS00))}}

false false on(B,Table,on(B,Table,ss11)) on(B,Table,on(B,Table,moveBATable(moveBATable(ss22)))) on(B,A,on(B,A,ss22) ) clear(B, clear(B,ss22))

{{ss11//moveBATable(moveBATable(ss22))}}

false false on(B,A,on(B,A,ss22)) clear(B, clear(B,ss22)) on(B,A,on(B,A,SS00))

false false clear(B,clear(B,SS00))

{{ss22//SS00}}

clear(B,clear(B,SS00))

false false

20

The relevance of Frame axioms?The relevance of Frame axioms?

Find a plan such that Find a plan such that BB gets on the gets on the TableTable AND AND AA is still on the is still on the TableTable..

false false on(B,Table, on(B,Table,ss) ) on(A,Table, on(A,Table,ss))

~F:~F:

Proof:Proof: first part identical to the previous one, first part identical to the previous one, except that every goal gets an extra conjunct: except that every goal gets an extra conjunct: on(A,Table, on(A,Table,ss11), ), where where ss11 gradually get instantiated gradually get instantiated

toto moveBATable(moveBATable(SS00))..

21

A linear top-down proofA linear top-down proofextendedextended

false false on(B,Table,on(B,Table,ss11)) on(B,Table,on(B,Table,moveBATable(moveBATable(ss22)))) on(B,A,on(B,A,ss22) ) clear(B, clear(B,ss22))

false false on(B,A,on(B,A,ss22)) clear(B, clear(B,ss22))

{{ss11//moveBATable(moveBATable(ss22))}}

on(B,A,on(B,A,SS00))

false false clear(B,clear(B,SS00))

{{ss22//SS00}}

clear(B,clear(B,SS00))

false false

on(A,Table, son(A,Table, s11))

on(A,Table, moveBATable(son(A,Table, moveBATable(s22))))

on(A,Table, moveBATable(on(A,Table, moveBATable(SS00))))

on(A,Table, moveBATable(on(A,Table, moveBATable(SS00))))

No longer resolves with anything, except frame axioms !No longer resolves with anything, except frame axioms !

22

Normalization of Frame Axiom 1:Normalization of Frame Axiom 1:

x,y,s on(B,A,x,y,s on(B,A,ss) ) clear(B, clear(B,ss) ) on(x,y, on(x,y,ss) ) ~(x=B ~(x=B y=A) y=A) on(x,y,on(x,y,moveBATable(moveBATable(ss))))

x,y,s on(x,y,x,y,s on(x,y,moveBATable(moveBATable(ss))) ) ~on(B,A, ~on(B,A,ss) ) ~clear(B, ~clear(B,ss) ) ~on(x,y,~on(x,y,ss) ) (x=B (x=B y=A) y=A)

x,y,s (on(x,y,x,y,s (on(x,y,moveBATable(moveBATable(ss))) ) x=Bx=B ~on(B,A, ~on(B,A,ss) ) ~clear(B,~clear(B,ss) ) ~on(x,y, ~on(x,y,ss)) )) (on(x,y,(on(x,y,moveBATable(moveBATable(ss))) ) y=Ay=A ~on(B,A,~on(B,A,ss) ) ~clear(B, ~clear(B,ss) ) ~on(x,y,~on(x,y,ss))))

on(x,y,on(x,y,moveBATable(moveBATable(ss))) ) x=B x=B on(B,A, on(B,A,ss) ) clear(B, clear(B,ss) ) on(x,y,on(x,y,ss) ) on(x,y,on(x,y,moveBATable(moveBATable(ss))) ) y=A y=A on(B,A, on(B,A,ss) ) clear(B, clear(B,ss) ) on(x,y,on(x,y,ss) )

23

false false on(A,Table, on(A,Table, moveBATable(moveBATable(SS00))))

The continuation of the proofThe continuation of the proof

false false ????????

on(B,A,on(B,A,SS00))

A=B A=B clear(B,clear(B,SS00)) on(A,Table, on(A,Table,SS00)) clear(B,clear(B,SS00))

A=B A=B on(A,Table,on(A,Table,SS00)) on(A,Table,on(A,Table,SS00))

A=B A=B

on(x,y,on(x,y,moveBATable(moveBATable(ss)))) x=B x=B on(B,A,on(B,A,ss) ) clear(B, clear(B,ss) ) on(x,y, on(x,y,ss))

A=B A=B on(B,A,on(B,A,SS00)) clear(B, clear(B,SS00) ) on(A,Table, on(A,Table,SS00))

{{xx//AA,,yy//TableTable, , ss//SS00}}

24

Unique Names AxiomsUnique Names Axioms For each two For each two non-unifiablenon-unifiable syntactic objects o1 syntactic objects o1

and o2: ~o1=o2.and o2: ~o1=o2.

HereHere: ~A=B, ~A=Table, ~B=Table: ~A=B, ~A=Table, ~B=Table

false false A=B A=Bfalse false A=Table A=Tablefalse false B=TableB=Table

In In normalized formnormalized form::

A=B A=B false false A=B A=B

false false

Thus we get:Thus we get:

25

Can deductive planning achieve Can deductive planning achieve the STRIPS control?the STRIPS control?

Definitely does regression (goal directed search) !Definitely does regression (goal directed search) !

Partial order planning?Partial order planning? No, not with this simple representation.No, not with this simple representation. Reason: Reason: ss property( property(ss)) Resolution steps construct: Resolution steps construct:

ss = = move…(move…(move…( . . . )))move…(move…(move…( . . . )))– this is a total order !!this is a total order !!

Planning with Planning with operator patternsoperator patterns?? No: are not even represented here!No: are not even represented here!

Need more refined temporal representations to do Need more refined temporal representations to do these.these.

Temporal representation 2Temporal representation 2

Representing operator patternsRepresenting operator patterns

Meta-representation:Meta-representation:

situation calculussituation calculus

Time-point representation:Time-point representation:

event calculusevent calculus

27

Representing operator patterns (1)Representing operator patterns (1)

SS00 still represents the initial situation. still represents the initial situation.

Representation of a situation resulting from an Representation of a situation resulting from an operator pattern: functor operator pattern: functor move/4move/4

ss move(x,y,z,move(x,y,z,ss))

Example: Example: move x from y to zmove x from y to z

x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) ) clear(z, clear(z,ss) ) on(x,z,on(x,z,move(x,y,z,move(x,y,z,ss))))

clear(y,clear(y,move(x,y,z,move(x,y,z,ss))))

Effect on relating situations: example:Effect on relating situations: example:

=WE get =WE get MUCH LESSMUCH LESS different axioms! different axioms!

28

Representing operator patterns (2)Representing operator patterns (2) Better represent other operator patterns with other Better represent other operator patterns with other

functors (to avoid confusion - and unification with functors (to avoid confusion - and unification with wrong ones). wrong ones).

ss movefromT(x,y,movefromT(x,y,ss))

ss movetoT(x,y,movetoT(x,y,ss))

move x from Table to ymove x from Table to y

move x from y to Tablemove x from y to Table

x,y,x,y,ss on(x,Table, on(x,Table,ss) ) clear(x, clear(x,ss) ) clear(y, clear(y,ss) )

on(x,y,on(x,y,movefromT(x,y,movefromT(x,y,ss))) )

Relating situations: example:Relating situations: example:

Still:Still: 3 such axioms + 6 frame axioms needed ! 3 such axioms + 6 frame axioms needed !

29

The full theory:The full theory:

on(B,A,on(B,A,SS00) on(A,Table,) on(A,Table,SS00) clear(B,) clear(B,SS00))

x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) ) clear(z, clear(z,ss) ) on(x,z,on(x,z,move(x,y,z,move(x,y,z,ss))) ) clear(y, clear(y,move(x,y,z,move(x,y,z,ss))))x,y,x,y,ss on(x,Table,s) on(x,Table,s) clear(x, clear(x,ss) ) clear(y, clear(y,ss) )

on(x,y,on(x,y,movefromT(x,y,movefromT(x,y,ss))))x,y,x,y,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) )

on(x,Table,on(x,Table,movetoT(x,y,movetoT(x,y,ss))) ) clear(y, clear(y,movetoT(x,y,movetoT(x,y,ss))) )

x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) ~y=Table ~y=Table ~x=z ~x=z ~on(z,y, ~on(z,y,ss))x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) ~y=z ~y=z ~on(x,z, ~on(x,z,ss))x,y,x,y,ss on(x,y, on(x,y,ss) ) ~y=Table ~y=Table ~clear(y, ~clear(y,ss))

Initial situation:Initial situation:

Consistency axioms:Consistency axioms:

New initiated properties for each action:New initiated properties for each action:

30

The full theory (2)The full theory (2)

x,y,z,u,x,y,z,u,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) ) clear(z,clear(z,ss) ) clear(u, clear(u,ss) ) ~(u=z) ~(u=z) clear(u,clear(u,move(move(x,y,z,x,y,z,ss))))

x,y,z,u,v,x,y,z,u,v,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) ) clear(z,clear(z,ss) ) on(u,v, on(u,v,ss) ) ~(u=x ~(u=x v=y) v=y) on(u,v,on(u,v,move(move(x,y,z,x,y,z,ss))))

x,y,u,v,x,y,u,v,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) ) on(u,v,on(u,v,ss) ) ~(u=x ~(u=x v=y) v=y) on(u,v,on(u,v,movetoTable(movetoTable(x,y,x,y,ss))))

x,y,u,x,y,u,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) ) clear(u,clear(u,ss) )

clear(u,clear(u,movetoTable(movetoTable(x,y,x,y,ss))))

x,y,u,v,x,y,u,v,ss on(x,Table, on(x,Table,ss) ) clear(x, clear(x,ss) ) clear(y, clear(y,ss) ) on(u,v, on(u,v,ss) ) ~(u=x ~(u=x v=Table) v=Table) on(u,v, on(u,v,movefromTable(movefromTable(x,y,x,y,ss))))

x,y,u,x,y,u,ss on(x,Table, on(x,Table,ss) ) clear(x, clear(x,ss) ) clear(y, clear(y,ss) ) clear(u, clear(u,ss) ) ~(u=y) ~(u=y) clear(u, clear(u,movefromTable(movefromTable(x,y,x,y,ss))))

Frame axioms for “move x from y to z”Frame axioms for “move x from y to z”

Frame axioms for “move x from y to table”Frame axioms for “move x from y to table”

Frame axioms for “move x from Table to y”Frame axioms for “move x from Table to y”

31

Difference with previous Difference with previous representation?representation?

on(B,A,on(B,A,SS00) on(A,Table,) on(A,Table,SS00) clear(B,) clear(B,SS00))

x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) ~y=Table ~y=Table ~x=z ~x=z ~on(z,y, ~on(z,y,ss))x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) ~y=z ~y=z ~on(x,z, ~on(x,z,ss))x,y,x,y,ss on(x,y, on(x,y,ss) ) ~y=Table ~y=Table ~clear(y, ~clear(y,ss))

Initial situation:Initial situation:

Consistency axioms:Consistency axioms:

No difference here!No difference here!

32

Difference with previousDifference with previousrepresentation (2):representation (2):

x,y,z,x,y,z,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) ) clear(z, clear(z,ss) ) on(x,z,on(x,z,move(x,y,z,move(x,y,z,ss))) ) clear(y, clear(y,move(x,y,z,move(x,y,z,ss))))x,y,x,y,ss on(x,Table,s) on(x,Table,s) clear(x, clear(x,ss) ) clear(y, clear(y,ss) )

on(x,y,on(x,y,movefromT(x,y,movefromT(x,y,ss))))x,y,x,y,ss on(x,y, on(x,y,ss) ) clear(x, clear(x,ss) )

on(x,Table,on(x,Table,movetoT(x,y,movetoT(x,y,ss))) ) clear(y,clear(y,movetoT(x,y,movetoT(x,y,ss))) )

New initiated properties for each action:New initiated properties for each action:

Each of these for EVERY instance of x,y and z !Each of these for EVERY instance of x,y and z !

For N blocks: N ! times all these rules.For N blocks: N ! times all these rules.

Also for the frame axioms!Also for the frame axioms!

Meta-representationMeta-representation

The Situation CalculusThe Situation Calculus

34

Meta-representationMeta-representation

Is the frame axiom for on/2Is the frame axiom for on/2and for clear/1 combined in one !and for clear/1 combined in one !

on(x,y,on(x,y,ss)) holds(holds(on(x,y),on(x,y),ss))

Basic change in representation:Basic change in representation:

Why is this useful? Why is this useful? on/2on/2 now is a now is a termterm FOL allows to abstract terms by variables FOL allows to abstract terms by variables

(and quantify over them)(and quantify over them) FOL doesn’t allow abstraction of atoms or predicates !FOL doesn’t allow abstraction of atoms or predicates !

x,y,x,y,pp,,ss holds( holds(pp,,ss) ) ~ ~pp = = on(x,y)on(x,y) holds(holds(pp,,movetoT(x,y,movetoT(x,y,ss))))

Example:Example:

Could not be done with extra-argument representation.Could not be done with extra-argument representation.

35

Meta-representation:Meta-representation:initial situationinitial situation

pp holds( holds(pp,,SS00) ) pp==on(B,A)on(B,A) pp==on(A,Table)on(A,Table) pp==clear(B)clear(B)

The initial situation:The initial situation:

holds(holds(pp,,SS00) ) initially( initially(pp))

initially(initially(pp)) p p==on(B,Aon(B,A) ) pp==on(A,Table)on(A,Table) pp==clear(B)clear(B)

A slightly better representation:A slightly better representation:

36

Situation Names:Situation Names:final versionfinal version

S0

AABB

AA BB

move B move B from A to from A to TableTable

11

22

moveBATable(moveBATable(S0)

movetoT(B,A,movetoT(B,A,S0)

33

result(result(movetoT(B,A)movetoT(B,A),,S0)

Reason:Reason:

The The namename of the operator of the operatoris now a term that we canis now a term that we canabstract with a variableabstract with a variable

movetoT(B,A)movetoT(B,A)

37

Formally: situation names:Formally: situation names:

move(x,y,z)move(x,y,z)movetoT(x,y)movetoT(x,y)movefromT(x,y)movefromT(x,y)

We introduce a separate term-representation We introduce a separate term-representation for operator patterns:for operator patterns:

Situations are now represented as: Situations are now represented as: result(result(oo,,ss)) , , where where oo is an operator pattern and is an operator pattern and ss a situation. a situation.

SS00 result(result(move(C,B,A),move(C,B,A),SS00))) ) result(result(movefromT(A,B)movefromT(A,B), result, result(movetoT(B,A),(movetoT(B,A),SS00))))……

Examples:Examples:

38

Improvement ?Improvement ?

move(x,y,z)move(x,y,z)movetoT(x,y)movetoT(x,y)movefromT(x,y)movefromT(x,y)

Ontological improvementOntological improvement:: Now we can not only name Now we can not only name SITUATIONSSITUATIONS,,

we can ALSO name we can ALSO name OPERATOR PATTERNSOPERATOR PATTERNS..

AND abstract them by variables:AND abstract them by variables:

holds(holds(pp,,result(result(oo,s),s)) ) … …

Use:Use: we can now define we can now define if listif list, , add listadd list and and delete listdelete list of each operator pattern explicitly of each operator pattern explicitly with new predicates !with new predicates !

39

If-list: legal/2 predicateIf-list: legal/2 predicate

if if on(x,y)on(x,y) clear(x)clear(x) clear(z)clear(z)add clear(y)add clear(y) on(x,z)on(x,z)delete on(x,y)delete on(x,y) clear(z)clear(z)

move x from y to zmove x from y to z

legal(legal(move(x,y,z)move(x,y,z),,ss) ) holds(holds(on(x,y)on(x,y),,ss) ) holds(holds(clear(x)clear(x),,ss) ) holds(holds(clear(z)clear(z),,ss) )

Move x from y to z:Move x from y to z:

legal(legal(movetoT(x,y)movetoT(x,y),,ss) ) holds(holds(on(x,y)on(x,y),,ss) ) holds(holds(clear(x)clear(x),,ss))

legal(legal(movefromT(x,y)movefromT(x,y),,ss) ) holds(holds(on(x,Table)on(x,Table),,ss) ) holds(holds(clear(x)clear(x),,ss) ) holds(holds(clear(y)clear(y),,ss) )

Others:Others:

40

Add-list: initiates/2 predicateAdd-list: initiates/2 predicate

if on(x,y)if on(x,y) clear(x)clear(x) clear(z)clear(z)add add clear(y)clear(y) on(x,z)on(x,z)delete on(x,y)delete on(x,y) clear(z)clear(z)

move x from y to zmove x from y to z

initiates(initiates(move(x,y,z)move(x,y,z),,pp) ) p p = = clear(y) clear(y) p p == on(x,z) on(x,z)

Move x from y to z:Move x from y to z:

initiates(initiates(movetoT(x,y,z)movetoT(x,y,z),,pp) ) p p = = on(x,Table)on(x,Table) p p = = clear(y)clear(y)

initiates(initiates(movefromT(x,y,z)movefromT(x,y,z),,pp) ) p p = = on(x,y)on(x,y)

Others:Others:

41

Delete-list: terminates/2 Delete-list: terminates/2 predicate:predicate:

if on(x,y)if on(x,y) clear(x)clear(x) clear(z)clear(z)add clear(y)add clear(y) on(x,z)on(x,z)delete delete on(x,y)on(x,y) clear(z)clear(z)

move x from y to zmove x from y to z

terminates(terminates(movetoT(x,y)movetoT(x,y),,pp) ) p p = = on(x,y)on(x,y)

terminates(terminates(movefromT(x,y)movefromT(x,y),,pp) ) p p = = on(x,Table)on(x,Table) p p = = clear(y)clear(y)

Others:Others:

terminates(terminates(move(x,y,z)move(x,y,z),,pp) ) p p = = on(x,y)on(x,y) p p = = clear(z)clear(z)

Move x from y to z:Move x from y to z:

42

What is gained ?What is gained ?The Situation Calculus!The Situation Calculus!

only 1 rule !only 1 rule !

only 1 rule !only 1 rule !

holds(holds(pp,,SS00) ) initially( initially(pp))

+ the initialization rule:+ the initialization rule:

holds(holds(pp,,result(result(oo,s),s)) ) holds(holds(pp,,ss) ) legal( legal(oo,,ss) ) ~terminates( ~terminates(oo,,pp))

The frame axiom:The frame axiom:

holds(holds(pp,,result(result(oo,s),s)) ) legal( legal(oo,,ss) ) initiates( initiates(oo,,pp))

Positive effects of actions:Positive effects of actions:

43

Problem independenceProblem independence

holds(holds(pp,,SS00) ) initially( initially(pp) ) holds(holds(pp,,result(result(oo,s),s)) ) legal( legal(oo,,ss) ) initiates( initiates(oo,,pp))holds(holds(pp,,result(result(oo,s),s)) ) holds(holds(pp,,ss) ) legal( legal(oo,,ss) ) ~terminates( ~terminates(oo,,pp))

Observe that these axioms defining ‘Observe that these axioms defining ‘holdsholds’ are ’ are problem independentproblem independent

and can be applied to and can be applied to any planning problemany planning problem..

For each new planning problem: only For each new planning problem: only initiallyinitially, , legallegal, , initiatesinitiates and and terminatesterminates need to be defined need to be defined !!

These correspond to the initial situation and to These correspond to the initial situation and to the if- add- and delete-lists of operator patterns.the if- add- and delete-lists of operator patterns.

44

Planning:Planning:

false false holds( holds(pp11,,ss) ) … … holds( holds(ppnn,,ss))

A goal of the type:A goal of the type:

should be added, where should be added, where pp11,…,p,…,pnn are the properties are the properties that should hold in the goal situation.that should hold in the goal situation.

Deduction proceeds similarly to what was Deduction proceeds similarly to what was presented in the presented in the extra-argumentextra-argument representation. representation.

In particular; the final value for In particular; the final value for ss in the unifier in the unifier is is the planthe plan ! !

45

Completion and consistencyCompletion and consistency Note that all formulae are essentially Horn clauses Note that all formulae are essentially Horn clauses

(possibly extended with negation in the bodies - (possibly extended with negation in the bodies - case: ~terminates).case: ~terminates).

holds(holds(pp,,result(result(oo,s),s)) ) holds(holds(pp,,ss) ) legal( legal(oo,,ss) ) ~terminates( ~terminates(oo,,pp))

Disjunctions in bodies are readily transformed to a Disjunctions in bodies are readily transformed to a set of Horn clauses.set of Horn clauses.

terminates(terminates(move(x,y,z)move(x,y,z),,pp) ) p p = = on(x,y)on(x,y) p p = = clear(z)clear(z)

terminates(terminates(move(x,y,z)move(x,y,z),,pp) ) p p = = on(x,y)on(x,y) terminates(terminates(move(x,y,z)move(x,y,z),,pp) ) p p = = clear(z)clear(z)

46

Completion and consistency (2)Completion and consistency (2)

Assume that this description is complete (anything Assume that this description is complete (anything else than described is false !), then we can else than described is false !), then we can interpret these Horn clauses as a Logic program.interpret these Horn clauses as a Logic program.

Consequence:Consequence: the the consistency axiomsconsistency axioms are are no longer neededno longer needed::

Requires that we understand ~holds(Requires that we understand ~holds(pp,,ss) as holds(~) as holds(~pp,,ss),), then information such as then information such as holds(holds(~on(B,Table)~on(B,Table) ,,SS00))

follows from our specification.follows from our specification.

Meta-representation (2)Meta-representation (2)

The Event CalculusThe Event Calculus

48

Using time points:Using time points:

Time pointsTime points Situation namesSituation names

Extra argumentExtra argument

Meta-predicateMeta-predicate

on(A,B,T)on(A,B,T) on(A,B,S)on(A,B,S)

holds(on(A,B),T)holds(on(A,B),T) holds(on(A,B),S)holds(on(A,B),S)

Alternative to situations:Alternative to situations:

Ontology:Ontology: something holds on a specific moment in something holds on a specific moment in time.time.

49

The main axioms:The main axioms:

Where the concepts: Where the concepts: initially/1initially/1, , initiates/2initiates/2 and and terminates/2terminates/2 are the same as before (and problem are the same as before (and problem dependent), and dependent), and legal/2legal/2 is completely similar as is completely similar as before,but defined in terms of before,but defined in terms of holds(holds(pp,,tt)) instead of instead of holds(holds(pp,,ss)) . .

holds(holds(pp,,tt) ) initiated( initiated(pp,,t’t’) ) t’t’ < < tt ~clipped(~clipped(pp,,t’t’,,tt))initiated(initiated(pp,,tt00) ) initially( initially(pp))initiated(initiated(pp,,tt) ) event( event(oo,,tt) ) legal( legal(oo,,tt) ) initiates(initiates(oo,,pp))

clipped(clipped(pp,,t’t’,,tt) ) t’t’ < < ss ss < < tt event(event(oo,,ss) ) legal(legal(oo,,ss) ) terminates( terminates(oo,,pp))

tt00 < < tt ~ ~tt00==tt

50

Event calculus pictured:Event calculus pictured:

tt00

on(A,B)on(A,B)

tt

on(A,B) on(A,B) isisstill true if still true if it was not it was not undone.undone.nothing here ‘clips’nothing here ‘clips’

tt00

on(A,B)on(A,B)

tt

on(A,B) on(A,B) isisstill true if still true if it was not it was not undone.undone.

t’t’nothing ‘clips’nothing ‘clips’

When does something hold at time t ?When does something hold at time t ? If is was true from the beginning and not ‘clipped’:If is was true from the beginning and not ‘clipped’:

If something happened to make it true and not If something happened to make it true and not ‘clipped’:‘clipped’:

51

The event calculusThe event calculus The new elements in this ontology: The new elements in this ontology:

Temporal identification through time points instead of Temporal identification through time points instead of situations.situations.

The relation </2 should be defined as a The relation </2 should be defined as a (strict)(strict) partial partial order order (the temporal order on time points)(the temporal order on time points) . .

There is now only 1 definition of holds !!There is now only 1 definition of holds !! This includes: the initial situation + relating situations This includes: the initial situation + relating situations

+ the frame axioms!+ the frame axioms!

In In situations calculussituations calculus situations are related to the situations are related to the previous situation previous situation

In In event calculusevent calculus they are related to they are related to somesome previous moment in time that previous moment in time that initiated initiated something something (which hasn’t been (which hasn’t been clippedclipped). ).

Allows to make bigger steps than just 1 at a time.Allows to make bigger steps than just 1 at a time.

52

holds(holds(pp,,tt) ) initiated( initiated(pp,,t’t’) ) t’t’ < < tt ~clipped( ~clipped(pp,,t’t’,,tt))

initiated(initiated(pp,,tt00) ) initially( initially(pp))initiated(initiated(pp,,tt) ) event( event(oo,,tt) ) legal( legal(oo,,tt) ) initiates(initiates(oo,,pp))

clipped(clipped(pp,t’,t) ,t’,t) t’t’ < < ss ss < < tt event( event(oo,,ss) ) legal(legal(oo,,ss) ) terminates( terminates(oo,,pp))

Relation to planning?Relation to planning?

A plan in this representation is a set of atoms:A plan in this representation is a set of atoms:

event(event(OO11,,TT11) event() event(OO22,,TT22) event() event(OO33,,TT33) ) ....

where each where each OOii is an operator, each is an operator, each TTii a time point, a time point, TTii < < TTi+1i+1 and and executing executing OO11, , OO22, , OO33,… in sequence in the initial state gives the goal ,… in sequence in the initial state gives the goal state.state. But how can we get this plan from a goal like:But how can we get this plan from a goal like:

tt holds( holds(on(A,Table)on(A,Table) , ,tt))

We We CAN NOTCAN NOT (deductively) !!!! (deductively) !!!!

53

Rela

tion t

o p

lannin

g (

2)

Rela

tion t

o p

lannin

g (

2)

D

ed

uct

ion

fro

m a

goal:

Ded

uct

ion

fro

m a

goal:

n

eed

s to

go t

hro

ug

h

need

s to

go t

hro

ug

h in

itia

ted

/2in

itia

ted

/2..

U

nle

ss t

he g

oal w

as

alr

ead

y s

ati

sfied

U

nle

ss t

he g

oal w

as

alr

ead

y s

ati

sfied

in

th

e in

itia

l st

ate

, th

is r

eq

uir

es

in t

he in

itia

l st

ate

, th

is r

eq

uir

es

even

t/2

even

t/2 f

act

s to

hold

! f

act

s to

hold

!

Bu

t th

ere

is

Bu

t th

ere

is

NO

defin

itio

nN

O d

efin

itio

n f

or

for

even

t/2

even

t/2::

T

his

pre

dic

ate

is

the o

bje

ct o

f ou

r Th

is p

red

icate

is

the o

bje

ct o

f ou

r se

arc

h !

!se

arc

h !

!

SO

:S

O:

is

not

a log

ical co

nse

qu

en

ce o

f th

e

is n

ot

a log

ical co

nse

qu

en

ce o

f th

e

even

t ca

lcu

lus

theory

. even

t ca

lcu

lus

theory

.

It

is n

ot

tru

e in

It

is

not

tru

e in

ALL

ALL

mod

els

. m

od

els

.

hold

s(h

old

s(pp

,, tt)

)

in

itia

ted

( in

itia

ted

( pp,, t

’t’) )

t’t’ <

<

tt

~cl

ipp

ed

(~

clip

ped

( pp,, t

’t’,, tt

))

init

iate

d(

init

iate

d( pp

,, tt00)

)

in

itia

lly(

in

itia

lly( pp

))in

itia

ted

(in

itia

ted

( pp,, tt

)

)

even

t( e

ven

t(oo,, tt

) )

leg

al(

leg

al(oo,, tt

) )

in

itia

tes(

init

iate

s(oo,, pp

))

tt

hold

s( h

old

s(on(A

,Table

)on(A

,Table

) , ,tt ))

54

SO

: th

e g

oal:

SO

: th

e g

oal:

is

not

true in a

ll m

odels

.is

not

true in a

ll m

odels

.

B

UT

BU

T : if

there

exis

ts a

model

: if t

here

exis

ts a

model (

wit

h

(wit

h

som

e e

vent/

2 f

act

s tr

ue)

som

e e

vent/

2 f

act

s tr

ue)

in w

hic

h t

he

in w

hic

h t

he

goal is

als

o t

rue, th

en t

he t

rue e

vent/

2

goal is

als

o t

rue, th

en t

he t

rue e

vent/

2

ato

ms

in t

hat

model giv

e u

s th

e p

lan.

ato

ms

in t

hat

model giv

e u

s th

e p

lan.

M

odel-

genera

tion t

ech

niq

ues!

Model-

genera

tion t

ech

niq

ues!

O

r alt

ern

ati

vely

: O

r alt

ern

ati

vely

: ab

duct

ive r

easo

nin

g

ab

duct

ive r

easo

nin

g

tech

niq

ues.

tech

niq

ues.

M

eanin

gM

eanin

g:

find

a s

et

of

hyp

oth

esi

s :

find

a s

et

of

hyp

oth

esi

s

of of event/

2event/

2 a

tom

s su

ch t

hat:

a

tom

s su

ch t

hat:

Model genera

tion

Model genera

tion

tt

hold

s( h

old

s(on(A

,Table

)on(A

,Table

) , ,tt ))

tt

hold

s( h

old

s(on(A

,Table

)on(A

,Table

) , ,tt ))

Theory

enta

ilsTheory

enta

ils

top related