Linear Tabling Strategies and Optimizations
Neng-Fa Zhou, Taisuke Sato, and Yi-Dong Shen

TL;DR
This paper explores linear tabling strategies in logic programming, comparing lazy and eager approaches, and introduces semi-naive optimization and early answer promotion to improve efficiency, demonstrating competitive performance with existing methods.
Contribution
It introduces semi-naive optimization and early answer promotion for linear tabling, enhancing efficiency and providing a comprehensive comparison of lazy and eager strategies.
Findings
Lazy strategy has good locality and finds all solutions efficiently.
Eager strategy is comparable in speed and better for programs with cuts.
Optimizations improve linear tabling's performance to rival SLG implementations.
Abstract
Recently, the iterative approach named linear tabling has received considerable attention because of its simplicity, ease of implementation, and good space efficiency. Linear tabling is a framework from which different methods can be derived based on the strategies used in handling looping subgoals. One decision concerns when answers are consumed and returned. This paper describes two strategies, namely, {\it lazy} and {\it eager} strategies, and compares them both qualitatively and quantitatively. The results indicate that, while the lazy strategy has good locality and is well suited for finding all solutions, the eager strategy is comparable in speed with the lazy strategy and is well suited for programs with cuts. Linear tabling relies on depth-first iterative deepening rather than suspension to compute fixpoints. Each cluster of inter-dependent subgoals as represented by a top-most…
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.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
