32
A Language for Updates with Updates with Multiple Dimensions Multiple Dimensions João Alexandre Leite João Alexandre Leite 1 José Júlio Alferes José Júlio Alferes 1 Luís Moniz Pereira Luís Moniz Pereira 1 Halina Przymusinska Halina Przymusinska 2 Teodor Przymusinski 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

A Language for Updates with Multiple Dimensions

  • Upload
    toril

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: A Language for Updates with Multiple Dimensions

A Language for Updates A Language for Updates with Multiple with Multiple DimensionsDimensions

João Alexandre LeiteJoão Alexandre Leite11

José Júlio AlferesJosé Júlio Alferes11

Luís Moniz PereiraLuís Moniz Pereira11

Halina PrzymusinskaHalina Przymusinska22

Teodor PrzymusinskiTeodor Przymusinski33

1 Universidade Nova de Lisboa2 California State Polytechnic Univ. at Pomona

3 University of California at Riverside

Madrid, 18 September, 2002AGP’02

Page 2: A Language for Updates with Multiple Dimensions

Outline Outline

► Overview of DLPOverview of DLP► Overview of LUPSOverview of LUPS► Overview of MDLPOverview of MDLP► Social Representation with MDLPSocial Representation with MDLP► MLUPSMLUPS► ConclusionConclusion

Page 3: A Language for Updates with Multiple Dimensions

Motivation - 1Motivation - 1

►The notion of agency has claimed a The notion of agency has claimed a major role in modern AI researchmajor role in modern AI research

►LP and Non-monotonic Reasoning are LP and Non-monotonic Reasoning are appropriate for rational agents:appropriate for rational agents: Utmost efficiency is not always crucialUtmost efficiency is not always crucial Clear specification and correctness Clear specification and correctness areare

crucialcrucial LP provides a general, encompassing, LP provides a general, encompassing,

rigorous declarative and procedural rigorous declarative and procedural framework for rational functionalitiesframework for rational functionalities

Page 4: A Language for Updates with Multiple Dimensions

Motivation - 2Motivation - 2

► Till recently, LP could be seen as good for Till recently, LP could be seen as good for representing static non-contradictory representing static non-contradictory knowledgeknowledge

► In the agency paradigm we need to consider:In the agency paradigm we need to consider: Ways of integrating knowledge from different Ways of integrating knowledge from different

sources evolving in timesources evolving in time Knowledge expressing state transitionsKnowledge expressing state transitions Knowledge about the environment evolution, and Knowledge about the environment evolution, and

each agent’s behavioural evolutioneach agent’s behavioural evolution

► LP declaratively describes states well. LP declaratively describes states well. LP must describe state transitions too.LP must describe state transitions too.

Page 5: A Language for Updates with Multiple Dimensions

Generalized Logic ProgramsGeneralized Logic Programs

►To represent negative info in LP updates, To represent negative info in LP updates,

we need LPs allowing we need LPs allowing notnot in heads in heads

►Programs are sets of generalized LP rules:Programs are sets of generalized LP rules:

A A B B11,…, B,…, Bkk, not C, not C11,…,not C,…,not Cmm

not A not A B B11,…, B,…, Bkk, not C, not C11,…,not C,…,not Cmm

►The semantics is a generalization of SMsThe semantics is a generalization of SMs

Page 6: A Language for Updates with Multiple Dimensions

Dynamic LPDynamic LP

► DLP was introduced to express LP’s linear DLP was introduced to express LP’s linear evolution in dynamic environments, via updatesevolution in dynamic environments, via updates

► DLP gives semantics to sequences of GLPsDLP gives semantics to sequences of GLPs► Each program represents a distinct state of Each program represents a distinct state of

knowledge, where states may specify:knowledge, where states may specify: different time points, different hierarchical instances, different time points, different hierarchical instances,

different viewpoints, etc.different viewpoints, etc.

