WAMpy:在Python中高效合成Prolog程序
WAMpy: Efficient Synthesis of Prolog Programs in Python
浏览论文内容
中文总结 AI 辅助
WAMpy是一个Python框架,通过将Prolog编译为NumPy数组指令并利用Numba JIT加速,针对反复生成和评估小型候选程序的工作负载优化,相比SWI-Prolog显著提升端到端性能。
中文摘要 AI 辅助
我们提出了WAMpy,一个针对合成Prolog程序优化的Python框架。与通用Prolog系统不同,WAMpy针对反复生成和评估小型候选程序的工作负载。WAMpy将Prolog子句编译为基于NumPy数组的WAM指令,并支持针对固定背景知识对假设进行部分重编译。性能关键例程使用Numba即时(JIT)编译加速。在重复编译和评估工作负载的基准测试中,与使用Janus从Python访问SWI-Prolog相比,WAMpy提高了端到端性能。
英文摘要
We present WAMpy, a Python framework optimized for synthesizing Prolog programs. Unlike general-purpose Prolog systems, WAMpy targets workloads that repeatedly generate and evaluate small candidate programs. WAMpy compiles Prolog clauses into NumPy array-based WAM instructions and supports partial recompilation of hypotheses against fixed background knowledge. Performance-critical routines are accelerated using Numba just-in-time (JIT) compilation. In a benchmark of repeated compilation-and-evaluation workloads, WAMpy improves end-to-end performance compared with SWI-Prolog accessed from Python using Janus.
发表机构
- Centre for Cognitive Science(认知科学中心)
- Institute of Psychology(心理学研究所)
- Technische Universität Darmstadt(达姆施塔特工业大学)
机构由 AI 辅助整理,请以论文原文为准。