A practitioner's guide to knowledge representation and reasoning using logic programming.
Cover Half-title Title Copyright Contents Preface 0.1 Brief description of the chapters Chapter 1: Declarative programming in AnsProlog* : introduction and preliminaries Chapter 2: Simple modules for declarative programming with answer sets Chapter 3: Principles and properties of declarative programming with answer sets Chapter 4: Declarative problem solving and reasoning in AnsProlog* Chapter 5: Reasoning about actions and planning in AnsProlog* Chapter 6: Complexity, expressiveness and other properties of AnsProlog* programs Chapter 7: Answer set computing algorithms Chapter 8: Query answering and answer set computing systems Chapter 9: Further extensions of and alternatives to AnsProlog* Appendices Web site 0.2 Using it as a textbook 0.3 Appreciation and thanks Chapter 1 Declarative programming in AnsProlog*: introduction and preliminaries 1.1 Motivation: Why AnsProlog*? 1.1.1 AnsProlog* vs PROLOG 1.1.2 AnsProlog* vs Logic programming 1.1.3 AnsProlog* vs Default logic 1.1.4 AnsProlog* vs Circumscription and classical logic 1.1.5 AnsProlog* as a knowledge representation language 1.1.6 AnsProlog* implementations: Both a specification and a programming language 1.1.7 Applications of AnsProlog* 1.2 Answer set frameworks and programs 1.2.1 AnsProlog* programs 1.2.2 AnsProlog* notations 1.3 Semantics of AnsProlog* programs 1.3.1 Answer sets of…programs Model theoretic characterization Iterated fixpoint characterization 1.3.2 Answer sets of AnsProlog and…programs 1.3.3 Answer sets of…programs 1.3.4 Answer sets of…programs 1.3.5 Query entailment 1.3.6 A sound approximation: the well-founded semantics 1.4 Database queries and AnsProlog* functions 1.4.1 Queries and inherent functions. 1.4.2 Parameters, values and literal functions 1.4.3 The signature functions 1.4.4 An AnsProlog* program being functional 1.5 Notes and references Chapter 2 Simple modules for declarative programming with answer sets 2.1 Declarative problem solving modules 2.1.1 Integrity constraints 2.1.2 Finite enumeration 2.1.3 General enumeration but at least one 2.1.4 Choice: general enumeration with exactly one 2.1.5 Constrained enumeration 2.1.6 Propositional satisfiability 2.1.7 Closed first-order queries in… 2.1.8 Checking satisfiability of universal quantified boolean formulas (QBFs) 2.1.9 Checking satisfiability of existential QBFs 2.1.10 Checking satisfiability of Universal-existential QBFs 2.1.11 Checking satisfiability of Existential-universal QBFs 2.1.12 Smallest, largest, and next in a linear ordering 2.1.13 Establishing linear ordering among a set of objects 2.1.14 Representing aggregates 2.1.15 Representing classical disjunction conclusions using AnsProlog 2.1.16 Representing exclusive-or conclusions using AnsProlog 2.1.17 Cardinality constraints 2.1.18 Weight constraints 2.2 Knowledge representation and reasoning modules 2.2.1 Normative statements, exceptions, weak exceptions, and direct contradictions: the tweety flies story 2.2.2 The frame problem and the Yale Turkey shoot 2.2.3 Systematic removal of Close World Assumption: an example 2.2.4 Reasoning about what is known and what is not 2.3 Notes and references Chapter 3 Principles and properties of declarative programming with answer sets 3.1 Basic notions and basic properties 3.1.1 Categorical and coherent programs 3.1.2 Relating answer sets and the program rules 3.1.3 Conservative extension 3.1.4 I/O specification of a program. 3.1.5 Compiling AnsProlog programs to classical logic: Clark's completion 3.2 Some AnsProlog* sub-classes and their basic properties 3.2.1 Stratification of AnsProlog programs 3.2.2 Stratification of…programs 3.2.3 Call-consistency 3.2.4 Local stratification and perfect model semantics 3.2.5 Acyclicity and tightness 3.2.6 Atom dependency graph and order-consistency 3.2.7 Signing 3.2.8 The relation between the AnsProlog sub-classes: a summary 3.2.9 Head cycle free…programs 3.3 Restricted monotonicity and signed AnsProlog* programs 3.3.1 Restricted monotonicity 3.3.2 Signed…programs and their properties 3.4 Analyzing AnsProlog* programs using 'splitting' 3.4.1 Splitting sets 3.4.2 Application of splitting Conservative extension Adding CWA rules 3.4.3 Splitting sequences 3.4.4 Applications of the splitting sequence theorem 3.5 Language independence and language tolerance 3.5.1 Adding sorts to answer set frameworks 3.5.2 Language independence 3.5.3 Language tolerance 3.5.4 When sorts can be ignored 3.6 Interpolating an AnsProlog program 3.6.1 The l-functions of…programs 3.6.2 Interpolation of an AnsProlog program and its properties 3.6.3 An algorithm for interpolating AnsProlog programs Interpolation of the Transitive Closure Program The Interpolation Algorithm 3.6.4 Properties of the transformation I 3.7 Building and refining programs from components: functional specifications and realization theorems 3.7.1 Functional specifications and lp-functions 3.7.2 The compositional and refinement operators 3.7.3 Realization theorem for incremental extension 3.7.4 Realization theorem for interpolation 3.7.5 Representing domain completion and realization of input opening 3.7.6 Realization theorem for input extension 3.8 Filter-abducible…programs. 3.8.1 Basic definitions: simple abduction and filtering 3.8.2 Abductive reasoning through filtering: semantic conditions 3.8.3 Sufficiency conditions for filter-abducibility of…programs 3.8.4 Necessary conditions for filter-abducibility 3.8.5 Weak abductive reasoning vs filtering 3.9 Equivalence of programs and semantics preserving transformations 3.9.1 Fold/Unfold transformations Substitutions and unifiers Folding and unfolding 3.9.2 Replacing disjunctions in the head of rules 3.9.3 From…and constraints 3.9.4 AnsProlog and mixed integer programming 3.9.5 Strongly equivalent AnsProlog* programs and the logic of here-and-there 3.9.6 Strong equivalence using propositional logic 3.9.7 Additional transformations and preservation of strong equivalence 3.10 Notes and references Chapter 4 Declarative problem solving and reasoning in AnsProlog* 4.1 Three well-known problem solving tasks 4.1.1 n-queens 4.1.2 Tile covering of boards with missing squares 4.1.3 Who let the zebra out? 4.2 Constraint satisfaction problems (CSPs) 4.2.1 n-queens as a CSP instance 4.2.2 Schur as a CSP instance 4.3 Dynamic constraint satisfaction problems (DCSPs) 4.3.1 Encoding DCSPs in AnsProlog 4.4 Combinatorial graph problems 4.4.1 K-colorability 4.4.2 Hamiltonian circuit 4.4.3 k-clique 4.4.4 Vertex cover 4.4.5 Feedback vertex set 4.4.6 Kernel 4.4.7 Exercise 4.5 Prioritized defaults and inheritance hierarchies 4.5.1 The language of prioritized defaults 4.5.2 The axioms for reasoning with prioritized defaults 4.5.3 Modeling inheritance hierarchies using prioritized defaults 4.5.4 Exercise 4.6 Notes and references Chapter 5 Reasoning about actions and planning in AnsProlog* 5.1 Reasoning in the action description language A 5.1.1 The language A. 5.1.2 Temporal projection and its acyclicity in an AnsProlog formulation… 5.1.3 Temporal projection in an…formulation… 5.1.4 Temporal projection in…in the presence of incompleteness… 5.1.5 Sound reasoning with noninitial observations in… 5.1.6 Assimilating observations using enumeration and constraints… 5.1.7 Ignoring sorts through language tolerance 5.1.8 Filter-abducibility of… 5.1.9 An alternative formulation of temporal projection in… 5.1.10 Modifying… 5.2 Reasoning about actions and plan verification in richer domains 5.2.1 Allowing executability conditions 5.2.2 Allowing static causal propositions 5.2.3 Reasoning about parallel execution of actions 5.3 Answer set planning examples in extensions of A and STRIPS 5.3.1 A blocks world example in PDDL 5.3.2 Simple blocks world in… 5.3.3 Simple blocks world with domain constraints 5.3.4 Adding defined fluents, qualification, and ramification to STRIPS 5.3.5 Blocks world with conditional effects 5.3.6 Navigating a downtown with one-way streets 5.3.7 Downtown navigation: planning while driving 5.4 Approximate planning when initial state is incomplete 5.5 Planning with procedural constraints 5.6 Explaining observations through action occurrences and application to diagnosis 5.6.1 Specifying and reasoning with histories 5.6.2 From reasoning with histories to agents in a dynamic domain 5.6.3 Explaining observations 5.6.4 Application to diagnosis 5.7 Case study: Planning and plan correctness in a space shuttle reaction control system 5.8 Notes and references Chapter 6 Complexity, expressiveness, and other properties of AnsProlog* programs 6.1 Complexity and expressiveness 6.1.1 The polynomial hierarchy 6.1.2 Polynomial and exponential classes 6.1.3 Arithmetical and analytical hierarchy. 6.1.4 Complexity and expressiveness of languages.
Description based on publisher supplied metadata and other sources.
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2021. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Print version: Baral, Chitta Knowledge Representation, Reasoning and Declarative Problem Solving