Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Default and Cooperative Reasoning in Multi-Agent Systems Chiaki Sakama Wakayama University, Japan Programming Multi-Agent Systems based on Logic Dagstuhl Seminar, November 2002 Incomplete Knowledge in Multi-Agent System (MAS) • An individual agent has incomplete knowledge in an MAS. • In AI a single agent performs default reasoning when its knowledge is incomplete. • In a multi-agent environment, caution is requested to perform default reasoning based on an agent’s incomplete knowledge. Default Reasoning by a Single Agent Let A be an agent and F a propositional sentence. When A |≠ F F is not proved by A and ~F is assumed by default (negation as failure). Default Reasoning in Multi-Agent Environment Let A1,…,An be agents and F a propositinal sentence. When A1 |≠ F (†) F is not proved by A1 but F may be proved by other agents A2,…,An . ⇒ It is unsafe to conclude ~F by default due to the evidence of (†). Default Reasoning v.s. Cooperative Reasoning in MAS • An agent can perform default reasoning if it is based on incomplete belief wrt an agent’s internal world. • Else if an agent has incomplete knowledge about its external world, it is more appropriate to perform cooperative reasoning. Purpose of this Research • It is necessary to distinguish different types of incomplete knowledge in an agent. • We consider a multi-agent system based on logic and provide a framework of default/cooperative reasoning in an MAS. Problem Setting • An MAS consists of a finite number of agents. • Every agent has the same underlying language and shared ontology. • An agent has a knowledge base written by logic programming. Multi-Agent Logic Program (MLP) • Given an MAS {A1 ,…, An } with agents Ai (1≦i≦n), a multi-agent logic program (MLP) is defined as a set { P1 ,…, Pn } where Pi is the program of Ai . • Pi is an extended logic program which consists of rules of the form: L0 ← L1 ,…, Lm , not Lm+1 ,…, not Ln where Li is a literal and not represents negation as failure. Terms / Notations • Any predicate appearing in the head of no rule in a program is called external, otherwise, it is called internal . A literal with an external/internal predicate is called an external/internal literal. • ground(P): ground instantiation of a program P. • Lit(P): The set of all ground literals appearing in ground(P). • Cn(P) = { L | L is a ground literal s.t. P |= L }. Answer Set Semantics Let P be a program and S a set of ground literals satisfying the conditions: 1. PS is a set of ground rules s.t. L0← L1 ,…, Lm is in PS iff L0 ← L1 ,…, Lm , not Lm+1 ,…, not Ln is in ground(P) and { Lm+1 ,…, Ln }∩ S =φ. 2. S = Cn( PS ). Then, S is called an answer set of P. Rational Agents • A program P is consistent if P has a consistent answer set. • An agent Ai is called rational if it has a consistent program Pi. • We assume an MAS {A1 ,…, An } where each agent Ai is rational. Semantics of MLP Given an MLP {P1,…, Pn}, the program Πi is defined as (i) Pi ⊆Πi (ii) Πi is a maximal consistent subset of P1 ∪ ・・・ ∪ Pn A set S of ground literals is called a belief set of an agent Ai if S=T∩Lit(Pi ) where T is an answer set of Πi . Belief Sets • An agent has multiple belief sets in general. • Belief sets are consistent and minimal under set inclusion. • Given an MAS { A1 ,…, An }, an agent Ai (1≦i≦n) concludes a propositional sentence F (written Ai |=F ) if F is true in every belief set of Ai . Example Suppose an MLP { P1, P2 } such that P1: travel( Date, Flight# ) ← date( Date ), not scheduled( Date ), reserve( Date, Flight# ). reserve( Date, Flight# ) ← flight( Date, Flight# ), not state( Flight#, full ). date( d1 )←. date( d2 )←. scheduled(d1)←. flight( d1, f123 )←. flight( d2, f456 )←. flight( d2, f789 )←. P2: state( f456, full ) ← . Example (cont.) The agent A1 has the single belief set { travel( d2, f789 ) , reserve( d2, f789 ), date( d1 ), date( d2 ), scheduled(d1), flight( d1, f123 ), flight( d2, f456 ), flight( d2, f789 ), state( f456, full ) } Example Suppose an MLP { P1, P2 , P3 } such that P1 : go_cinema ← interesting, not crowded ¬ go_cinema ← ¬ interesting P2: interesting ← P3: ¬ interesting ← The agent A1 has two belief sets: { go_cinema, interesting } { ¬ go_cinema, ¬ interesting } Abductive Logic Programs ・An abductive logic program is a tuple 〈P,A〉 where P is a program and A is a set of hypotheses (possibly containing rules). ・〈P,A〉 has a belief set SH if SH is a consistent answer set of P ∪ H where H⊆A. ・A belief set SH is maximal (with respect to A) if there is no belief set TK such that H⊂K . Abductive Characterization of MLP Given an MLP {P1 ,…, Pn} , an agent Ai has a belief set S iff S=TH∩Lit(Pi ) where TH is a maximal belief set of the abductive logic program 〈 Pi ; P1∪・・・∪ Pi-1 ∪ Pi+1 ∪・・・∪ Pn 〉. Problem Solving in MLP • We consider an MLP {P1 ,…, Pn} where each Pi is a stratified normal logic program. • Given a query ← G, an agent solves the goal in a top-down manner. • Any internal literal in a subgoal is evaluated within the agent. • Any external literal in a subgoal is suspended and the agent asks other agents whether it is proved or not. Simple Meta-Interpreter solve(Agent, (Goal1,Goal2)):solve(Agent,Goal1), solve(Agent,Goal2). solve(Agent, not(Goal)):- not(solve(Agent, Goal)). solve(Agent, int(Fact)):- kb(Agent, Fact). solve(Agent, int(Goal)):- kb(Agent, (Goal:-Subgoal)), solve(Agent, Subgoal). solve(Agent, ext(Fact)):- kb(AnyAgent, Fact). solve(Agent, ext(Goal)):- kb(AnyAgent, (Goal:-Subgoal)), solve(AnyAgent, Subgoal). Example Recall the MLP { P1, P2 } with P1: travel( Date, Flight# ) ← date( Date ), not scheduled( Date ), reserve( Date, Flight# ). reserve( Date, Flight# ) ← flight( Date, Flight# ), not state( Flight#, full ). date( d1 )←. date( d2 )←. scheduled(d1)←. flight( d1, f123 )←. flight( d2, f456 )←. flight( d2, f789 )←. P2: state( f456, full ) ← . Example (cont.) Goal: ← travel( Date, Flight# ). P1: travel( Date, Flight# ) ← date( Date ), not scheduled( Date ), reserve( Date, Flight# ). G: ← date( Date ), not scheduled( Date ), reserve( Date, Flight# ). Example (cont.) G: ← date( Date ), not scheduled( Date ), reserve( Date, Flight# ). date(d1)← , date(d2) ← G: ← not scheduled(d1), reserve(d1,Flight# ). P1 : P1 : scheduled(d1)← fail Example (cont.) ! Backtrack G: ← date( Date ), not scheduled( Date ), reserve( Date, Flight# ). P1 : date(d1)← , date(d2) ← G: ← not scheduled(d2), reserve(d2, Flight# ). G: ← reserve(d2, Flight# ). Example (cont.) G: ← reserve(d2, Flight# ). P1: reserve( Date, Flight# ) ← flight( Date, Flight# ), not state( Flight#, full ). G: ← flight( d2, Flight# ), not state( Flight#, full ). P1: flight( d2, f456 )←. flight( d2, f789 )←. G: ← not state( f456, full ). ! Suspend the goal and ask P2 whether state( f456, full ) holds or not. Example (cont.) G: ← not state( f456, full ). P2 : state( f456, full ) ← fail ! Backtrack G: ← flight( d2, Flight# ), not state( Flight#, full ). P1: flight( d2, f456 )←. flight( d2, f789 )←. G: ← not state( f789, full ). Example (cont.) G: ← not state( f789, full ). ! Suspend the goal and ask P2 whether state( f789, full ) holds or not. The goal ← state( f789, full ) fails in P2 then G succeeds in P1 . As a result, the initial goal ← travel( Date, Flight# ) has the unique solution Date=d2 and Flight# = f789. Correctness Let {P1 ,…, Pn} be an MLP where each Pi is a stratified normal logic program. If an agent Ai solves a goal G with an answer substitution θ, then Ai |= Gθ, i.e., Gθ is true in the belief set of Ai . Further Issue • The present system suspends the goal with an external predicate and waits a response from other agents. • When an expected response is known, speculative computation [Satoh et al, 2000] would be useful to proceed computation without waiting for responses. Further Issue • The present system asks every other agent about the provability of external literals and has no strategy for adopting responses. • When the source of information is known, it is effective to designate agents to be asked or to discriminate agents based on their reliability. Summary • A declarative semantics of default and cooperative reasoning in an MAS is provided. Belief sets characterize different types of incompleteness of an agent in an MAS. • A proof procedure for query-answering in an MAS is provided. It is sound under the belief set semantics when an MLP is stratified.