完全导出变换器
Perfect Derived Propagators
摘要:
当为约束实现传播器时,必须决定变量:当实现min时,是否也应该实现max?一个人是否应该同时实现有系数和无系数的线性方程?约束变体无处不在:实现它们需要相当大的努力(如果不是禁止的话),并降低可维护性,但会提供更好的性能。本文展示了如何使用变量视图,以前介绍的实现架构,以获得完美的传播变量。一个模型的意见和衍生传播。导出的传播子被证明确实是完美的,因为它们继承了正确性和域和界的一致性等基本属性。系统地推导传播,如变换,泛化,专业化,和通道的技术开发的几个变量域。我们评估衍生传播的巨大影响。如果没有派生的传播器,Gecode将需要140000行而不是40000行传播器代码。
英文摘要:
When implementing a propagator for a constraint, one must decide about variants: When implementing min, should one also implement max? Should one implement linear equations both with and without coefficients? Constraint variants are ubiquitous: implementing them requires considerable (if not prohibitive) effort and decreases maintainability, but will deliver better performance. This paper shows how to use variable views, previously introduced for an implementation architecture, to derive perfect propagator variants. A model for views and derived propagators is introduced. Derived propagators are proved to be indeed perfect in that they inherit essential properties such as correctness and domain and bounds consistency. Techniques for systematically deriving propagators such as transformation, generalization, specialization, and channeling are developed for several variable domains. We evaluate the massive impact of derived propagators. Without derived propagators, Gecode would require 140000 rather than 40000 lines of code for propagators.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。