Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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 Madrid, 18 September, 2002 AGP’02

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  B 1,…, B k, not C 1,…,not C m not A  B 1,…, B k, not C 1,…,not C m ► 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: KS n = KS 0 [U 1 ][U 2 ]...[U n ], where U n represents consecutive sets of updates. We denote this by: KS n =U 0  U 1 ...  U n ► 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: assert A  B 1,…, B k, notC 1,…,  notC m when D 1,…,D n,  notE 1,…, notE p The meaning of the assert statement is that if the precondition when D 1,…,D n,  notE 1,…, notE p when D 1,…,D n,  notE 1,…, notE p is true in the current knowledge state then the rule A  B 1,…, B k, notC 1,…,  notC m A  B 1,…, B k, notC 1,…,  notC m 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 [always] assert [event] Rule when [always] retract [event] Rule when [always] retract [event] Rule when cancel assert Rule when cancel assert Rule when cancel retract Rule when cancel retract Rule when ::= L 1, L 2, …, L n. ::= L 1, L 2, …, L n.

12 LUPS semantics ► Sequences of commands are translated into Dynamic LPs. ► Given P 1  P 2  …  P i resulting from the translation of U 0  U 1 ...  U i and U i+1, obtain the new DLP P 1  P 2  …  P i  P i+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 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: L2L1 L2 ► 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 ( P D,D) where:  D=(V,E) is an acyclic digraph.  P D ={P V : v  V} is a set of generalized logic programs indexed by the vertices of D.

16 MDLP - Semantics 1  Definition: Let P =( P D,D) be a MDLP. An interpretation M s is a stable model of the multi-dimensional update at state s  V iff An interpretation M s is a stable model of the multi-dimensional update at state s  V iff M s = least( [ P s – Reject(s, M s )]  Defaults ( P s, M s ) ) where P s =  j  s P i s j3j3 j2j2 j1j1

17 MDLP - semantics 2 where: Reject(s, M s ) = {r  P i |  r’  P j, i  j  s, head(r)=not head(r’)  M s  body(r’)} Defaults ( P s, M s )={not A |  r  P s : head(r)=A  M s  body(r)} M s = least( [ P s – Reject(s, M s )]  Defaults ( P s, M s ) ) s j3j3 j2j2 j1j1

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 How to combine these dimensions into one DAG ? Temporal evolution of one agentHierarchy of agents

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. 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 = (P D t, D t )

28 MLUPS - Syntax always assert [event] Rule@  when always assert [event] Rule@  when cancel assert Rule@  when cancel assert Rule@  when always retract [event] Rule@  when always retract [event] Rule@  when cancel retract Rule@  when cancel retract Rule@  when ::= C 1 @  0, C 2 @  1, …, C n @  n. ::= C 1 @  0, C 2 @  1, …, C n @  n.

29 MLUPS – Hierarchy Commands ► Hierarchy Commands allow specification of updates of the hierarchy that relates the agents. add_hierarchy_edge  i   j [when ] remove_hierarchy_edge  i   j [when ] ► 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  f i   j [when ] remove_prevail_mode  i  f i   j [when ] ► f i is 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 contribution to the knowledge state of the agent is concerned, is encoded in MLUPS.  goal management  learning  preference evaluation  strategy


Download ppt "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."

Similar presentations


Ads by Google