12、结论与进一步研究

规划与程序合成结合的研究及应用

结论与进一步研究

1 结合规划与程序合成

在现代计算机科学中,自动编程和程序合成一直是热门话题。自动编程的目标是尽可能自动化地生成计算机程序,从而减轻程序员的负担。归纳程序合成(Inductive Program Synthesis)和演绎程序合成(Deductive Program Synthesis)是两种主要的方法。归纳程序合成从不完全信息中构建程序,尤其是从输入/输出示例中归纳出递归函数。而演绎程序合成则是从完整的、形式化的规范中自动推导出正确的程序。

1.1 通用规划与归纳程序合成的结合

为了实现这一目标,我们提出了一种结合通用规划(Universal Planning)和归纳程序合成的方法。通用规划首先为具有少量对象的问题生成一个通用计划,然后将这个计划转换为一个有限的程序项,最后将这个项折叠成一个递归程序方案。这种方法的优势在于,通用规划和折叠可以通过强大的、领域无关的算法来执行,而计划转换则是知识依赖的。

通用规划器 DPlan

DPlan 是一个基于状态的、非线性的、全序的逆向规划器。它不是表示将单个初始状态转化为满足顶层目标的状态的动作序列的计划,而是构造一个计划,表示规划问题中所有属于该问题的状态的最优动作序列。DPlan 的简短历史和实现细节可以在附录 A1 中找到。

有限程序项的折叠

通过模式匹配将有限程序项折叠成一个(一组)递归程序。对于归纳泛化,可以“反转”固定点语义的概念:将给定的有限程序视为未知递归程序的第 n 次展开。如果可以分解该术语,使得术语的每个段落都与相同的子项(称为骨架)匹配,并且如果骨架相对于每个段落的实例化可以用一个唯一的替换(在骨架中用项

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值