1 / 32

A Language for Updates with Multiple Dimensions

A Language for Updates with Multiple Dimensions. João Alexandre Leite 1 José Júlio Alferes 1 Luís Moniz Pereira 1 Halina Przymusinska 2 Teodor Przymusinski 3. 1 Universidade Nova de Lisboa 2 California State Polytechnic Univ. at Pomona 3 University of California at Riverside. AGP’02.

toril
Download Presentation

A Language for Updates with Multiple Dimensions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Language for Updates with Multiple Dimensions João Alexandre Leite1 José Júlio Alferes1 Luís Moniz Pereira1 Halina Przymusinska2 Teodor Przymusinski3 1 Universidade Nova de Lisboa 2 California State Polytechnic Univ. at Pomona 3 University of California at Riverside AGP’02 Madrid, 18 September, 2002

  2. Outline • Overview of DLP • Overview of LUPS • Overview of MDLP • Social Representation with MDLP • MLUPS • Conclusion

  3. Motivation - 1 • The notion of agency has claimed a major role in modern AI research • LP and Non-monotonic Reasoning are appropriate for rational agents: • Utmost efficiency is not always crucial • Clear specification and correctness are crucial • LP provides a general, encompassing, rigorous declarative and procedural framework for rational functionalities

  4. Motivation - 2 • Till recently, LP could be seen as good for representing static non-contradictory knowledge • In the agency paradigm we need to consider: • Ways of integrating knowledge from different sources evolving in time • Knowledge expressing state transitions • Knowledge about the environment evolution, and each agent’s behavioural evolution • LP declaratively describes states well. LP must describe state transitions too.

  5. Generalized Logic Programs • To represent negative info in LP updates, we need LPs allowing not in heads • Programs are sets of generalized LP rules: A ¬ B1,…, Bk, not C1,…,not Cm not A ¬ B1,…, Bk, not C1,…,not Cm • The semantics is a generalization of SMs

  6. Dynamic LP • DLP was introduced to express LP’s linear evolution in dynamic environments, via updates • DLP gives semantics to sequences of GLPs • Each program represents a distinct state of knowledge, where states may specify: • different time points, different hierarchical instances, different viewpoints, etc. • Different states may have mutually contradictory or overlapping information, and DLP determines the semantics for each state sequence

  7. A language for updates • Now we know how to give meaning to sequences of updating LPs • How do we come up with such LPs? • Changes may be additions or retractions of rules • Some rules may represent (persistent) laws • Updates rules may be conditional on the present state • How, from these rule requirements, do we build a sequence of LPs? • This is the purpose of LUPS - Language for dynamic Updates

  8. A language for updates (2) • LUPS is a language to declaratively specify how knowledge evolves • LPs specify states, DLPs specify evolution of states • LUPS specifies rules for state transition • Imperative programming specifies state transitions but leaves states implicit • LUPS makes both state and state transitions declarative

  9. Knowledge state updating • Consecutive knowledge states are obtained as: KSn = KS0[U1][U2]...[Un], where Un represents consecutive sets of updates. We denote this by: KSn =U0  U1  ...  Un • Given the current state KS, its successor state KS[U] is produced as a result of a non-empty set U of parallel updates. Each one can be viewed as a (parallel) action. • Update actions do NOT modify the current or any of the previous states. They only affect future states, beginning with the successor state KS[U].

  10. LUPS Example The Statement: assertA ¬ B1,…, Bk, notC1,…,notCm whenD1,…,Dn,notE1,…, notEp The meaning of the assert statement is that if the precondition whenD1,…,Dn,notE1,…, notEp is true in the current knowledge state then the rule A ¬ B1,…, Bk, notC1,…,notCm is true in the next state, and persists from then on by inertia, until defeated by some future update or retracted.

  11. LUPS - Syntax • LUPS statements: they cause changes to the current state, leading to a successor state. [always] assert [event] Rule when <Conditions> [always] retract [event] Rule when <Conditions> cancel assert Rule when <Conditions> cancel retract Rule when <Conditions> <Conditions> ::= L1, L2, …, Ln.

  12. LUPS semantics • Sequences of commands are translated into Dynamic LPs. • Given P1 P2 …  Pi resulting from the translation of U0  U1  ...  Ui and Ui+1, obtain the new DLP P1 P2 …  Pi  Pi+1. • The semantics is then given by the semantics of the newly translated DLP. The translation procedure enjoys incrementality. • This way LUPS programs specify sequences of LPs.

  13. L2 L1 L1 L2 MDLP Motivating Example • Parliament issues law L1 at time t1. • A local authority issues law L2 at time t2 > t1. • Parliamentary laws override local laws, but not vice-versa: • More recent laws have precedence over older ones: • How to combine these two dimensions of knowledge precedence? • DLP with Multiple Dimensions (MDLP)

  14. MDLP • In MDLP knowledge is given by a set of programs. • Each program represents a different piece of updating knowledge assigned to a state. • States are organized by a DAG (Directed Acyclic Graph) representing their precedence relation. • MDLP determines the composite semantics at each state, according to the DAG paths. • MDLP allows for combining knowledge updates that evolve along multiple dimensions.

  15. MDLP - definition • Definition: A Multi-Dimensional Dynamic Logic Program, P, is a pair (PD,D) where: • D=(V,E) is an acyclic digraph. • PD={PV : v  V} is a set of generalized logic programs indexed by the vertices of D.

  16. j1 j2 j3 s MDLP - Semantics 1 • Definition: Let P=(PD,D) be a MDLP. An interpretation Ms is a stable model of the multi-dimensional update at state sV iff Ms= least( [Ps – Reject(s, Ms)]  Defaults (Ps, Ms) ) where Ps= js Pi

  17. Defaults (Ps, Ms)={not A | $r Ps: head(r)=A  Ms |=body(r)} j1 j2 j3 s MDLP - semantics 2 where: Ms= least( [Ps – Reject(s, Ms)]  Defaults (Ps, Ms) ) Reject(s, Ms) = {r Pi | r’ Pj , ijs, head(r)=not head(r’)  Ms |=body(r’)}

  18. MDLP for Agents • Flexibility, modularity, and compositionality of MDLP makes it suitable for representing the evolution of several agents’ combined knowledge. How to encode, in a DAG, the relationships among every agent’s evolving knowledge along multiple dimensions ?

  19. Two basic dimensions of a multi-agent system Hierarchy of agents Temporal evolution of one agent How to combine these dimensions into one DAG ?

  20. Equal Role Representation • Assigns equal role to the two dimensions:

  21. Equal Role - 2 • In legal reasoning: • Lex Superior: rules issued by a higher authority override those of a lower one. • Lex Posterior: more recent rules override older ones. • It potentiates contradiction: • There are many pairs of unrelated programs.

  22. Time Prevailing Representation • Assigns priority to the time dimension:

  23. Time Prevailing - 2 • Useful in very dynamic situations, where competence is distributed: ¹ agents normally provide rules about ¹ literals. • Drawback: It requires all agents to be fully trusted, since all newer rules override older ones irrespective of their mutual hierarchical position.

  24. Hierarchy Prevailing Representation • Assigns priority to the hierarchy dimension:

  25. Hierarchy Prevailing - 2 • Useful when some agents are untrustworthy. • Drawback: One has to consider the whole history of all higher ranked agents in order to accept/reject a rule from a lower ranked agent. However, techniques exist to reduce the size of a MDLP.

  26. Goal Extend the language of updates LUPS to allow the specification and evolution of MDLP based knowledge.

  27. MLUPS - Framework • Core Version: • Set of Agents • Sequence of States • Fixed hierarchy relating the agents • Fixed evolution mode: the DAG of the MDLP evolves according to the “equal role representation ” • At each (temporal) state transition we determine the corresponding MDLP: t = (PDt , Dt)

  28. MLUPS - Syntax always assert [event] Rule@when <Conditions> cancel assertRule@when <Conditions> always retract [event] Rule@when <Conditions> cancel retract Rule@when <Conditions> <Conditions> ::= C1@0, C2@1, …, Cn@n.

  29. MLUPS – Hierarchy Commands • Hierarchy Commands allow specification of updates of the hierarchy that relates the agents. add_hierarchy_edgei  j [when <Conditions>] remove_hierarchy_edgei  j [when <Conditions>] • They allow a more flexible evolution of the MDLP DAG, permitting specification of the social dynamics of MAS.

  30. MLUPS – Prevalence Mode Commands • Prevalence Mode Commands allow the specification of how the MDLP DAG is to evolve. add_prevail_mode i fi j [when <Conditions>] remove_prevail_mode i fi j [when <Conditions> ] • fiis a function that specifies which edges are to be added to and removed from the MDLP DAG, besides the ones encoding the “equal role representation”. • Various evolution modes such as the “time prevalence representation” and “hierarchy prevalence representation” can be specified.

  31. Concluding Remarks • Applications in Legal Reasoning and Knowledge Combination. • Applications in representing an agent’s view of the society: combine beliefs about other agents’ knowledge with its own beliefs. • Depending on the situation, and the relationships among agents, several classes of DAGs for their encoding exist or can be defined. • MLUPS and other extensions reported elsewhere (e.g. to allow for distribution and nested update commands) are at the core of the agent architecture MINERVA, to represent the epistemic states of agents and their evolution.

  32. MINERVA • A MINERVA agent: • Is based on a modular design • It has a common internal KB (a MDLP), concurrently manipulated by its specialized sub-agents • The goal is to have every agent composed of specialized sub-agents that execute special tasks, e.g. • reactivity • planning • scheduling • belief revision where the behaviour of each sub-agent, in what concerns its contributionto the knowledge state of the agent is concerned, is encoded in MLUPS. • goal management • learning • preference evaluation • strategy

More Related