dr. muhammad adnan hashmi

Post on 23-Feb-2016

75 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

An Agent Oriented Programming Language integrating Temporal Planning and the Plan Coordination Mechanisms. Dr. Muhammad Adnan Hashmi. Outline. Introduction Background Problem Overview Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem - PowerPoint PPT Presentation

TRANSCRIPT

An Agent Oriented Programming Language integrating Temporal

Planning and the Plan Coordination Mechanisms

Dr. Muhammad Adnan Hashmi

2

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

3

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

4

What is an Agent? An agent is a computer system capable of autonomous

action in some environment in order to meet its design objectives (goals).

Achievement of goals is important for agents

5

Planning Finding a sequence of actions that takes agent from

Initial State to Goal State

Initial state:clear(c),on(c,a),ontable(a),clear(b),ontable(b),handempty

ca b

Goal:on(a,b),on(b,c) c

ab

ca b ca b ca

bc

ab

6

Multi-Agent Planning Multiple agents sharing the same environment

Independent planning is not sufficient Coordination of plans is vital

Coordination of plans Removing conflicts (negative interactions) Utilizing help relations (positive interactions)

A

B

DA

DB

A

B

DA

DB

7

How to Program Agents? Agent Oriented Programming (AOP) Languages allow to

program intelligent and autonomous agents

Main Characteristics Mental State: Beliefs, Goals, Commitments Reasoning Mechanism Capabilities, Services Communication

Some Languages Agent-0 [Shoham 1993], 2APL [Dastani 2008], AgentSpeak (L)

[Rao 1996]

8

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

9

Problem Statement Current AOP languages

Follow a reactive (PRS based) approach Do not support temporal planning

Only a few support planning

Problems Execution without planning may result in the goal failures

Agent can reach a dead end Conflicts can arise among different agents Actions’ duration is important

Real world actions take place over a timespan

10

Objectives Propose a programming language that endows agents with

planning skills Has temporal planning Deals with uncertainty of the environment Incorporate reactivity by dealing with on the fly goals having

different priorities

Propose coordination mechanisms for the plans having different priorities

11

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

12

Assumptions Two agents α and β sharing the same environment

Agent α having higher priority (reactive) goals Agent β having normal priority (proactive) goals

Actions have: Preconditions Add effects Delete effects

Two possible conflicts among plans Causal link threat Parallel actions interference

13

Two Possible Conflicts Causal Link (A1, A2, p)

Action A1 adds an effect p Action A2 needs this effect No action between A1 and A2 adding p

Causal Link Threat If an action A deletes p and lies between A1 and A2, then A

threatens the causal link (A1, A2, p)

A1 A2p

A ¬p

Threat

14

Two Possible Conflicts Causal Link (A1, A2, p)

Action A1 adds an effect p Action A2 needs this effect No action between A1 and A2 adding p

Parallel Actions Interference Actions A1 and A2 lie in parallel Either one of them deletes the preconditions or add effects of the

other

A1

A2

¬p

p

A1

A2

p

¬p

15

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

16

Coordinated Planning Problem Prerequisite:

Plan Pα of Agent α

Our Aim: Compute a Plan Pβ for Agent β

Has no conflict with Pα

Avails the cooperative opportunities offered by Pα

Solution: Non Temporal Domains µ-SATPLAN Temporal Domains Coordinated-Sapa

SATPLAN [Kautz and Selman

2006]A Classical Planner that Finds Optimal

Plans in Non-Temporal Domains

18

SATPLAN

Compiler(encoding)

satisfyingmodel

Plan

Increment plan lengthIf unsatisfiable

Planning Problem • Init State• Goal• Actions

CNF Simplifier(polynomial inference)

Solver(SAT engine/s)

Decoder

CNF

Propositional formula in conjunctive normal form (CNF)

We Use GraphPlan Encoding

19

Constructing the planning graph Level P1: All literals from the initial state Add an action in level Ai if all its preconditions are present in

level Pi Add a proposition in level Pi if it is the effect of some action in

level Ai-1 Maintain a set of exclusion relations to eliminate incompatible

propositions and actions

20

GraphPlan Encoding

Fact Act1 Act2

Act1 Pre1 Pre2

¬Act1 ¬Act2

