checking properties of multi-agent systems behavior michael dekhtyar (tver state university, russia)...
TRANSCRIPT
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
• Multi-Agent Systems Behavior – General Framework
• Agent Architecture
• Multi-Agent System Semantics
• Logics of Properties
• Classes of Multi-Agent Systems
• Results
• Future Work
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
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?
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
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
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
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.
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
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 !
• 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
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
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)
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)>
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
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)
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:
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
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”
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
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
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
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
• 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
Thank You !
Intelligent Agent Systems
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.
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.