Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea...

15
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.

Transcript of Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea...

Page 1: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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.

Page 2: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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.

Page 3: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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.

Page 4: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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

Page 5: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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?

Page 6: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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

Page 7: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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)

Page 8: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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.

Page 9: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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

Page 10: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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.

Page 11: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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.

Page 12: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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?

Page 13: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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

Page 14: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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.

Page 15: Stable Multi-Agent Systems Informatica, PISA. Computing, CITY. Computing, IMPERIAL. Andrea Bracciali, Paolo Mancarella, Kostas Stathis, Francesca Toni,

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.