arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 0908.2050cs.AI
收藏

基于视图的转换器推导

View-based Propagator Derivation

KTH - Royal Institute of Technology(KTH皇家理工学院);Saarland University(萨尔大学)

Christian Schulte, Guido Tack

摘要:

当为约束实现传播器时,必须决定变量:当实现min时,是否也应该实现max?是否应该同时使用单位系数和非单位系数来实现线性约束?约束变体无处不在:实现它们需要相当大的(如果不是禁止的话)工作量,并降低可维护性,但会比诉诸约束分解提供更好的性能。本文展示了如何使用视图来导出完美的传播子变量。一个模型的意见和衍生传播。导出的传播子被证明确实是完美的,因为它们继承了正确性和域和界的一致性等基本属性。系统地推导传播子的技术,如变换、泛化、特化和类型转换。本文介绍了一种独立于底层约束编程系统的视图实现架构。Gecode中实现的视图的详细评估表明,派生的传播是有效的,视图往往不会产生开销。如果没有视图,Gecode要么需要180 000行而不是40 000行传播器代码,要么缺乏许多有效的传播器变体。与视图的8000行代码相比,传播器代码的减少产生了1750%的投资回报率。

英文摘要:

When implementing a propagator for a constraint, one must decide about variants: When implementing min, should one also implement max? Should one implement linear constraints both with unit and non-unit coefficients? Constraint variants are ubiquitous: implementing them requires considerable (if not prohibitive) effort and decreases maintainability, but will deliver better performance than resorting to constraint decomposition. This paper shows how to use views 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 type conversion are developed. The paper introduces an implementation architecture for views that is independent of the underlying constraint programming system. A detailed evaluation of views implemented in Gecode shows that derived propagators are efficient and that views often incur no overhead. Without views, Gecode would either require 180 000 rather than 40 000 lines of propagator code, or would lack many efficient propagator variants. Compared to 8 000 lines of code for views, the reduction in code for propagators yields a 1750% return on investment.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