artificial intelligence planning system

61
All rights res erved © L. Manevitz Lecture 6 1 Artificial Intelligence Planning System L. Manevitz

Upload: clay

Post on 14-Jan-2016

235 views

Category:

Documents


3 download

DESCRIPTION

Artificial Intelligence Planning System. L. Manevitz. Components of a Planning System. Chose the best rule to apply next based on the best available heuristic information. Apply the chosen rule to compute the new problem state that arises from its application. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 1

Artificial IntelligencePlanning System

L. Manevitz

Page 2: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 2

Components of a Planning System

• Chose the best rule to apply next based on the best available heuristic information.

• Apply the chosen rule to compute the new problem state that arises from its application.

• Detect when a solution has been found.

Page 3: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 3

Components of a Planning System cont.

• Detect dead ends so that they can be abandoned and the system’s effort directed in more fruitful directions.

• Detect when an almost correct solution has been found and employ special techniques to make it totally correct.

Page 4: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 4

The Blocks World

• Operators:– UNSTACK(A,B) – Pick up block A from its

current position on block B. The arm must be empty and block A must have no blocks on top of it.

– STACK(A,B) – Place block A on block B. The arm must already be holding A and the surface of B must be clear.

Page 5: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 5

The Blocks World cont.

– PICKUP(A) – Pick up block A from the table and hold it. Te arm must be empty and there must be nothing on top of block A.

– PUTDOWN(A) – Put block A down on the table. The arm must have been holding block A.

Page 6: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 6

The Blocks World cont.

• Predicates:– ON(A,B) – Block A is on block B.– ONTABLE(A) – Block A is on the table.– CLEAR(A) – There is nothing on top of

block A.– HOLDING(A) – The arm is holding block

A. – ARMEMPTY – The arm is holding nothing.

Page 7: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 7

The Blocks World cont.

• Inference rules:– [ x : HOLDING(x)] ARMEMPTY

– x : ONTABLE(x) y : ON(x,y)

– x : [ y : ON(y,x)] CLEAR(x)

Page 8: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 8

A Simple Blocks World Description

BB

AA

ON(A,B,S0)

ONTABLE(B,S0)

CLEAR(A,S0)

Page 9: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 9

STRIPS – Style Operate for the Blocks World

STACK(x,y)

P: CLEAR(y) HOLDING(x)

D: CLEAR(y) HOLDING(x)

A: ARMEMPTY ON(x,y)

UNSTACK(x,y)

P: ON(x,y) CLEAR(x) ARMEMPTY

D: ON(X,Y) ARMEMPTY

A: HOLDING(x) CLEAR(y)

Page 10: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 10

STRIPS – Style Operate for the Blocks World cont.

PICKUP(x)

P: CLEAR(x) ONTABLE(x) ARMEMPTY

D: ONTABLE(x) ARMEMPTY

A: HOLDING(x)

PUTDOWN(x)

P: HOLDING(x)

D: HOLDING(x)

A: ONTABLE(x) ARMEMPTY

Page 11: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 11

A Simple Search Tree

1

2

3

UNSTACK(A,B)

PUTDOWN(A)

Global database at this point

ONTABLE(B) CLEAR(A)

CLEAR(B) ONTABLE(A)

Page 12: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 12

A Very Simple Blocks World Problem

AA

BB

CC DD AA DD

BBCC

Start: ON(B,A)

ONTABLE(A)

ONTABLE(C)

ONTABLE(D)

ARMEMPTY

Goal: ON(C,A)

ON(B,D)

ONTABLE(A)

ONTABLE(D)

Page 13: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 13

Goal Stack Planning

1) Initial goal stack:

ON(C,A) ON(B,D) ONTABLE(A) ONTABLE(D)

Page 14: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 14

Goal Stack Planning cont.

2) Choose to work on ON(C,A) before ON(B,D):

ON(C,A) ON(B,D) OTADON(B,D)ON(C,A)

Page 15: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 15

Goal Stack Planning cont.

3) Achieve ON(C,A) with STACK(C,A):

ON(C,A) ON(B,D) OTADON(B,D)ON(C,A)STACK(C,A)

Page 16: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 16

Goal Stack Planning cont.

4) Add STACK’s preconditions:

ON(C,A) ON(B,D) OTADON(B,D)STACK(C,A)

HOLDING(C)CLEAR(A)

CLEAR(A) HOLDING(C)

Page 17: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 17

