280 likes | 476 Views
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
E N D
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 • 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 • Recruitment History • selected(Name, Area)
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 - transition relation on the set of all global states A A A . . . S0 S1 S2 T(A,S0) A A A . . . S’1 S’2 A . . . Behavior of Multi-Agent Systems A = <a1 ,…, am > - agent system Global state of A = Union of local states of its agents ai 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)
Behavior of Multi-Agent Systems: Languages Languages for the properties of behavior – temporal logics: PTL, CTL, CTL*, -calculus. Linear time operators: X - “nexttime ”; U - “ until ” F - “ sometimes ”; G - “always ”. Branchingquantifiers LTL and LTL: () - “ is valid on some trajectory”; () - “ is valid on all trajectories”.
Model-checking problem: M | ? explicitly abstract points M States implicitly structured MA-BEHAVIOR problem 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 systems affect the complexity of 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.
Agent Action Base • 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) withthemessagesthat should be sent to other agents. (atoms in all three lists can include variables X1, …,Xk)
Agent Programs • 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) • Pr is safe and stratified !
Possible Actions • 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 Mactof 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.
deterministic Agent One-step Semantics Action selection strategyAct chooses (or guesses) in polynomial time subset Act(Mact) Mactof 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} nondeterministic
New state EFFa(CA,Ia) EFFa(CA,b) 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()> ABand some ground unifier . (i) For each pCAdelete from Ia all atoms of DEL() ; (ii) For each pCAadd to Ia all atoms of ADD() ; (iii) For each pCA, b a, s.t. (b, Message) SEND() sendMessage from a to b.
A S’ S S’= <(I’a1,MsgBox’a1),…,(I’am,MsgBox’am)> Global States A = {a1,…,am} S = <(Ia1,MsgBoxa1),…,(Iam,MsgBoxam)> State Transition (One Step Semantics)
Semantics of a Multi-Agent System Computing New Global State: compute potentially executable actions 1. FOR EACH a A DO Maact = Sem(Pra)(Ia,MsgBoxa); select actions to execute 2. FOR EACH a A DO GET CAa FROM Acta(Maact); 3. FOR EACH a A DO MsgBox’a := ; empty message box 4. FOR EACH a A DO I’a :=EFFa(CAa,,Ia); compute new : -local DB states; -message boxes; FOR EACH ba DO MsgBox’b :=MsgBox’b EFFa(CAa,,b).
Recruiting Example (cont’d) system RC ={m0,m1,m2,m3,m4,s} Messages: • pref( Name ): committee member preferences • (between the members) • vote(Name) : committee member vote • (sent to the secretary) Agents mi ( 0 i 3): 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 }.
Recruiting Example (cont’d) Agent m4: 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).
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
Monotonicity Expanding + structural restriction m2*r=O(log N) (N – size of a system) Removing any constraint in d2,d6 leads to intractability Some comments Tractable cases: Distributivity is important! d3 and d4 => ground, expanding multiagent systems can not be simulated in polinomial time by a single agent.
Future work • 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.
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 m4chooses the “antiboss” party candidate.