Checking Properties of Multi-Agent Systems Behavior

28
Checking Properties of Multi-Agent Systems Behavior Michael Dekhtyar (Tver State University, Russia) Alexander Dikovsky (University of Nantes, France) Mars Valiev (Keldysh Inst. of Appl. Mathematics, Moscow, Russia)

description

Checking Properties of Multi-Agent Systems Behavior. Michael Dekhtyar (Tver State University, Russia) Alexander Dikovsky (University of Nantes, France) Mars Valiev (Keldysh Inst. of Appl. Mathematics, Moscow, Russia). Outline. Informal Example - PowerPoint PPT Presentation

Transcript of Checking Properties of Multi-Agent Systems Behavior

Page 1: Checking Properties of  Multi-Agent Systems  Behavior

Checking Properties of Multi-Agent Systems

Behavior

Michael Dekhtyar(Tver State University, Russia)

Alexander Dikovsky(University of Nantes, France)

Mars Valiev(Keldysh Inst. of Appl. Mathematics, Moscow,

Russia)

Page 2: Checking Properties of  Multi-Agent Systems  Behavior

Outline

• Informal Example

• Multi-Agent Systems Behavior – General Framework

• Agent Architecture

• Multi-Agent System Semantics

• Logics of Properties

• Classes of Multi-Agent Systems

• Results

• Future Work

Page 3: Checking Properties of  Multi-Agent Systems  Behavior

Example: Academic Recruiting

• Candidates:

cand(Name, Area, Merit, Grants)

• Area: lp (logic programming),

ai (AI), mm (Multimedia),

cl (Comp. Linguistics)• Merit: Scientific Accomplishments (integer)

• Grants: $$$

• Recruiting Committee (RC)• 5 members + secretary• Represented by agents

m0,m1,m2,m3,m4, s

• Recruitment History selected(Name, Area)

Strategies:• m0 (boss): lp > ai > mm > cl best Grants • m1: votes as m0• m2: votes against m0 best Grants• m3: new Area

best Merit• m4: votes with majority;

against m0

Page 4: Checking Properties of  Multi-Agent Systems  Behavior

Example: Behavior properties

no_consecutive_lp :

“if an lp-candidate has been selected in a recruitment cycle, then a candidate with different area of expertise will be selected in the next cycle”

worst_selected :

“it is possible that the candidate worst in Merits and Grants will be selected in each cycle”

Question: How can we verify such properties of a multi-agent system?

Page 5: Checking Properties of  Multi-Agent Systems  Behavior

A = <a1 ,…, am > - agent system

Global state of A = Union of local states of its agents ai

S0 S1 S2A A A . . .

S’1A

A

S’2

A. . .

. . .A

T(A,S0)

Behavior of A on S0 = set T(A,S0) of trajectories induced by A which start in S0

Properties of behavior = Properties of T(A,S0)

A- transition relation on the set of all global states

Behavior of Multi-Agent Systems

Page 6: Checking Properties of  Multi-Agent Systems  Behavior

Languages for the properties of behavior – temporal logics:

PTL, CTL, CTL*, -calculus.

Linear time operators:

X - “nexttime ”; U - “ until ”

F - “ sometimes ”; G - “always ”.

Branching quantifiers LTL and LTL:

() - “ is valid on some trajectory”;

() - “ is valid on all trajectories”.

Behavior of Multi-Agent Systems: Languages

Page 7: Checking Properties of  Multi-Agent Systems  Behavior

Given multiagent system A, its initial global state S0 and a formula , decide whether is valid on T(A,S0) .

T(A,S0) | ?

QUESTION:How specific features of multiagent systemsaffect the complexity of MA-BEHAVIOR problem?

Model-checking problem: M | ? explicitly abstract pointsM States implicitly structured

MA-BEHAVIOR problem

Page 8: Checking Properties of  Multi-Agent Systems  Behavior

Agent architecture

Simplified version of IMPACT architecture (V.S.Subrahmanian, et al. “Heterogeneous Agent Systems”, MIT Press, 2000)

a=<Pe, Pm, Pact AB, Pr, Act>

Pe – extensional signature = scheme of internal data base Ia;

Pm – message signature;

message box MsgBoxa: set of pairs (Sender_agent, Message) Message: ground atom in the signature Pm;

Pact – intensional action signature;

AB – action base; specifies the effects of actions;

Pr – agent’s action policy; defines the set of possible actions;

Act – action selection strategy; selects some subset of possible actions to execute.

Page 9: Checking Properties of  Multi-Agent Systems  Behavior

Action base AB – set of action specifications

<(X1, …,Xk), ADD(),DEL(),SEND()>

• (X1, …,Xk) - action atom,

•ADD() – list of atoms which should be added to DB,

•DEL() – list of atoms which should be deleted from DB,

•SEND() – list of pairs (Target-agent, Message) with the messages that should be sent to other agents.

(atoms in all three lists can include variables X1, …,Xk )

Agent Action Base

Page 10: Checking Properties of  Multi-Agent Systems  Behavior

