| OCR Text |
Show 1. Algebraic constraints. Constraints are specified and manipulated with algebra. 2. Breadth first search for a constraint propagation plan detects cycles and finds good or minimal solutions for unsatisfied networ1<s. 3. Subgraph transformation can transform a cycle in a networ1< into a single constraint. The transformations are possible because constraints are limited to algebraic relations, so that ordinary algebra can be used to perform the transformation. The resulting networ1< may be satisfiable by propagation after the transformation, whereas relaxation was necessary before. 23 The breadth first search would, at first, seem unreasonable given its exponential nature. However two factors make it practical in Magritte. First, only the part of the graph affected by the change is searched. Second, as Gosling points out, if the branching factor (the rate of exponential branching) is low, then performance will be nearly linear even with large networ1<s. In Magritte the most common branching factors were one and two because of Its use as a drawing system. Constraints occurred at comers of objects where two or three objects join. Magritte took advantage of its environment to use a potentially inefficient method with great effect. To summarize, the satisfaction algorithm used by Magritte performs a breadth first search to create a constraint satisfaction plan. When the search detects small cycles in the networ1<, the constraints in the cycle are replaced by a single transformed but equivalent constraint. This newly transformed oonstraint is suitable for constraint propagation and is incorporated into the propagation plan. Large cycles in the networ1< are satisfied by relaxation or declared unsatisfiable if even relaxation fails to satisfy the networ1<. 2.6 Analysis Of Previous Work. The systems described above are interactive constraint systems. Most are embedded in graphical drawing/layout systems. Some of the other constraint systems in the literature are batch oriented, designed for one shot constraint satisfaction. The emphasis of the wor1< described here and In the literature Is on constraint satisfaction mechanisms. The systems differ along several axes which include: • One time or batch satisfaction vs. interactive satisfaction. • Domain of constrainable objects. Numeric, geometric, algebraic, etc. |