Greedy Algorithms in Datalog
Sergio Greco, Carlo Zaniolo

TL;DR
This paper extends Datalog-like languages with a choice construct and preference annotations to declaratively express greedy algorithms, achieving computational efficiencies comparable to procedural implementations.
Contribution
It introduces a novel extension to Datalog for expressing greedy algorithms declaratively with effective implementation techniques.
Findings
Differential fixpoint computation matches procedural complexity
Extended Datalog can express greedy algorithms declaratively
Implementation techniques ensure efficient execution
Abstract
In the design of algorithms, the greedy paradigm provides a powerful tool for solving efficiently classical computational problems, within the framework of procedural languages. However, expressing these algorithms within the declarative framework of logic-based languages has proven a difficult research challenge. In this paper, we extend the framework of Datalog-like languages to obtain simple declarative formulations for such problems, and propose effective implementation techniques to ensure computational complexities comparable to those of procedural formulations. These advances are achieved through the use of the "choice" construct, extended with preference annotations to effect the selection of alternative stable-models and nondeterministic fixpoints. We show that, with suitable storage structures, the differential fixpoint computation of our programs matches the complexity 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
TopicsLogic, Reasoning, and Knowledge · Logic, programming, and type systems · Advanced Algebra and Logic