Act1

Act2

Fact

Pre1

Pre2

Can create such constraints for every node in the planning graph

Only involves facts and actions in the graph

µ-SATPLAN

An Extension of SATPLAN that Computes Coordinated Plans in Non-

Temporal Domains

22

Handling Causal Link Threat

While constructing the planning graph for Agent β, don’t add an action O at level Ai if It has an effect ¬p, and There is a causal link (Aj, Ak, p) in plan Pα, and j ≤ i ≤ k

Action O threatens Causal Link (Aj, Ak, p)

23

Handling Positive Interactions & Parallel Actions Interference For each time step i in the plan of Agent α, create an

action NoName(i)

Add(NoName(i)) All the effects added by Pα at time step i

Del(NoName(i)) All the effects deleted by Pα at time step i

Pre(NoName(i)) All the preconditions of actions of Pα at time step i

Explicitly add all the NoName actions in the planning graph of Agent β

24

Handling Positive Interactions Pα = {α1(0), α2(0), α3(1)} Eff(α1) = a0, Eff(α2) = a1, Eff(α3) = a2

Eff( NoName(0) ) = {a0,a1}, Eff( NoName(1) ) = {a2}

a0

a1

a2

a4

a5

a6a7

a8

Level 0 Level 1 Level 2

a4

a6

NoName(0)

β1

a6

a4

a0

a1

NoName(1) a2

a0

a1

β2

a5β3

a6

a5

a4

a7

β4

Planning Graph of Agent β

25

Handling Positive Interactions Partial CNF Sentence

a8 β4 β4 a0 a7 a0 β2 NoName(0) a7 β3 β2 a5 …

Add NoName actions as unary clauses to CNF NoName(0) NoName(1)

Problem Solution

a0

a1

a2

a4

a5

a6a7

a8

Level 0 Level 1 Level 2

a4

a6

NoName(0)

β1

a6

a4

a0

a1

NoName(1) a2

a0

a1

β2

a5β3

a6

a5

a4

a7

β4

26

Example Plan Generated (Logistics)

Time Action Performed

0 DRIVE-TRUCK (TRUCK1, LOC1-1, LOC1-2, CITY1)

1 LOAD-TRUCK (PACKAGE1, TRUCK1, LOC1-2)

1 DRIVE-TRUCK (TRUCK2, LOC2-2, LOC2-1, CITY2)

1 LOAD-PLANE (PACKAGE2, PLANE1, LOC1-1)

2 DRIVE-TRUCK (TRUCK1, LOC1-2, LOC1-1, CITY1)

2 FLY-PLANE (PLANE1, LOC1-1, LOC2-1)

3 UNLOAD-PLANE (PACKAGE2, PLANE1, LOC2-1)

3 UNLOAD-TRUCK (PACKAGE1, TRUCK1, LOC1-1)

4 LOAD-PLANE (PACKAGE1, PLANE2, LOC1-1)

4 LOAD-TRUCK (PACKAGE2, TRUCK2, LOC2-1)

5 FLY-PLANE (PLANE2, LOC1-1, LOC2-1)

5 DRIVE-TRUCK (TRUCK2, LOC2-1, LOC2-2, CITY2)

6 UNLOAD-PLANE (PACKAGE1, PLANE2, LOC2-1)

6 UNLOAD-TRUCK (PACKAGE2, TRUCK2, LOC2-2)

Time Action Performed

0 LOAD-TRUCK (PACKAGE4, TRUCK2, LOC2-2)

1

2

3 LOAD-PLANE (PACKAGE3, PLANE1, LOC2-1)

4 FLY-PLANE (PLANE1, LOC2-1, LOC1-1)

4 UNLOAD-TRUCK (PACKAGE4, TRUCK2, LOC2-1)

5 UNLOAD-PLANE (PACKAGE3, PLANE1, LOC1-1)

6 LOAD-PLANE (PACKAGE4, PLANE2, LOC2-1)

6 LOAD-TRUCK (PACKAGE3, TRUCK1, LOC1-1)

7 FLY-PLANE (PLANE2, LOC2-1, LOC1-1)

7 DRIVE-TRUCK (TRUCK1, LOC1-1, LOC1-2, CITY1)

