Efficient Tabling of Structured Data with Enhanced Hash-Consing
Neng-Fa Zhou, Christian Theil Have

TL;DR
This paper introduces an improved hash-consing technique for tabling structured data in logic programming, significantly reducing space and time complexity for sequence processing tasks.
Contribution
It presents enhancements to hash-consing with input sharing and hash code memoization, improving scalability in tabling systems.
Findings
Reduces space consumption through hash-consing.
Eliminates extra linear factors in sequence processing.
Experimental results confirm scalability improvements.
Abstract
Current tabling systems suffer from an increase in space complexity, time complexity or both when dealing with sequences due to the use of data structures for tabled subgoals and answers and the need to copy terms into and from the table area. This symptom can be seen in not only B-Prolog, which uses hash tables, but also systems that use tries such as XSB and YAP. In this paper, we apply hash-consing to tabling structured data in B-Prolog. While hash-consing can reduce the space consumption when sharing is effective, it does not change the time complexity. We enhance hash-consing with two techniques, called input sharing and hash code memoization, for reducing the time complexity by avoiding computing hash codes for certain terms. The improved system is able to eliminate the extra linear factor in the old system for processing sequences, thus significantly enhancing the scalability of…
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
TopicsAlgorithms and Data Compression · Software Testing and Debugging Techniques · Web Data Mining and Analysis
