摘要翻译:
当为约束实现传播器时,必须决定变量:当实现min时,是否也应该实现max?是否应该同时使用单位系数和非单位系数来实现线性约束?约束变体无处不在:实现它们需要相当大的(如果不是禁止性的)努力,并降低可维护性,但将比诉诸约束分解提供更好的性能。本文展示了如何使用视图导出完美的传播子变体。介绍了视图和派生传播子的模型。证明了导出的传播子确实是完美的,因为它们继承了诸如正确性、域和界的一致性等基本性质。发展了用于系统地导出传播者的技术,如变换、泛化、专门化和类型转换。本文介绍了一种独立于底层约束编程系统的视图实现体系结构。对Gecode中实现的视图的详细评估表明,派生传播器是有效的,而且视图通常没有开销。如果没有视图,Gecode要么需要180000行而不是40000行传播程序代码,要么缺少许多有效的传播程序变体。与用于视图的8000行代码相比,用于传播器的代码的减少产生了1750%的投资回报。
---
英文标题:
《View-based Propagator Derivation》
---
作者:
Christian Schulte and Guido Tack
---
最新提交年份:
2009
---
分类信息:
一级分类:Computer Science 计算机科学
二级分类:Artificial Intelligence
人工智能
分类描述:Covers all areas of AI except Vision, Robotics, Machine Learning, Multiagent Systems, and Computation and Language (Natural Language Processing), which have separate subject areas. In particular, includes Expert Systems, Theorem Proving (although this may overlap with Logic in Computer Science), Knowledge Representation, Planning, and Uncertainty in AI. Roughly includes material in ACM Subject Classes I.2.0, I.2.1, I.2.3, I.2.4, I.2.8, and I.2.11.
涵盖了人工智能的所有领域,除了视觉、机器人、机器学习、多智能体系统以及计算和语言(自然语言处理),这些领域有独立的学科领域。特别地,包括专家系统,定理证明(尽管这可能与计算机科学中的逻辑重叠),知识表示,规划,和人工智能中的不确定性。大致包括ACM学科类I.2.0、I.2.1、I.2.3、I.2.4、I.2.8和I.2.11中的材料。
--
---
英文摘要:
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.
---
PDF链接:
https://arxiv.org/pdf/0908.2050