Conflict-driven ASP Solving with External Sources
  Answer Set Programming (ASP) is a well-known problem solving approach based
on nonmonotonic logic programs and efficient solvers. To enable access to
external information, HEX-programs extend programs with external atoms, which
allow for a bidirectional communication between the logic program and external
sources of computation (e.g., description logic reasoners and Web resources).
Current solvers evaluate HEX-programs by a translation to ASP itself, in which
values of external atoms are guessed and verified after the ordinary answer set
computation. This elegant approach does not scale with the number of external
accesses in general, in particular in presence of nondeterminism (which is
instrumental for ASP). In this paper, we present a novel, native algorithm for
evaluating HEX-programs which uses learning techniques. In particular, we
extend conflict-driven ASP solving techniques, which prevent the solver from
running into the same conflict again, from ordinary to HEX-programs. We show
how to gain additional knowledge from external source evaluations and how to
use it in a conflict-driven algorithm. We first target the uninformed case,
i.e., when we have no extra information on external sources, and then extend
our approach to the case where additional meta-information is available.
Experiments show that learning from external sources can significantly decrease
both the runtime and the number of considered candidate compatible sets.
