A Tutorial at IJCAI'15
Martin Gebser, Roland Kaminski, Javier Romero, and Torsten Schaub
University of Potsdam, Germany
This full-day tutorial presents a practical introduction to Answer Set Programming (ASP), aiming at using ASP languages and systems for solving application problems. Starting from the essential formal foundations, it introduces ASP's modeling language and methodology, grounding and solving technology, and finally details control techniques needed for embedding ASP in complex software environments.
What makes this tutorial different is its focus on putting ASP at work. This comprises a good understanding of ASP technology and systems as well as basic skills in ASP's declarative modeling, imperative control (via dedicated APIs), as well as their interplay in addressing complex reasoning processes.
The tutorial aims at acquainting the participant with ASP's modeling and solving methodology, enabling her/him to conduct independent problem solving using ASP systems (as standalone systems as well as through dedicated APIs). To this end, the tutorial starts with an introduction to the essential formal concepts of ASP, needed for understanding its semantics and solving technology. In fact, ASP solving rests on two major components: A grounder turning specifications in ASP's modeling language into propositional logic programs and a solver computing a requested number of answer sets of the program. Building on the formal concepts, we provide a characterization of ASP's inference schemes and map them into algorithms relying on advanced Boolean Constraint technology. We illustrate this technology through the award-winning ASP solver clasp 3. We then detail ASP's grounding techniques (along with the underlying deductive database concepts) and describe the major algorithms used in the ASP grounder gringo 4. This is accompanied with an introduction to the new ASP language standard. The remainder of the tutorial is dedicated to using ASP in conjunction with Python for modeling complex reasoning scenarios. This involves an introduction to the API of clingo 4, an ASP system extending clasp and gringo with control capacities expressible in Python (and Lua). We illustrate this by developing sample gaming agent programs and describe more sophisticated usages in planning, robotics and preference handling. All involved ASP systems are freely available from http://potassco.sourceforge.net.
Roughly, the first part of the tutorial provides the theoretical and practical foundations necessary for beginners with ASP, while the second part deals with advanced topics, as indicated above.
ASP provides a declarative tool for modeling various combinatorial (optimization) problems typical to Knowledge Representation and Reasoning in particular and AI in general. The unique pairing of declarativeness and performance allows for concentrating on an actual problem, rather than a smart way of implementing it. The ASP approach is not only highly suitable for the practitioner solving an AI problem at hand but also for disseminating many basic AI techniques through teaching their (executable) formalization in ASP.
This document was generated using the LaTeX2HTML translator Version 2008 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 summary
The translation was initiated by Torsten Schaub on 2015-06-18