Solving Epistemic Logic Programs using Generate-and-Test with Propagation
Jorge Fandinno, Lute Lillo
TL;DR
This work advances epistemic logic programming (ELP) by proposing a general generate-and-test solver framework and proving correctness conditions for instantiated generators and testers. A novel generator with epistemic propagation (G1) dramatically reduces candidate worldviews with only linear overhead, enabling strong empirical gains. The authors implement a practical solver atop clingo and demonstrate a ~3.3x speed-up and 91% more instances solved compared to state-of-the-art solvers on standard benchmarks. The results suggest broad applicability of the framework and point to future enhancements via worldview splitting and domain-specific heuristics to further boost performance.
Abstract
This paper introduces a general framework for generate-and-test-based solvers for epistemic logic programs that can be instantiated with different generator and tester programs, and we prove sufficient conditions on those programs for the correctness of the solvers built using this framework. It also introduces a new generator program that incorporates the propagation of epistemic consequences and shows that this can exponentially reduce the number of candidates that need to be tested while only incurring a linear overhead. We implement a new solver based on these theoretical findings and experimentally show that it outperforms existing solvers by achieving a ~3.3x speed-up and solving 91% more instances on well-known benchmarks.
