Book contents
- Frontmatter
- Contents
- Preface
- 1 Declarative programming in AnsProlog*: introduction and preliminaries
- 2 Simple modules for declarative programming with answer sets
- 3 Principles and properties of declarative programming with answer sets
- 4 Declarative problem solving and reasoning in AnsProlog*
- 5 Reasoning about actions and planning in AnsProlog*
- 6 Complexity, expressiveness, and other properties of AnsProlog* programs
- 7 Answer set computing algorithms
- 8 Query answering and answer set computing systems
- 9 Further extensions of and alternatives to AnsProlog*
- Appendix A Ordinals, lattices, and fixpoint theory
- Appendix B Turing machines
- Bibliography
- Index of notation
- Index of terms
2 - Simple modules for declarative programming with answer sets
Published online by Cambridge University Press: 13 August 2009
- Frontmatter
- Contents
- Preface
- 1 Declarative programming in AnsProlog*: introduction and preliminaries
- 2 Simple modules for declarative programming with answer sets
- 3 Principles and properties of declarative programming with answer sets
- 4 Declarative problem solving and reasoning in AnsProlog*
- 5 Reasoning about actions and planning in AnsProlog*
- 6 Complexity, expressiveness, and other properties of AnsProlog* programs
- 7 Answer set computing algorithms
- 8 Query answering and answer set computing systems
- 9 Further extensions of and alternatives to AnsProlog*
- Appendix A Ordinals, lattices, and fixpoint theory
- Appendix B Turing machines
- Bibliography
- Index of notation
- Index of terms
Summary
In this chapter we present several small AnsProlog* programs corresponding to several declarative problem solving modules or knowledge representation and reasoning aspects. Although in general we may have intermingling of the declarative problem solving, and the knowledge representation and reasoning aspects, they can be differentiated as follows.
Normally a problem solving task is to find solutions of a problem. A declarative way to do that is to declaratively enumerate the possible solutions and the tests such that the answer sets of the resulting program correspond to the solutions of the problem. The declarative problem solving modules that we consider in this chapter include modules that enforce simple constraints, modules that enumerate interpretations with respect to a set of atoms, modules that uniquely choose from a set of possibilities, modules that encode propositional satisfiability, modules that represent closed first-order queries, modules that check satisfiability of quantified boolean formulas with up to two quantifiers, modules that assign a linear ordering between a set of objects, modules that can represent various aggregations of facts (such as minimization, maximization, sum and average), modules that encode classical disjunction conclusions, modules that encode exclusive-or conclusions, and modules that encode cardinality and weight constraints.
By knowledge representation and reasoning aspects we mean representing particular benchmark aspects of nonmonotonic and common-sense reasoning that we want to be encoded by AnsProlog* programs.
- Type
- Chapter
- Information
- Publisher: Cambridge University PressPrint publication year: 2003