Ricochet Robots Reloaded: A Case-Study in Multi-shot ASP Solving
Nonmonotonic reasoning is about drawing conclusions in the absence of (complete) information. Hence, whenever new information arrives, one may have to withdraw previously drawn conclusions. In fact, Answer Set Programming is nowadays regarded as the computational embodiment of nonmonotonic reasoning. However, traditional answer set solvers do not account for changing information. Rather they are designed as one-shot solvers that take a logic program and compute its stable models, basta! When new information arrives the program is extended and the solving process is started from scratch once more. Hence the dynamics giving rise to nonmonotonicity is not reflected by such solvers and left to the user. This shortcoming is addressed by multi-shot solvers that embrace the dynamicity of nonmonotonic reasoning by allowing a reactive procedure to loop on solving while acquiring changes in the problem specification.
In this paper, we provide a hands-on introduction to multi-shot solving with clingo 4 by modeling the popular board game of Ricochet Robots. Our particular focus lies on capturing the underlying turn based playing through the procedural-declarative interplay offered by the Python-ASP integration of clingo 4. From a technical perspective, we provide semantic underpinnings for multi-shot solving with clingo 4 by means of a simple stateful semantics along with operations reflecting clingo 4 functionalities.
KeywordsLogic Program Stable Model Operational Semantic Partial Assignment Input Language
Unable to display preview. Download preview PDF.
- 1.Bobrow, D. (ed.): Special issue on nonmonotonic logic, vol. 13. Artificial Intelligence (1980)Google Scholar
- 2.Brewka, G.: Nonmonotonic Reasoning: From Theoretical Foundation to Efficient Computation. Dissertation, Universität Hamburg (1989), revised version appeared as: Cambridge Tracts in Theoretical Computer Science. Cambridge University Press (1990)Google Scholar
- 3.Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press (2003)Google Scholar
- 5.Butko, N., Lehmann, K., Ramenzoni, V.: Ricochet Robots — a case study for human complex problem solving. In: Proceedings of the Annual Santa Fe Institute Summer School on Complex Systems (CSSS 2005) (2005)Google Scholar
- 6.Engels, B., Kamphans, T.: On the complexity of Randolph’s robot game. Research Report 005, Institut für Informatik, Universität Bonn (2005)Google Scholar
- 8.Engels, B., Kamphans, T.: Randolph’s robot game is NP-complete? In: Proceedings of the Twenty-second European Workshop on Computational Geometry (EWCG 2006), pp. 157–160 (2006)Google Scholar
- 11.Gebser, M., Kaminski, R., Kaufmann, B., Schaub, T.: Clingo = ASP + control: Preliminary report. In: Leuschel, M., Schrijvers, T. (eds.) Technical Communications of the Thirtieth International Conference on Logic Programming (ICLP 2014). Theory and Practice of Logic Programming, Online Supplement (2014) see also arXiv:1405.3694v1 Google Scholar
- 12.Gebser, M., Kaminski, R., Kaufmann, B., Schaub, T.: Clingo = ASP + control: Extended report (2014), http://www.cs.uni-potsdam.de/wv/pdfformat/gekakasc14a.pdf
- 13.Eén, N., Sörensson, N.: Temporal induction by incremental SAT solving. Electronic Notes in Theoretical Computer Science 89(4) (2003)Google Scholar
- 15.Oikarinen, E., Janhunen, T.: Modular equivalence for normal logic programs. In: Brewka, G., Coradeschi, S., Perini, A., Traverso, P. (eds.) Proceedings of the Seventeenth European Conference on Artificial Intelligence (ECAI 2006), pp. 412–416. IOS Press (2006)Google Scholar
- 17.Gebser, M., Kaminski, R., Kaufmann, B., Ostrowski, M., Schaub, T., Thiele, S.: A user’s guide to gringo, clasp, clingo, and iclingo. (2010) http://sourceforge.net/projects/potassco/files/potassco_guide/2010-10-04/guide.pdf
- 18.Calimeri, F., Faber, W., Gebser, M., Ianni, G., Kaminski, R., Krennwallner, T., Leone, N., Ricca, F., Schaub, T.: ASP-Core-2: Input language format (2012), https://www.mat.unical.it/aspcomp2013/files/ASP-CORE-2.03b.pdf