首页> 外文OA文献 >Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations
【2h】

Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations

机译:使用求解器辅助变换推导出分而治之的动态编程算法

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

We introduce a framework allowing domain experts to manipulate computational terms in the interest of deriving better, more efficient implementations.It employs deductive reasoning to generate provably correct efficient implementations from a very high-level specification of an algorithm, and inductive constraint-based synthesis to improve automation. Semantic information is encoded into program terms through the use of refinement types.In this paper, we develop the technique in the context of a system called Bellmania that uses solver-aided tactics to derive parallel divide-and-conquer implementations of dynamic programming algorithms that have better locality and are significantly more efficient than traditional loop-based implementations. Bellmania includes a high-level language for specifying dynamic programming algorithms and a calculus that facilitates gradual transformation of these specifications into efficient implementations. These transformations formalize the divide-and conquer technique; a visualization interface helps users to interactively guide the process, while an SMT-based back-end verifies each step and takes care of low-level reasoning required for parallelism.We have used the system to generate provably correct implementations of several algorithms, including some important algorithms from computational biology, and show that the performance is comparable to that of the best manually optimized code.
机译:我们引入了一个框架,该框架允许领域专家操纵计算项以获取更好,更高效的实现,它利用演绎推理从非常高级的算法规范中生成可证明正确的有效实现,并基于归纳约束进行综合提高自动化程度。通过使用细化类型,语义信息被编码为程序术语。在本文中,我们在称为Bellmania的系统中开发了该技术,该系统使用求解器辅助策略来导出动态规划算法的并行分而治之实现,比传统的基于循环的实现具有更好的局部性和效率。 Bellmania包括用于指定动态编程算法的高级语言,以及有助于将这些规范逐步转换为有效实现的演算。这些转变形式化了分而治之的技术。可视化界面可帮助用户以交互方式指导流程,而基于SMT的后端可验证每个步骤并处理并行性所需的低级推理。我们已使用该系统生成了可证明正确的几种算法的实现,其中包括一些算法。计算生物学的重要算法,并证明其性能可与最佳手动优化代码相媲美。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号