IMPACT Agent Extentions

advertisement
IMPACT Agent Extensions
Jürgen Dix
University of Maryland/University of Koblenz
joint work with
Sarit Kraus (Bar-Ilan),
VS Subrahmanian (Maryland)
1
Outline

Meta Agents: Allow agents to
reason about the beliefs and
actions of other agents.

Temporal Agents: Allow
agents to execute actions that
have temporal extent and to
schedule actions for the future.
Agents may reason about the
past.

Probabilistic Agents: Allow
the agent to reason about
uncertainty in the world.

Motivating Example (RAMP)
1999 IMPACT Workshop
2
Additional Data Structures

Agent maintains two kinds of tables:

a belief table specifying the beliefs the agent has about other
agents. This table contains information both about agent A’s
beliefs about the state of another agent B, but also the actions of
agent B, beliefs of agent B about other agents, ...

a belief semantics table specifying what the agent believes
another agent uses for its own reasoning.
1999 IMPACT Workshop
3
Belief/ Belief Semantics Table



Belief Table of agent heli1:
Agent
heli2
tank1
Formula
in(pos2,heli2:getPos())
in(pos1,tank1 :getPos())
tank1
Beltank1(heli1, in(pos2,heli1 :getPos())),
Literals of the form BelA(B,), are called Belief literals:
this says (informally) that agent A believes that in agent
B’s state the formula  holds. ( is a belief formula).
Belief Semantics Table of agent heli1:
heli2 acts according to Semfeas, tank1 according to Semrat,
1999 IMPACT Workshop
4
Meta Agent Programs

A meta-agent rule has the form
Op a  L1 & … & Ln
where each Li is either a
– code call literal
– action literal or
– a belief literal of the form BelA(B,).

A meta-agent program is a finite set of meta-agent rules.
1999 IMPACT Workshop
5
Example Meta Agent Program
If an enemy located at P2 threatens a friendly force at
P1, the enemy should be attacked.
Part of heli1’s meta agent program:
O attack(P2)  Belheli1(heli2,in(P1, heli2 :getPos() ) ),
in(P1, tracking:threatened(P2) )
where tracking:threatened(P2) gives all positions threatened
by an enemy located in P2.
1999 IMPACT Workshop
6
Key Results

Developed a formal semantics of meta-agent programs.

Key Theorem 1: Showed that when no beliefs are present, this
semantics coincides with ordinary agent programs.

Key Theorem 2: Developed a transformation that takes as
input, a MAP, and produces as output, an ordinary agent
program with extended data structures such that the semantics of
the MAP coincides with the semantics of the translated agent
program (with extra data structures).

Above result provides a clean, efficient way of
implementing MAPs within the AgentDE framework.
1999 IMPACT Workshop
7
Temporal Agent Programs

Ordinary agent programs:

Each action is assumed to be instantaneously executable.
Not valid for many actions, e.g. drive_from_to(dc,ny).

Actions with temporal duration may have intermediate effects
(e.g. driving a car from DC to NY, once started, constantly changes the
location of the car).

At time t, an agent computes a new status set S, and
immediately executes conc({ a : DO a in S }). No easy way for
the agent to schedule actions for the future (though in fact this
can be expressed via some additional data structures).
1999 IMPACT Workshop
8
Checkpoint Expressions (cpe)


Specify times when an action’s
effects should be incorporated
into the state.
Two ways to do this


relative checkpoints relative time-intervals since
the start of the action
absolute checkpoints specify absolute time points
when the effects are to be
incorporated.

rel:{50}: at time 50 from start
time

abs:{10,20,30}: at times 10, 20
and 30

More complex:
abs:{t| in(t,clock:time()) &
in(0,math:remaind(t,10))
& t>100}
meaning:
every 10 units from time 100 on
1999 IMPACT Workshop
9
Timed Effect Triple


A timed effect triple (TET)
consists of 3 components:



a checkpoint expression
(cpe) (absolute or relative)
an add list
a delete list.
EXAMPLE:

Check at time 10, 20 and 30 some
specified add and delete lists.
(abs:{10,20,30} ,Add,Del).

Check from time 100 on in time
intervalls of 10 the current altitude
of the plane: (cpe ,Add,Del).
1999 IMPACT Workshop
1
Timed Action

Timed Action =
Name + Schema + Pre
cpe + set of TET’s



EXAMPLE:
climb(CurHt,ToHt,Angle,Speed)

Pre: in(CurHt,heli:get_alt(Xnow))
CPE: rel:{X| in(X,math:comp( ))}
TET: (rel:{t| formula},Add,Del)
+
cpe determines duration
if timepoint t is designated by
the TET’s then
– update the state by
executing add/delete lists
at times t.




