Winning Snake: Design Choices in Multi-Shot ASP
Abstract
Answer set programming is a well-understood and established problem-solving and knowledge representation paradigm. It has become more prominent amongst a wider audience due to its multiple applications in science and industry. The constant development of advanced programming and modeling techniques extends the toolset for developers and users regularly. This paper demonstrates different techniques to reuse logic program parts (multi-shot) by solving the arcade game snake. This game is particularly interesting because a victory can be assured by solving the underlying NP-hard problem of Hamiltonian Cycles. We will demonstrate five hands-on implementations in clingo and compare their performance in an empirical evaluation. In addition, our implementation utilizes clingraph to generate a simple yet informative image representation of the game's progress.
- Publication:
-
arXiv e-prints
- Pub Date:
- August 2024
- DOI:
- 10.48550/arXiv.2408.08150
- arXiv:
- arXiv:2408.08150
- Bibcode:
- 2024arXiv240808150B
- Keywords:
-
- Computer Science - Artificial Intelligence
- E-Print:
- 17 pages, 3 figures, to appear in Theory and Practice of Logic Programming (TPLP), Proceedings of ICLP 2024