Pub Date : 2000-11-01DOI: 10.1016/S0743-1066(00)00009-1
Andy King
Sharing information is useful in specialising, optimising and parallelising logic programs and thus sharing analysis is an important topic of both abstract interpretation and logic programming. Sharing analyses infer which pairs of program variables can never be bound to terms that contain a common variable. We generalise a classic pair-sharing analysis from Herbrand unification to trace sharing over rational tree constraints. This is useful for reasoning about programs written in SICStus and Prolog-III because these languages use rational tree unification as the default equation solver.
{"title":"Pair-sharing over rational trees","authors":"Andy King","doi":"10.1016/S0743-1066(00)00009-1","DOIUrl":"10.1016/S0743-1066(00)00009-1","url":null,"abstract":"<div><p>Sharing information is useful in specialising, optimising and parallelising logic programs and thus sharing analysis is an important topic of both abstract interpretation and logic programming. Sharing analyses infer which pairs of program variables can never be bound to terms that contain a common variable. We generalise a classic pair-sharing analysis from Herbrand unification to trace sharing over rational tree constraints. This is useful for reasoning about programs written in SICStus and Prolog-III because these languages use rational tree unification as the default equation solver.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"46 1","pages":"Pages 139-155"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(00)00009-1","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122750093","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-11-01DOI: 10.1016/S0743-1066(99)00062-X
Jürgen Dix , V.S. Subrahmanian , George Pick
There are numerous applications where an agent needs to reason about the beliefs of another agent, as well as about the actions that other agents may take. In [T. Eiter, V.S. Subrahmanian, G. Pick, Heterogeneous Active Agents, I: Semantics, Artificial Intelligence 108(1–2) (1999) 179–255] the concept of an agent program is introduced, and a language within which the operating principles of an agent can be declaratively encoded on top of imperative data structures is defined. In this paper we first introduce certain belief data structures that an agent needs to maintain. Then we introduce the concept of a Meta Agent Program (map), that extends the framework of Refs. [T. Eiter, V.S. Subrahmanian, Heterogeneous Active Agents, II: Algorithms and Complexity, Artificial Intelligence 108(1–2) (1999) 257–307; loc. cit.] so as to allow agents to perform metareasoning. We build a formal semantics for maps, and show how this semantics supports not just beliefs agent may have about agent 's state, but also beliefs about agents 's beliefs about agent 's actions, beliefs about 's beliefs about agent 's state, and so on. Finally, we provide a transansation that takes any map as input and converts it into an agent program such that there is a one–one correspondence between the semantics of the map and the semantics of the resulting agent program. This correspondence allows an implementation of maps to be built on top of an implementation of agent programs.
在许多应用程序中,一个代理需要推断另一个代理的信念,以及其他代理可能采取的行动。在[T。Eiter, V.S. Subrahmanian, G. Pick,异构主动代理,I:语义,人工智能108(1-2)(1999)179-255),介绍了代理程序的概念,并定义了一种语言,在这种语言中,代理的操作原则可以在命使式数据结构的基础上进行声明式编码。本文首先介绍了智能体需要维护的信念数据结构。然后,我们引入了元代理程序(map)的概念,扩展了Refs的框架。(T。Eiter, V.S. Subrahmanian,异构主动代理,II:算法和复杂性,人工智能108(1-2)(1999)257-307;疯狂的。以允许代理执行元推理。我们为地图建立了一个形式化语义,并展示了这个语义如何不仅支持代理a对代理b状态的信念,还支持代理b对代理c行为的信念,以及代理b对代理c状态的信念,等等。最后,我们提供了一个转换,它将任何映射作为输入并将其转换为代理程序,以便在映射的语义和生成的代理程序的语义之间存在一对一的对应关系。这种对应关系允许在代理程序的实现之上构建地图的实现。
{"title":"Meta-agent programs","authors":"Jürgen Dix , V.S. Subrahmanian , George Pick","doi":"10.1016/S0743-1066(99)00062-X","DOIUrl":"10.1016/S0743-1066(99)00062-X","url":null,"abstract":"<div><p>There are numerous applications where an agent <span><math><mtext>a</mtext></math></span> needs to reason about the beliefs of another agent, as well as about the actions that other agents may take. In [T. Eiter, V.S. Subrahmanian, G. Pick, Heterogeneous Active Agents, I: Semantics, Artificial Intelligence 108(1–2) (1999) 179–255] the concept of an agent program is introduced, and a language within which the operating principles of an agent can be declaratively encoded on top of imperative data structures is defined. In this paper we first introduce certain belief data structures that an agent needs to maintain. Then we introduce the concept of a <em>Meta Agent Program</em> (<span>map</span>), that extends the framework of Refs. [T. Eiter, V.S. Subrahmanian, Heterogeneous Active Agents, II: Algorithms and Complexity, Artificial Intelligence 108(1–2) (1999) 257–307; loc. cit.] so as to allow agents to perform metareasoning. We build a formal semantics for <span>map</span>s, and show how this semantics supports not just beliefs agent <span><math><mtext>a</mtext></math></span> may have about agent <span><math><mtext>b</mtext></math></span> 's state, but also beliefs about agents <span><math><mtext>b</mtext></math></span> 's beliefs about agent <span><math><mtext>c</mtext></math></span> 's actions, beliefs about <span><math><mtext>b</mtext></math></span> 's beliefs about agent <span><math><mtext>c</mtext></math></span> 's state, and so on. Finally, we provide a transansation that takes any <span>map</span> as input and converts it into an agent program such that there is a one–one correspondence between the semantics of the <span>map</span> and the semantics of the resulting agent program. This correspondence allows an implementation of <span>map</span>s to be built on top of an implementation of agent programs.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"46 1","pages":"Pages 1-60"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00062-X","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130141485","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-11-01DOI: 10.1016/S0743-1066(99)00067-9
Salvatore Ruggieri
In this paper, we investigate the decidability problem of logic program semantics and observables, focusing in particular on the least Herbrand model (or -semantics), the -semantics, and the -semantics. We introduce bounded logic programs, and show that they coincide with programs such that every ground query has finitely many SLD-refutations via any selection rule. In particular, bounded programs strictly include the well-studied class of acceptable logic programs. We show that the mentioned declarative semantics are decidable when considering acceptable programs and programs bounded by recursive level mappings. Interestingly, the decision procedures have direct implementations in the logic programming paradigm itself as Prolog meta-programs. We relate semantics decidability to program testing. In our terminology, the testing problem consists of checking whether or not the formal semantics of a program includes a given finite set of atoms. With this definition, semantics decidability and the testing problem are equivalent. The decision procedures are then recognized to be automatic tools for testing logic programs. The meta-programming approach reveals to be successful in modeling extensions such as arithmetic built-in's, negation, modular programming and some other declarative semantics. Also, we present some preliminary experimental results and an efficient compilation-oriented approach that overcome the overhead due to meta-programming.
{"title":"Decidability of logic program semantics and applications to testing","authors":"Salvatore Ruggieri","doi":"10.1016/S0743-1066(99)00067-9","DOIUrl":"10.1016/S0743-1066(99)00067-9","url":null,"abstract":"<div><p>In this paper, we investigate the decidability problem of logic program semantics and observables, focusing in particular on the least Herbrand model (or <span><math><mtext>M</mtext></math></span>-semantics), the <span><math><mtext>C</mtext></math></span>-semantics, and the <span><math><mtext>S</mtext></math></span>-semantics. We introduce <em>bounded logic programs</em>, and show that they coincide with programs such that every ground query has finitely many SLD-refutations via any selection rule. In particular, bounded programs strictly include the well-studied class of acceptable logic programs. We show that the mentioned declarative semantics are decidable when considering acceptable programs and programs bounded by recursive level mappings. Interestingly, the decision procedures have direct implementations in the logic programming paradigm itself as Prolog meta-programs. We relate semantics decidability to program testing. In our terminology, the testing problem consists of checking whether or not the formal semantics of a program includes a given <em>finite</em> set of atoms. With this definition, semantics decidability and the testing problem are equivalent. The decision procedures are then recognized to be automatic tools for testing logic programs. The meta-programming approach reveals to be successful in modeling extensions such as arithmetic built-in's, negation, modular programming and some other declarative semantics. Also, we present some preliminary experimental results and an efficient compilation-oriented approach that overcome the overhead due to meta-programming.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"46 1","pages":"Pages 103-137"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00067-9","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122624494","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-11-01DOI: 10.1016/S0743-1066(99)00066-7
Rachel Ben-Eliyahu-Zohary , Luigi Palopoli , Victoria Zemlyanker
Sometimes it is more natural to express knowledge in disjunctive Datalog rather than in ordinary Datalog. Several highly complex variants of disjunctive Datalog have been proposed in the past and their expressive power has been studied. In this paper we investigate tractable fragments of disjunctive Datalog. Algorithms are presented to answer queries defined using these fragments and their complexity analyzed. Furthermore, the expressive power of these tractable subsets is studied. The most expressive of the languages considered here is shown to express, in some sense explained in the paper, all polynomial time queries. This is the first identified fragment of disjunctive Datalog with this property.
{"title":"More on tractable disjunctive Datalog","authors":"Rachel Ben-Eliyahu-Zohary , Luigi Palopoli , Victoria Zemlyanker","doi":"10.1016/S0743-1066(99)00066-7","DOIUrl":"10.1016/S0743-1066(99)00066-7","url":null,"abstract":"<div><p>Sometimes it is more natural to express knowledge in disjunctive Datalog rather than in ordinary Datalog. Several highly complex variants of disjunctive Datalog have been proposed in the past and their expressive power has been studied. In this paper we investigate <em>tractable</em> fragments of disjunctive Datalog. Algorithms are presented to answer queries defined using these fragments and their complexity analyzed. Furthermore, the expressive power of these tractable subsets is studied. The most expressive of the languages considered here is shown to express, in some sense explained in the paper, all polynomial time queries. This is the first identified fragment of disjunctive Datalog with this property.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"46 1","pages":"Pages 61-101"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00066-7","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117275665","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-09-01DOI: 10.1016/S0743-1066(99)00063-1
Jianyang Zhou
The design, implementation and application of a natural constraint language NCL are presented. At the solver level, to support the solving of a large scope of combinatorial problems, a rich set of conventional constraints is defined within a constraint framework that strongly combines Boolean logic, integer constraints and set reasoning over finite domains. The basic computation model for solving conjunctions of elementary constraints with possible existential and universal quantifications is described using rewrite rules. At the language level, to upgrade the expressive power, a natural syntax (context-dependent), which completely adopts mathematical notations, is designed. To enhance the constraint handling capability, quantification, logical switch, referencing mechanism, global/dynamic constraints, meta expressions, multi-criteria optimization, and search specifications are cooperatively introduced in a single constraint system. Compared to existing modeling languages, a strong feature of NCL is: Data, constraints and control are fully integrated and are clearly separable. Especially, though NCL deals with several data types such as Boolean, integer, set, index, reference, array and tuple, there is no need to declare data explicitly. This context-sensitive data typing makes NCL programs direct, concise and liberal.
{"title":"Introduction to the constraint language NCL","authors":"Jianyang Zhou","doi":"10.1016/S0743-1066(99)00063-1","DOIUrl":"10.1016/S0743-1066(99)00063-1","url":null,"abstract":"<div><p>The design, implementation and application of a natural constraint language <span>NCL</span> <!-->are presented. At the solver level, to support the solving of a large scope of combinatorial problems, a rich set of conventional constraints is defined within a constraint framework that strongly combines Boolean logic, integer constraints and set reasoning over finite domains. The basic computation model for solving conjunctions of elementary constraints with possible existential and universal quantifications is described using rewrite rules. At the language level, to upgrade the expressive power, a natural syntax (context-dependent), which completely adopts mathematical notations, is designed. To enhance the constraint handling capability, quantification, logical switch, referencing mechanism, global/dynamic constraints, meta expressions, multi-criteria optimization, and search specifications are cooperatively introduced in a single constraint system. Compared to existing modeling languages, a strong feature of <span>NCL</span> <!-->is: Data, constraints and control are fully integrated and are clearly separable. Especially, though <span>NCL</span> <!-->deals with several data types such as Boolean, integer, set, index, reference, array and tuple, there is no need to declare data explicitly. This context-sensitive data typing makes <span>NCL</span> <!-->programs direct, concise and liberal.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"45 1","pages":"Pages 71-103"},"PeriodicalIF":0.0,"publicationDate":"2000-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00063-1","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122053202","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-09-01DOI: 10.1016/S0743-1066(00)00006-6
Andy Heaton , Muhamed Abo-Zaed , Michael Codish , Andy King
The domain of positive Boolean functions, Pos, is by now well established for the analysis of the variable dependencies that arise within logic programs. Analyses based on Pos that use binary decision diagrams (BDDs) have been shown to be efficient for a wide range of practical programs. However, independent of the representation, a Pos analysis can never come with any efficiency guarantees because of its potential exponential behaviour. This paper considers groundness analysis based on a simple subdomain of Pos and compares its precision with that of Pos.
{"title":"A simple polynomial groundness analysis for logic programs","authors":"Andy Heaton , Muhamed Abo-Zaed , Michael Codish , Andy King","doi":"10.1016/S0743-1066(00)00006-6","DOIUrl":"10.1016/S0743-1066(00)00006-6","url":null,"abstract":"<div><p>The domain of positive Boolean functions, <em>Pos</em>, is by now well established for the analysis of the variable dependencies that arise within logic programs. Analyses based on <em>Pos</em> that use binary decision diagrams (BDDs) have been shown to be efficient for a wide range of practical programs. However, independent of the representation, a <em>Pos</em> analysis can never come with any efficiency guarantees because of its potential exponential behaviour. This paper considers groundness analysis based on a simple subdomain of <em>Pos</em> and compares its precision with that of <em>Pos</em>.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"45 1","pages":"Pages 143-156"},"PeriodicalIF":0.0,"publicationDate":"2000-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(00)00006-6","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128913557","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}