{"title":"Solution Enumeration by Optimality in Answer Set Programming","authors":"J. Pajunen, T. Janhunen","doi":"10.1017/S1471068421000375","DOIUrl":"https://doi.org/10.1017/S1471068421000375","url":null,"abstract":"\u0000 Given a combinatorial search problem, it may be highly useful to enumerate its (all) solutions besides just finding one solution, or showing that none exists. The same can be stated about optimal solutions if an objective function is provided. This work goes beyond the bare enumeration of optimal solutions and addresses the computational task of solution enumeration by optimality (SEO). This task is studied in the context of answer set programming (ASP) where (optimal) solutions of a problem are captured with the answer sets of a logic program encoding the problem. Existing answer set solvers already support the enumeration of all (optimal) answer sets. However, in this work, we generalize the enumeration of optimal answer sets beyond strictly optimal ones, giving rise to the idea of answer set enumeration in the order of optimality (ASEO). This approach is applicable up to the best k answer sets or in an unlimited setting, which amounts to a process of sorting answer sets based on the objective function. As the main contribution of this work, we present the first general algorithms for the aforementioned tasks of answer set enumeration. Moreover, we illustrate the potential use cases of ASEO. First, we study how efficiently access to the next-best solutions can be achieved in a number of optimization problems that have been formalized and solved in ASP. Second, we show that ASEO provides us with an effective sampling technique for Bayesian networks.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"2 1","pages":"750-767"},"PeriodicalIF":1.4,"publicationDate":"2021-08-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76302885","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Elena Bellodi, M. Gavanelli, Riccardo Zese, E. Lamma, Fabrizio Riguzzi
{"title":"Nonground Abductive Logic Programming with Probabilistic Integrity Constraints","authors":"Elena Bellodi, M. Gavanelli, Riccardo Zese, E. Lamma, Fabrizio Riguzzi","doi":"10.1017/S1471068421000417","DOIUrl":"https://doi.org/10.1017/S1471068421000417","url":null,"abstract":"Abstract Uncertain information is being taken into account in an increasing number of application fields. In the meantime, abduction has been proved a powerful tool for handling hypothetical reasoning and incomplete knowledge. Probabilistic logical models are a suitable framework to handle uncertain information, and in the last decade many probabilistic logical languages have been proposed, as well as inference and learning systems for them. In the realm of Abductive Logic Programming (ALP), a variety of proof procedures have been defined as well. In this paper, we consider a richer logic language, coping with probabilistic abduction with variables. In particular, we consider an ALP program enriched with integrity constraints à la IFF, possibly annotated with a probability value. We first present the overall abductive language and its semantics according to the Distribution Semantics. We then introduce a proof procedure, obtained by extending one previously presented, and prove its soundness and completeness.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"21 1","pages":"557 - 574"},"PeriodicalIF":1.4,"publicationDate":"2021-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"42681636","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Utilizing Treewidth for Quantitative Reasoning on Epistemic Logic Programs","authors":"Viktor Besin, Markus Hecher, S. Woltran","doi":"10.1017/S1471068421000399","DOIUrl":"https://doi.org/10.1017/S1471068421000399","url":null,"abstract":"Abstract Extending the popular answer set programming paradigm by introspective reasoning capacities has received increasing interest within the last years. Particular attention is given to the formalism of epistemic logic programs (ELPs) where standard rules are equipped with modal operators which allow to express conditions on literals for being known or possible, that is, contained in all or some answer sets, respectively. ELPs thus deliver multiple collections of answer sets, known as world views. Employing ELPs for reasoning problems so far has mainly been restricted to standard decision problems (complexity analysis) and enumeration (development of systems) of world views. In this paper, we take a next step and contribute to epistemic logic programming in two ways: First, we establish quantitative reasoning for ELPs, where the acceptance of a certain set of literals depends on the number (proportion) of world views that are compatible with the set. Second, we present a novel system that is capable of efficiently solving the underlying counting problems required to answer such quantitative reasoning problems. Our system exploits the graph-based measure treewidth and works by iteratively finding and refining (graph) abstractions of an ELP program. On top of these abstractions, we apply dynamic programming that is combined with utilizing existing search-based solvers like (e)clingo for hard combinatorial subproblems that appear during solving. It turns out that our approach is competitive with existing systems that were introduced recently.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"21 1","pages":"575 - 592"},"PeriodicalIF":1.4,"publicationDate":"2021-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49615796","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Bishoksan Kafle, G. Gange, Peter James Stuckey, P. Schachte, H. Søndergaard
{"title":"Transformation-Enabled Precondition Inference","authors":"Bishoksan Kafle, G. Gange, Peter James Stuckey, P. Schachte, H. Søndergaard","doi":"10.1017/S1471068421000272","DOIUrl":"https://doi.org/10.1017/S1471068421000272","url":null,"abstract":"\u0000 Precondition inference is a non-trivial problem with important applications in program analysis and verification. We present a novel iterative method for automatically deriving preconditions for the safety and unsafety of programs. Each iteration maintains over-approximations of the set of safe and unsafe initial states, which are used to partition the program’s initial states into those known to be safe, known to be unsafe and unknown. We then construct revised programs with those unknown initial states and iterate the procedure until the approximations are disjoint or some termination criteria are met. An experimental evaluation of the method on a set of software verification benchmarks shows that it can infer precise preconditions (sometimes optimal) that are not possible using previous methods.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"69 1","pages":"700-716"},"PeriodicalIF":1.4,"publicationDate":"2021-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79464963","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Reasoning on Multirelational Contextual Hierarchies via Answer Set Programming with Algebraic Measures","authors":"Loris Bozzato, Thomas Eiter, Rafael Kiesel","doi":"10.1017/S1471068421000284","DOIUrl":"https://doi.org/10.1017/S1471068421000284","url":null,"abstract":"Abstract Dealing with context-dependent knowledge has led to different formalizations of the notion of context. Among them is the Contextualized Knowledge Repository (CKR) framework, which is rooted in description logics but links on the reasoning side strongly to logic programs and Answer Set Programming (ASP) in particular. The CKR framework caters for reasoning with defeasible axioms and exceptions in contexts, which was extended to knowledge inheritance across contexts in a coverage (specificity) hierarchy. However, the approach supports only this single type of contextual relation and the reasoning procedures work only for restricted hierarchies, due to nontrivial issues with model preference under exceptions. In this paper, we overcome these limitations and present a generalization of CKR hierarchies to multiple contextual relations, along with their interpretation of defeasible axioms and preference. To support reasoning, we use ASP with algebraic measures, which is a recent extension of ASP with weighted formulas over semirings that allows one to associate quantities with interpretations depending on the truth values of propositional atoms. Notably, we show that for a relevant fragment of CKR hierarchies with multiple contextual relations, query answering can be realized with the popular asprin framework. The algebraic measures approach is more powerful and enables, for example, reasoning with epistemic queries over CKRs, which opens interesting perspectives for the use of quantitative ASP extensions in other applications.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"21 1","pages":"593 - 609"},"PeriodicalIF":1.4,"publicationDate":"2021-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44286029","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Optimizing Probabilities in Probabilistic Logic Programs","authors":"Damiano Azzolini, Fabrizio Riguzzi","doi":"10.1017/S1471068421000260","DOIUrl":"https://doi.org/10.1017/S1471068421000260","url":null,"abstract":"Abstract Probabilistic logic programming is an effective formalism for encoding problems characterized by uncertainty. Some of these problems may require the optimization of probability values subject to constraints among probability distributions of random variables. Here, we introduce a new class of probabilistic logic programs, namely probabilistic optimizable logic programs, and we provide an effective algorithm to find the best assignment to probabilities of random variables, such that a set of constraints is satisfied and an objective function is optimized.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"21 1","pages":"543 - 556"},"PeriodicalIF":1.4,"publicationDate":"2021-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"45883536","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Francesco Calimeri, M. Manna, Elena Mastria, Maria Concetta Morelli, S. Perri, J. Zangari
{"title":"I-DLV-sr: A Stream Reasoning System based on I-DLV","authors":"Francesco Calimeri, M. Manna, Elena Mastria, Maria Concetta Morelli, S. Perri, J. Zangari","doi":"10.1017/S147106842100034X","DOIUrl":"https://doi.org/10.1017/S147106842100034X","url":null,"abstract":"Abstract We introduce a novel logic-based system for reasoning over data streams, which relies on a framework enabling a tight, fine-tuned interaction between Apache Flink and the $${{mathcal I}^2}$$ -DLV system. The architecture allows to take advantage from both the powerful distributed stream processing capabilities of Flink and the incremental reasoning capabilities of $${{mathcal I}^2}$$ -DLV, based on overgrounding techniques. Besides the system architecture, we illustrate the supported input language and its modeling capabilities, and discuss the results of an experimental activity aimed at assessing the viability of the approach.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"21 1","pages":"610 - 628"},"PeriodicalIF":1.4,"publicationDate":"2021-08-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47173660","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
E. D. Angelis, F. Fioravanti, J. Gallagher, M. Hermenegildo, A. Pettorossi, M. Proietti
{"title":"Analysis and Transformation of Constrained Horn Clauses for Program Verification","authors":"E. D. Angelis, F. Fioravanti, J. Gallagher, M. Hermenegildo, A. Pettorossi, M. Proietti","doi":"10.1017/s1471068421000211","DOIUrl":"https://doi.org/10.1017/s1471068421000211","url":null,"abstract":"\u0000 This paper surveys recent work on applying analysis and transformation techniques that originate in the field of constraint logic programming (CLP) to the problem of verifying software systems. We present specialization-based techniques for translating verification problems for different programming languages, and in general software systems, into satisfiability problems for constrained Horn clauses (CHCs), a term that has become popular in the verification field to refer to CLP programs. Then, we describe static analysis techniques for CHCs that may be used for inferring relevant program properties, such as loop invariants. We also give an overview of some transformation techniques based on specialization and fold/unfold rules, which are useful for improving the effectiveness of CHC satisfiability tools. Finally, we discuss future developments in applying these techniques.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"4 1","pages":"974-1042"},"PeriodicalIF":1.4,"publicationDate":"2021-08-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76351517","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
F. Baader, P. Koopmann, Friedrich Michel, Anni-Yasmin Turhan, Benjamin Zarrieß
{"title":"Efficient TBox Reasoning with Value Restrictions using the ℱℒ0wer reasoner","authors":"F. Baader, P. Koopmann, Friedrich Michel, Anni-Yasmin Turhan, Benjamin Zarrieß","doi":"10.1017/s1471068421000466","DOIUrl":"https://doi.org/10.1017/s1471068421000466","url":null,"abstract":"\u0000 The inexpressive Description Logic (DL) \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_0}$\u0000\u0000 \u0000 , which has conjunction and value restriction as its only concept constructors, had fallen into disrepute when it turned out that reasoning in \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_0}$\u0000\u0000 \u0000 w.r.t. general TBoxes is ExpTime-complete, that is, as hard as in the considerably more expressive logic \u0000 \u0000 \u0000 \u0000${cal A}{cal L}{cal C}$\u0000\u0000 \u0000 . In this paper, we rehabilitate \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_0}$\u0000\u0000 \u0000 by presenting a dedicated subsumption algorithm for \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_0}$\u0000\u0000 \u0000 , which is much simpler than the tableau-based algorithms employed by highly optimized DL reasoners. Our experiments show that the performance of our novel algorithm, as prototypically implemented in our \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_0}$\u0000\u0000 \u0000 wer reasoner, compares very well with that of the highly optimized reasoners. \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_0}$\u0000\u0000 \u0000 wer can also deal with ontologies written in the extension \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_ bot }$\u0000\u0000 \u0000 of \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_0}$\u0000\u0000 \u0000 with the top and the bottom concept by employing a polynomial-time reduction, shown in this paper, which eliminates top and bottom. We also investigate the complexity of reasoning in DLs related to the Horn-fragments of \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_0}$\u0000\u0000 \u0000 and \u0000 \u0000 \u0000 \u0000${cal F}{{cal L}_ bot }$\u0000\u0000 \u0000 .","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"15 1","pages":"162-192"},"PeriodicalIF":1.4,"publicationDate":"2021-07-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86796754","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Constraint Answer Set Programming: Integrational and Translational (or SMT-based) Approaches","authors":"Y. Lierler","doi":"10.1017/s1471068421000478","DOIUrl":"https://doi.org/10.1017/s1471068421000478","url":null,"abstract":"\u0000 Constraint answer set programming or CASP, for short, is a hybrid approach in automated reasoning putting together the advances of distinct research areas such as answer set programming, constraint processing, and satisfiability modulo theories. CASP demonstrates promising results, including the development of a multitude of solvers: acsolver, clingcon, ezcsp, idp, inca, dingo, mingo, aspmt2smt, clingo[l,dl], and ezsmt. It opens new horizons for declarative programming applications such as solving complex train scheduling problems. Systems designed to find solutions to constraint answer set programs can be grouped according to their construction into, what we call, integrational or translational approaches. The focus of this paper is an overview of the key ingredients of the design of constraint answer set solvers drawing distinctions and parallels between integrational and translational approaches. The paper also provides a glimpse at the kind of programs its users develop by utilizing a CASP encoding of Traveling Salesman problem for illustration. In addition, we place the CASP technology on the map among its automated reasoning peers as well as discuss future possibilities for the development of CASP.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"26 1","pages":"195-225"},"PeriodicalIF":1.4,"publicationDate":"2021-07-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81611771","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}