First Principles Planning in BDI Systems Sebastian Sardina - - PowerPoint PPT Presentation

first principles planning in bdi systems
SMART_READER_LITE
LIVE PREVIEW

First Principles Planning in BDI Systems Sebastian Sardina - - PowerPoint PPT Presentation

First Principles Planning in BDI Systems Sebastian Sardina Department of Computer Science and Information Technology RMIT University, Melbourne, Australia Joint work with Lavindra de Silva and Lin Padgham 1 / 25 Motivation The B elief, D


slide-1
SLIDE 1

First Principles Planning in BDI Systems

Sebastian Sardina

Department of Computer Science and Information Technology RMIT University, Melbourne, Australia

Joint work with Lavindra de Silva and Lin Padgham

1 / 25

slide-2
SLIDE 2

Motivation

The Belief, Desire, Intention (BDI) agent architecture is a popular approach for developing complex systems with soft real-time reasoning and control. BDI agents are suited for dynamic environments, e.g., Air Traffic Control, Unmanned Autonomous Vehicles (UAVs), and they are flexible and robust. However, they usually lack any planning capabilities. Earlier work is mainly on:

  • Hierarchical Task Network (HTN) planning (e.g., [Sardina et al.,06]), which

provides lookahead capabilities within existing BDI plans.

  • First Principles Planning (e.g., [Despouys et al.,99, Meneguzzi et

al.,04] in order to obtain new, but low-level plans. Here: (1) use first principles planning; and (2) obtain new, hybrid plans, using hierarchical knowledge encoded in the BDI system.

2 / 25

slide-3
SLIDE 3

BDI Model of Agency

An architecture for thinking of and building “rational” systems:

dynamic static Beliefs Desires Know-how Intentions Reasoning Deliberation actions input

Rational behavior arises due to the agent committing to some of its desires, and selecting actions that achieve its intentions given its beliefs.

3 / 25

slide-4
SLIDE 4

BDI Programming

Agents: source of actions and behaviours. Beliefs: agent’s information about the world. Events: things that happen; internal or external. Goals: what the agent is trying to do. Plans: recipes for handling goals-events. Messages: interactions between agents.

dynamic static Beliefs Pending Events Plan library Intentions Stacks

BDI engine

actions events

4 / 25

slide-5
SLIDE 5

BDI Execution Cycle

Event

5 / 25

slide-6
SLIDE 6

BDI Execution Cycle

Event Beliefs Plan library

Select plan

based on situation

5 / 25

slide-7
SLIDE 7

BDI Execution Cycle

Event Beliefs Plan library

Select plan

based on situation Current Intentions

5 / 25

slide-8
SLIDE 8

BDI Execution Cycle

Event Beliefs Plan library

Select plan

based on situation Current Intentions

Step on some intention

5 / 25

slide-9
SLIDE 9

BDI Execution Cycle

Event Beliefs Plan library

Select plan

based on situation Current Intentions

Step on some intention

Action

5 / 25

slide-10
SLIDE 10

BDI Execution Cycle

Event Beliefs Plan library

Select plan

based on situation Current Intentions

Step on some intention

Action s u b

  • g
  • a

l g e n e r a t i

  • n

update

5 / 25

slide-11
SLIDE 11

BDI Agent Systems

Key features of BDI systems

  • Beliefs: information about the world.
  • Events/event-goals: goals/desires to resolve; internal or external.
  • Plan library: rules e : ψ ← P for handling event-goals.
  • Operator library: STRIPS-like operators act : ψ ← Φ−; Φ+.
  • Intentions: partially instantiated programs; commitment.

6 / 25

slide-12
SLIDE 12

BDI Approach Advantages: Easy to Extend/Modify

  • Easy to implement core, then add increased complexity.
  • Loose coupling leads to easier system extensions.
  • Can add agents, capabilities, plans - all in a modular fashion.

7 / 25

slide-13
SLIDE 13

BDI Approach Advantages: Easy to Extend/Modify

  • Easy to implement core, then add increased complexity.
  • Loose coupling leads to easier system extensions.
  • Can add agents, capabilities, plans - all in a modular fashion.

7 / 25

slide-14
SLIDE 14

BDI Approach Advantages: Easy to Extend/Modify

  • Easy to implement core, then add increased complexity.
  • Loose coupling leads to easier system extensions.
  • Can add agents, capabilities, plans - all in a modular fashion.

7 / 25

slide-15
SLIDE 15

BDI Approach Advantages: Easy to Extend/Modify

  • Easy to implement core, then add increased complexity.
  • Loose coupling leads to easier system extensions.
  • Can add agents, capabilities, plans - all in a modular fashion.

7 / 25

slide-16
SLIDE 16

BDI Approach Advantages: Flexible and Robust

8 / 25

slide-17
SLIDE 17

BDI Approach Advantages: Flexible and Robust

8 / 25

slide-18
SLIDE 18

BDI Approach Advantages: Flexible and Robust

8 / 25

slide-19
SLIDE 19

BDI Approach Advantages: Flexible and Robust

8 / 25

slide-20
SLIDE 20

BDI Approach Advantages: Flexible and Robust

8 / 25

slide-21
SLIDE 21

BDI Approach Advantages: Flexible and Robust

8 / 25

slide-22
SLIDE 22

BDI Approach Advantages: Possibility of Many Options

9 / 25

slide-23
SLIDE 23

BDI Approach Advantages: Possibility of Many Options

9 / 25

slide-24
SLIDE 24

BDI Approach Advantages: Possibility of Many Options

9 / 25

slide-25
SLIDE 25

BDI Approach Advantages: Possibility of Many Options

9 / 25

slide-26
SLIDE 26

BDI Approach Advantages: Possibility of Many Options

∴ has been sometime referred as “implicit programming.”

9 / 25

slide-27
SLIDE 27

BDI Programming Shortcomings

  • Mostly oriented to reactive behavior.
  • No lookahead reasoning, no account of classical planning.
  • Weak foundations for reasoning about actions.
  • Non-classical semantics (or non-semantics at all)

10 / 25

slide-28
SLIDE 28

First Principles Planning

First Principles Planning is the realisation of action sequences for execution by agents. Some examples: FF, MIPS, LPG, SGPlan.

Input

  • Initial state: initial information about the world.
  • Operator library: Operators of the form act : ψ ← Φ−; Φ+.
  • Goal state: state that needs to be reached.

Output

  • Plan: course of actions transforming the initial state into the goal state.

11 / 25

slide-29
SLIDE 29

First Principles Planning (cont.)

Operator for moving object x from location y to location z: move(x, y, z) : Free(z) ∧ At(x, y) ← − {Free(z), At(x, y)}; {Free(y), At(x, z)}.

12 / 25

slide-30
SLIDE 30

First Principles Planning (cont.)

Operator for moving object x from location y to location z: move(x, y, z) : Free(z) ∧ At(x, y) ← − {Free(z), At(x, y)}; {Free(y), At(x, z)}. Initial state: At(robot1, loc1) ∧ At(robot2, loc2) ∧ Free(loc3). Goal state: At(robot1, loc2) ∧ At(robot2, loc1).

12 / 25

slide-31
SLIDE 31

First Principles Planning (cont.)

Operator for moving object x from location y to location z: move(x, y, z) : Free(z) ∧ At(x, y) ← − {Free(z), At(x, y)}; {Free(y), At(x, z)}. Initial state: At(robot1, loc1) ∧ At(robot2, loc2) ∧ Free(loc3). Goal state: At(robot1, loc2) ∧ At(robot2, loc1). Primitive solution: move(robot1, loc1, loc3) · move(robot2, loc2, loc1) · move(robot1, loc3, loc2).

12 / 25

slide-32
SLIDE 32

First Principles Planning (cont.)

Operator for moving object x from location y to location z: move(x, y, z) : Free(z) ∧ At(x, y) ← − {Free(z), At(x, y)}; {Free(y), At(x, z)}. Initial state: At(robot1, loc1) ∧ At(robot2, loc2) ∧ Free(loc3). Goal state: At(robot1, loc2) ∧ At(robot2, loc1). Primitive solution: move(robot1, loc1, loc3) · move(robot2, loc2, loc1) · move(robot1, loc3, loc2). We use first principles planning with the agent’s event-goals + operators.

12 / 25

slide-33
SLIDE 33

Hybrid Planning

Hybrid-plans are composed primitive actions + event-goals. Intuitively, hybrid-plans preserve flexibility + user intent [Kambhampati et al.,‘98].

13 / 25

slide-34
SLIDE 34

Hybrid Planning

Hybrid-plans are composed primitive actions + event-goals. Intuitively, hybrid-plans preserve flexibility + user intent [Kambhampati et al.,‘98].

Travel(?src, ?dst) OR Walk GoodWeather ∧ ¬Far(?src, ?dst) Walk(?src, ?dst) TakeTaxi − → (¬GoodWeather ∨ Far(?src, ?dst)) ∧ HaveMoney(?src, ?dst) HailTaxi(?src) RideTaxi(?src, ?dst) PayDriver(?src, ?dst) Event-goal BDI plan Action

13 / 25

slide-35
SLIDE 35

Hybrid Planning

Hybrid-plans are composed primitive actions + event-goals. Intuitively, hybrid-plans preserve flexibility + user intent [Kambhampati et al.,‘98].

Travel(?src, ?dst) OR Walk GoodWeather ∧ ¬Far(?src, ?dst) Walk(?src, ?dst) TakeTaxi − → (¬GoodWeather ∨ Far(?src, ?dst)) ∧ HaveMoney(?src, ?dst) HailTaxi(?src) RideTaxi(?src, ?dst) PayDriver(?src, ?dst) Event-goal BDI plan Action

Initially: weather is good and locations loc1 and loc2 are nearby. Then, hybrid-plan GoShopping(loc1) · Travel(loc1, loc2) is more flexible than GoShopping(loc1) · Walk(loc1, loc2).

13 / 25

slide-36
SLIDE 36

A Mars Rover BDI Agent

ExploreSoilLocation(?dst) P0 − → Navigate(?src, ?dst) P1 − → Calibrate Move(?src, ?dst) PerformSoilExperiment(?dst) P2 − → ObtainSoilResults(?dst) P3 − → PickSoilSample(?dst) AnalyseSoilSample(?dst) P4 − → GetMoistureContent(?dst)GetSoilParticleSize(?dst) DropSoilSample TransmitSoilResults(?dst) P5 − → EstablishConn SendResults(?dst) BreakConn Event-goal BDI plan Action

14 / 25

slide-37
SLIDE 37

A Mars Rover BDI Agent

ExploreSoilLocation(?dst) P0 − → Navigate(?src, ?dst) P1 − → Calibrate Move(?src, ?dst) PerformSoilExperiment(?dst) P2 − → ObtainSoilResults(?dst) P3 − → PickSoilSample(?dst) AnalyseSoilSample(?dst) P4 − → GetMoistureContent(?dst)GetSoilParticleSize(?dst) DropSoilSample TransmitSoilResults(?dst) P5 − → EstablishConn SendResults(?dst) BreakConn Event-goal BDI plan Action

14 / 25

slide-38
SLIDE 38

A Mars Rover BDI Agent

ExploreSoilLocation(?dst) P0 − → Navigate(?src, ?dst) P1 − → Calibrate Move(?src, ?dst) PerformSoilExperiment(?dst) P2 − → ObtainSoilResults(?dst) P3 − → PickSoilSample(?dst) AnalyseSoilSample(?dst) P4 − → GetMoistureContent(?dst)GetSoilParticleSize(?dst) DropSoilSample TransmitSoilResults(?dst) P5 − → EstablishConn SendResults(?dst) BreakConn Event-goal BDI plan Action

14 / 25

slide-39
SLIDE 39

A Mars Rover BDI Agent

ExploreSoilLocation(?dst) P0 − → Navigate(?src, ?dst) P1 − → Calibrate Move(?src, ?dst) PerformSoilExperiment(?dst) P2 − → ObtainSoilResults(?dst) P3 − → PickSoilSample(?dst) AnalyseSoilSample(?dst) P4 − → GetMoistureContent(?dst)GetSoilParticleSize(?dst) DropSoilSample TransmitSoilResults(?dst) P5 − → EstablishConn SendResults(?dst) BreakConn Event-goal BDI plan Action

14 / 25

slide-40
SLIDE 40

A Mars Rover BDI Agent

ExploreSoilLocation(?dst) P0 − → Navigate(?src, ?dst) P1 − → Calibrate Move(?src, ?dst) PerformSoilExperiment(?dst) P2 − → ObtainSoilResults(?dst) P3 − → PickSoilSample(?dst) AnalyseSoilSample(?dst) P4 − → GetMoistureContent(?dst)GetSoilParticleSize(?dst) DropSoilSample TransmitSoilResults(?dst) P5 − → EstablishConn SendResults(?dst) BreakConn Event-goal BDI plan Action

14 / 25

slide-41
SLIDE 41

A Mars Rover BDI Agent

ExploreSoilLocation(?dst) P0 − → Navigate(?src, ?dst) P1 − → Calibrate Move(?src, ?dst) PerformSoilExperiment(?dst) P2 − → ObtainSoilResults(?dst) P3 − → PickSoilSample(?dst) AnalyseSoilSample(?dst) P4 − → GetMoistureContent(?dst)GetSoilParticleSize(?dst) DropSoilSample TransmitSoilResults(?dst) P5 − → EstablishConn SendResults(?dst) BreakConn Event-goal BDI plan Action

14 / 25

slide-42
SLIDE 42

A Mars Rover BDI Agent

ExploreSoilLocation(?dst) P0 − → Navigate(?src, ?dst) P1 − → Calibrate Move(?src, ?dst) PerformSoilExperiment(?dst) P2 − → ObtainSoilResults(?dst) P3 − → PickSoilSample(?dst) AnalyseSoilSample(?dst) P4 − → GetMoistureContent(?dst)GetSoilParticleSize(?dst) DropSoilSample TransmitSoilResults(?dst) P5 − → EstablishConn SendResults(?dst) BreakConn Event-goal BDI plan Action

14 / 25

slide-43
SLIDE 43

Hybrid-Solutions in the Mars Rover

Goal state = locations rock2 and rock3 have been explored.

  • 1. Navigate(rock1, rock2)
  • 2. PerformSoilExperiment(rock2)
  • 3. Navigate(rock2, rock3)
  • 4. PerformSoilExperiment(rock3)

Hybrid-solution h

15 / 25

slide-44
SLIDE 44

Hybrid-Solutions in the Mars Rover

Goal state = locations rock2 and rock3 have been explored.

  • 1. Navigate(rock1, rock2)
  • 2. PerformSoilExperiment(rock2)
  • 3. Navigate(rock2, rock3)
  • 4. PerformSoilExperiment(rock3)

Hybrid-solution h

  • 1. Navigate(rock1, rock2)

(A) Calibrate (B) Move(rock1, rock2)

  • 2. PerformSoilExperiment(rock2)

(A) ObtainSoilResults(rock2) (i) PickSoilSample(rock2) (ii) AnalyseSoilSample(rock2) (a) GetMoistureContent(rock2) (b) GetSoilParticleSize(rock2) (iii) DropSoilSample (B) TransmitSoilResults(rock2) (i) EstablishConn (ii) SendResults(rock2) (iii) BreakConn

  • 3. Navigate(rock2, rock3)

(A) Calibrate (B) Move(rock2, rock3)

  • 4. PerformSoilExperiment(rock3)

(A) ObtainSoilResults(rock3) (i) PickSoilSample(rock3) (ii) AnalyseSoilSample(rock3) (a) GetMoistureContent(rock3) (b) GetSoilParticleSize(rock3) (iii) DropSoilSample (B) TransmitSoilResults(rock3) (i) EstablishConn (ii) SendResults(rock3) (iii) BreakConn

Execution of h

15 / 25

slide-45
SLIDE 45

Hybrid-Solutions in the Mars Rover

Goal state = locations rock2 and rock3 have been explored.

  • 1. Navigate(rock1, rock2)
  • 2. PerformSoilExperiment(rock2)
  • 3. Navigate(rock2, rock3)
  • 4. PerformSoilExperiment(rock3)

takes too long

Hybrid-solution h

  • 1. Navigate(rock1, rock2)

(A) Calibrate (B) Move(rock1, rock2)

  • 2. PerformSoilExperiment(rock2)

(A) ObtainSoilResults(rock2) (i) PickSoilSample(rock2) (ii) AnalyseSoilSample(rock2) (a) GetMoistureContent(rock2) (b) GetSoilParticleSize(rock2) (iii) DropSoilSample (B) TransmitSoilResults(rock2) (i) EstablishConn (ii) SendResults(rock2) (iii) BreakConn ⇐ redundant

  • 3. Navigate(rock2, rock3)

(A) Calibrate (B) Move(rock2, rock3)

  • 4. PerformSoilExperiment(rock3)

(A) ObtainSoilResults(rock3) (i) PickSoilSample(rock3) (ii) AnalyseSoilSample(rock3) (a) GetMoistureContent(rock3) (b) GetSoilParticleSize(rock3) (iii) DropSoilSample (B) TransmitSoilResults(rock3) (i) EstablishConn ⇐ redundant (ii) SendResults(rock3) (iii) BreakConn

Execution of h

15 / 25

slide-46
SLIDE 46

Hybrid-Solutions in the Mars Rover

Goal state = locations rock2 and rock3 have been explored.

  • 1. Navigate(rock1, rock2)
  • 2. PerformSoilExperiment(rock2)
  • 3. Navigate(rock2, rock3)
  • 4. PerformSoilExperiment(rock3)

takes too long

Hybrid-solution h

  • 1. Navigate(rock1, rock2)

(A) Calibrate (B) Move(rock1, rock2)

  • 2. PerformSoilExperiment(rock2)

(A) ObtainSoilResults(rock2) (i) PickSoilSample(rock2) (ii) AnalyseSoilSample(rock2) (a) GetMoistureContent(rock2) (b) GetSoilParticleSize(rock2) (iii) DropSoilSample (B) TransmitSoilResults(rock2) (i) EstablishConn (ii) SendResults(rock2) (iii) BreakConn ⇐ redundant

  • 3. Navigate(rock2, rock3)

(A) Calibrate (B) Move(rock2, rock3)

  • 4. PerformSoilExperiment(rock3)

(A) ObtainSoilResults(rock3) (i) PickSoilSample(rock3) (ii) AnalyseSoilSample(rock3) (a) GetMoistureContent(rock3) (b) GetSoilParticleSize(rock3) (iii) DropSoilSample (B) TransmitSoilResults(rock3) (i) EstablishConn ⇐ redundant (ii) SendResults(rock3) (iii) BreakConn

Execution of h

  • 1. Navigate(rock1, rock2)
  • 2. ObtainSoilResults(rock2)
  • 3. EstablishConn
  • 4. SendResults(rock2)
  • 5. Navigate(rock2, rock3)
  • 6. ObtainSoilResults(rock3)
  • 7. SendResults(rock3)
  • 8. BreakConn

⇑ Non-redundant + maximally- abstract

Hybrid-solution h′

15 / 25

slide-47
SLIDE 47

Creating Abstract Operators

We translate event-goals into abstract planning operators by using an adaptation and extension of the “summary algorithms” of [Clement&Durfee,07].

16 / 25

slide-48
SLIDE 48

Creating Abstract Operators

We translate event-goals into abstract planning operators by using an adaptation and extension of the “summary algorithms” of [Clement&Durfee,07].

  • The name of the event-goal becomes the name of the operator.
  • The disjunction of the context conditions of the event-goal’s associated plans

are taken as the precondition of the operator.

  • The postcondition of an operator is computed based on the structure of the

corresponding event-goal’s hierarchy, combined with knowledge about the effects of primitive actions.

  • In particular, we use the definite effects of event-goals as the postconditions
  • f operators.

16 / 25

slide-49
SLIDE 49

Computing Preconditions and Postconditions

e3 OR P1 φ1 a1 ¬r P2 φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action

17 / 25

slide-50
SLIDE 50

Computing Preconditions and Postconditions

e3 φ1 ∨ φ2 OR P1 φ1 a1 ¬r P2 φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action

17 / 25

slide-51
SLIDE 51

Computing Preconditions and Postconditions

e3 φ1 ∨ φ2 OR P1 φ1 a1 ¬r P2 φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action

17 / 25

slide-52
SLIDE 52

Computing Preconditions and Postconditions

e3 φ1 ∨ φ2 OR P1 ¬r φ1 a1 ¬r P2 φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action

17 / 25

slide-53
SLIDE 53

Computing Preconditions and Postconditions

e3 φ1 ∨ φ2 OR P1 ¬r φ1 a1 ¬r P2 φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action

17 / 25

slide-54
SLIDE 54

Computing Preconditions and Postconditions

e3 φ1 ∨ φ2 OR P1 ¬r φ1 a1 ¬r P2 q ∧ ¬r φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action

17 / 25

slide-55
SLIDE 55

Computing Preconditions and Postconditions

e3 φ1 ∨ φ2 OR P1 ¬r φ1 a1 ¬r P2 q ∧ ¬r φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action

17 / 25

slide-56
SLIDE 56

Computing Preconditions and Postconditions

e3 ¬r φ1 ∨ φ2 OR P1 ¬r φ1 a1 ¬r P2 q ∧ ¬r φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action

17 / 25

slide-57
SLIDE 57

Computing Preconditions and Postconditions

e3 ¬r φ1 ∨ φ2 OR P1 ¬r φ1 a1 ¬r P2 q ∧ ¬r φ2 → a2 q ∧ r a1 ¬r Event-goal BDI plan Action Abstract operators computed are used for first principles planning. Hybrid-plans obtained need to be validated because we do not take into account possible effects (e.g., q) of event-goals.

17 / 25

slide-58
SLIDE 58

Basic Notions for Hybrid-Solutions

Definition (Perfect Justification [Fink & Yang,‘92])

A primitive solution σ for some planning problem is a perfect justification if there does not exist a proper subsequence σ′ of σ such that σ′ is a primitive solution for the problem.

18 / 25

slide-59
SLIDE 59

Basic Notions for Hybrid-Solutions

Definition (Perfect Justification [Fink & Yang,‘92])

A primitive solution σ for some planning problem is a perfect justification if there does not exist a proper subsequence σ′ of σ such that σ′ is a primitive solution for the problem.

Definition (Non-redundant Hybrid-Solutions)

A hybrid-solution is a non-redundant hybrid-solution if it can produce at least one perfect justification via decomposition.

18 / 25

slide-60
SLIDE 60

Basic Notions for Hybrid-Solutions

Definition (Perfect Justification [Fink & Yang,‘92])

A primitive solution σ for some planning problem is a perfect justification if there does not exist a proper subsequence σ′ of σ such that σ′ is a primitive solution for the problem.

Definition (Non-redundant Hybrid-Solutions)

A hybrid-solution is a non-redundant hybrid-solution if it can produce at least one perfect justification via decomposition.

Definition (Maximally-Abstract)

A hybrid-plan h is maximally-abstract if there is no other hybrid-plan h′ such that

  • ne can reach h from h′ via decomposition, and h′ produces any of the solutions
  • f interest that are produced by h.

18 / 25

slide-61
SLIDE 61

Basic Notions for Hybrid-Solutions

Definition (Perfect Justification [Fink & Yang,‘92])

A primitive solution σ for some planning problem is a perfect justification if there does not exist a proper subsequence σ′ of σ such that σ′ is a primitive solution for the problem.

Definition (Non-redundant Hybrid-Solutions)

A hybrid-solution is a non-redundant hybrid-solution if it can produce at least one perfect justification via decomposition.

Definition (Maximally-Abstract)

A hybrid-plan h is maximally-abstract if there is no other hybrid-plan h′ such that

  • ne can reach h from h′ via decomposition, and h′ produces any of the solutions
  • f interest that are produced by h.

Ideal hybrid-solution = non-redundant + maximally-abstract

18 / 25

slide-62
SLIDE 62

Results

Theorem 1

Whenever a hybrid planning problem can be solved, there is at least one ideal hybrid-solution.

  • Unfortunately, it is not clear how ideal hybrid-solutions can be computed in

polynomial time.

  • Instead, we focus on improving a given hybrid-solution.
  • To this end, we extract a non-redundant and most abstract hybrid-solution

from the decomposition tree.

  • An improvement of a hybrid-solution is called a preferred specialization.

19 / 25

slide-63
SLIDE 63

Example

Consider initial state p and goal state t.

e0 P0 − → e1 P1 a1 p q ∧ u e2 P2 − → e3 OR P3 a3 q r P4 − → a2 p q a3 q r e4 P5 a4 r s e5 P6 − → a5 s r a6 s t Event-goal BDI plan Action

Hybrid-solution Non-redundant Maximally-absract Ideal e2 · a6 √ √ √ e0 · e5 × √ × e1 · e2 · a6 √ × × e0 · a5 · a6 × × ×

20 / 25

slide-64
SLIDE 64

Example

Consider initial state p and goal state t.

e0 P0 − → e1 P1 a1 p q ∧ u e2 P2 − → e3 OR P3 a3 q r P4 − → a2 p q a3 q r e4 P5 a4 r s e5 P6 − → a5 s r a6 s t Event-goal BDI plan Action

Hybrid-solution Non-redundant Maximally-absract Ideal e2 · a6 √ √ √ e0 · e5 × √ × e1 · e2 · a6 √ × × e0 · a5 · a6 × × ×

20 / 25

slide-65
SLIDE 65

Example

Consider initial state p and goal state t.

e0 P0 − → e1 P1 a1 p q ∧ u e2 P2 − → e3 OR P3 a3 q r P4 − → a2 p q a3 q r e4 P5 a4 r s e5 P6 − → a5 s r a6 s t Event-goal BDI plan Action

Hybrid-solution Non-redundant Maximally-absract Ideal e2 · a6 √ √ √ e0 · e5 × √ × e1 · e2 · a6 √ × × e0 · a5 · a6 × × ×

20 / 25

slide-66
SLIDE 66

Example

Consider initial state p and goal state t.

e0 P0 − → e1 P1 a1 p q ∧ u e2 P2 − → e3 OR P3 a3 q r P4 − → a2 p q a3 q r e4 P5 a4 r s e5 P6 − → a5 s r a6 s t Event-goal BDI plan Action

Hybrid-solution Non-redundant Maximally-absract Ideal e2 · a6 √ √ √ e0 · e5 × √ × e1 · e2 · a6 √ × × e0 · a5 · a6 × × ×

20 / 25

slide-67
SLIDE 67

Example

Consider initial state p and goal state t.

e0 P0 − → e1 P1 a1 p q ∧ u e2 P2 − → e3 OR P3 a3 q r P4 − → a2 p q a3 q r e4 P5 a4 r s e5 P6 − → a5 s r a6 s t Event-goal BDI plan Action

Hybrid-solution Non-redundant Maximally-absract Ideal e2 · a6 √ √ √ e0 · e5 × √ × e1 · e2 · a6 √ × × e0 · a5 · a6 × × ×

20 / 25

slide-68
SLIDE 68

Example

Consider initial state p and goal state t.

e0 P0 − → e1 P1 a1 p q ∧ u e2 P2 − → e3 OR P3 a3 q r P4 − → a2 p q a3 q r e4 P5 a4 r s e5 P6 − → a5 s r a6 s t Event-goal BDI plan Action

Hybrid-solution Non-redundant Maximally-absract Ideal e2 · a6 √ √ √ e0 · e5 × √ × e1 · e2 · a6 √ × × e0 · a5 · a6 × × ×

20 / 25

slide-69
SLIDE 69

Example

Consider initial state p and goal state t.

e0 P0 − → e1 P1 a1 p q ∧ u e2 P2 − → e3 OR P3 a3 q r P4 − → a2 p q a3 q r e4 P5 a4 r s e5 P6 − → a5 s r a6 s t Event-goal BDI plan Action

Hybrid-solution Non-redundant Maximally-absract Ideal e2 · a6 √ √ √ e0 · e5 × √ × e1 · e2 · a6 √ × × e0 · a5 · a6 × × ×

20 / 25

slide-70
SLIDE 70

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h=

21 / 25

slide-71
SLIDE 71

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h=

21 / 25

slide-72
SLIDE 72

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h=

21 / 25

slide-73
SLIDE 73

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h=

21 / 25

slide-74
SLIDE 74

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π

21 / 25

slide-75
SLIDE 75

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π

21 / 25

slide-76
SLIDE 76

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e4 u=

21 / 25

slide-77
SLIDE 77

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e4 u=

21 / 25

slide-78
SLIDE 78

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e4 u=

21 / 25

slide-79
SLIDE 79

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e5 u=

21 / 25

slide-80
SLIDE 80

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e5 u=

21 / 25

slide-81
SLIDE 81

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e5 u=

21 / 25

slide-82
SLIDE 82

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e6 u=

21 / 25

slide-83
SLIDE 83

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e6 u=

21 / 25

slide-84
SLIDE 84

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e7 u=

21 / 25

slide-85
SLIDE 85

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e7 u=

21 / 25

slide-86
SLIDE 86

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e7 u=

21 / 25

slide-87
SLIDE 87

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π

21 / 25

slide-88
SLIDE 88

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e2 u=

21 / 25

slide-89
SLIDE 89

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e2 u=

21 / 25

slide-90
SLIDE 90

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e2 u=

21 / 25

slide-91
SLIDE 91

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e3 u=

21 / 25

slide-92
SLIDE 92

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e3 u=

21 / 25

slide-93
SLIDE 93

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π

21 / 25

slide-94
SLIDE 94

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e1 u=

21 / 25

slide-95
SLIDE 95

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π e1 u=

21 / 25

slide-96
SLIDE 96

Preferred Specializations

Find-Preferred-Specialization(h, H, T )

1 Input: Hybrid-solution h; hybrid problem H; and

decomposition tree T of h.

2 Output: A preferred specialization of h w.r.t. H

and T .

3 σ ⇐ leaf-level primitive solution in T . 4 σ′ ⇐ Get-Perfect-Justification(σ, H). 5 π ⇐ {ai | ai ∈ σ′} 6 for ℓ ⇐ 1 to height(T ) do

  • for each node u at level ℓ in tree T do

if children(u, T ) ⊆ π, then π ⇐ (π \ children(u, T )) ∪ {u}

7 Return π

e1 e2 e4 a1 a2 e5 a3 a4 e3 e6 a5 a6 e7 a7 a8 e1 h= ∈ π

21 / 25

slide-97
SLIDE 97

Results

Theorem 2

Given a perfect justification, the algorithm computes a preferred specialization in polynomial time on the size of the given decomposition tree.

22 / 25

slide-98
SLIDE 98

Results

Theorem 2

Given a perfect justification, the algorithm computes a preferred specialization in polynomial time on the size of the given decomposition tree.

Theorem 3

Whenever a hybrid-solution exists for some hybrid planning problem, there is at least one preferred specialisation for some decomposition tree of the hybrid-solution.

22 / 25

slide-99
SLIDE 99

Results

Theorem 2

Given a perfect justification, the algorithm computes a preferred specialization in polynomial time on the size of the given decomposition tree.

Theorem 3

Whenever a hybrid-solution exists for some hybrid planning problem, there is at least one preferred specialisation for some decomposition tree of the hybrid-solution.

Theorem 4

Whenever an ideal hybrid-solution occurs in a decomposition tree of a given hybrid-solution h, and the ideal hybrid-solution yields a perfect justification in the decomposition tree, then the ideal hybrid-solution is guaranteed to be a preferred specialisation of h.

22 / 25

slide-100
SLIDE 100

Conclusion

  • We provided algorithms for converting BDI event-goals into (abstract)

planning operators.

  • We characterized different notions of “goodness” for hybrid-plans, such as

non-redundancy and maximal-abstraction.

  • We proved certain properties of “good” hybrid-plans, in particular, that ideal

hybrid-plans are also preferred specializations in certain situations.

  • We provided algorithms for obtaining preferred specializations.

23 / 25

slide-101
SLIDE 101

Bibliography

  • B. J. Clement, E. H. Durfee, and A. C. Barrett.

Abstract reasoning for planning and coordination. Journal of Artificial Intelligence Research, 28:453–515, 2007.

  • O. Despouys and F. F. Ingrand.

Propice-Plan: Toward a unified framework for planning and execution. In Proc. of European Conference on Planning, pages 278–293, 1999.

  • K. Erol, J. A. Hendler, and D. S. Nau.

Complexity results for HTN planning. Annals of Mathematics and Artificial Intelligence, 18(1):69–93, 1996.

  • E. Fink and Q. Yang.

Formalizing plan justifications. In Proc. of the 9th Conf. of the Canadian Society for Comp. Studies of Int., 1992.

  • S. Kambhampati, A. D. Mali, and B. Srivastava.

Hybrid planning for partially hierarchical domains. In Proc. of AAAI, pages 882-888, 1998.

  • F. R. Meneguzzi, A. F. Zorzo, and M. D. C. M´
  • ra.

Propositional planning in BDI agents. In Proc. of the ACM Symposium on Applied Computing, pages 58–63, 2004.

24 / 25

slide-102
SLIDE 102

Bibliography (cont.)

  • S. Kambhampati, A. D. Mali, and B. Srivastava.

Hybrid planning for partially hierarchical domains. In Proc. of AAAI, pages 882-888, 1998.

  • F. R. Meneguzzi, A. F. Zorzo, and M. D. C. M´
  • ra.

Propositional planning in BDI agents. In Proc. of the ACM Symposium on Applied Computing, pages 58–63, 2004.

  • S. Sardina, L. de Silva, and L. Padgham.

Hierarchical planning in BDI agent programming languages: a formal approach. In Proc. of AAMAS‘06, pages 1001–1008, 2006.

25 / 25