Grounding Size Predictions for Answer Set Programs

Abstract

Answer set programming is a declarative programming paradigm geared towards solving difficult combinatorial search problems. Logic programs under answer set semantics can typically be written in many different ways while still encoding the same problem. These different versions of the program may result in diverse performances. Unfortunately, it is not always easy to identify which version of the program performs the best, requiring expert knowledge on both answer set processing and the problem domain. More so, the best version to use may even vary depending on the problem instance. One measure that has been shown to correlate with performance is the programs grounding size, a measure of the number of ground rules in the grounded program (Gebser et al. 2011). Computing a grounded program is an expensive task by itself, thus computing multiple ground programs to assess their sizes to distinguish between these programs is unrealistic. In this research, we present a new system called PREDICTOR to estimate the grounding size of programs without the need to actually ground/instantiate these rules. We utilize a simplified form of the grounding algorithms implemented by answer set programming grounder DLV while borrowing techniques from join-order size estimations in relational databases. The PREDICTOR system can be used independent of the chosen answer set programming grounder and solver system. We assess the accuracy of the predictions produced by PREDICTOR, while also evaluating its impact when used as a guide for rewritings produced by the automated answer set programming rewriting system called PROJECTOR. In particular, system PREDICTOR helps to boost the performance of PROJECTOR

    Similar works