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 家
关键事实
相关 · 论文
本页内容由 AI 自动聚合公开信源生成,仅供了解行业动态参考,不构成任何投资或决策建议。如需引用请以原文出处为准。