8 UNLOAD-PLANE (PACKAGE4, PLANE2, LOC1-1)

8 UNLOAD-TRUCK (PACKAGE3, TRUCK1, LOC1-2)

Pα Pβ

27

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

28

Proactive-Reactive Coordination Prerequisite:

Reactive plan Pα of Agent α Proactive plan Pβ of Agent β

Our Aim: Modify plan Pβ such that:

It has no conflict with Pα

Avails the cooperative opportunities offered by Pα

Solution: Plan Merging Algorithm

29

Case Study Tasks of Rescue Agent

Rescue the Victims Tasks of Analyzer Agent

Analyze the goal cells Call the central agent

Constraints One agent in a cell Hyper energy cells

Needs fuel or energy to enter Agent should have key to open door

Rescue Agent : αAnalyzer

Agent : β

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

30

Conflict Resolution Threat-Repair Link (A1, A2, p)

Action A1 deletes p A2 is a subsequent action and adds p

A1 is called Threat Action A2 is called Repair Action

B1 B2p

A1 -p A2 p

Threat

Repair

31

Valid and Possibly Valid Time Stamps Possibly Valid Time Slot for an action A

All preconditions are met No parallel actions interference

P[1] a bh P[2] b c

-d P[3] c e P[4] e f P[5] f g

P[1] b d-h

P[6] g i P[7] i h g

Valid Time Slot for an action A All preconditions are met No parallel actions interference Either:

No causal link threat Repair Action exist before the deadline

P[1] a bh P[2] b c

-d P[3] c e P[4] e f P[5] f g

P[1] b d-h

P[6] g i P[7] i h g

P[2] d k P[3] k h

32

Plan Merging Algorithm

Fix all the actions of Reactive Plan Pα on timeline

For every action CA of Proactive Plan

Search for the first Possibly Valid Time Slot T on timeline

Reason about the time slot T There could be 5 cases at T

33

Plan Merging AlgorithmCase 1: No causal link threat by CA at T

Assign Time Slot T to CA

EXAMPLE Current Action: Move(A1, A2)

Returned Time Slot: 0 - 5 Any Threat? : No Assign Time Slot 0 – 5 to CA

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

34

Plan Merging AlgorithmCase 2: CA threatens a Causal Link but Repair Action exist

Assign Time Slot T to CA Save a Possible Threat <ThreatAction, RepairAction, Deadline>

EXAMPLE Current Action: Move(A4, A5)

Time Slot: 20 - 25 Any Threat? : Yes (Agent α needs A5 at time 40-45) Repair Action: Move(A5, A6) Assign Time Slot 20 - 25 to Move (A4, A5) Save <Move(A4, A5), Move(A5, A6), 40>

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

35

Plan Merging AlgorithmCase 3: It is a Repair Action but can not meet a deadline of

some Threat Action Backtrack to the Threat Action,find another time stamp

EXAMPLE Current Action: Move (A8, A9)

Returned Time Slot: 50 - 55 Any Threat?: Yes (Agent α needs A9 at 85-110) Repair Action : Move (A9, B9) Save <Move(A8, A9), Move(A9, B9), 85>

Next Action: AnalyzeCell (A9) Time Slot Assigned: 55 - 70

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

36

Plan Merging Algorithm Next Action: CallCentral (A9)

Time Slot Assigned: 80 – 90 Next Action: Move (A9, B9)

Is it a Repair Action? : Yes Meet all deadlines?: No (Agent α needs A9 at 85) Backtrack to action Move(A8, A9)

Find another Time Slot New Time Slot: 110 – 115 (Valid Time Slot)

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

Attention

37

Plan Merging AlgorithmCase 4: All the effects of CA are already achieved WHAT TO DO? Mark CA as redundant POST PROCESSING Remove all redundant actions from the plan Recursively remove all actions which achieve only the

preconditions of removed action

38

Plan Merging AlgorithmEXAMPLE Current Action: OpenDoor (C11)

Returned Time Slot: 172 - 175 Redundant(OpenDoor(C11)) true

Because openedDoor(C11) is true at time 172

When the plan is returned Remove OpenDoor(C11) from plan Also remove TakeKey(C11, key1) from plan

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

39

