Disjunctive Logic Programming (DLP) is an advanced formalism for knowledge representation and reasoning. The language of DLP is very expressive and supports the representation of problems of high computational complexity (specifically, all problems in the complexity class Σ$^p_2$=NP$^{NP}$). The DLP encoding of a large variety of problems is often very concise, simple, and elegant.#R##N##R##N#In this paper, we explain the computational process commonly performed by DLP systems, with a focus on search space pruning, which is crucial for the efficiency of such systems. We present two suitable operators for pruning (Fitting's and Well-founded), discuss their peculiarities and differences with respect to efficiency and effectiveness. We design an intelligent strategy for combining the two operators, exploiting the advantages of both. We implement our approach in DLV - the state-of-the-art DLP system - and perform some experiments. These experiments show interesting results, and evidence how the choice of the pruning operator affects the performance of DLP systems.
['Francesco Calimeri', 'Wolfgang Faber', 'Gerald Pfeifer', 'Nicola Leone']
Pruning Operators for Disjunctive Logic Programming Systems