Advisors for Incremental Propagation Mikael Z. Lagerkvist and Christian Schulte School of Information and Communication Technology KTH - Royal Institute of Technology, Sweden {zayenz, cschulte}@kth.se Abstract. While incremental propagation for global constraints is rec- ognized to be important, little research has been devoted to how prop- agator-centered constraint programming systems should support incre- mental propagation. This paper introduces advisors as a simple and effi- cient, yet widely applicable method for supporting incremental propaga- tion in a propagator-centered setting. The paper presents how advisors can be used for achieving different forms of incrementality and evaluates cost and benefit for several global constraints. 1 Introduction Global constraints are essential in constraint programming as they are useful for modeling and crucial for efficient and powerful propagation. For many propaga- tors implementing global constraints, incrementality is important for efficiency. The key features to support incremental propagation are state for propa- gators (to store datastructures for incremental propagation) and modification information (which variables have been modified and how have their domains changed). Without state, incrementality is impossible. Without modification in- formation, the asymptotic complexity of a propagator is at least linear in the number of variables: a propagator must scan all its variables for modification. Propagation comes in two flavors: variable- or propagator-centered. Variable- centered propagation is controlled by the set of modified variables with some additional information (for example, variable and constraint in AC3 [17], variable and value in AC4 [18]). Propagator-centered propagation is controlled by the set of propagators still to be propagated, see for example [2]. Providing modification information to a propagator is straight-forward with variable-centered propagation, and is used in systems such as Choco [15], ILOG Solver [13], and Minion [10]. This is not true for propagator-centered propagation which is for example used in CHIP [8], SICStus [7], and Gecode [9, 23]. While propagator-centered propagation typically lacks support for modification infor- mation, it is simple and has important advantages such as fixpoint reasoning, priorities, and priority-based staging [23]. This paper presents advisors as a simple, efficient, yet widely applicable method for supporting incremental propagation in a propagator-centered setting. The idea for advisors is not new; similar concepts called demons are used in CHIP [8] and SICStus [6]. This paper, however, is the first attempt to define a model, to describe an implementation, and to analyze advisors.