Plan Merging AlgorithmCase 5: Action CA’s preconditions can not be achieved

Remove action CA from the plan and compute a plan to achieve effects of CA

I = State just before CA G = Effects (CA)

Plan should have no conflict with Reactive Plan Pβ and if CA is a repair action, repair effects must meet their deadline

ReplacementPlan = Coordinated-Sapa (I, G, Pβ)

If a plan is returned, replace the removed actions with the plan

If a deadline is violated, backtrack to the threat action

If no plan possible, then remove another action CA + 1

G = G U Effects (CA + 1) \ Pre (CA + 1)

Use Coordinated-Sapa

40

Plan Merging AlgorithmEXAMPLE Current Action: TakeEnergy(B13, energy1) Preconditions can not be achieved

Repair the plan

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

41

Plan Repair Algorithm Create a CPP by removing TakeEnergy(B13, energy1)

I = { at(β, B13), at(energy1, B13), at(energy2, B13) } G = { hasEnergy(β, energy), at(β, B13)}

Call Coordinated-Sapa to solve this CPP Coordinated-Sapa returns fail Why? energy2 is also needed by Agent α

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

42

Plan Repair Algorithm Create another CPP by removing Move(B13, A12)

I = { at(β, B13), at(energy1, B13), at(energy2, C15) } G = { at(β, A12) }

Call Coordinated-Sapa to solve this CPP A plan is returned to enter A12 by taking the fuel from D14

POST PROCESSING This plan will become a replacement for both

TakeEnergy(B13, energy1) and Move(B13, A12)

D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CBA

43

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

44

An AOP language having: Cognitive aspects specific to intelligent agents Communication primitives Mobility primitives Temporal planning capability

P-CLAIM Agent: Is autonomous, intelligent and mobile Has a mental state containing knowledge, goals, and capabilities Is able to communicate with other agents Entails a planning based behaviour Achieves goals based on their priorities Maintains the stability of the plan in the dynamic environments

P-CLAIM

45

Defining P-CLAIM Agent

defineAgent agentName{ parent = null | agentName ; knowledge = null ;| {knowledge1; …; knowledgem} goals = null ;| {goal1; … ; goaln} activities = null ; {activity1 … activityo} actions = {action1 … actionp} agents = null ; | {agName1, agName2, …, agNameq}

}

46

Activities

defineAgent agentName{ parent = null | agentName ; knowledge = null ;| {knowledge1; …; knowledgem} goals = null ;| {goal1; … ; goaln} activities = null ; {activity1 … activityo} actions = {action1 … actionp} agents = null ; | {agName1, agName2, …, agNameq}

}activityity = name { message = null | message ; conditions = null | condition ; do { process } effects = null ;| { effect1 ; …; effectf }

}

47

Actions

defineAgent agentName{ parent = null | agentName ; knowledge = null ;| {knowledge1; …; knowledgem} goals = null ;| {goal1; … ; goaln} activities = null ; {activity1 … activityo} actions = {action1 … actionp} agents = null ; | {agName1, agName2, …, agNameq}

}action = name { message = null | message ; conditions = null | condition ; do { process } duration = dur ;

}

48

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

49

Agent Definition to Planning (Translator)

Translator(JavaCC)

Knowledge Goals Activities Actions

Initial State Goals Methods Operators

Problem File Domain File

Agent Description File

Planner

50

Agent Life Cycle

51

Messages Handler

52

Waits for messages from other agents

Message is a request to achieve a goal? Assigns priority to the goal Reactive Goal puts it in Global Reactive Goals (GRG) queue Proactive Goal puts it in Global Proactive Goals (GPG) priority

queue

Message is an information? Store the information in the knowledge base of the agent

Messages Handler

53

Planner

54

Temporal Converter

Compute Plan

Main Algorithm

GRG GPG

1- Fetch goals one by one

from GRG and GPG and calls Compute_Plan to compute a plan for the

goal

2- GPG Goals are accessed

only when GRG is empty

3- Sends a suspension

signal to Executor if the

goal is reactive i.e. from GRG

Planner

55

Plan Computation JSHOP2 algorithm [Nau et el. 2003]

is used to compute a totally ordered plan for each goal

An HTN planning algorithm

