Modeling and solving planning problems in tabled logic programming: Experience from the Cave Diving domain
Roman Bartak, Lukas Chrpa, Agostino Dovier, Jindrich Vodrazka, Neng-Fa Zhou
Action planning deals with the problem of finding a sequence of actions transferring the world from a given state to a desired (goal) state. This problem is important in various areas such as robotics, manufacturing, transportation, autonomic computing, computer games, etc. Action planning is a form of a reachability problem in a huge state space so it is critical to efficiently represent world states and actions (transitions between states).
In this paper we present a modeling framework for planning problems based on tabled logic programming that exploits a planner module in the Picat language. In particular, we suggest techniques for structured representation of states and for including control knowledge in the description of actions.
We demonstrate these techniques using the complex planning domain Cave Diving from the International Planning Competition. Experimentally, we show properties of the model for different search approaches and we compare the performance of the proposed approach with state-of-the-art automated planners. The focus of this paper is on providing guidelines for manual modeling of planning domains rather than on automated reformulation of models.
To Appear In Science of Computer Programming
Agostino Dovier gave an invited lecture on ASP and Bioinformatics at TAASP workshop in Klagenfurt, a satellite event of INFORMATIK 2016 http://www.kr.tuwien.ac.at/events/taasp16/prog.html
Thanks to the organizers (and to all CLPLAB members for their work)
On March 17, 2016, David Luebke, NVIDIA Distinguished Inventor, and Sr. Director of Research of NVIDIA Corporation announced that we are confirmed as a GPU Research Center “based on the vision, quality, and impact of your research leveraging GPU Computing.”
A GPU Implementation of the ASP Computation
By Agostino Dovier, Andrea Formisano, Enrico Pontelli, and Flavio Vella
General Purpose Graphical Processing Units (GPUs) are affordable multi-core platforms, providing access to large number of cores, but at the price of a complex architecture with non-trivial synchronization and communication costs.
This paper presents the design and implementation of a conflict-driven ASP solver, that is capable of exploiting the parallelism offered by GPUs.
The proposed system builds on the notion of ASP computation, that avoids the generation of unfounded sets, enhanced by conflict analysis and learning. The proposed system uses the CPU exclusively for input and output, in order to reduce the negative impact of the expensive data transfers between the CPU and the GPU. All the solving components, i.e., the management of nogoods, the search strategy, backjumping, the search heuristics, conflict analysis and learning, and unit propagation, are performed on the GPU, by exploiting Single Instruction Multiple Threads (SIMT) parallelism. The preliminary experimental results confirm the feasibility and scalability of the approach, and the potential to enhance performance of ASP solvers
From left to right: Nando Fioretto, Agostino Dovier, Enrico Pontelli, and Alessandro Dal Palù (all but one teachers at the GULP school on logic programming)
CUD@SAT: SAT Solving on GPUs.
A. Dal Palù, A. Dovier, A. Formisano, and E. Pontelli.
Journal of Experimental & Theoretical Artificial Intelligence (JETAI),
Volume 27(3), July 2015, pp. 293-316.
(draft) DOI: 10.1080/0952813X.2014.954274
The parallel computing power offered by Graphical Processing Units (GPUs) has been recently exploited to support general purpose applications—by exploiting the availability of general API and the SIMT-style parallelism present in several classes of problems (e.g., numerical simulations, matrix manipulations)— where relatively simple computations need to be applied to all items in large sets of data.
This paper investigates the use of GPUs in parallelizing a class of search problems, where the combinatorial nature leads to large parallel tasks and relatively less natural symmetries. Specifically, the investigation focuses on the well-known Satisfiability Testing (SAT) problem and on the use of the NVIDIA CUDA architecture, one of the most popular platforms for GPU computing. The paper explores ways to identify strong sources of GPU-style parallelism from SAT solving. The paper describes experiments with different design choices and evaluates the results. The outcomes demonstrate the potential for this approach, leading to one order of magnitude of speedup using a simple NVIDIA platform
Our favourite lab has been selected to be a 2015 GPU Research Center “based on the vision, quality, and impact of (y)our research leveraging GPU Computing”.
A great thank to all LAB members that made it possible and to NVIDIA selection committee!
F. Campeotto, A. Dovier, and E. Pontelli.
A Declarative Concurrent System for Protein Structure Prediction on GPU.
Journal of Experimental & Theoretical Artificial Intelligence (JETAI).
On line since february 2015
This paper provides a novel perspective in the Protein Structure Prediction (PSP) problem. The PSP problem focuses on determining putative 3D structures of a protein starting from its primary sequence. The proposed approach relies on a Multi-Agent System (MAS) perspective, where concurrent agents explore the folding of different parts of a protein. The strength of the approach lies in the agents’ ability to apply different types of knowledge, expressed in the form of declarative constraints, to prune the search space of folding alternatives. The paper makes also an important contribution in demonstrating the suitability of a General-Purpose Graphical Processing Unit (GPGPU) approach to implement such MAS infrastructure, with significant performance improvements over the sequential implementation and other methods.