Automating Thinning Theorem: Synthesizing Efficient Dynamic Programming Algorithms
Ruyi Ji, Tianran Zhu, Yingfei Xiong, Zhenjiang Hu

TL;DR
This paper introduces MetHyl and MetHyl+ to automate and optimize the synthesis of efficient dynamic programming algorithms, significantly reducing manual effort and achieving expert-level performance on diverse tasks.
Contribution
It presents novel automated methods that apply thinning via program synthesis and incorporate optimization rules to generate highly efficient dynamic programming algorithms.
Findings
Achieves exponential speed-ups on 97.3% of tasks
Generates algorithms as efficient as human experts on 70.3% of tasks
Automates thinning, reducing manual effort in algorithm design
Abstract
Dynamic programming is an important optimization technique, but designing efficient dynamic programming algorithms can be difficult for even professional programmers. Thinning, a technique developed for systematically deriving efficient dynamic programming algorithms, has received much attention in studies because of its effectiveness for a large class of problems. Despite the success of thinning in theory, its practical usage is still limited because (1) applying thinning requires mathematical and algorithmic background, and (2) applying thinning solely may not be enough to generate algorithms as efficient as proposed by human experts. In this paper, we propose two approaches, MetHyl and MetHyl+, to resolve both problems. First, MetHyl automates the application of thinning via program synthesis and thus eliminates the burden to the user for applying thinning. Second, MetHyl+…
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
TopicsMachine Learning and Algorithms · Software Testing and Debugging Techniques · Algorithms and Data Compression