► Different states may have mutually Different states may have mutually contradictory or overlapping information, and contradictory or overlapping information, and DLP determines the semantics for each state DLP determines the semantics for each state sequencesequence

Page 7: A Language for Updates with Multiple Dimensions

A language for updatesA language for updates

► Now we know how to give meaning to Now we know how to give meaning to sequences of updating LPssequences of updating LPs

► How do we come up with such LPs?How do we come up with such LPs? Changes may be additions or retractions of rulesChanges may be additions or retractions of rules Some rules may represent (persistent) lawsSome rules may represent (persistent) laws Updates rules may be conditional on Updates rules may be conditional on the the present present

statestate

► How, from these rule requirements, do we How, from these rule requirements, do we build a sequence of LPs?build a sequence of LPs?

► This is the purpose ofThis is the purpose ofLUPS - Language for dynamic Updates

Page 8: A Language for Updates with Multiple Dimensions

A language for updates (2)A language for updates (2)

►LUPS is a language to declaratively LUPS is a language to declaratively specify how knowledge evolvesspecify how knowledge evolves

►LPs specify states, DLPs specify LPs specify states, DLPs specify evolution of statesevolution of states

►LUPS specifLUPS specifiesies rules for state transition rules for state transition► Imperative programming specifies Imperative programming specifies

state transitions but leaves states state transitions but leaves states implicitimplicit

►LUPS makes both state and state LUPS makes both state and state transitions declarativetransitions declarative

Page 9: A Language for Updates with Multiple Dimensions

Knowledge state updatingKnowledge state updating

► Consecutive knowledge states are obtained as:Consecutive knowledge states are obtained as:

KSKSnn = KS = KS00[U[U11][U][U22]...[U]...[Unn],],

where Uwhere Unn represents consecutive sets of updates. We denote represents consecutive sets of updates. We denote this by:this by:

KSKSnn =U =U0 0 U U1 1 ... ... U Unn

► Given the Given the current statecurrent state KS, its KS, its successor statesuccessor state KS[U] is KS[U] is produced as a result of a non-empty set U of parallel produced as a result of a non-empty set U of parallel updatesupdates. Each one can be viewed as a . Each one can be viewed as a (parallel) (parallel) actionaction. .

► Update actions do Update actions do NOTNOT modify the current or any of the modify the current or any of the previous states. They only affect future states, beginning previous states. They only affect future states, beginning with the successor state KS[U].with the successor state KS[U].

Page 10: A Language for Updates with Multiple Dimensions

LUPS ExampleLUPS Example

The Statement:The Statement:assertassert A A BB11,…, B,…, Bkk, notC, notC11,…,,…,notCnotCmm

whenwhen DD11,…,D,…,Dnn,,notEnotE11,…, notE,…, notEpp

The meaning of the assert statement is that if the preconditionThe meaning of the assert statement is that if the precondition whenwhen DD11,…,D,…,Dnn,,notEnotE11,…, notE,…, notEpp

is true in the current knowledge state then the ruleis true in the current knowledge state then the rule

A A BB11,…, B,…, Bkk, notC, notC11,…,,…,notCnotCmm is true in the next state, and persists from then on byis true in the next state, and persists from then on byinertia, until defeated by some future update or retracted.inertia, until defeated by some future update or retracted.

Page 11: A Language for Updates with Multiple Dimensions

LUPS - SyntaxLUPS - Syntax

► LUPS statementsLUPS statements: they cause changes to the current : they cause changes to the current state, leading to a successor state.state, leading to a successor state.

[[aalwayslways]] assert assert [ [eventevent] Rule ] Rule whenwhen <Conditions> <Conditions>

[[aalwayslways]] retract retract [ [eventevent] Rule ] Rule whenwhen <Conditions> <Conditions>

cancelcancel assert assert Rule Rule whenwhen <Conditions> <Conditions>

cancelcancel retract retract Rule Rule whenwhen <Conditions> <Conditions>

