The Divide-and-Conquer Subgoal-Ordering Algorithm for Speeding up Logic Inference
O. Ledeniov, S. Markovitch

TL;DR
This paper introduces a divide-and-conquer algorithm for automatically determining the most efficient order of subgoals in logic programs, significantly improving inference speed through optimal ordering.
Contribution
It presents a novel, provably optimal subgoal ordering algorithm based on dividing subgoals by variable co-occurrence, enhancing logic program efficiency.
Findings
Algorithm achieves optimal subgoal orderings
Demonstrated effectiveness across multiple domains
Potential for integration with existing control methods
Abstract
It is common to view programs as a combination of logic and control: the logic part defines what the program must do, the control part -- how to do it. The Logic Programming paradigm was developed with the intention of separating the logic from the control. Recently, extensive research has been conducted on automatic generation of control for logic programs. Only a few of these works considered the issue of automatic generation of control for improving the efficiency of logic programs. In this paper we present a novel algorithm for automatic finding of lowest-cost subgoal orderings. The algorithm works using the divide-and-conquer strategy. The given set of subgoals is partitioned into smaller sets, based on co-occurrence of free variables. The subsets are ordered recursively and merged, yielding a provably optimal order. We experimentally demonstrate the utility of the algorithm by…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
