LUPS - A language for updating logic programs

被引:8
作者
Alferes, JJ
Pereira, LM
Przymusinska, H
Przymusinski, TC
机构
[1] Univ Evora, Dept Matemat, P-7000 Evora, Portugal
[2] Univ Nova Lisboa, Fac Ciencias & Tecnol, Ctr Inteligencia Artificial, P-2825114 Monte De Caparica, Portugal
[3] Calif State Polytech Univ Pomona, Dept Comp Sci, Pomona, CA 91768 USA
[4] Univ Calif Riverside, Dept Comp Sci, Riverside, CA 92521 USA
来源
LOGIC PROGRAMMING AND NONMONOTONIC REASONING | 1999年 / 1730卷
关键词
D O I
10.1007/3-540-46767-X_12
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Most of the work conducted so far in the field of logic programming has focused on representing static knowledge, i.e. knowledge that does not evolve with time. To overcome this limitation, in a recent paper, the authors introduced the concept of dynamic logic programming. There, they studied and defined the declarative and operational semantics of sequences of logic programs (or dynamic logic programs), P-o + ... + P-n. Each such program contains knowledge about some given state, where different states may, e.g., represent different time periods or different sets of priorities. The role of dynamic logic programming is to employ relationships existing between the possibly mutually contradictory sequence of programs to precisely determine, at any given state, the declarative and procedural semantics of their combination. But how, in concrete situations, is a sequence of logic programs built? For instance, in the domain of actions, what are the appropriate sequences of programs that represent the performed actions and their effects? Whereas dynamic logic programming provides a way for determining what should follow, given the sequence of programs, it does not provide a good practical language for the specification of updates or changes in the knowledge represented by successive logic progams. In this paper we define a language designed for specifying changes to logic programs (LUPS - "Language for dynamic updates"). Given an initial knowledge base (in the form of a logic program) LUPS provides a way for sequentially updating it. The declarative meaning of a sequence of sets of update actions in LUPS is defined using the semantics of the dynamic logic program generated by those actions. We also provide a translation of the sequence of update statements sets into a single generalized logic program written in a meta-language, so that the stable models of the resulting program correspond to the previously defined declarative semantics. This meta-language is used in the actual implementation, although this is not the subject of this paper. Finally we briefly mention related work (lack of space prevents us from presenting more detailed comparisons).
引用
收藏
页码:162 / 176
页数:15
相关论文
共 11 条
[1]  
ALFERES JJ, 1998, KR 98
[2]  
ALFERES JJ, 1999, IN PRESS JOINT C DEC
[3]  
ALFERES JJ, 1996, NMELP 96
[4]  
Gelfond M., 1988, ICLP 88
[5]  
Gelfond M., 1998, LINKOPING ELECT ARTI, V3
[6]  
GELFOND M, 1992, KR 92
[7]  
Katsuno H., 1991, KR 91, V91
[8]  
LIN F, 1995, IJCAI, P1985
[9]  
MAREK V, 1994, JELIA 94
[10]  
PRZYMUSINSKI T, 1995, LPNMR 95