<Conditions> ::= L<Conditions> ::= L11, L, L22, …, L, …, Lnn..

Page 12: A Language for Updates with Multiple Dimensions

LUPS semanticsLUPS semantics

► Sequences of commands are translated into Sequences of commands are translated into Dynamic LPs.Dynamic LPs.

► Given Given PP11 P P22 … … P Pii resulting from the resulting from the translation of translation of UU0 0 U U1 1 ... ... U Uii and and UUi+1i+1, , obtain the new DLP obtain the new DLP PP11 P P22 … … P Pi i P Pi+1i+1..

► The semantics is then given by the The semantics is then given by the semantics of the semantics of the newly newly translated DLP.translated DLP. The The translation procedure enjoys incrementality.translation procedure enjoys incrementality.

► This way LUPS programs This way LUPS programs specifyspecify sequences sequences of LPsof LPs..

Page 13: A Language for Updates with Multiple Dimensions

MDLP Motivating ExampleMDLP Motivating Example

► Parliament issues law L1 at time t1.Parliament issues law L1 at time t1.► A local authority issues law L2 at time t2 > t1.A local authority issues law L2 at time t2 > t1.► Parliamentary laws override local laws, but not vice-versa:Parliamentary laws override local laws, but not vice-versa:

► More recent laws have precedence over older ones:More recent laws have precedence over older ones:

L2 L1

L1 L2

► How to combine these two dimensions of How to combine these two dimensions of knowledge precedence?knowledge precedence?

DLP with Multiple Dimensions (MDLP)

Page 14: A Language for Updates with Multiple Dimensions

MDLPMDLP

► In MDLP knowledge is given by a set of In MDLP knowledge is given by a set of programsprograms..

► Each program represents a different piece of Each program represents a different piece of updating knowledge assigned to a stateupdating knowledge assigned to a state..

► States are organized by a DAG States are organized by a DAG ((DDirected irected AAcyclic cyclic GGraph) raph) representing their precedence relationrepresenting their precedence relation..

► MDLP determines the composite semantics at MDLP determines the composite semantics at each state, according to the DAG pathseach state, according to the DAG paths..

► MDLP allows for combining knowledge updates MDLP allows for combining knowledge updates that evolve along multiple dimensionsthat evolve along multiple dimensions..

Page 15: A Language for Updates with Multiple Dimensions

MDLP - definitionMDLP - definition

Definition:Definition:A Multi-Dimensional Dynamic Logic Program, A Multi-Dimensional Dynamic Logic Program, PP, is a pair , is a pair

((PPDD,D) ,D)

where:where: D=(V,E) is an acyclic digraph.D=(V,E) is an acyclic digraph.

PPDD={P={PVV : v : v V} is a set of generalized V} is a set of generalized

logic programs indexed by the vertices of logic programs indexed by the vertices of

D.D.

Page 16: A Language for Updates with Multiple Dimensions

MDLP - Semantics 1MDLP - Semantics 1

Definition: Definition: Let Let PP=(=(PPDD,D) be a MDLP.,D) be a MDLP.

An interpretation An interpretation MMss is a stable model is a stable model of the multi-dimensional update at of the multi-dimensional update at state sstate sV iffV iffMs= least( [Ps – Reject(s, Ms)] Defaults (Ps,

Ms) )

where Ps= js Pi

s

j3j2

j1

Page 17: A Language for Updates with Multiple Dimensions

MDLP - semantics 2MDLP - semantics 2

where:where:

Reject(s, Ms) =

{r Pi | r’ Pj , ijs, head(r)=not head(r’) Ms

body(r’)}

Defaults (Ps, Ms)={not A | r Ps : head(r)=A Ms

body(r)}

Ms= least( [Ps – Reject(s, Ms)] Defaults (Ps, Ms) )

s

j3j2

j1

Page 18: A Language for Updates with Multiple Dimensions

