Special Issue on Answer Set Programming
Special Issue on Answer Set Programming
复制标题
答案集编程特刊
DOI:
10.1007/s13218-018-0554-8
复制
发表时间:
2011
期刊:
影响因子:
--
通讯作者:
S. Woltran
中科院分区:
文献类型:
--
作者:
M. Balduccini;S. Woltran
“What is Answer Set Programming? And what can it do for me?” might have been the questions you had in mind when taking up this special issue. Let’s start with your first question. Answer Set Programming, or ASP for short, is a rule-based formalism for modeling and solving knowledgeintense combinatorial (optimization) problems. What makes ASP attractive is its combination of a declarative modeling language with highly effective solving engines. This allows you to concentrate on specifying—rather than programming the algorithm for solving—a problem at hand. Historically, ASP has its roots in deductive databases, logic programming, and non-monotonic reasoning; its solving engines draw on the same technology as solvers for satisfiability testing. Given this origin, ASP is tailored to support closed as well as open world reasoning, which makes it predestined for knowledge representation and reasoning tasks. The answer to your second question boils more or less down to the availability of off-the-shelf tools for knowledge representation and reasoning. You may use them to solve your own combinatorial (optimization) problems or to teach various forms of reasoning in your courses. What appeals to many users is the ease of modeling and the resulting transparency and flexibility of the problem encoding. Given that (most) such encodings are then effectively solved by ASP systems is yet another asset. Finally, it is interesting to observe that computer scientists often have a harder time with ASP than laymen, simply because they are not used to leave the control of their program to a computer. And by now the question “What’s the catch?” may have formed in your mind. From an academic perspective, ASP technology is rather robust and mature. The balancing act stems from the fact that it is still an infant when it comes to industrial use. Indeed, ASP is fully declarative in decoupling the specification of a problem from the execution of the underlying solving algorithm. Nonetheless, two equivalent declarative specifications may yet lead to a quite different solving performance. This is actually where still a blank field of research lies, namely, in automatic source code optimization. Another such open field is broadly speaking software engineering, where new ideas are needed given that ASP fully abstracts from an execution model. This makes, for instance, most traditional debugging techniques, like tracing, inapplicable.So, what’s in the box? Our special issue aims at giving you an overview on what ASP is about and where it can be applied. Apart from our personal review of ASP and its current role, we gathered a series of technical papers: The issue starts with an article introducing the logical foundations of ASP, which are quite different from the original fixpoint characterization. The next article is dedicated to a particular feature of ASP’s modeling language, namely, aggregates. After these ASP-centered contributions, the next paper elaborates upon the relation to neighboring solving paradigms. The following bulk of articles is devoted to the application of ASP in various domains, viz. agent programming, robotics, linguistics, and bioinformatics. The final contribution surveys the industrial impact of ASP. This technical row of papers is complemented by interviews with two contemporary witnesses of ASP’s development over the last decades, namely, Vladimir Lifschitz and Gerhard Brewka. Talking to Vladimir as the co-inventor of ASP provided us with first hand insights into the motivations and interesting peripheral phenomena during the creation of ASP. Similarly, Gerd was at the center of the non-monotonic reasoning community in Europe and fostered its …