Agent program Pr – logic program

Clauses: H :- L1, …, Ln (n 0)

• H=(t1,...,tk) is the pattern (intensional) action atom ,

• Li - action literal,

- (extensional) internal DB literal,

- Received(Source_agent, Message),

- ¬ Received(Source_agent, Message),

- built-in predicate call q(t1,…) (computable in pol. time)

Agent Programs

Pr is safe and stratified !

Page 11: Checking Properties of  Multi-Agent Systems  Behavior

• Local State of agent a:

IMa=(Ia, MsgBoxa)

• Current Program:

Prst = Pr {p:- . | p Ia} {Received(Agent_source,Message):- . |

(Agent_source, Message) MsgBoxa }• Program Semantics:

Sem(Pr)(Ia,MsgBoxa) - set Mact of ground action atoms in the minimal model Mst of Prst

Note: minimal model Mst is unique for stratified logic programs; can be computed in polynomial time from groundization gr(Prst) of the program Prst.

Possible Actions

Page 12: Checking Properties of  Multi-Agent Systems  Behavior

Agent One-step Semantics

Action selection strategy Act chooses (or guesses) in

polynomial time subset Act(Mact) Mact of actions to execute.

Deterministic strategy – function.

Nondeterministic strategy – relation.

Examples.

Total strategy: Acttot(M)=M

Priority strategy:

Act<(M)={m M | ¬ m1 M ( m1 < m)}

Unit choice: Actun(M)={ {m} | m M }

Spontaneous: Actsp(M)={ {M1} | M1 M}

deterministic

nondeterministic

Page 13: Checking Properties of  Multi-Agent Systems  Behavior

Concurrent Executions of Actions

Agent a in state IMa = (Ia, MsgBoxa) executes set CA of actions:

Each pCA is (X1,…,Xk) for some

<(X1, …,Xk), ADD(),DEL(),SEND()> AB and some ground unifier .

(i) For each pCA delete from Ia all atoms of DEL() ;

(ii) For each pCA add to Ia all atoms of ADD() ;

(iii) For each pCA, b a, s.t. (b, Message) SEND()

send Message from a to b.

New stateEFFa(CA,Ia)

EFFa(CA,b)

Page 14: Checking Properties of  Multi-Agent Systems  Behavior

Global States

A = {a1,…,am}

S = <(Ia1,MsgBoxa1),…,(Iam,MsgBoxam)>

State Transition (One Step Semantics)

S S’A

S’ = <(I’a1,MsgBox’a1),…,(I’am,MsgBox’am)>

Page 15: Checking Properties of  Multi-Agent Systems  Behavior

Computing New Global State:

1. FOR EACH a A DO Maact = Sem(Pra)

(Ia,MsgBoxa);

2. FOR EACH a A DO GET CAa FROM Acta(Maact);

3. FOR EACH a A DO MsgBox’a := ;

4. FOR EACH a A DO I’a :=EFFa(CAa,,Ia);

FOR EACH ba DO MsgBox’b :=MsgBox’b EFFa(CAa,,b).

compute potentiallyexecutable actions

select actions to execute

empty message box

compute new :-local DB states;

-message boxes;

Semantics of a Multi-Agent System

Page 16: Checking Properties of  Multi-Agent Systems  Behavior

Recruiting Example (cont’d)

system RC ={m0,m1,m2,m3,m4,s}

ABi contains the single action acti(C) with ADDi = DELi = ,

SEND0={(s,vote(C)),(mi,pref(C)) | i=1,2,3,4} and

SENDj={(s,vote(C)),(m4,pref(C)) | j=1,2,3 }.

Agents mi ( 0 i 3):

Messages:

• pref( Name ): committee member preferences (between the members)

• vote(Name) : committee member vote(sent to the secretary)

Page 17: Checking Properties of  Multi-Agent Systems  Behavior

Recruiting Example (cont’d)

m4 keeps the preferences of other agents in his personal Db as: prefers(Member,Candidate).