Goal Stack Planning cont.

5) Achieve CLEAR(A) with UNSTACK(B,A):

ON(C,A) ON(B,D) OTADON(B,D)STACK(C,A)

HOLDING(C)CLEAR(A) HOLDING(C)

UNSTACK(B,A)ON(B,A) CLEAR(B) ARMEMPTY

ON(B,A)CLEAR(B)ARMEMPTY

CLEAR(A)

Page 18: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 18

Goal Stack Planning cont.

6) Pop satisfied predicates:

ON(C,A) ON(B,D) OTADON(B,D)STACK(C,A)

HOLDING(C)CLEAR(A) HOLDING(C)

UNSTACK(B,A)ON(B,A) CLEAR(B) ARMEMPTY

ON(B,A)CLEAR(B)ARMEMPTY

Page 19: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 19

Goal Stack Planning cont.

7) Achieve HOLDING(C) with UNSTACK(C,x):

ON(C,A) ON(B,D) OTADON(B,D)STACK(C,A)

HOLDING(C)CLEAR(A) HOLDING(C)UNSTACK(C,x)ON(C,x) CLEAR(C) ARMEMPTY

ON(C,x)CLEAR(C)ARMEMPTY

Page 20: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 20

Goal Stack Planning cont.

8) Achieve ON(C,x) by STACK(C,x):

ON(C,A) ON(B,D) OTADON(B,D)STACK(C,A)CLEAR(A) HOLDING(C)UNSTACK(C,x)ON(C,x) CLEAR(C) ARMEMPTY

ON(C,x)CLEAR(C)ARMEMPTY

STACK(C,x)CLEAR(x) HOLDING(C)HOLDING(C)CLEAR(x)

Page 21: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 21

Goal Stack Planning cont.

9) Terminate path because HOLDING(C) is duplicated.

ON(C,A) ON(B,D) OTADON(B,D)STACK(C,A)CLEAR(A) HOLDING(C)UNSTACK(C,x)ON(C,x) CLEAR(C) ARMEMPTY

CLEAR(C)ARMEMPTY

STACK(C,x)CLEAR(x) HOLDING(C)HOLDING(C)CLEAR(x)

Page 22: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 22

Goal Stack Planning cont.

10) Achieve HOLDING(C) with PICKUP, not UNSTACK:

ON(C,A) ON(B,D) OTADON(B,D)STACK(C,A)CLEAR(A) HOLDING(C)PICKUP(C)ONTABLE(C) CLEAR(C) ARMEMPTY

CLEAR(C)ARMEMPTY

ONTABLE(C)

Page 23: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 23

Goal Stack Planning cont.

11) Pop ONTABLE(C) and CLEAR(C), and achieve ARMEMPTY by STACK(B,D):

ON(C,A) ON(B,D) OTADON(B,D)STACK(C,A)CLEAR(A) HOLDING(C)PICKUP(C)ONTABLE(C) CLEAR(C) ARMEMPTY

CLEAR(C)ARMEMPTY

ONTABLE(C)

STACK(B,D)CLEAR(D) HOLDING(B)HOLDING(B)CLEAR(D)

Page 24: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 24

Goal Stack Planning cont.

12) Pop entire stack, and return plan:i. UNSTACK(B,A).

ii. STACK(B,D).

iii. PICKUP(C).

iv. STACK(C,A).

Page 25: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 25

A Slightly Harder Blocks Problem

AA

CC

BB CC

BB

AA

Start: ON(C,A)

ONTABLE(A)

ONTABLE(B)

ARMEMPTY

Goal: ON(A,B)

ON(B,C)

Page 26: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 26

Goal Stack Planning

• There are two ways to begin solving:

21

ON(A,B) ON(B,C)ON(B,C)ON(A,B)

ON(A,B) ON(B,C)ON(A,B)ON(B,C)

Page 27: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 27

Goal Stack Planning cont.

• Let’s choose alternative 1.we will eventually produce this goal stack:

ON(A,B) ON(B,C)ON(B,C)STACK(A,B)CLEAR(B) HOLDING(A)PICKUP(A)CLEAR(A) ARMEMPTY

CLEAR(C)

ARMEMPTYUNSTACK(C,A)

ARMEMPTYCLEAR(C) ARMEMPTY

ON(A,B)

HOLDING(A)

CLEAR(A)

Page 28: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 28

Goal Stack Planning cont.

• We can pop off the stack goals that have already been satisfied:

