EH 2750 Arshad Saleem 06 Oct, 2014 Modelling planning problems using PDDL 1

Preview:

Citation preview

EH 2750

Arshad Saleem

06 Oct, 2014

Modelling planning problems using PDDL

1

Contents• Forward and Backward chaining

• PDLL

• Modeling example in PDDL

• PDDL modeling exercise

2

Forwards and Backwards Chaining

If <condition> Then <conclusion>

3

If <condition> Then <conclusion>

If <condition> Then <conclusion>

If <condition> Then <conclusion>

<Goal>

Forwards and Backwards Chaining

If <condition> Then <conclusion>

Forwards chainingData driven

Backwards chainingGoal driven

4

Backwards Chaining• Match the goal to the conclusions of rules

• Set up the premises of the rules that matched as sub-goals

• Repeat until:

– all sub-goals match directly with known facts (goal is true), or

– Some sub-goal fail to match (goal is false)

5

If <condition> Then <conclusion>

Forwards chainingData driven

Backwards chainingGoal driven

Backwards Chaining• There may be more than one rule which

conclusion matches the goal (a conflict)• Choose the first rule we find which matches and

continue the search by trying to match its premises• If this fails, we backtrack up one or more levels of

rule and try again• Backward chaining is usually implemented as

depth-first search

6

Example:Backwards Chaining

Production rules:

• 1. if a then b,

• 2. if (f and k) then i

• 3. if (b and c) then d,

• 4. if (d and h) then f,

• 5. if (k or g) then h,

• 6. if b then c

• Facts: a, k

• Goal: f 7

Example: Backwards Chaining• Goal: we want to prove f• rule 4 says that we can prove f if d and h can be

proved• Sub-goal: we want to prove d:• rule 3 says that we could prove d if b and c can be

proved• (Sub-)sub-goal: we want to prove b:• rule 1 says that we could prove b if a can be

proved• but a is a known fact, so we have proven b• (Sub-)sub-goal: we want to prove c:• rule 6 says that we could prove c if b can be

proved• but we just proved b so we have also proven c• As we now have proved b and c, we know that d

holds• Sub-goal: we want to prove h:• rule 5 says that we could prove h if k or g can be

proved• but k is a known fact, so we have proven h• As we now have proved both d and h, we have

proven f!

Production rules:1. if a then b,

2. if (f and k) then i3. if (b and c) then d,4. if (d and h) then f,5. if (k or g) then h,

6. if b then cFacts: a, k

Goal: f

Forward-chaining

• Match the facts in theknowledge base to thepremises of rules

• Apply the rules and addthe conclusions as new(temporary) facts to theknowledge base

• Repeat until– the goal is achieved, or– no more rules fire

9

Example:Forwards Chaining

• With forward chaining, we usually make all possiblederivations of new facts with each iterations, i. e. we fire all rules which apply

• Thus, forward chaining uses a breadth first search• Example: same production rules as above

– 1. if a then b,– 2. if (f and k) then i– 3. if (b and c) then d,– 4. if (d and h) then f,– 5. if (k or g) then h,– 6. if b then c

• and the same known facts: a, k 10

Example: Forwards Chaining• Pass 0:

– facts a,k• Pass 1: using rule 1. We conclude b

– facts a,b,k• using rule 5. We conclude h

– facts a,b,h,k• using rule 6. We conclude c

– facts a,b,c,h,k• Pass 2: using rule 3. We conclude d

– facts a,b,c,d,h,k• using rule 4. We conclude f

– facts a,b,c,d,f,h,k• Pass 3: using rule 2. We conclude i

– facts a,b,c,d,f,h,I,k11

Production rules:1. if a then b,

2. if (f and k) then i3. if (b and c) then d,4. if (d and h) then f,5. if (k or g) then h,

6. if b then cFacts: a, k

Goal: f

PDDL

• A modeling language for • PDDL = Planning Domain Definition Language• Problems modeled in this language can be

executed by a software (JavaFF library in our case)

12

Components of PDDL

• Objects: Things in the world that interest us.• Predicates: Properties of objects that we are

interested in; can be true or false.• Initial State: The state of the world that we start

in.• Goal specification: Things that we want to be

true.• Actions/Operators: Ways of changing the state

of the world.

13

Two parts of PDDL modelling

• Planning tasks specified in PDDL are separated into two files

– A domain file for predicates and actions– A problem file for objects, initial state and goal

specification

14

Domain file

15

Problem file

16

Gripper example

• Gripper task with four balls:

There is a robot that can move between two rooms and pick up or drop balls with either of

his two arms. Initially, all balls and the robot are in the first room. We want the balls to be in

the second room.

17

Gripper example• Objects: The two rooms, four balls and two robot

arms.• Predicates: Is x a room? Is x a ball? Is ball x

inside room y? Is robot arm x empty? [...]• Initial state: All balls and the robot are in the

first room. All robot arms are empty. [...]• Goal specification: All balls must be in the

second room.• Actions/Operators: The robot can move between

rooms, pick up a ball or drop a ball.

18

Gripper example: Objects

19

Gripper example: Predicates

20

Gripper example: Initial state

21

Gripper example: Goal state

22

Gripper example: movement action

23

Gripper example: pickup action

24

Gripper example: drop action

25

PDDL small exercise

• Let’s write PDDL for:

Initial situation: GOAL

A

B

B

A

26

Questions

27