| OCR Text |
Show 31 3.2.2 Underlying Idea of Constraint Kernels Satisfaction. If we relax our restriction, we face more general graphs, of which the of the left side of figure 16 is an exaJll>le. We may need to interleave dependency propagation with constraint satisfaction. But the Constraint Kernels graph structure is still constrained by the acyclic nature of the dependency graph. There may be no cycles containing edges or nodes in the dependency graph. All cycles must be wholly within constraint graphs. The graph on the left of figure 18 contains a legal cycle between the constraints while the graph on the right of figure 18 has an illegal cycle containing a node of the dependency graph. Figure 18: Legal and Illegal Cycles in the Kernel Graph. There are at least two reasons to disallow 'illegal' cycles. 1. Consistency. The illegal cycle gives at least two methods to compute a object. These methods may compute different objects and hence they are incompatible. 2. One pass evaluation ordering. It may not be possible to deduce a one pass ordering to calculate the objects in the dependency graph. In the example on the right of figure 18, we have an infinite calculation loop. We may never arrive at an answer. We can illustrate the structure of a typical instance of a Constraint Kernel graph. We have a (possibly empty) set of disjoint constraint graphs embedded in an acyclic dependency graph. A simple example may look like figure 19. It is clear from the example and implicit in the definition of Constraint ..Kernels that we can impose a topological ordering on the constraint networ1<s. (We can think of a constraint networ1< as a single, special node in the dependency graph. Thus it may bo topologically sorted with the dependency graph.} By performing an unimaginative global analysis of the |