Everything about Answer set programming
Programming paradigm focused on difficult search problems
Answer set programming (ASP) is a form of declarative programming oriented towards difficult search problems. It is based on the stable model semantics of logic programming. In ASP, search problems are reduced to computing stable models, and answer set solvers—programs for generating stable models—are used to perform search. The computational process employed in the design of many answer set solvers is an enhancement of the DPLL algorithm and, in principle, it always terminates. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Answer set programmingA 5-minute orientation
- Skim a recent paper: Model-based reasoning using answer set programmingInfluential work since 2022
- Pick up a classic book: The art of computer programmingThe most-reprinted book on the subject
- Read the landmark paper: Answer set programming at a glanceCited 684 times
- Go sideways: SLD resolutionA closely related topic
- Go sideways: Logic programmingA closely related topic
📖 Definitions
Noun A declarative, logic-based programming paradigm designed for solving complex combinatorial search and optimization problems.
🏆 Landmark papers (most cited)
Answer set programming at a glance
Answer set programming and plan generation
Applications of Answer Set Programming
Industrial Applications of Answer Set Programming
Constraint Answer Set Programming without Grounding
Integrating answer set programming and constraint logic programming
Semantic forgetting in answer set programming
Complex optimization in answer set programming
🆕 Influential since 2022
📚 Books worth reading
The art of computer programmingDonald Knuth · 1922
Java software solutionsLewis, John, John E. Lewis Ph. D. · 1997- 📕Decision Making HandbookJerry Ramonyai · 2021
TrophiesIsabel L. Beck · 2001
TrophiesAlma Flor Ada · 2001
You + mePeter Afflerbach, James Beers · 2000
You mean I'm not lazy, stupid or crazy?!Kate Kelly, Peggy Ramundo · 1993
TrophiesIsabel L. Beck · 1999
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- SLD resolution SLD resolution (Selective Linear Definite clause resolution) is the basic inference rule used in logic programming. It is a refinement of resolution that…
- Logic programming Logic programming is a programming, database, and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical…
- B-Prolog B-Prolog was a high-performance implementation of the standard Prolog language with several extended features including matching clauses, action rules…
- Declarative programming In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without fully describing its control flow…
- Admissible rule In logic, a rule of inference is admissible in a formal system if the set of theorems of the system does not change when that rule is added to the existing…
- Stable model semantics The concept of a stable model, or answer set, is used to define a declarative semantics for logic programs with negation as failure. This is one of several…
- Resolution (logic) In mathematical logic and automated theorem proving, resolution is a rule of inference leading to a sound and refutation-complete theorem-proving technique…
- Inhabited set In mathematics, a set A {\displaystyle A} is inhabited if there exists an element a ∈ A {\displaystyle a\in A} . In classical mathematics, the property…