With the technology of the time, Kowalski's seminal 1974 paper Predicate Logic as a Programming Language was a breakthrough for the use of logic in computer science. It introduced two fundamental ideas: on the declarative side, the use of the Horn clause logic fragment of classical logic, which was soon extended with negation as failure, on the procedural side the procedural interpretation which made it possible to write algorithms in the formalism.Since then, strong progress was made both on the declarative understanding of the logic programming formalism and in automated reasoning technologies, particularly in SAT solving, Constraint Programming and Answer Set Programming. This has paved the way for the development of an extension of logic programming that embodies a more pure view of logic as a modelling language and its role for problem solving.In this chapter, we present the IDP language and system. The language is essentially classical logic extended with one of logic programmings most important contributions to knowledge representation: the representation of complex definitions as rule sets under wellfounded semantics. The system is a knowledge base system: a system in which complex declarative information is stored in a knowledge base which can be used to solve different computational problems by applying multiple forms of inference. In this view, theories are declarative modellings, bags of information, i.e., descriptions of possible states of affairs. They are neither procedures nor descriptions of computational problems. As such, the IDP language and system preserve the fundamental idea of a declarative reading of logic programs, while they break with the fundamental idea of the procedural interpretation of logic programs.
This paper provides a gentle introduction to problem-solving with the IDP3 system. The core of IDP3 is a finite model generator that supports first-order logic enriched with types, inductive definitions, aggregates and partial functions. It offers its users a modeling language that is a slight extension of predicate logic and allows them to solve a wide range of search problems. Apart from a small introductory example, applications are selected from problems that arose within machine learning and data mining research. These research areas have recently shown a strong interest in declarative modeling and constraint-solving as opposed to algorithmic approaches. The paper illustrates that the IDP3 system can be a valuable tool for researchers with such an interest. The first problem is in the domain of stemmatology, a domain of philology concerned with the relationship between surviving variant versions of text. The second problem is about a somewhat related problem within biology where phylogenetic trees are used to represent the evolution of species. The third and final problem concerns the classical problem of learning a minimal automaton consistent with a given set of strings. For this last problem, we show that the performance of our solution comes very close to that of the state-of-the art solution. For each of these applications, we analyze the problem, illustrate the development of a logic-based model and explore how alternatives can affect the performance.
Finding satisfying assignments for the variables involved in a set of constraints can be cast as a (bounded) model generation problem: search for (bounded) models of a theory in some logic. The state-of-the-art approach for bounded model generation for rich knowledge representation languages like Answer Set Programming (ASP) and FO(·) and a CSP modeling language such as Zinc, is ground-and-solve: reduce the theory to a ground or propositional one and apply a search algorithm to the resulting theory.An important bottleneck is the blow-up of the size of the theory caused by the grounding phase. Lazily grounding the theory during search is a way to overcome this bottleneck.We present a theoretical framework and an implementation in the context of the FO(·) knowledge representation language. Instead of grounding all parts of a theory, justications are derived for some parts of it. Given a partial assignment for the grounded part of the theory and valid justications for the formulas of the non-grounded part, the justications provide a recipe to construct a complete assignment that satises the non-grounded part. When a justication for a particular formula becomes invalid during search, a new one is derived; if that fails, the formula is split in a part to be grounded and a part that can be justied. Experimental results illustrate the power and generality of this approach. IntroductionThe world is lled with combinatorial problems. These include important combinatorial optimization tasks such as planning, scheduling and rostering, combinatorics problems such as extremal graph theory, and countless puzzles and games. Solving combinatorial problems is hard, and all the methods we know to tackle them involve some kind of search.Various declarative paradigms have been developed to solve such problems. In such approaches, objects and attributes that are searched for are represented by symbols, and constraints to be satised by those objects are represented as expressions over these symbols c 2015 AI Access Foundation. All rights reserved.De Cat, Denecker, Stuckey & Bruynooghe in a declarative language. Solvers then search for values for these symbols that satisfy the constraints. This idea is found in the elds of Constraint Programming (CP) (Apt, 2003), ASP (Marek & Truszczy«ski, 1999), SAT, Mixed Integer Programming (MIP), etc. In the terminology of logic, the declarative method amounts to expressing the desired properties of a problem class by sentences in a logical theory. The data of a particular problem instance corresponds naturally to a partial interpretation (or structure). The solving process is to apply model generation, or more specically model expansion (Mitchell & Ternovska, 2005), the task of nding a structure that expands the input partial structure and satises the theory. The resulting structure is a solution to the problem. Model generation/expansion, studied for example in the eld of Knowledge Representation (KR) (Baral, 2003), is thus analogous to the task of solving constraint satisfaction problems...
We introduce fixpoint definitions, a rule-based reformulation of fixpoint constructs. The logic FO(FD), an extension of classical logic with fixpoint definitions, is defined. We illustrate the relation between FO(FD) and FO(ID), which is developed as an integration of two knowledge representation paradigms. The satisfiability problem for FO(FD) is investigated by first reducing FO(FD) to difference logic and then using solvers for difference logic. These reductions are evaluated in the computation of models for FO(FD) theories representing fairness conditions and we provide potential applications of FO(FD).
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.