Post on 12-Jan-2016
Stable Multi-Agent Systems
Informatica, PISA.Informatica, PISA.
Computing, CITY. Computing, IMPERIAL.
Andrea Bracciali,
Paolo Mancarella,
Kostas Stathis,
Francesca Toni,
ESAW’04, Toulouse 22-10-04.ESAW’04, Toulouse 22-10-04.
OutlineOutlineOutlineOutline
Motivation;
I/O Agent Semantics;
Stable Sets:
– Examples of stable MAS;
– MAS Properties;
Stable MAS construction;
Conclusions and future work.
Motivation;
I/O Agent Semantics;
Stable Sets:
– Examples of stable MAS;
– MAS Properties;
Stable MAS construction;
Conclusions and future work.
MotivationMotivationMotivationMotivation
Previous work on Logic Programming (LP) to specify agents: Toni & Stathis’ ESAW’02 Access-as-you-need framework;
Q: What does it take to build an abstract model of a MAS (in a way similar to the Tp op. of van Emden & Kowalski for LP)?
Previous work on Logic Programming (LP) to specify agents: Toni & Stathis’ ESAW’02 Access-as-you-need framework;
Q: What does it take to build an abstract model of a MAS (in a way similar to the Tp op. of van Emden & Kowalski for LP)?
Current work (Bracciali et al DALT’04) based on the need to
model declaratively a MAS. Approach:
has formal foundations;
is abstract (language independent);
is suitable to express and verify properties.
Current work (Bracciali et al DALT’04) based on the need to
model declaratively a MAS. Approach:
has formal foundations;
is abstract (language independent);
is suitable to express and verify properties.
ESAW’02: Access-as-you-needESAW’02: Access-as-you-needESAW’02: Access-as-you-needESAW’02: Access-as-you-need
Real Social Environment
Real Social Environment
Personal Agent
Personal Agent
Electronic Social Environment
Electronic Social EnvironmentArtificial
Society 1
Artificial Society 1
Artificial Society 2
Artificial Society 2
Artificial Society n
Artificial Society n
I must join a society to get a resource for
the user
I must join a society to get a resource for
the user
ESAW’02: Access-as-you-need (cntd)ESAW’02: Access-as-you-need (cntd)ESAW’02: Access-as-you-need (cntd)ESAW’02: Access-as-you-need (cntd)
Agent a:
Pa: get(R, T) request(a,b,R, T') accept(b,a,R,T'') T'' T' T
Aa: request(a, X, R, T), accept(X,a,R,T)
ICa:
Agent b:
Pb: have(r)
Ab: accept(b,X,R,T), request(X, b, R, T)
ICc: request(X,b,R,T) have(R) T'[accept(b,X,R,T') T' T]
Agent a:
Pa: get(R, T) request(a,b,R, T') accept(b,a,R,T'') T'' T' T
Aa: request(a, X, R, T), accept(X,a,R,T)
ICa:
Agent b:
Pb: have(r)
Ab: accept(b,X,R,T), request(X, b, R, T)
ICc: request(X,b,R,T) have(R) T'[accept(b,X,R,T') T' T]
actions observables
How do we model a MAS of this kind abstractly?How do we model a MAS of this kind abstractly?
Multi-agent System AssumptionsMulti-agent System AssumptionsMulti-agent System AssumptionsMulti-agent System Assumptions
Agents: 1..n; World: W, with E(W ) all possible events in W. Each agent i is equipped with;
– set of all possible actions A(i);
– set of all possible observations O(i);
s.t.
O(i) A(j) E(W )
A(i) A(j) i j (e.g. agent i cannot act pretending to be j).
Agents: 1..n; World: W, with E(W ) all possible events in W. Each agent i is equipped with;
– set of all possible actions A(i);
– set of all possible observations O(i);
s.t.
O(i) A(j) E(W )
A(i) A(j) i j (e.g. agent i cannot act pretending to be j).
i ji j
I/O Agent SemanticsI/O Agent SemanticsI/O Agent SemanticsI/O Agent Semantics
private
agent i
publicpublic
in
Observations O(i)
Observations O(i)
out
Actions A(i)Actions A(i)
M
“Mental State” (beliefs)“Mental State” (beliefs)
0
plan A(i)
plan A(i)
I/O Agent Semantics (cntd)I/O Agent Semantics (cntd)I/O Agent Semantics (cntd)I/O Agent Semantics (cntd)
Semantics for single agent i is then given as:
Si(0, in) = <M, out>
M may be when: agent i is unable to plan or achieve a goal; or the observations of agent i are inconsistent with the
constraints it wants to satisfy (e.g. rely on agent a1 for a resource that a1 does not posses);
Inconsistent agents are required not to commit to any action.
Semantics for single agent i is then given as:
Si(0, in) = <M, out>
M may be when: agent i is unable to plan or achieve a goal; or the observations of agent i are inconsistent with the
constraints it wants to satisfy (e.g. rely on agent a1 for a resource that a1 does not posses);
Inconsistent agents are required not to commit to any action.
Stable MASStable MASStable MASStable MAS
A MAS = <A, W> is stable if there exists a = iout s.t. for
each iA
Si(-i W i, i0) = <Mi, i
out>
where
-i = (j) (actions by agents other than i);
(j)= A(j) (actions by agent j);
W i = W O(i) (happened events observable by i).
The set is called a stable set for MAS.
A MAS = <A, W> is stable if there exists a = iout s.t. for
each iA
Si(-i W i, i0) = <Mi, i
out>
where
-i = (j) (actions by agents other than i);
(j)= A(j) (actions by agent j);
W i = W O(i) (happened events observable by i).
The set is called a stable set for MAS.
iAiA
jA,ij
jA,ij
Example of Stable SetExample of Stable SetExample of Stable SetExample of Stable Set
Agent 1 moves odd-numbered blocks and has goal mvToB.
Agent 2 moves even-numbered blocks and has goal mvToC.
Agent 1 moves odd-numbered blocks and has goal mvToB.
Agent 2 moves even-numbered blocks and has goal mvToC.
11
22
33
AA BB CC
11
1122
= {1ToB1, 2ToC2, 3ToB1} is a stable set. = {1ToB1, 2ToC2, 3ToB1} is a stable set.
S1({2ToC2} U W 1, {1ToB1, 3ToB1}) = <M1, {1ToB1, 3ToB1}>
S2({1ToB1, 3ToB1} U W 2, {2ToC2}) = <M2, {2ToC2}>
with mvToB M1 and mvToC M2.
S1({2ToC2} U W 1, {1ToB1, 3ToB1}) = <M1, {1ToB1, 3ToB1}>
S2({1ToB1, 3ToB1} U W 2, {2ToC2}) = <M2, {2ToC2}>
with mvToB M1 and mvToC M2.
Example of Unstable SetExample of Unstable SetExample of Unstable SetExample of Unstable Set
Agent 1 intends to move block 1 to B.
Agent 2 intends to move block 2 to B.
Agent 1 intends to move block 1 to B.
Agent 2 intends to move block 2 to B.
11 22
AA BB CC
11 22
No stable set, as agents become inconsistent.No stable set, as agents become inconsistent.
What can we do with What can we do with stable sets?stable sets?
What can we do with What can we do with stable sets?stable sets?
A MAS admitting stable sets is “good”/”well-behaved”; DALT’04: properties of MAS can be specified in terms of
stable sets, e.g.– A successful MAS is a stable MAS whose every agent is successful (it
achieves its goals);
– A robust MAS is a successful MAS such that, taking away any agent in it, the resulting MAS is still successful.
How can we guarantee the existence of stable sets for MAS? How can we construct stable sets?
A MAS admitting stable sets is “good”/”well-behaved”; DALT’04: properties of MAS can be specified in terms of
stable sets, e.g.– A successful MAS is a stable MAS whose every agent is successful (it
achieves its goals);
– A robust MAS is a successful MAS such that, taking away any agent in it, the resulting MAS is still successful.
How can we guarantee the existence of stable sets for MAS? How can we construct stable sets?
Constructing Stable Sets: One Step OperatorConstructing Stable Sets: One Step OperatorConstructing Stable Sets: One Step OperatorConstructing Stable Sets: One Step Operator
Given MAS = <A, W> and , let
A+ be the set of all agents i in A s.t. Si(-i W i, (i)) < , {}>
A- = A - A+
Then
T A(< W> A) = <Si(-i W i, (i))>A if A =
A+
= <Si(-i W i, (i))>A+ <, {}>A-
otherwise
Given MAS = <A, W> and , let
A+ be the set of all agents i in A s.t. Si(-i W i, (i)) < , {}>
A- = A - A+
Then
T A(< W> A) = <Si(-i W i, (i))>A if A =
A+
= <Si(-i W i, (i))>A+ <, {}>A-
otherwise
Constructing Stable Sets: Constructing Stable Sets: concrete semantics of a MASconcrete semantics of a MAS
Constructing Stable Sets: Constructing Stable Sets: concrete semantics of a MASconcrete semantics of a MAS
Given
MAS = <A, W> and
<0>A (tuple of initial plans)
the concrete semantics of MAS is given by applying
(possibly infinitely many times) T A, starting from <0W >A :
T A (<0 W >A ), T A (T A (<0 W >A )), …
Conjecture: the concrete semantics of a MAS is stable,
given any tuple of initial plans.
Given
MAS = <A, W> and
<0>A (tuple of initial plans)
the concrete semantics of MAS is given by applying
(possibly infinitely many times) T A, starting from <0W >A :
T A (<0 W >A ), T A (T A (<0 W >A )), …
Conjecture: the concrete semantics of a MAS is stable,
given any tuple of initial plans.
Conclusions & Future workConclusions & Future workConclusions & Future workConclusions & Future work
A language independent abstract semantics for agents. Suitable to model and verify properties of agents & MAS. Relies on the notion of stability to approximate well-
behavedness (shown examples both positive and negative).
Initial steps towards a formal methodology. Future work involves:
– the application of the framework to more complex scenaria;– use stability to prove properties of these scenaria.
A language independent abstract semantics for agents. Suitable to model and verify properties of agents & MAS. Relies on the notion of stability to approximate well-
behavedness (shown examples both positive and negative).
Initial steps towards a formal methodology. Future work involves:
– the application of the framework to more complex scenaria;– use stability to prove properties of these scenaria.