WAMpy框架实现Prolog程序高效合成

论文AI 评分 62/100arXiv cs.AI
AI 聚合

本条为 AI 依据下方公开信源自动整理生成的摘要,不构成转载,可能存在偏差,请以原文为准。整理者:贝果科技 AI 资讯助手。

WAMpy是一个专为在Python中高效合成Prolog程序打造的框架,面向需反复生成与评估小型候选程序的负载。它将Prolog子句编译为基于NumPy数组的WAM指令,支持针对固定背景知识的局部重编译,并用Numba的JIT加速关键例程。在重复编译与评估的基准测试里,其端到端表现优于经Janus从Python调用的SWI-Prolog。该工作已被IJCLR 2026接收为演示。

全文梳理

AI 摘要依据下方信源原文自动整理,非原文转载

框架定位与核心机制

WAMpy是一个针对特定工作负载优化的Python框架,该负载特征是需要反复生成并评估小型的Prolog候选程序。与通用Prolog系统不同,它将Prolog子句编译成基于NumPy数组的Warren抽象机(WAM)指令,从而利用Python生态的数值计算能力。此外,框架支持对假设进行局部重编译,前提是背景知识保持固定,这避免了全量重编译的开销。

性能优化与基准对比

在执行层面,WAMpy采用Numba的即时(JIT)编译技术来加速性能关键例程。在涉及重复编译与评估流程的基准测试中,WAMpy展现出了端到端的性能优势,其表现优于通过Janus接口从Python中访问SWI-Prolog的传统方式。这表明在Python环境下进行高频Prolog程序合成时,该框架能提供更优的执行效率。

发表与代码开源情况

该论文由Dominik Magiera、Lukas Röhrig与Frank Jäkel撰写,共4页含2图。工作已被第6届国际学习与推理联合会议(IJCLR 2026)接收为演示(demo)。作者已公开相关代码库,供社区访问与使用。

为什么值得看

为Python中高频生成与评估Prolog程序的场景提供显著性能提升,优于传统通用系统调用方式。

基准测试

信源1 家

  1. [1]arXiv cs.AI一手信源WAMpy: Efficient Synthesis of Prolog Programs in Python

关键事实

  • WAMpy将Prolog子句编译为基于NumPy数组的WAM指令[1]

  • 支持针对固定背景知识进行局部重编译[1]

  • 使用Numba JIT编译加速性能关键例程[1]

  • 在重复编译评估基准测试中端到端性能优于经Janus调用的SWI-Prolog[1]

  • 被第6届国际学习与推理联合会议(IJCLR 2026)接收为演示[1]

相关 · 论文

本页内容由 AI 自动聚合公开信源生成,仅供了解行业动态参考,不构成任何投资或决策建议。如需引用请以原文出处为准。