MDLP for AgentsMDLP for Agents

► Flexibility, modularity, and Flexibility, modularity, and compositionality of MDLP makes it compositionality of MDLP makes it suitable for representing the evolution of suitable for representing the evolution of several agents’ combined knowledge.several agents’ combined knowledge.

How to encode, in a DAG, the relationships among every agent’s evolving knowledge along multiple dimensions ?

Page 19: A Language for Updates with Multiple Dimensions

Two basic dimensions of a Two basic dimensions of a multi-agent systemmulti-agent system

How to combine these dimensions into one DAG ?

Temporal evolution of one agentHierarchy of agents

Page 20: A Language for Updates with Multiple Dimensions

Equal Role Representation Equal Role Representation

► Assigns equal role to the two dimensions:Assigns equal role to the two dimensions:

Page 21: A Language for Updates with Multiple Dimensions

Equal Role - 2Equal Role - 2

► In legal reasoning:In legal reasoning: Lex SuperiorLex Superior : rules issued by a higher authority : rules issued by a higher authority

override those of a override those of a

lower one.lower one. Lex PosteriorLex Posterior : more recent rules override older : more recent rules override older

ones.ones.

► It potentiates contradiction:It potentiates contradiction: There are many pairs of unrelated programs.There are many pairs of unrelated programs.

Page 22: A Language for Updates with Multiple Dimensions

Time Prevailing Time Prevailing RepresentationRepresentation

► Assigns priority to the time dimension: Assigns priority to the time dimension:

Page 23: A Language for Updates with Multiple Dimensions

Time Prevailing - 2Time Prevailing - 2

► Useful in very dynamic situations, where Useful in very dynamic situations, where competence is distributed:competence is distributed:

agents normally provide rules about agents normally provide rules about literals.literals.

► Drawback:Drawback:

It requires all agents to be fully trusted, since all It requires all agents to be fully trusted, since all

newer rules override older ones irrespective of newer rules override older ones irrespective of

their mutual hierarchical position.their mutual hierarchical position.

Page 24: A Language for Updates with Multiple Dimensions

Hierarchy Prevailing Hierarchy Prevailing RepresentationRepresentation

► Assigns priority to the hierarchy dimension: Assigns priority to the hierarchy dimension:

Page 25: A Language for Updates with Multiple Dimensions

Hierarchy Prevailing - Hierarchy Prevailing - 22

►Useful when some agents are untrustworthy.Useful when some agents are untrustworthy.

►Drawback:Drawback:One has to consider the whole history of all higher One has to consider the whole history of all higher

ranked agents in order to accept/reject a rule from a ranked agents in order to accept/reject a rule from a

lower ranked agent.lower ranked agent.

However, techniques exist to reduce the size of a MDLP.However, techniques exist to reduce the size of a MDLP.

Page 26: A Language for Updates with Multiple Dimensions

GoalGoal

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

Page 27: A Language for Updates with Multiple Dimensions

MLUPS - FrameworkMLUPS - Framework

► Core Version:Core Version: Set of AgentsSet of Agents Sequence of StatesSequence of States Fixed hierarchy relating the agentsFixed hierarchy relating the agents Fixed evolution mode: the DAG of the MDLP Fixed evolution mode: the DAG of the MDLP

evolves according to the “evolves according to the “equal role equal role representation representation ””

At each (temporal) state transition we determine At each (temporal) state transition we determine the corresponding MDLP:the corresponding MDLP:

tt = (P = (PDDt t , D, Dtt))

Page 28: A Language for Updates with Multiple Dimensions

MLUPS - SyntaxMLUPS - Syntax

aalwayslways assert assert [ [eventevent] Rule] Rule@@ whenwhen <Conditions> <Conditions>

cancelcancel assert assert RuleRule@@ whenwhen <Conditions> <Conditions>

aalwayslways retract retract [ [eventevent] Rule] Rule@@ whenwhen <Conditions> <Conditions>

