Most SAT solvers and Answer Set Programming (ASP) systems employ a backtracking search by repeatedly assuming the truth of literals. The choice of these branching literals is crucial for the performance of these systems. Competitive ASP systems employ advanced heuristics to select branching literals, which are usually based on "look-ahead" techniques: To evaluate the heuristic value of a literal L, truth and falsity of L are assumed in the current interpretation, consequences are derived, and the quality of the resulting interpretations is evaluated. This process can be very expensive, and often consumes most of the time taken by an ASP system. In this paper, we present two techniques to optimize the computation of the heuristics in the ASP system DLV. The first technique singles out pairs of literals {A, not B) having precisely the same consequences, which allows for making only one look-ahead for each of these pairs. The second technique (inspired by SAT solvers) is a 2-layered heuristic, in which a simple heuristic criterion reduces the set of literals to be looked-ahead. We implement both techniques in the ASP system DLV and evaluate their efficiency on a number of benchmark problems taken from various domains. The experiments confirm the usefulness of both techniques, sensibly improving the performance of DLV.

Optimizing the Computation of Heuristics for Answer Set Programming Systems

FABER, WOLFGANG;LEONE, Nicola;
2001-01-01

Abstract

Most SAT solvers and Answer Set Programming (ASP) systems employ a backtracking search by repeatedly assuming the truth of literals. The choice of these branching literals is crucial for the performance of these systems. Competitive ASP systems employ advanced heuristics to select branching literals, which are usually based on "look-ahead" techniques: To evaluate the heuristic value of a literal L, truth and falsity of L are assumed in the current interpretation, consequences are derived, and the quality of the resulting interpretations is evaluated. This process can be very expensive, and often consumes most of the time taken by an ASP system. In this paper, we present two techniques to optimize the computation of the heuristics in the ASP system DLV. The first technique singles out pairs of literals {A, not B) having precisely the same consequences, which allows for making only one look-ahead for each of these pairs. The second technique (inspired by SAT solvers) is a 2-layered heuristic, in which a simple heuristic criterion reduces the set of literals to be looked-ahead. We implement both techniques in the ASP system DLV and evaluate their efficiency on a number of benchmark problems taken from various domains. The experiments confirm the usefulness of both techniques, sensibly improving the performance of DLV.
2001
3540454020
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.11770/160236
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 5
  • ???jsp.display-item.citation.isi??? ND
social impact