Dynamic programming (DP) is a broadly applicable algorithmic design paradigm for the efficient, exact solution of otherwise intractable, combinatorial problems. However, the design of such algorithms is often presented informally in an ad-hoc manner, and as a result is often difficult to apply correctly. In this paper, we present a rigorous algebraic formalism for systematically deriving novel DP algorithms, either from existing DP algorithms or from simple functional recurrences. These derivations lead to algorithms which are provably correct and polymorphic over any semiring, which means that they can be applied to the full scope of combinatorial problems expressible in terms of semirings. This includes, for example: optimization, optimal probability and Viterbi decoding, probabilistic marginalization, logical inference, fuzzy sets, differentiable softmax, and relational and provenance queries. The approach, building on many ideas from the existing literature on constructive algorithmics, exploits generic properties of (semiring) polymorphic functions, tupling and formal sums (lifting), and algebraic simplifications arising from constraint algebras. We demonstrate the effectiveness of this formalism for some example applications arising in signal processing, bioinformatics and reliability engineering.


翻译:动态编程(DP)是一个广泛应用的算法设计范例,用于有效、精确地解决其他棘手的组合问题。然而,这种算法的设计往往以临时方式非正式地提出,因此往往难以正确应用。在本文中,我们提出了一种严格的代数形式主义,以便系统地从现有的DP算法或简单的功能重现中得出新的DP算法。这些衍生法导致算法,这种算法可以被确认为正确和多变,而任何半成型都意味着这些算法可以适用于从半成型中可以看出的组合问题的全部范围。例如:优化、最佳概率和维泰比解码、概率边缘化、逻辑推论、模糊性套件、不同的软体缩、关系和证明性查询。这种方法借鉴了现有文献中关于建设性算法的许多想法,利用了(扩大的)多变形功能的通用特性、调制和正式调制(提振),以及从生物工程的正规化和信号处理中产生的某些变压性简化性应用。

0
下载
关闭预览

相关内容

专知会员服务
84+阅读 · 2020年12月5日
因果图,Causal Graphs,52页ppt
专知会员服务
246+阅读 · 2020年4月19日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
计算机类 | 低难度国际会议信息6条
Call4Papers
6+阅读 · 2019年4月28日
计算机 | ISMAR 2019等国际会议信息8条
Call4Papers
3+阅读 · 2019年3月5日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
NIPS 2017:贝叶斯深度学习与深度贝叶斯学习(讲义+视频)
机器学习研究会
36+阅读 · 2017年12月10日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】免费书(草稿):数据科学的数学基础
机器学习研究会
20+阅读 · 2017年10月1日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年9月22日
Arxiv
0+阅读 · 2021年6月22日
VIP会员
相关VIP内容
专知会员服务
84+阅读 · 2020年12月5日
因果图,Causal Graphs,52页ppt
专知会员服务
246+阅读 · 2020年4月19日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
计算机类 | 低难度国际会议信息6条
Call4Papers
6+阅读 · 2019年4月28日
计算机 | ISMAR 2019等国际会议信息8条
Call4Papers
3+阅读 · 2019年3月5日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
NIPS 2017:贝叶斯深度学习与深度贝叶斯学习(讲义+视频)
机器学习研究会
36+阅读 · 2017年12月10日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】免费书(草稿):数据科学的数学基础
机器学习研究会
20+阅读 · 2017年10月1日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员