3.7.172. Open automaton constraint
A constraint for which the set of solutions can be recognised by a so called open automaton. An open automaton is a finite deterministic automaton taking as input a sequence of variables as well as a sequence of 0-1 variables . A variable set to value 0 means that the corresponding variable is removed from the sequence of variables .
Consider a constraint for which we already have a finite deterministic automaton that only accepts the set of solutions of . Constructing the finite deterministic automaton that only recognises the set of solutions to the open version of constraint can be done in a systematic way from the automaton . First, to each transition of we add the fact that the corresponding Boolean variable must also be equal to 1. Second, to each state of we add a loop transition for which the corresponding Boolean variable must be equal to 0 (since variable is ignored, we stay within the same state). FigureΒ 3.7.45 illustrates this construction in the context of the constraint and of its open counterpart, the constraint.
Figure 3.7.45. Constructing the (B)Β automaton of the constraint from the (A)Β automaton of the constraint
