the autosafe vision - indian institute of...
TRANSCRIPT
![Page 1: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/1.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR
Planning in Artificial Intelligence
The intelligent way to do things
COURSE: CS60045
1
Pallab Dasgupta
Professor,
Dept. of Computer Sc & Engg
![Page 2: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/2.jpg)
Blocks World
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 2
A B
C
Initial State
A
B
C
Target State
Predicates describing
the initial state:
On(C, A), On(A, Table),
On(B, Table),
Clear(C), Clear(B)
Predicates describing
the target state:
On(A, B), On(B, C)
ACTIONS:
Move(X, Y)
Precond: Clear(X), Clear(Y)
Effect: On(X, Y)
Move(X, Table)
Precond: Clear(X)
Effect: On(X, Table)The planning task is to determine the actions for
reaching the target state from the initial state.
![Page 3: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/3.jpg)
Choosing Actions
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 3
A B
C
A
B
C
On(C, A), On(A, Table), On(B, Table), Clear(C), Clear(B)
On(A, B), On(B, C)
ACTIONS:
Move(X, Y)
Precond: Clear(X), Clear(Y)
Effect: On(X, Y)
• We can move C to the table
• This achieves none of the goal predicates
• We can move C to top of B
• This achieves none of the goal predicates
• We can move B to top of C
• This achieves On(B, C)
Move(X, Table)
Precond: Clear(X)
Effect: On(X, Table)
![Page 4: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/4.jpg)
Partial Solutions
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 4
A B
C
A
B
C
On(C, A), On(A, Table), On(B, Table), Clear(C), Clear(B)
On(A, B), On(B, C)
ACTIONS:
Move(X, Y)
Precond: Clear(X), Clear(Y)
Effect: On(X, Y)
Move(X, Table)
Precond: Clear(X)
Effect: On(X, Table)
Move(B, C)
Clear(C), Clear(B)
We use Move(B, C) to achieve
the sub-goal, On(B, C).
But if we apply this move at the
beginning, we get:
A
B
C
Which is not what we want !!
![Page 5: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/5.jpg)
Partial Solutions
5
A B
C
A
B
C
On(C, A), On(A, Table), On(B, Table), Clear(C), Clear(B)
On(A, B), On(B, C)
ACTIONS:
Move(X, Y)
Precond: Clear(X), Clear(Y)
Effect: On(X, Y)
Move(X, Table)
Precond: Clear(X)
Effect: On(X, Table)
Move(C, Table)
Clear(C)
Move(A, B)
Clear(A), Clear(B)
Clear(A), On(C, Table)
The sub-goal On(A, B) is achieved by
moving C to the table and then moving
A to top to B. But this gives us:
A
BC
But this too is not what we want !!
![Page 6: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/6.jpg)
Ordering Partial Solutions
6
A B
C
A
B
C
On(C, A), On(A, Table), On(B, Table), Clear(C), Clear(B)
On(A, B), On(B, C)
ACTIONS:
Move(X, Y)
Precond: Clear(X), Clear(Y)
Effect: On(X, Y)
Move(X, Table)
Precond: Clear(X)
Effect: On(X, Table)
Move(C, Table)
Clear(C)
Move(A, B)
Clear(A), Clear(B)
Clear(A), On(C, Table)
Move(B, C) removes the Clear(C)
predicate which is essential for
Move(C, Table). Hence Move(C, Table)
must precede Move(B, C).
Move(B, C)
Clear(C), Clear(B)
Clear(C)
Can Move(B, C) and Move(A, B) be
executed in any order?
![Page 7: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/7.jpg)
Ordering Partial Solutions
7
A B
C
A
B
C
On(C, A), On(A, Table), On(B, Table), Clear(C), Clear(B)
On(A, B), On(B, C)
ACTIONS:
Move(X, Y)
Precond: Clear(X), Clear(Y)
Effect: On(X, Y)
Move(X, Table)
Precond: Clear(X)
Effect: On(X, Table)
Move(C, Table)
Clear(C)
Move(A, B)
Clear(A), Clear(B)
Clear(A), On(C, Table)
Move(A, B) removes the Clear(B)
predicate which is essential for
Move(B, C). Hence Move(B, C) must
precede Move(A, B).
Move(B, C)
Clear(C), Clear(B)
Clear(C)
Therefore the only total order is:
1. Move(C, Table)
2. Move(B, C)
3. Move(A, B)
Clear(B)
![Page 8: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/8.jpg)
Sometimes Partial Order may stay
ACTIONS
Op( ACTION: RightShoe,
PRECOND::RightSockOn,
EFFECT:: RightShoeOn )
Op( ACTION: RightSock,
EFFECT: RightSockOn )
Op( ACTION: LeftShoe,
PRECOND: LeftSockOn,
EFFECT: LeftShoeOn )
Op( ACTION: LeftSock,
EFFECT: LeftSockOn )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 8
Which of these situations are allowed by these actions?
![Page 9: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/9.jpg)
Sometimes Partial Order may stay
ACTIONS
Op( ACTION: RightShoe,
PRECOND::RightSockOn,
EFFECT:: RightShoeOn )
Op( ACTION: RightSock,
EFFECT: RightSockOn )
Op( ACTION: LeftShoe,
PRECOND: LeftSockOn,
EFFECT: LeftShoeOn )
Op( ACTION: LeftSock,
EFFECT: LeftSockOn )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR
Start
LeftSock
LeftShoe
End
LeftSockOn
LeftShoeOn, RightShoeOn
RightSock
RightShoe
RighSockOn
![Page 10: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/10.jpg)
Planning is an integral part of automation
Recommended clip from Charlie Chaplin’s Modern Times to see what can go wrong:
https://www.youtube.com/watch?v=n_1apYo6-Ow
What we intend to learn:
1. Partial Order Planning
2. GraphPlan and SATPlan
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 10
![Page 11: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/11.jpg)
Partial Order Planning
• Basic Idea: Make choices only that are relevant to solving the current part of the problem
• Least Commitment Choices
• Orderings: Leave actions unordered, unless they must be sequential
• Bindings: Leave variables unbound, unless needed to unify with conditions being achieved
• Actions: Usually not subject to “least commitment”
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 11
![Page 12: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/12.jpg)
Terminology
• Totally Ordered Plan
• There exists sufficient orderings O such that all actions in A are ordered with respect to each
other
• Fully Instantiated Plan
• There exists sufficient constraints in B such that all variables are constrained to be equal to
some constant
• Consistent Plan
• There are no contradictions in O or B
• Complete Plan
• Every precondition P of every action Ai in A is achieved:
• There exists an effect of an action Aj that comes before Ai and unifies with P, and no
action Ak that deletes P comes between Aj and Ai
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 12
![Page 13: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/13.jpg)
Early Days: STRIPS
• STanford Research Institute Problem Solver
• Many planners today use specification languages that are variants of the one used in STRIPS
Our running example:
• Given:
Initial state: The agent is at home without tea, biscuits, book
Goal state: The agent is at home with tea, biscuits, book
A set of actions as shown next
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 13
![Page 14: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/14.jpg)
Representing States
• States are represented by conjunctions of function-free ground literals
At(Home) Have(Tea)
Have(Biscuits) Have(Book)
• Goals are also described by conjunctions of literals
At(Home) Have(Tea)
Have(Biscuits) Have(Book)
• Goals can also contain variables
At(x) Sells(x, Tea)
The above goal is being at a shop that sells tea
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 14
![Page 15: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/15.jpg)
Representing Actions
• Action description – serves as a name
• Precondition – a conjunction of positive literals (why positive?)
• Effect – a conjunction of literals (+ve or –ve)
• The original version had an add list and a delete list.
Op( ACTION: Go(there),
PRECOND: At(here) Path(here, there),
EFFECT: At(there) At(here) )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 15
![Page 16: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/16.jpg)
Representing Plans
• A set of plan steps. Each step is one of the operators for the problem.
• A set of step ordering constraints. Each ordering constraint is of the form Si Sj, indicating Si mustoccur sometime before Sj.
• A set of variable binding constraints of the form v = x, where v is a variable in some step, and x iseither a constant or another variable.
• A set of causal links written as Sc: S’ indicating S satisfies the precondition c for S’.
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 16
![Page 17: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/17.jpg)
Example
• Initial plan
Plan(
STEPS: {
S1: Op( ACTION: start ),
S2: Op( ACTION: finish,
PRECOND: RightShoeOn LeftShoeOn )
},
ORDERINGS: {S1 S2},
BINDINGS: { },
LINKS: { } )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 17
![Page 18: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/18.jpg)
POP Example: Get Tea, Biscuits, Book
Initial state:
Op( ACTION: Start,
EFFECT: At(Home) Sells(BS, Book)
Sells(TS, Tea)
Sells(TS, Biscuits) )
Goal state:
Op( ACTION: Finish,
PRECOND: At(Home) Have(Tea)
Have(Biscuits)
Have(Book) )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 18
Actions:
Op( ACTION: Go(y),
PRECOND: At(x),
EFFECT: At(y) At(x))
Op( ACTION: Buy(x),
PRECOND: At(y) Sells(y, x),
EFFECT: Have(x))
![Page 19: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/19.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 19
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
![Page 20: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/20.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 20
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book)
Op( ACTION: Buy(x),
PRECOND: At(y) Sells(y, x),
EFFECT: Have(x))
Buy(Tea) Buy(Biscuits)
At(y1) Sells(y1, Book) At(y2) Sells(y2, Tea) At(y3) Sells(y3, Biscuits)
![Page 21: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/21.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 21
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book)
Op( ACTION: Buy(x),
PRECOND: At(y) Sells(y, x),
EFFECT: Have(x))
Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book) At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
{ y1 \ BS } { y2 \ TS } { y3 \ TS }
![Page 22: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/22.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 22
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book)
Op( ACTION: Go(y),
PRECOND: At(x),
EFFECT: At(y) At(x))
Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book) At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
Go(BS)
At(y1)
At(y1)
Go(TS)
At(y2)
At(y2)
![Page 23: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/23.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 23
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book) Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book) At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
Go(BS)
At( Home )
At( Home )
Go(TS)
At( Home )
At( Home )
The problem here is that
Go(BS) and Go(TS)
destroy each other’s
precondition. Neither can
precede the other.
![Page 24: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/24.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 24
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book) Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book) At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
Go(BS)
At( Home )
At( Home )
Go(TS)
At(y2)
At(y2)
Can y2 be instantiated with
something else?
Indeed !!
We can try BS for example.
![Page 25: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/25.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 25
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book) Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book) At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
Go(BS)
At( Home )
At( Home )
Go(TS)
At( BS )
At( BS )
![Page 26: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/26.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 26
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book) Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book) At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
Go(BS)
At( Home )
At( Home )
Go(TS)
At( BS )
At( BS )
The red link prevents me
from going to TS before
buying the book
![Page 27: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/27.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 27
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book)
Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book)
At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
Go(BS)
At( Home )
At( Home )
Go(TS)
At( BS )
At( BS )
Go(Home)
At( z )
At( z )
![Page 28: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/28.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 28
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book)
Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book)
At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
Go(BS)
At( Home )
At( Home )
Go(TS)
At( BS )
At( BS )
Go(Home)
At( TS )
At( TS )
![Page 29: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/29.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 29
FINISH
Have(Book) Have(Tea) Have(Biscuits) At(Home)
START
At(Home) Sells(BS, Book) Sells(TS, Tea) Sells(TS, Biscuits)
Buy(Book)
Buy(Tea) Buy(Biscuits)
At(BS) Sells(BS, Book)
At(TS) Sells(TS, Tea) At(TS) Sells(TS, Biscuits)
Go(BS)
At( Home )
At( Home )
Go(TS)
At( BS )
At( BS )
Go(Home)
At( TS )
At( TS )
![Page 30: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/30.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 30
FINISH
START
Buy(Book)
Buy(Tea) Buy(Biscuits)
Go(BS)
Go(TS)
Go(Home)
![Page 31: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/31.jpg)
The Partial Order Planning Algorithm
Function POP( initial, goal, operators )
// Returns plan
plan Make-Minimal-Plan( initial, goal )
Loop do
If Solution( plan ) then return plan
S, c Select-Subgoal( plan )
Choose-Operator( plan, operators, S, c )
Resolve-Threats( plan )
end
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 31
![Page 32: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/32.jpg)
POP: Selecting Sub-Goals
Function Select-Subgoal( plan )
// Returns S, c
pick a plan step S from STEPS( plan )
with a precondition c that has not been achieved
Return S, c
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 32
![Page 33: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/33.jpg)
POP: Choosing operators
Procedure Choose-Operator( plan, operators, S, c )
Choose a step S’ from operators or STEPS( plan ) that has c as an effect
If there is no such step then fail
Add the causal link S’ c: S to LINKS( plan )
Add the ordering constraint S’ S to ORDERINGS( plan )
If S’ is a newly added step from operators then add S’ to STEPS( plan ) and add
Start S’ Finish to ORDERINGS( plan )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 33
![Page 34: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/34.jpg)
POP: Resolving Threats
Procedure Resolve-Threats( plan )
for each S’ that threatens a link Si c: Sj in LINKS( plan ) do
choose either
Promotion: Add S’ Si to ORDERINGS( plan )
Demotion: Add Sj S’ to ORDERINGS( plan )
if not Consistent( plan ) then fail
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 34
![Page 35: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/35.jpg)
Partially instantiated operators
• So far we have not mentioned anything about binding constraints
• Should an operator that has the effect, say, At(x), be considered a threat to the condition,
At(Home) ?
Indeed it is a possible threat because x may be bound to Home
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 35
![Page 36: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/36.jpg)
Dealing with potential threats
Resolve now with an equality constraint
Bind x to something that resolves the threat (say x = TS)
Resolve now with an inequality constraint
Extend the language of variable binding to allow x Home
Resolve later
Ignore possible threats. If x = Home is added later into the plan, then we will attempt toresolve the threat (by promotion or demotion)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 36
![Page 37: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/37.jpg)
Proc Choose-Operator( plan, operators, S, c )
choose a step S’ from operators or STEPS( plan ) that has c’ as an effect
such that u = UNIFY( c, c’, BINDINGS( plan ))
if there is no such step then fail
add u to BINDINGS( plan )
add the causal link S’ c: S to LINKS( plan )
add the ordering constraint S’ S to ORDERINGS( plan )
if S’ is a newly added step from operators then
add S’ to STEPS( plan ) and add Start S’ Finish to ORDERINGS( plan )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 37
![Page 38: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/38.jpg)
Procedure Resolve-Threats( plan )
for each Si c: Sj in LINKS( plan ) do
for each S’’ in STEPS( plan ) do
for each c’ in EFFECTS( S’’) do
if SUBST( BINDINGS(plan), c ) = SUBST( BINDINGS(plan), c’ )
then choose either
Promotion: Add S’’ Si to ORDERINGS( plan )
Demotion: Add Sj S’’ to ORDERINGS( plan )
if not Consistent( plan ) then fail
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 38
![Page 39: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/39.jpg)
GraphPlan and SATPlan
USING PLANNING GRAPHS
39
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR
![Page 40: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/40.jpg)
Planning Graph
Start: Have(Cake)
Finish: Have(Cake) Eaten(Cake)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 40
Op( ACTION: Eat(Cake),
PRECOND: Have(Cake),
EFFECT: Eaten(Cake) Have(Cake))
Op( ACTION: Bake(Cake),
PRECOND: Have(Cake),
EFFECT: Have(Cake))
Have(Cake)
Eaten(Cake) Eaten(Cake)
Persistence action
(carries over a predicate to the next world)
Have(Cake)
Eat( Cake )
Have(Cake)
Eaten(Cake)
S0 A0 S1
![Page 41: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/41.jpg)
Mutex Links in a Planning Graph
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 41
Have(Cake)
Eaten(Cake) Eaten(Cake)
Have(Cake)
Eat( Cake )
Have(Cake)
Eaten(Cake)
S0 A0 S1
Mutual exclusion
among actions
Mutual exclusion
among derived
predicates
![Page 42: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/42.jpg)
Planning Graphs
• Consists of a sequence of levels that correspond to time steps in the plan
• Each level contains a set of actions and a set of literals that could be true at that time
step depending on the actions taken in previous time steps
• For every +ve and –ve literal C, we add a persistence action with precondition C and
effect C
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 42
![Page 43: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/43.jpg)
Planning Graph
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 43
Have(Cake)
Eaten(Cake) Eaten(Cake)
Have(Cake)
Eat( Cake )
Have(Cake)
Eaten(Cake)
S0 A0 S1
Eat( Cake )
Bake( Cake )
Have(Cake)
Eaten(Cake)
Have(Cake)
Eaten(Cake)
A1 S2
Start: Have(Cake) Eaten(Cake)
Finish: Have(Cake) Eaten(Cake)
Op( ACTION: Eat(Cake),
PRECOND: Have(Cake),
EFFECT: Eaten(Cake) Have(Cake))
Op( ACTION: Bake(Cake),
PRECOND: Have(Cake),
EFFECT: Have(Cake))
In the world S2 the goal
predicates exist without
mutexes, hence we need not
expand the graph any further
![Page 44: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/44.jpg)
Mutex Actions
• Mutex relation exists between two actions if:
Inconsistent effects – one action negates an effect of the other
Eat( Cake ) causes Have(Cake) and Bake( Cake ) causes Have(Cake)
Interference – one of the effects of one action is the negation of a precondition of the other
Eat( Cake ) causes Have(Cake) and the persistence of Have( Cake ) needs Have(Cake)
Competing needs – one of the preconditions of one action is mutually exclusive with a
precondition of the other
Bake( Cake ) needs Have(Cake) and Eat( Cake ) needs Have(Cake)
Have(Cake)
Eaten(Cake) Eaten(Cake)
Have(Cake)
Eat( Cake )
Have(Cake)
Eaten(Cake)
S0 A0 S1
Eat( Cake )
Bake( Cake )
Have(Cake)
Eaten(Cake)
Have(Cake)
Eaten(Cake)
A1S2
![Page 45: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/45.jpg)
Mutex Literals
• Mutex relation exists between two literals if:
One is the negation of the other, or
Each possible pair of actions that could achieve the two literals is mutually exclusive
(inconsistent support)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 45
Have(Cake)
Eaten(Cake) Eaten(Cake)
Have(Cake)
Eat( Cake )
Have(Cake)
Eaten(Cake)
S0 A0 S1
Eat( Cake )
Bake( Cake )
Have(Cake)
Eaten(Cake)
Have(Cake)
Eaten(Cake)
A1S2
![Page 46: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/46.jpg)
Function GraphPLAN( problem )
// returns solution or failure
graph Initial-Planning-Graph( problem )
goals Goals[ problem ]
do
if goals are all non-mutex in last level of graph then do
solution Extract-Solution( graph )
if solution failure then return solution
else if No-Solution-Possible (graph )
then return failure
graph Expand-Graph( graph, problem )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 46
![Page 47: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/47.jpg)
Finding the plan
• Once a world is found having all goal predicates without mutexes, the plan can be
extracted by solving a constraint satisfaction problem (CSP) for resolving the mutexes
• Creating the planning graph can be done in polynomial time, but planning is known to be a
PSPACE-complete problem. The hardness is in the CSP.
• The plan is shown in blue below
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 47
Have(Cake)
Eaten(Cake) Eaten(Cake)
Have(Cake)
Eat( Cake )
Have(Cake)
Eaten(Cake)
S0 A0 S1
Eat( Cake )
Bake( Cake )
Have(Cake)
Eaten(Cake)
Have(Cake)
Eaten(Cake)
A1S2
![Page 48: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/48.jpg)
Termination of GraphPLAN when no plan exists
• Literals increase monotonically
• Actions increase monotonically
• Mutexes decrease monotonically
This guarantees the existence of a fixpoint
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 48
Have(Cake)
Eaten(Cake) Eaten(Cake)
Have(Cake)
Eat( Cake )
Have(Cake)
Eaten(Cake)
S0 A0 S1
Eat( Cake )
Bake( Cake )
Have(Cake)
Eaten(Cake)
Have(Cake)
Eaten(Cake)
A1S2
![Page 49: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/49.jpg)
Exercise
Start: At( Flat, Axle ) At( Spare, Trunk )
Goal: At( Spare, Axle )
Op( ACTION: Remove( Spare, Trunk ),
PRECOND: At( Spare, Trunk ),
EFFECT: At( Spare, Ground )
At( Spare, Trunk ))
Op( ACTION: Remove( Flat, Axle ),
PRECOND: At( Flat, Axle ),
EFFECT: At( Flat, Ground )
At( Flat, Axle ))
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 49
Op( ACTION: PutOn( Spare, Axle ),
PRECOND: At( Spare, Ground )
At( Flat, Axle ),
EFFECT: At( Spare, Axle )
At( Spare, Ground ))
Op( ACTION: LeaveOvernight,
PRECOND:
EFFECT: At( Spare, Ground )
At( Spare, Axle )
At( Spare, Trunk )
At( Flat, Ground )
At( Flat, Axle ))
![Page 50: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/50.jpg)
Planning with Propositional Logic
• The planning problem is translated into a CNF satisfiability problem
• The goal is asserted to hold at a time step T, and clauses are included for each time step up to T.
• If the clauses are satisfiable, then a plan is extracted by examining the actions that are true.
• Otherwise, we increment T and repeat
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 50
![Page 51: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/51.jpg)
Example
Aeroplanes P1 and P2 are at SFO and JFK respectively. We want P1 at JFK and P2 at SFO
Initial: At( P1, SFO )0 At( P2, JFK )0
Goal: At( P1, JFK ) At( P2, SFO )0
Action: At( P1, JFK )1 [ At( P1, JFK )0 ( Fly( P1, JFK, SFO)0 At( P1, JFK )0 ) ]
[ At( P1, SFO )0 Fly( P1, SFO, JFK)0 ]
Check the satisfiability of:
initial state successor state axioms goal
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 51
![Page 52: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/52.jpg)
Additional Axioms
Precondition Axioms:
Fly( P1, JFK, SFO)0 At( P1, JFK )0
Action Exclusion Axioms:
( Fly( P2, JFK, SFO)0 Fly( P2, JFK, LAX)0 )
State Constraints:
p, x, y, t ( x y ) ( At( p, x )t At( p, y )t )
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 52
![Page 53: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/53.jpg)
SATPlan
Function SATPlan( problem, Tmax )
// returns solution or failure
for T = 0 to Tmax do
cnf, mapping Trans-to-SAT(problem, T)
assignment SAT-Solver( cnf )
if assignment is not NULL then
return Extract-Solution(assignment, mapping)
return failure
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 53
![Page 54: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/54.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 54
s
a b
q
x y
z
2 2
7 1
3 1
2 5
7
2
6
5
5
2
p
s r
t
3 1
2 5
1
5
3
4
2
0
0
![Page 55: The AUTOSAFE Vision - Indian Institute of …cse.iitkgp.ac.in/~pallab/artificial_intelligence_autumn...INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Planning in Artificial Intelligence](https://reader030.vdocument.in/reader030/viewer/2022041010/5eb78ebbb142d11732185e90/html5/thumbnails/55.jpg)
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 55
B
A D
C
E
F