Skip to main content
QUICK REVIEW

[论文解读] Internal Guidance for Satallax

Michael Färber, Chad E. Brown|arXiv (Cornell University)|May 30, 2016
Logic, programming, and type systems参考文献 1被引用 5
一句话总结

本文提出一种基于朴素贝叶斯分类的内部引导方法,通过引入具有幺半群结构的标签出现次数,将正样本和负样本的证明示例同时纳入考量,用于自动化定理证明器。该方法在Satallax中的实现使相同时间预算下问题求解率提升了26%,表明从失败的证明尝试中学习可有效提升ATP性能。

ABSTRACT

We propose a new internal guidance method for automated theorem provers based on the given-clause algorithm. Our method influences the choice of unprocessed clauses using positive and negative examples from previous proofs. To this end, we present an efficient scheme for Naive Bayesian classification by generalising label occurrences to types with monoid structure. This makes it possible to extend existing fast classifiers, which consider only positive examples, with negative ones. We implement the method in the higher-order logic prover Satallax, where we modify the delay with which propositions are processed. We evaluated our method on a simply-typed higher-order logic version of the Flyspeck project, where it solves 26% more problems than Satallax without internal guidance.

研究动机与目标

  • 通过从过往的证明尝试中学习,包括成功和失败的尝试,以提升自动化定理证明器(ATP)的性能。
  • 将现有朴素贝叶斯分类器从仅限正样本的局限中拓展,通过将标签出现次数推广为具有幺半群结构的类型。
  • 在Satallax(一种高阶逻辑ATP)中实现并评估内部引导机制,涵盖离线和在线学习场景。
  • 衡量负样本对内部引导的影响,尤其与仅依赖正样本训练数据的方法进行对比。
  • 评估该方法在大规模证明基准(如Flyspeck项目)上的可扩展性和效率。

提出的方法

  • 通过将标签出现次数建模为具有幺半群结构的类型,推广朴素贝叶斯分类方法,从而高效处理正样本和负样本。
  • 采用改进的相关性函数:r(l,F) = log P(l) + Σ_{f∈F} log(idf(f)) × log P(f|l),其中特征F代表定理证明器状态,标签l代表已处理的子句。
  • 分类器基于成功运行的证明轨迹进行训练,记录在特定定理证明器状态下哪些子句具有帮助或造成损害。
  • 通过调整命题处理的延迟,将内部引导应用于实际证明过程,依据其对当前定理证明器状态的预测相关性。
  • 在离线学习(基于先前证明进行训练,随后重新运行)和在线学习(在尝试证明过程中逐步更新训练数据)两种设置下评估该方法。
  • 该方法在Satallax 2.5中实现,采用一种策略以确保训练数据收集过程中能一致地检索到与证明相关的术语。

实验结果

研究问题

  • RQ1将负向证明示例纳入内部引导是否能提升ATP性能,使其超越仅使用正样本的方法?
  • RQ2基于幺半群的标签出现次数推广在实现高效贝叶斯分类(同时支持正负样本训练数据)方面有多高效?
  • RQ3基于学习到的定理证明器状态与子句相关性所构建的内部引导,在高阶逻辑ATP中能多大程度上提升问题求解率?
  • RQ4在相同计算预算下,引导后的ATP性能与标准超时设置相比如何?
  • RQ5在Flyspeck等大规模基准上,采用增量训练数据的在线学习是否能带来一致的性能提升?

主要发现

  • 在1秒超时限制下,采用内部引导的Satallax解决了3428道问题,相比基线的2717道提升了26%。
  • 表现最佳的后处理策略——通过推理过滤推断子句优先级——使Satallax在1秒内额外解决了786道基线未解决的问题。
  • 在在线学习设置下,采用内部引导的Satallax在1秒内解决了3374道问题,相比未引导基线提升了24%。
  • 在48核服务器上使用30秒超时,引导版本解决了4028道问题,相比未引导版本的3097道提升了30%。
  • 采用Skolem过滤训练的分类器取得了最佳效果,训练过程仅耗时3秒,生成1.8MB的模型文件。
  • 该方法优于简单的超时加倍策略:即使时间加倍至2秒,未引导版本也仅解决了2845道问题,低于引导版本在1秒内解决的3428道。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。