ON(A,B) ON(B,C)ON(B,C)STACK(A,B)CLEAR(B) HOLDING(A)PICKUP(A)CLEAR(A) ARMEMPTY

CLEAR(C)

ARMEMPTYUNSTACK(C,A)

ARMEMPTYCLEAR(C) ARMEMPTY

PUTDOWN(C)HOLDING(C)

To satisfy ARMEMPTY we need to PUTDOWN(C).

Page 29: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 29

Goal Stack Planning cont.

• We can continue popping:

ON(A,B) ON(B,C)ON(B,C)STACK(A,B)CLEAR(B) HOLDING(A)PICKUP(A)CLEAR(A) ARMEMPTYPUTDOWN(C)HOLDING(C)

Page 30: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 30

Goal Stack Planning cont.

• The current state is:

• The sequence of operators applied so far is:1. UNSTACK(C,A)2. PUTDOWN(C)3. PICKUP(A)4. STACK(A,B)

CC BB

AAONTABLE(B)

ON(A,B)

ONTABLE(C)

ARMEMPTY

Page 31: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 31

Goal Stack Planning cont.

• Now we can begin to work on ON(B,C).

We need to stack B on C. To do that we need to unstack A from B. By the time we have achieved the goal ON(B,C), and popped it off the stack, we will have executed the following additional sequence of operators

Page 32: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 32

Goal Stack Planning cont.

• The sequence of operators :5. UNSTACK(A,B)

6. PUTDOWN(A)

7. PICKUP(B)

8. STACK(B,C)

• The problem state will be:

CC

BB

AA

ON(B,C)

ONTABLE(A)

ONTABLE(C)

ARMEMPTY

Page 33: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 33

Goal Stack Planning cont.

• But now when we check the remaining goal on the stack:

we discover that it is not satisfied.We have undone ON(A,B) in the process of achieving ON(B,C).

• The sequence of operators we need to add:9. PICKUP(A)10. STACK(A,B)

ON(A,B) ON(B,C)

Page 34: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 34

Goal Stack Planning cont.

The complete plan that has been discovered is:1. UNSTACK(C,A)

2. PUTDOWN(C)

3. PICKUP(A)

4. STACK(A,B)

5. UNSTACK(A,B)

6. PUTDOWN(A)

7. PICKUP(B)

8. STACK(B,C)

9. PICKUP(A)

10. STACK(A,B)

Although this plan will achieve the desired goal, it does not do so very efficiently.

The same would have happened if we had chosen the second alternative.

Page 35: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 35

Goal Stack Planning cont.

• There are two approaches we can take to the question of how a good plan could be found:

1. Look at ways to repair the plan we already have – look for places in the plan where we perform an operation and then immediately undo it. We can eliminate both the doing and the undoing steps from the plan.

2. Use a plan-finding procedure that could construct efficient plans directly – the Nonlinear Planning.

Page 36: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 36

Repairing the First Plan

1. UNSTACK(C,A)2. PUTDOWN(C)3. PICKUP(A)4. STACK(A,B)5. UNSTACK(A,B)6. PUTDOWN(A)7. PICKUP(B)8. STACK(B,C)9. PICKUP(A)10. STACK(A,B)

1. UNSTACK(C,A)2. PUTDOWN(C)3. PICKUP(B)4. STACK(B,C)5. PICKUP(A)6. STACK(A,B)

Page 37: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 37

The Nonlinear Planning

• Begin work on the goal ON(A,B) by clearing A, thus putting C on the table.

AA CCBB

CC

Page 38: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 38

Nonlinear Planning cont.

• Achieve the goal ON(B,C) by stacking B on C.

AA CCBB

BB

Page 39: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 39

Nonlinear Planning cont.

• Complete the goal ON(A,B) by stacking A on B.

AA CC

BB

AA

Page 40: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 40

Backwards Non-Linear Planner

• Finds “Last Operator” recursively

• Uses theorem prover to prune paths

Page 41: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 41

Page 42: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 42

The Problem Solving System NOAH

• NOAH plans by developing a hierarchy of subgoals.

• The procedural net contains several levels of representation of a plan, each level more detailed than the previous one.

• For example: the node representing the abstract goal make coffee may be expanded to : grind coffee, boil water, put the coffee in a filter, pour the water through it.

Page 43: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 43

Page 44: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 44

NOAH cont.

• We’ll use NOAH to solve the blocks problem.• The operators used in this example are slightly