cancelcancel retract retract Rule Rule@@ whenwhen <Conditions> <Conditions>

<Conditions> ::= C<Conditions> ::= C11@@00, C, C22@@11, …, C, …, Cnn@@nn..

Page 29: A Language for Updates with Multiple Dimensions

MLUPS – Hierarchy MLUPS – Hierarchy CommandsCommands

► Hierarchy Commands allow specification of updates of the Hierarchy Commands allow specification of updates of the hierarchy that relates the agents.hierarchy that relates the agents.

add_hierarchy_edgeadd_hierarchy_edge ii jj [ [whenwhen <Conditions>] <Conditions>]

remove_hierarchy_edgeremove_hierarchy_edge ii jj [ [whenwhen <Conditions>] <Conditions>]

► They allow a more flexible evolution of the MDLP DAG, They allow a more flexible evolution of the MDLP DAG, permitting specification of the social dynamics of MAS.permitting specification of the social dynamics of MAS.

Page 30: A Language for Updates with Multiple Dimensions

MLUPS – Prevalence Mode MLUPS – Prevalence Mode CommandsCommands

► Prevalence Mode Commands allow the specification of how the MDLP Prevalence Mode Commands allow the specification of how the MDLP DAG is to evolve.DAG is to evolve.

add_prevail_mode add_prevail_mode ii ffii jj [when [when <Conditions><Conditions>]]

remove_prevail_mode remove_prevail_mode ii ffii jj [when [when <Conditions><Conditions> ] ]

► ffii is a function that specifies which edges are to be added to and is a function that specifies which edges are to be added to and removed from the MDLP DAG, besides the ones encoding the “equal removed from the MDLP DAG, besides the ones encoding the “equal role representation”.role representation”.

► Various evolution modes such as the “time prevalence representation” Various evolution modes such as the “time prevalence representation” and “hierarchy prevalence representation” can be specified.and “hierarchy prevalence representation” can be specified.

Page 31: A Language for Updates with Multiple Dimensions

Concluding RemarksConcluding Remarks

► Applications in Legal Reasoning and Knowledge Combination.Applications in Legal Reasoning and Knowledge Combination.

► Applications in representing an agent’s view of the society:Applications in representing an agent’s view of the society:combine beliefs about other agents’ knowledge with its own combine beliefs about other agents’ knowledge with its own beliefs.beliefs.

► Depending on the situation, and the relationships among Depending on the situation, and the relationships among agents, several classes of DAGs for their encoding exist or can agents, several classes of DAGs for their encoding exist or can be defined.be defined.

► MLUPS and other extensions reported elsewhere (e.g. to allow MLUPS and other extensions reported elsewhere (e.g. to allow

for distribution and nested update commands) are at the core for distribution and nested update commands) are at the core

of the agent architecture of the agent architecture MINERVA, to represent the epistemic MINERVA, to represent the epistemic

states of agents and states of agents and theirtheir evolution. evolution.

Page 32: A Language for Updates with Multiple Dimensions

MINERVAMINERVA► A A MINERVAMINERVA agent: agent:

Is based on a modular designIs based on a modular design It has a common internal KB (a MDLP), concurrently It has a common internal KB (a MDLP), concurrently

manipulated by its specialized sub-agentsmanipulated by its specialized sub-agents

► The goal is to have every agent composed of specialized The goal is to have every agent composed of specialized sub-agents that execute special tasks, e.g.sub-agents that execute special tasks, e.g.

reactivityreactivity planningplanning schedulingscheduling belief revisionbelief revision

where the behaviour of each sub-agent, in what concerns its where the behaviour of each sub-agent, in what concerns its contributioncontribution to the knowledge state of the agent is concerned, to the knowledge state of the agent is concerned, is encoded in MLUPS.is encoded in MLUPS.

goal managementgoal management learning learning preference evaluationpreference evaluation strategystrategy