AB4 :record(Mb,Cd): ADD={prefers(Mb,Cd)}, DEL=SEND= ;act4(C): ADD4 = , DEL4 = {prefers(Mb,Cd) | for all Mb,Cd }and SEND4= {(s,vote(C)).Pr4:

record(mb,Cd) :- received(Mb, pref(Cd).

act4(C) :- prefers(m0,C),prefers(m1,C),prefers(mi,C). (i=2,3)

act4(C) :- prefers(m2,C),prefers(m3,C).

Agent m4:

Page 18: Checking Properties of  Multi-Agent Systems  Behavior

Outline

• Informal Example

• Multi-Agent Systems Behavior – General Framework

• Agent Architecture

• Multi-Agent System Semantics

• Logics of Properties

• Classes of Multi-Agent Systems

• Results

• Future Work

Page 19: Checking Properties of  Multi-Agent Systems  Behavior

Logics of Properties

For deterministic MA-systems: PLTL - propositional linear temporal logic

FLTL - first order extension of PLTL.

Linear time operators: X (“nexttime”), U (“until”),V (“unless”),

G (“always “), and F (“sometimes”).

For nondeterministic MA-systems: subsets of classical branching time logics

LTL and LTL and first order extension of -calculus

and its alternation depth bounded subsets j-calculus FO- j -calculus, j 1.

Example. System RC.

no_consecutive_lp:

AG (best & C selected(C,lp) (AX)8 C’ ,P (selected(C’,P) & P lp))

best – 1st order formula: “ there is an non-lp candidate best in both Merits and Grants”

Page 20: Checking Properties of  Multi-Agent Systems  Behavior

Classes of Multi-Agent Systems

•Deterministic / nondeterministic

•Ground / nonground

•Expanding – no deletions in actions

•Positive - no negations in programs

•k-dimentional – arities of action atoms and message atoms (number of parameters) k

•m-agent – number of agents m

•r-signal – number of different ground messages r

Page 21: Checking Properties of  Multi-Agent Systems  Behavior

Complexity of MA-BEHAVIOR problemDeterministic systems

Ground Expanding Parameters Logic Complexity ID

Yes Yes positive PLTL P d1

m2*r=O(log N) PLTL P d2

m-agent, m 2 PLTL PSPACE d3

r-signal, r 1 PLTL PSPACE d4

No FLTL PSPACE d5

No Yes Positive,

fixed k-dim.PLTL P d6

positive PLTL EXPTIME d7

No fixed k-dim. FLTL PSPACE d8

FLTL EXPSPACE d9

Page 22: Checking Properties of  Multi-Agent Systems  Behavior

Some comments

Gr. Exp. Parameters Logic Complexity ID

Yes Yes positive PLTL P d1

m2*r=O(log N) PLTL P d2

m-agent, m 2 PLTL PSPACE d3

r-signal, r 1 PLTL PSPACE d4

No FLTL PSPACE d5

No Yes Positive,

fixed k-dim.

PLTL P d6

positive PLTL EXPTIME d7

No fixed k-dim. FLTL PSPACE d8

FLTL EXPSPACE d9

Distributivity is important!

d3 and d4 => ground, expanding multiagent systems can not be simulated in polinomial time by a single agent.

Tractable cases:

Monotonicity

Expanding + structural restriction m2*r=O(log N) (N – size of a system)

Removing any constraint in d2,d6 leads to intractability

Page 23: Checking Properties of  Multi-Agent Systems  Behavior

Nondeterministic systemsGround Expanding Parameters Logic Complexity ID

Yes Yesm2*r=O(log N)

LTL NP n1

LTL Co-NP n2

m-agent, m 2 FO-1 EXPTIME n3

r-signal, r 1 FO-1 EXPTIME n4

No FO-j EXPTIME n5

FO- in NEXPTIME co-NEXPTIME

n6

No Yes r-signal, r 1 LTL NEXPTIME n7

LTL co-NEXPTIME n8

positive LTL EXPSPACE-hard n9

No k-dimensional FO- EXPTIME n10

FO-j EXPEXPTIME n11

FO- in NEXPTIME co-NEXPTIME

n12

Page 24: Checking Properties of  Multi-Agent Systems  Behavior

• Probabilistic agent systems.

• Asynchronous distributed agent systems (nondeterministic systems reflect some asynchronous properties).

• Extend logics to analyze behavior of coalitions of agents (M.Wooldrige, 2002).

• Other agent architectures.

Future work

Page 25: Checking Properties of  Multi-Agent Systems  Behavior

Thank You !

Page 26: Checking Properties of  Multi-Agent Systems  Behavior

Intelligent Agent Systems

Page 27: Checking Properties of  Multi-Agent Systems  Behavior

EXAMPLE. Recruiting committee (RC) of CS department

RC: 5 agents-members mi (0 i 4) and agent-secretary

Candidate information: cand(Id, Area, Merit, Grants)

Area from { lp, ai, cl, mm}. An integer Merits evaluates the candidates scientific merits.An integer Grants represents the sum of the grants the candidate has obtained.

Scenarium: Candidates are invited by the secretary to take part in the competition.

On receipt of candidatures, the secretary announces the recruitment session. Before the vote, the members may speak out on the candidates (through messages).

Then they vote by sending their secrete vote messages to the secretary.

On receiving all members' votes, the secretary announces the selected candidate (fact selected(Id,Area) ) and closes the session. Then it deletes the old candidates data and enters the initial state of new candidatures wait.

Page 28: Checking Properties of  Multi-Agent Systems  Behavior

Tactics of RC members

m0 (institute director) votes according to the following profile preferences: lp > ai > mm > cl and selects a candidate with the best grants sum and announces his choice to all RC members;

m1() always votes for the candidate of m0;

m2 () selects a candidate with a profile different from that chosen by m0 and having the best grants sum;

m3 () votes for the candidate with the best scientific merits whose profile is different from that of the last recruited candidate;

m4 () votes with the majority, if any; if there is no majority, then m4 chooses the “antiboss” party candidate.