different from those we have been using .• STACK – will put any object on any other

(including the table), provided that both objects are clear. It includes the picking up of the object to be moved.

Page 45: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 45

The Blocks Problem

• A reminder of the problem :

AA

CC

BB CC

BB

AA

Start: ON(C,A)

ONTABLE(A)

ONTABLE(B)

ARMEMPTY

Goal: ON(A,B)

ON(B,C)

Page 46: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 46

NOAH Solution

• The initial state of the problem solver:

(ON(A,B) ON(B,C)) Level 1

Page 47: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 47

NOAH Solution cont.

• The first thing that it does is to divide the problem into two subproblems:

ON(A,B)

Level 2

ON(B,C)

S J

Split Join

Page 48: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 48

NOAH Solution cont.

• At the third level the preconditions of STACK are considered – the two blocks involved must be clear.

CLEAR(A)

Level 3: before criticism

CLEAR(B)S J

CLEAR(B)

CLEAR(C)S J

S

STACK(A,B)

STACK(B,C)

J

1

2

4

56

3

Page 49: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 49

NOAH Solution cont.

• Now NOAH employs a set of critics to examine the plan and detect interactions among the subplans.

• Each critic is a little program that makes specific observations about the proposed plan.

Page 50: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 50

The Resolve Conflicts critic

• The Resolve Conflicts critic – constructs a table that lists all the literals that are mentioned more than once in the plan.

CLEAR(B): asserted: node 2 “Clear B”

denied: node 3 “Stack A on B”

asserted: node 4 “Clear B”

CLEAR(C): asserted: node 5 “Clear C”

denied: node 6 “Stack B on C”

Page 51: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 51

The Resolve Conflicts critic cont.

• Constraints on the ordering of operation arise when a given literal must be true before one operation can be performed but will be undone by another.

CLEAR(B): denied: node 3 “Stack A on B”

asserted: node 4 “Clear B”

Page 52: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 52

The Resolve Conflicts critic cont.

• Conclusion:

Since putting A on B could undo the preconditions for putting B on C, putting B on C needs to be done first.

Page 53: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 53

NOAH Solution cont.

• The third level after criticism to resolve conflicts:

CLEAR(A)

Level 3

CLEAR(B)S J

CLEAR(B)

CLEAR(C)S J

S

STACK(A,B)

STACK(B,C)

Page 54: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 54

Eliminate Redundant Preconditions

• Can be invoked to eliminate the redundant specification of subgoals. In this case CLEAR(B) appears twice and is only denied by the last step of the plan.

Page 55: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 55

NOAH Solution cont.

• The third level after all criticism:

CLEAR(A)Level 3

J

CLEAR(B)

CLEAR(C)S J

SSTACK(A,B)

STACK(B,C)

Page 56: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 56

NOAH Solution cont.

• To clear A, C must be removed from A. in order to do that C must be clear :

CLEAR(C)Level 4: before criticism

J

CLEAR(B)

CLEAR(C)S J

S STACK(A,B)

STACK(B,C)

STACK(C,x)

Page 57: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 57

The Resolve Conflicts critic

• The critic observes that putting B on C will make CLEAR(C) false, so everything that depends on C being clear will have to be done before B is put on C.

Page 58: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 58

NOAH Solution cont.

• The Resolve Conflicts critic is employed:

CLEAR(C)

Level 4: after criticism to resolve conflicts

CLEAR(B)

CLEAR(C)S

J

S

STACK(A,B)STACK(B,C)

STACK(C,x)

Page 59: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 59

Eliminate Redundant Preconditions

• It notices that CLEAR(C) is required twice.

• Since putting C somewhere must occur before putting B on C, and both require C being clear then we know that when we get to putting B on C, C will be clear.

• CLEAR(C) can be eliminated from the lower path.

Page 60: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 60

NOAH Solution cont.

• The Eliminate Redundant Preconditions critic is called:

CLEAR(C)

Level 4: after all criticism

CLEAR(B) J

S

STACK(A,B)STACK(B,C)

STACK(C,x)

Page 61: Artificial Intelligence Planning System

All rights reserved ©

L. Manevitz Lecture 6 61

NOAH Solution cont.

• The system observes that the remaining goals , CLEAR(C) and CLEAR(B), are true in the initial state.

• Therefore the final plan is:

Final plan

STACK(A,B)STACK(B,C)STACK(C,x)