Del: in(Y,heli:get_alt(Xnow -30))
Add: in(Y,heli:get_alt(Xnow))
1999 IMPACT Workshop
1
Temporal Annotations/Conditions

Temporal annotation (TA) is
a piece of syntax denoting a
time interval: [ta1,ta2].

Temporal annotated state
condition (TASC) is of the
form :TA where


EXAMPLE:

Expressions in a language



[2,5]
[3X,6Y+7]
[Xnow-5,Xnow+5]
 is a conjunction of ccc’s
and/or action status atoms,
TA is a temporal annotation.

Intuitive reading of  :TA:  is
true at some time point that is
a solution of TA.

EXAMPLE:
in(RP, terr:getPlan(P1,P2,Veh)): [2,5]
1999 IMPACT Workshop
1
Temporal agent program

Consists of a set of rules of the form
Op a :TA  F1 :TA1, F2 :TA2, … Fn :TAn,
where TA, TA2 , … TAn are temporal annotations and each
Fi is a conjunction of ccc’s and/or action status.

Says: if Fi :TAi are all true, the Op a should hold at some
time point that is true in the interval denoted by TA.
1999 IMPACT Workshop
1
Example TAP

If deciding at time t to adjust course, it may compute the
current location in the next 5 time units.
P compute_Loc() :[t,t+5]
 Do adjust_course(…) :[t,t]

If deciding at time t to adjust course, it must execute the
corresponding flight plan in the next 20 time units.
O execute_flightplan() :[t,t+20]
 Do adjust_course(…) :[t,t]
1999 IMPACT Workshop
1
Key Results

Developed a formal semantics for TAPs.

Every TAP restricted to a single time point (Xnow) has the
same semantics as an ordinary agent program.

Developed an iterative fixpoint computation procedure
that computes the temporal status set of a temporal
agent.

Procedure is provably sound, complete, and polynomial
under appropriate conditions.
1999 IMPACT Workshop
1
Probabilistic Agents

Uncertainty is an essential part of any battlefield
application.



What is true in the world?
What actions can/cannot be performed in the current state?
What will another agent do?

An agent infrastructure must support the creation and
deployment of agents that can reason about uncertainty.

We have



proposed the concept of a probabilistic agent
defined how agents may act when the world is uncertain
developed a formal semantics for such agents
1999 IMPACT Workshop
1
Probabilistic Code Calls

Random variable of type t:
Set of objects of type t together
with a probability distribution on
the set.

EXAMPLE:
Probabilistic Code Call pcc:
Suppose cc is a code call. A
probabilistic version of cc returns
a set of random variables of type t
where t is the output type of cc.

The probability that object a is in
the answer of cc:


a is not in X for all (X,d) in pcc:
0.
a is in X for some (X,d) in pcc:
d(a).
1999 IMPACT Workshop
1
Satisfaction
EXAMPLE: Code Call: “Find all
vehicles within 6 units of circle.”

Object state O satisfies in(a, pcc)
with probability in [l,u] iff
probability lies in the interval [l,u].

An action can be executed in O iff
the action’s precondition is true in
the state with probability 1.
Answer: 2 Random Variables.
We have to define what it means for
in(answer, pcc) to be true!
1999 IMPACT Workshop
1
Probabilistic agent program

Set of rules of the form
Op a  cca1:[l1,u1] & .. & ccan:[ln,un] & Op1 a1 & … & Opn an
where the [l,u]’s denote intervals.

Rules are read: if the code call atoms ccai are true with
probabilities in the indicated ranges, then Op a is true.

The [l,u]’s can have variables in them.
1999 IMPACT Workshop
1
Example of a
Probabilistic Agent Program

If probability that plane is below 800 meters is low, agent is
allowed to update estimate of current location.

P compute_Loc(….)  in(Loc,autopilot:getLoc()),
Loc.z<200:[0,0.1]

If probability that plane is below 800 meters is high, agent is
obliged to update estimate of current location.

O compute_Loc(….)  in(Loc,autopilot:getLoc()),
Loc.z<200:[0.6,1]
1999 IMPACT Workshop
2
Key Contributions

Defined the concept of an uncertain state over arbitrary
data structures.

Defined probabilistic agent programs (PAPs).
Developed a formal semantics for PAPs.


Showed that the formal semantics coincides with
ordinary agent programs when no uncertainty occurs.

Developed sound and complete fixpoint computation
algorithms.
1999 IMPACT Workshop
2
Conclusions

For any realistic application (battlespace), there is
uncertainty about various things involved.

For any realistic application (battlespace), actions and
effects evolve over time.

Beliefs about other agents might also play a role.
Our extended frameworks
address all these needs.
1999 IMPACT Workshop
2
Download