Decomposes the task into sub-tasks by applying methods

Recursively applies the same procedure on every composite sub-task until there are only primitive tasks

T1

M1

T11 T12

M12M11

56

Temporal Converter

Input to procedure A totally ordered plan Actions’ information (Add, Del, Pre, Durations)

Output of procedure A position constrained parallel plan

Every action is assigned a time stamp Multiple actions can possibly lie in parallel

57

P[1]a-a+d+e+f

P[2]f-f+g+h

P[3]e +i

P[4]h -h+j

P[5]gi +k

P[6]k +l P[7]l +m P[8]m +n+c P[9]

c mn

-c

P[10]e-k-c+h

P[1]a-a+d+e+f

P[2]f-f+g+h

P[3]e +i P[4]h -h+j P[5]g

i +k P[6]k +l P[7]l +m P[8]m +c P[9]c m -c P[10]e

-k-c+h

Input Plan

Output Plan

Makespan Gain: 30%

Temporal Converter (Example)

Makespan =150

Makespan =105

58

Merging the New Plan to Global Plan

59

Merging the New Plan to Global Plan

Planner

Append at the end of PexecMerge at the start of Pexec

Proactive GoalReactive Goal

Plan Under Execution (Pexec)

60

Schedule Handler and Executor

61

Schedule Handler and Executor

62

Plan Mender

63

Plan Mender

SP(Pexec[1]) SP(Pexec[2])SP(Pexec[3])

GSP(Pexec[4])

SW

Compute Plan Using Sapa

No Plan

Compute Plan Using Sapa

ReplacementPlan ContinuationPlan

Pexecnew = ReplacementPlan + ContinuationPlan

64

Outline Introduction

Background Problem Overview

Plan Coordination Mechanisms Coordinated Planning Problem Proactive-Reactive Coordination Problem

P-CLAIM: AOP Language supporting Temporal Planning Language Definition Planning Mechanism

Conclusion

65

Conclusion An agent oriented programming language supporting:

Temporal Planning Plan Repairing Dealing with different priority goals

Coordinated Planning Problem Computing plan while coordinating it with another plan

SATPLAN µ-SATPLAN Sapa Coordinated-Sapa

Proactive-Reactive Coordination Problem Modifying a plan to remove conflicts with a higher priority

plan Plan Merging Algorithm

66

Publications1. A. El Fallah Seghrouchni, M. A. Hashmi, “Multi-Agent Planning”, Book

chapter in Software Agents, Agent Systems and Their Applications. M. Essaaidi et al. (Eds.), 2012, IOS Press.

2. Y. Dimopoulos, M. A. Hashmi, P. Moraitis, “µ-SATPLAN: Multi-Agent Planning as Satisfiability”, Knowledge Based Systems Journal, 2011

3. M. A. Hashmi, A. El Fallah Seghrouchni, “Merging of Temporal Plans supported by Plan Repairing”, Proceedings of 22nd IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2010), Aras, France

4. M. A. Hashmi, A. El Fallah Seghrouchni, “Coordination of Temporal Plans for the Reactive and Proactive Goals”, Proceedings of IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT’ 10), Toronto, Canada

5. Y. Dimopoulos, M. A. Hashmi, P. Moraitis, “Extending SATPLAN to Multiple Agents”, Proceedings of 30th SGAI International Conference on Artificial Intelligence 2010, Cambridge, UK.

6. M. A. Hashmi, A. El Fallah Seghrouchni, “Temporal Planning in Dynamic Environments for P-CLAIM Agents”, In proceedings of Languages, Methodologies and Development Tools for Multi-Agent Systems (LADS’09), Torino, Italy, Springer-Verlag.

67

Publications7. M. A. Hashmi, A. El Fallah Seghrouchni, “Temporal Planning in Dynamic

Environments for Mobile Agents”, Proceedings of International Conference on Frontiers of Information Technology (FIT’ 09), Abottabad, Pakistan, Publisher ACM press.

8. M. A. Hashmi, “A Planning Component for CLAIM Agents”, In the proceedings of 17th International Conference on Control Systems and Computer Science, Bucharest, Romania, Volume 2, pages 485-492, Politehnica Press

68

Thanks for your attention!!!

top related