[论文解读] Smodels: A System for Answer Set Programming
Smodels 是一个用于答案集编程的系统,实现了对领域受限、不含函数的正常逻辑程序的稳定模型语义,并扩展支持内建函数、基数约束和权重重构。它采用两阶段处理管道——lparse 负责生成和翻译,smodels 通过类似 Davis-Putnam 的回溯搜索高效计算稳定模型,在规划、模型检测和约束满足等实际问题中表现出强劲性能。
The Smodels system implements the stable model semantics for normal logic programs. It handles a subclass of programs which contain no function symbols and are domain-restricted but supports extensions including built-in functions as well as cardinality and weight constraints. On top of this core engine more involved systems can be built. As an example, we have implemented total and partial stable model computation for disjunctive logic programs. An interesting application method is based on answer set programming, i.e., encoding an application problem as a set of rules so that its solutions are captured by the stable models of the rules. Smodels has been applied to a number of areas including planning, model checking, reachability analysis, product configuration, dynamic constraint satisfaction, and feature interaction.
研究动机与目标
- 提供一个基于稳定模型语义、实用、高效且可扩展的答案集编程系统。
- 支持带内建函数、基数约束和权重重构的领域受限逻辑程序,以实现问题的高效表达。
- 实现对包含数十万条生成规则的现实应用中稳定模型的可扩展计算。
- 提供一种声明式、与实现无关的基础架构,支持灵活优化,并可集成到更大系统中。
提出的方法
- 通过前端工具 lparse 将含变量的领域受限逻辑程序转换为生成程序,lparse 会计算领域谓词以确定变量的取值范围。
- 将生成的规则转换为适合模型生成的原始规则,同时保持稳定模型语义。
- 在 smodels 中采用类似 Davis-Putnam 的回溯搜索过程来计算稳定模型,利用推理和真值传播机制。
- 通过语法强制限制模型中满足的字面量数量或总和,支持基数和权重重构。
- 集成内建函数(例如整数算术)以紧凑方式编码复杂约束。
- 提供可扩展的 API 和自定义内建函数的动态加载机制,支持与 C/C++ 应用程序的集成。
实验结果
研究问题
- RQ1如何高效地实现领域受限逻辑程序(带约束)的稳定模型语义?
- RQ2基于答案集编程的系统是否能在实际应用(如规划和模型检测)中超越专用工具?
- RQ3内建函数以及基数/权重重构在多大程度上能提升逻辑编程的表达力和效率?
- RQ4当应用于包含数十万条生成规则的程序时,该方法的可扩展性如何?
- RQ5哪些机制能够实现该系统在更大软件系统中的可靠且可用的集成?
主要发现
- Smodels 能够成功计算包含数十万条非平凡生成规则的逻辑程序的稳定模型,证明其在原型阶段之后仍具备可扩展性。
- 在验证应用中,该系统在性能上优于商业整数规划工具 CPLEX,表明其在复杂领域中具备竞争力。
- 通过 lparse 进行生成、smodels 进行模型搜索的架构,能够高效处理约束和内建函数,同时保证正确性。
- 系统支持对析取逻辑程序的完全和部分稳定模型计算,扩展了其适用范围。
- lparse 对常见错误(如变量与常量误用)的警告提示提升了易用性,减少了用户在程序编码中的错误。
- 该架构支持通过 API 嵌入,可集成到 C/C++ 应用程序中,并支持通过自定义内建函数实现动态扩展。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。