JSC01 A
JSC01 A
0402
Available online at http://www.idealibrary.com on
J. Symbolic Computation (2001) 31, 367408
Decomposition Plans for Geometric Constraint
Systems, Part I: Performance Measures for CAD
CHRISTOPH M. HOFFMAN
, ANDREW LOMONOSOV
Supported in part by NSF Grants CDA 92-23502 and CCR 95-05745, and by ONR Contract N00014-
96-1-0635.
where E
is a solved
system equivalent to Ewill do. (Note that by E
i
we denote abstract algebraic systems,
rather than their computer representations that could only have rational coecients and
therefore may only have approximate DR-solution sequences.)
The DR-problem is the problem of nding a DR-solution sequence of a given constraint
system. A DR-solver is a constraint solver or algorithm that solves the DR-planning
problem. A DR-solver is general if it always outputs a DR-solution sequence when given
a solvable system as input. Aside from being general, we would also like a DR-solver
to have the ChurchRosser property, i.e. the DR-solver should terminate irrespective
of the order in which the solvable subsystems S
i
are chosen. In other words, at each
step, a solvable subsystem S
i
can be chosen greedily to satisfy the (easily checkable)
requirements of the algorithm. This prevents exhaustive search.
378 C. M. Homan et al.
Next, we formally dene a set of performance measures for the DR-solution sequences
and DR-solvers. These performance measures are designed to capture the characteristics
C of constraint solvers given in Section 1.3, that are desirable for engineering design
and assembly applications. (Note that many of these measures are Boolean, i.e. either
a certain desirable condition is met or not.) In particular, we would like a DR-solution
sequence Q = E
1
, . . . , E
m
of a solvable system E to have several properties. To describe
these properties we formalize a simplifying map from each system E
i
to its successor
E
i+1
. In fact, for generality, we choose these maps T
i
called subsystem simpliersto
map the set of subsystems of E
i
onto the set of subsystems of E
i+1
.
First, in order to reect the ChurchRosser property in (i), and points (iv) and (vi)
of C, we would like these subsystem simpliers T
i
to be natural and well-behaved, i.e. to
obey the following simple and non-restrictive rules.
(1) If A is a subsystem of B, then T
i
(A) is a subsystem of T
i
(B).
(2) T
i
(A) T
i
(B) = T
i
(A B).
(3) T
i
(A) T
i
(B) = T
i
(A B).
Second, in the description of the typical DR-solver S given in Section 1.2, each system
E
i+1
in the DR-solution sequence is typically to be obtained from E
i
by replacing a
solvable subsystem S
i
in E
i
(located during Step 1 of S), by a simpler subsystem (during
Steps 2 and 3). For a manipulable DR-solution sequence (again satisfying points (i), (iv),
(v) and (vi) of C), we would like E
i+1
to look exactly like E
i
outside of S
i
. This leads to
another set of properties desirable for the subsystem simpliers T
i
.
(4) Each E
i
= S
i
R
i
U
i
, 1 i m, where S
i
is solvable, R
i
is a maximal subsystem
such that S
i
and R
i
do not share any variables, S
i
, R
i
, U
i
do not share any equations,
and all variables of U
i
are either variables of S
i
or R
i
. For any A R
i
, T
i
(A) = A.
Thirdly, in order to address points (iv)(vi), and (i) of C simultaneously, i.e. permitting
generality of the subsystem S
i
that is replaced by a simpler system during the ith step,
while at the same time making it convenient for the designer to geometrically follow
and manipulate the decomposition, we would like the subsystem simpliers to satisfy the
following property.
(5) For each i, all the pre-images of S
i
, T
1
j
. . . T
1
i1
(S
i
), 1 j i 1, are algebraically
inferable from S
i
, and furthermore, they are solvable or rigid subsystems for the
given geometry (recall that the denition of solvable depends on the geometry).
It follows from (2) and (3) above that the inverse T
1
i
(A) =
eA
w(e) +D
vA
w(v) (1)
is called dense, where D is a dimension-dependent constant, to be described below. The
function d(A) =
eA
w(e)
vA
w(v) is called the density of a graph A.
The constant D is typically
d+1
2
vA
w(v)
In other words, the image of any of the S
j
contributes D to the size of A, where D
is a geometry-dependent constant, and the vertices of A that are not in any such im-
age contribute their original weight. The optimal size of the constraint graph G is the
minimum size of Q, where the minimum is taken over all possible DR-plans of G. An
optimal DR-plan of G is the DR-plan that has size equal to the optimal size of G. The
approximation factor of DR-plan Q of the graph G is dened as the ratio of the optimal
size of G to the size of Q.
Note. The problem of nding the optimal DR-plan for a constraint graph with un-
bounded vertex weights is NP-hard. This follows from a result in the authors paper
(Homann et al., 1997) showing that the problem of nding a minimum dense subgraph
is NP-hard, by reducing this problem to the CLIQUE. The CLIQUE problem is ex-
tremely hard to approximate (Hastad, 1996), i.e. nding a clique of size within a n
1
factor of the size of the maximum clique cannot be achieved in time polynomial in n,
for any constant (unless P = NP). However our reduction of CLIQUE to the optimal
DR-planning problem is not a so-called gap-preserving reduction (or L-reduction); thus
how well this problem could be approximated is still an open question.
The denition of solvability preservation is largely analogous to the case of DR-solvers,
but is additionally motivated by the following. In the case of DR-solvers, one condition
on a solvability preserving simplier is that it preserves the existence of real solutions for
certain subsystems. Here, in the case of DR-plans, a natural choice is to correspondingly
require that the simplier does not map well-constrained subgraphs or overconstrained
subgraphs to underconstrained and vice versa. The DR-plan Q of G is solvability pre-
serving if and only if for all A G
i
, A is solvable and (A S
i
= or A S
i
)
T
i
(A) is solvable. The DR-plan Q of G is strictly solvability preserving if and only if for
all A G
i
, A is solvable T
i
(A) is solvable. The DR-plan Q of G is complete if and
only if for all non-trivial solvable B S
i
, B = T
i1
T
i2
. . . T
j
(S
j
) for some j i 1.
Next, we formally dene DR-planners and their performance measures. An algorithm
is said to be a DR-planner if it outputs a DR-plan when given a solvable constraint
graph as input. As before, we consider DR-planners to be randomized algorithms. A
randomized DR-planner A is said to be valid, solvability preserving, strictly solvability
preserving, complete if and only if for every G every DR-plan produced by A is valid,
solvability preserving, strictly solvability preserving or complete, accordingly. The worst-
choice approximation factor of a DR-planner A on input graph G is the minimum of
Decomposition of Geometric Constraints I 389
the approximation factors of all DR-plans Q of G obtained by the DR-planner A over
all possible random choices. The best-choice approximation factor of the algorithm A on
input graph G is the maximum of the approximation factors of all the DR-plans Q of G
obtained by the DR-planner A over all possible random choices.
In addition to the above performance measures, we dene three others that reect the
ChurchRosser property, the ability to deal with underconstrained subsystems, as well
as the ability to incorporate an input, design decomposition provided by the designer.
A DR-planner is said to have the ChurchRosser property, if the DR-planner terminates
with a DR-plan irrespective of the order in which the dense subgraphs S
i
are chosen.
A DR-planner A adapts to underconstrained constraint graphs G if every (partial)
DR-plan produced by A terminates with a set of solvable subgraphs Q
i
such that each
solvable subgraph Q
i
has no supergraph that is solvable, and moreover, no subgraph of
G that is disjoint from all of the Q
i
s is solvable.
A conceptual design decomposition P is a set of solvable subgraphs P
i
, which are par-
tially ordered with respect to the subgraph relation. A DR-planner A is said to incorpo-
rate a design decomposition P, if for every DR-plan Q produced by A, the corresponding
sequence of solvable subgraphs S
i
embeds a topological ordering of P as a subsequence
recall that a topological ordering is one that is consistent with the natural partial order
given by the subgraph relation on P.
When a DR-plan incorporates a design decomposition P, the level of a cluster P
i
in
the partial ordering of P can now be viewed as a priority rating which species which
component of the design decomposition has most inuence over a given geometric object.
In other words, a given geometric object K is rst xed/manipulated with respect to the
local coordinate system of the lowest level cluster P
i
P containing K. Thereafter, the
entire cluster P
i
can be treated as a unit and can be independently xed/manipulated
in the local coordinate system of the next level cluster P
j
containing (the simplication
of) P
i
, etc.
Finally, we summarize how the above formal performance measures capture the infor-
mally described characteristics in the set C given in Section 1.3. The property of being a
general DR-planner refers to whether the method successfully terminates with a DR-plan
in the general case, and reects characteristic (i); since we use constraint graphs which
yield robust DR-plans that can be obtained eciently, the property of being a general
DR-planner also reects (iii) and (viii); dealing with underconstrained graphs also re-
ects (i); incorporating input, design decompositions reects (v); validity inuences the
ChurchRosser property and reects (i) as well as (iv), (v), (vi); solvability preservation,
strict solvability preservation inuences the ChurchRosser property and reects (i), (ii),
(iv), (v); completeness is based on criteria (ii) and (ix); worst- and best-choice approxi-
mation factors are based on (ii) and complexity directly reects (iii).
4. Performance Analysis of Prior DR-planners
We concentrate on two primary types of prior algorithms for constructing DR-plans
using constraint graphs and geometric degrees of freedom.
Note. Due to reasons discussed in Section 3, we leave out those graph rigidity-based
methods for distance constraints in dimensions three or greater such as Tay and Whiteley
(1985) and Hendrickson (1992) as well as methods such as Crippen and Havel (1988),
Havel (1991) and Hsu (1996) since they are non-deterministic or rely on symbolic compu-
390 C. M. Homan et al.
tation, or they are randomized or generally exponential and based on exhaustive search.
Graph rigidity- and matroid-based methods for more specic constraint graphs are dis-
cussed in Section 4.2 under the so-called maximum matching-based algorithms. Also,
for reasons discussed in the Introduction, we leave out methods based on decomposing
sparse polynomial systems.
The rst type of algorithm, which we call SR for constraint shape recognition (e.g.
Owen, 1991, 1996; Homann and Vermeer, 1994, 1995; Bouma et al., 1995; Fudos and
Homann, 1996b, 1997), concentrates on recognizing specic solvable subgraphs of known
shape, most commonly, patterns such as triangles. The second type, which we call MM for
generalized maximum matching (e.g. Kramer, 1992; Ait-Aoudia et al., 1993; Pabon, 1993;
Latham and Middleditch, 1996), is based on rst isolating certain solvable subgraphs by
transforming the constraint graph into a bipartite graph and nding a maximum general-
ized matching, followed by a connectivity analysis to obtain the DR-plan. In this section,
we give a formal performance analysis of SR- and MM-based algorithmschoosing a rep-
resentative algorithm (typically the best performer) in each classusing the performance
measures dened in the previous section.
Informally, one major drawback of the SR and MM algorithms is their inability to
perform a generalized degree of freedom analysis. For example, SR would require an
innite repertoire of patterns. In the case of spatial constraints, some elementary patterns
have been identied (Homann and Vermeer, 1994, 1995). In the case of extending the
scope of planar constraint solvers, adding free-form curves or conic sections requires
additional patterns as well (Homann and Peters, 1995; Fudos and Homann, 1996a).
Similarly, a decomposition of underconstrained constraint graphs into well-constrained
components is possible for SR algorithms but only subject to the pattern limitations. In
many cases, MM algorithms will output DR-plans with larger, non-minimal subgraphs
S
i
that may contain smaller solvable subgraphs. This aects the approximation factors
adversely.
This inability to nd general minimal dense subgraphs also aects their ability to
deal with overconstrained subgraphs that arise in assemblies, which is in turn needed to
perform constraint reconciliation (Homann and Joan-Arinyo, 1998).
4.1. constraint shape recognition (SR)
Consider the algorithm of Fudos and Homann (1996b, 1997) which relies on the
following strong assumption (SR1): all geometric objects in two dimensions have 2 degrees
of freedom and all constraints between them are binary and destroy exactly 1 degree of
freedom. Thus, in the corresponding constraint graph, the weight of all the edges is 1 and
of all the vertices is 2. Because of this assumption, the SR algorithm ignores the degrees
of freedom and relies only on the topology of the constraint graph.
description of the algorithm
We give a terse description of the algorithmthe reader is referred to Fudos and
Homann (1996b, 1997) for details. Our description is meant only to put the algorithm
into an appropriate DR-planner framework that is suited for the performance analysis.
The algorithm consists of two phases. During Phase One, SR uses the bottom-up
iterative technique of Itai and Rodeh (1978): in the current graph G
i
(where G
1
= G),
Decomposition of Geometric Constraints I 391
specic solvable graphs (clusters) are found that can be represented as a union of three
previously found clusters that pairwise share a common vertex. Such congurations of
three clusters are called triangles. The vertices of G
i
represent clusters and edges of G
i
represent constraints between clusters (initially due to SR1, every vertex and every edge
of G is a cluster). More specically, once a triangle formed by three clusters has been
found, the three vertices in G
i
corresponding to these three clusters are simplied into
one new vertex in the simplied graph G
i+1
. The edges of G
i+1
are induced by the edges
of the three old vertices. This is repeated for k steps until there are no more triangles
left. If there is only one cluster left in G
k
, then the algorithm terminates. Otherwise G
k
serves as an input to Phase Two of the algorithm.
Before we describe Phase Two, we note that a so-called cluster graph C
i
corresponding
to G
i
is used as an auxiliary structure for the purpose of nding triangles. Hence the
partial DR-plan produced during Phase One of the algorithm is of the form: (G
1
, C
1
), . . . ,
(G
k
, C
k
). The vertices of the cluster graph C
i
correspond to
vertices of the original graph G
1
;
cluster vertices in the graph G
i
; and
edges in G
1
which have not been included into one of the cluster vertices in the
graphs G
i1
, . . . , G
1
.
In particular, the rst cluster graph C
1
contains one vertex for every vertex and every
edge of G
1
. The edges of the cluster graph C
i
connect the vertices of G
i
that represent
clusters to the original vertices from G
1
that are contained in these clusters. Due to the
structure of cluster graphs, triangles in G
i
are found by looking for specic 6-cycles in
the corresponding cluster graph C
i
. These 6-cycles consist of three cluster vertices and
three original vertices. The new cluster graph C
i+1
is constructed from C
i
by adding a
new vertex c
i
representing the newly found cluster S
i
, and connecting it by edges to the
original vertices from G
1
that are in the cluster S
i
. We also remove the three old cluster
vertices in C
i
which together formed the new cluster S
i
. We note that this is the only way
in which cluster vertices are removed from cluster graphs. In particular, situations may
arise where two clusters (that share a single vertex) are represented by the same vertex
in the graph G
i
, but they are represented by distinct vertices in the cluster graph C
i
.
During Phase Two, SR constructs the remainder of the DR-plan (G
k
, C
k
), . . . ,
(G
m
, C
m
). First SR uses a global topdown technique of Hopcroft and Tarjan (1973)
to divide G
k
into a collection of triconnected subgraphs. These subgraphs are found
by recursively splitting the original graph using separators of size at most 2. Thus the
triconnected components can be viewed as the leaves of a binary tree T each of whose
internal nodes corresponds to a vertex separator of size at most 2.
For every triconnected subgraph S in G
k
, a new cluster vertex is created in the cluster
graph C
k
: similar to Phase One, this vertex replaces all vertices that represent existing
clusters contained in S.
The next pair (G
k+1
, C
k+1
) in the DR-plan is found as in Phase One by nding a tri-
angle in G
k
, or eectively locating a 6-cycle in C
k
. However, triangles in G
k
have already
been located in the course of constructing the tree Tthese triangles were originally split
by the vertex separators at the internal vertices. Thus, if the original constraint graph
G is solvable, the remainder of the DR-plan (G
k+1
, C
k+1
), . . . , (G
m
, C
m
) is formed by
repeated simplications along a bottom up traversal of the tree T.
If the original graph was underconstrained, then it is still possible to construct a
392 C. M. Homan et al.
5
1
5
1
G
G
C
C
M
O
F
G
D
LN
OM
FO
DG
P
AD
A
D
DG
AE
FO
OM
G
F
O
A B C
D E F
G H
I J
K
L M
N O O N
M L
K
J I
H G
P
Figure 10. The original graph G = G
1
, the cluster graph C
1
and the simplied graphs G
5
, C
5
.
DR-plan of its maximal well-constrained subgraphs, by introducing additional constraints
and making the original graph solvable. That is, in order to complete the bottom up
traversal of the tree T in Phase Two, additional constraints need to be introduced, to
make the whole graph solvable. For details, see Fudos and Homann (1996b, 1997).
example
Consider Figure 10. During Phase One, the triangles ADE, ABE, BCE and CEF will
be discovered and simplied as P. During Phase Two, the remainder of the graph will
be divided into triconnected subgraphs P, PGKILN and OKHMJP, then PGKILN
and OKHMJP are simplied and nally the union of P, PGKILN and OKHMJP is
simplied.
defining the simplifier map
The same simplier is used throughout Phase One and Two: replace a subgraph S
i
consisting of a triangle of clusters in G
i
(or triconnected subgraphs during Phase Two)
by one vertex in G
i+1
representing this triangle. The subgraph S
i
is found as a 6-cycle in
the cluster graph C
i
. The cluster graph C
i+1
is constructed as described in Phase One.
More formally, recalling the denitions in Section 3: let G be a constraint graph; the
rst graph G
1
in the DR-plan is the original graph G. Let G
i
= (V, E) be the current
graph and let S
i
be a cluster found. Let A G
i
, A = (V
A
, E
A
). Then the image of A
under the subgraph simplier T
i
is T
i
(A) = A, if the intersection of A and S
i
is empty;
otherwise T
i
(A) = (V
T
i
(A)
, E
T
i
(A)
) where V
T
i
(A)
is the set of all vertices of A that are
Decomposition of Geometric Constraints I 393
T
1
T
3
C
C
2
FE
FC
CE
CB
2
C
C
B
E
D
A
D
A
AB
EB
DE
AD
AE C
1
A
D
E
B
C
EB
AB
CB
CE
G
2
G
1
G
3
C
1
C
2
E
B
J
O N
K
M L
I
H G
F E D
C B A B C
F
G
I J
K
L
O
C
F
G H
I J
K
L
O
1
C
M
N
H
2
C
M
N
Figure 11. Action of the simplier on G
i
and C
i
during Phase One.
not vertices of S
i
plus a vertex c
i
that replaces the cluster S
i
. The set of edges E
T
i
(A)
is
a set of all edges of A that are not edges of S
i
; the edges of E
A
that have exactly one
endpoint in S
i
will have this endpoint replaced by the vertex c
i
; and the edges of A that
have both endpoints in S
i
are removed.
Since the cluster S
i
in G
i
is located by nding a 6-cycle in C
i
, we need to describe how
C
i+1
is constructed from C
i
, i.e. the eect that T
i
has on C
i
(formally, T
i
is a map from
(G
i
, C
i
) to (G
i+1
, C
i+1
)). To obtain C
i+1
, we start with C
i
and rst add a new vertex c
i
representing the cluster S
i
, which is connected by edges to all the original vertices that
it contains. Finally, vertices in C
i
that represent clusters entirely contained in S
i
are
removed, and edges adjacent to these vertices are also removed.
Figures 11 and 12 illustrate the action of the subgraph simplier T
i
on both G
i
and C
i
.
a further concession for SR
Observe that the SR algorithm is not a general DR-planner when input geometric
constraint graphs do not comply with assumption SR1. For example, for the graph shown
in Figure 13, during Phase One, SR would not nd any triangles and during Phase Two,
it would conclude that the graph is underconstrained, even though the graph is well-
constrained.
SR implementations may remedy some cases similar to this one. For instance, weight
2 edges to weight 2 vertices often arise from incidence constraints between geometric
elements of the same type (two coincident points or two coincident lines), and such cases
are easily accounted for by working with equivalence classes of such vertices. Moreover,
most planners will evaluate the density of a graph before announcing under- or over-
constrained situations. Thus, an implementation of the SR algorithms of Fudos and
Homann (1996b, 1997) may or may not construct a DR-plan for the graph of Figure 13
394 C. M. Homan et al.
C
8
G
G
5
T
6
T
7
T
8
T
5
7
C
6
C
9
F
K
D
R
Q
P
P
IL
LN
G
K
L
N
A
J
O
F
K
L
D
A
DG
DI
DN
IK
OF
I
D
P
Q
KH
KO
KJ
JF
G
I
P
O N
K
J
H
M L
Figure 12. Action of the simplier during Phase Two.
3 2
2
2
2
2
2
1
1
2
2
2
2
1
1
Figure 13. This solvable graph would not be recognized as solvable by SR.
depending on the original problem statement. It is clear that such heuristics enlarge the
class of solvable graphs, but fall short of decomposing all solvable constraint graphs.
However, even when input graphs do comply with SR1, and SR checks the overall
density of a graph, SR could still mistake a graph that is not solvable for solvable.
Figure 14 shows an example which the SR algorithm may process incorrectly: since the
graph contains no solvable triangles, SR proceeds immediately to Phase Two. During
Phase Two, the triconnectivity of the entire graph could be erroneously construed to mean
that the graph is solvable. In fact, the graph does have density 3, which supercially
seems to support such a conclusion. However, the graph is certainly not well-constrained:
the eight vertices on the right form a subgraph of density 2; that is, an overconstrained
subgraph. Moreover, if this overconstrained subgraph is replaced a subgraph of density
3, the resulting graph has density 4 revealing that it is not well-overconstrained either,
and therefore not solvable.
Figure 14 demonstrates that the density calculation heuristics is insucient to deter-
mine the existence of minimal dense subgraphs of triconnected constraint graphs. What
is needed is a general algorithm for nding minimal dense subgraphs.
In order to give a performance analysis of the SR algorithm for those classes of constraint
graphs where it does produce a satisfactory DR-plan, we make a strong concession (SR2)
Decomposition of Geometric Constraints I 395
Figure 14. Weight of all vertices is 2, weight of all edges is 1.
that: only triangular structures are acceptable for the remainder of this section.
That is, we modify the denitions of validity, solvability preserving, strictly solvability
preserving and completeness by replacing the words solvable subgraph by the following
recursive denition: either a subgraph that can be simplied into a single vertex by
a sequence of consecutive simplications of triangles of solvable subgraphs (using the
simplier described in Section 4.1), or a vertex, edge or triconnected subgraph.
performance analysis
In this section, we analyze the SR algorithm with respect to the various performance
measures dened in Section 3.
Claim 4.1. Under the concession SR2, the SR algorithm is valid.
Proof. We will show that every pre-imageof the solvable cluster S
i
found at the
ith iteration of the SR algorithmis also solvable, using the stricter SR2 denition
of solvable. It can be easily checked that the other requirements necessary for validity
from Section 3 also clearly hold.
Let S
i
be a cluster that has been found in G
i
by the SR algorithm (by locating a
6-cycle in C
i
). Then from the description of the algorithm, and by assertion SR2, there
is a sequence of simplications, say T
i+1
, . . . , T
m
whose composition maps S
i
to a single
vertex. For every pre-image A G
j
A = T
1
j
. . . T
1
i1
(S
i
), for j i 1, the composition
T
m
T
i
T
i1
T
j
will map A to a single vertex, hence A is solvable. 2
Claim 4.2. The SR algorithm is strictly solvability preserving under the concession SR2,
and therefore is solvability preserving as well.
Proof. Let A be a solvable subgraph, i.e. there is a sequence of simplications
A
1
, . . . , A
m
such that A = A
1
and A
m
consists of only one vertex. If the intersection
of A and the currently found cluster S
i
is empty, then T
i
(A) = A and it remains solv-
able. If this intersection is not empty, then a subgraph B = A S
i
is simplied into a
new cluster vertex c
i
= T
i
(S
i
). We need to show that in this case T
i
(A) remains solv-
able as well. Suppose that some subgraph of B is a vertex of a 6-cycle in one of the
cluster graphs formed during the simplication A
1
, . . . , A
m
. Then clearly the new cluster
vertex c
i
could perform the same function: i.e. it could also be a vertex in that 6-cycle
of one of the cluster graphs formed during the simplication A
1
, . . . , A
m
. In addition, if
A was triconnected, then so is T
i
(A). This proves that there is a sequence (essentially a
396 C. M. Homan et al.
A B
Figure 15. Solvable graph containing two triconnected subgraphs not composed of triangles.
Figure 16. Solvable graph consisting of n/3 solvable triangles.
sequence A
1
, . . . , A
m
modied by replacing B by c
i
) which terminates in a single vertex,
thus demonstrating the density of T
i
(A). 2
Claim 4.3. Even under concession SR2, SR is not complete.
Proof. We will show that there are cases when the SR picks large, non-minimal solv-
able subgraphs S
i
to simplify, ignoring smaller solvable subgraphs of S
i
.
Consider Figure 15. If subgraphs A and B are triconnected but not composed of
triangles, then they are solvable, but since the entire graph is triconnected neither A
nor B will be simplied by SR. However, since the whole graph AB is triconnected, it
will chosen by SR as S
1
during Phase Two. 2
Claim 4.4. The (worst- and) best-choice approximation factor of SR under concession
SR2 is at most O(
1
n
).
Proof. Consider Figure 16. The entire graph consists of n/3 triangles. During Phase
One, SR will successfully locate and simplify each one of them. However, during Phase
Two, SR will not be able to decompose the entire solvable graph into smaller solvable
ones (since the entire graph is triconnected) so the size of the corresponding DR-plan
is O(n). On the other hand, the optimal DR-plan would simplify neighboring pairs of
triangles, one pair at a time, thus the optimal size is a small constant. 2
Next, we consider three other performance measures discussed in Section 3.
Claim 4.5. Under the concession SR2, the algorithm SR adapts to underconstrained
graphs.
Proof. Suppose that the graph G is underconstrained. Let A be a solvable subgraph
that is not contained in any other solvable graph. Since Phase Two of the SR algorithm
Decomposition of Geometric Constraints I 397
is topdown, either SR will nd A and simplify it as one of the S
i
s, or A S
i
= for
one of the S
i
. In either case, SR adapts to G. 2
Observation 4.6. Under the concession SR2, the SR algorithm has the ChurchRosser
property, since the new graph G
i+1
remains solvable if G
i
is solvable, regardless of
the choice of the solvable S
i
that is simplied at the ith stage.
Claim 4.7. Under the concession SR2, the SR algorithm can incorporate design decom-
positions P if and only if P fullls the following requirement: any pair of solvable
subgraphs P
k
and P
t
in P satisfy P
k
P
t
or P
t
P
k
or P
k
P
t
contains no edges.
Proof. For the if part we consider the most natural modication of the original SR
algorithm, and nd a topological ordering O of the given design decomposition P
which is a set of solvable subgraphs of the input graph G, partially ordered under the
subgraph relationsuch that O is embedded as a subplan of the nal DR-plan generated
by this modied SR algorithm; i.e. O forms a subsequence of the sequence of solvable
subgraphs S
i
, whose (sequential) simplication gives the DR-plan.
We take any topological ordering O of the given design decomposition P and create
a DR-plan for the rst solvable subgraph P
1
in P. That is, while constructing the
individual DR-plan for P
1
, we ignore the rest of the graph. This individual DR-plan
induces the rst part of the DR-plan for the whole graph G. In particular, the last graph
in this partial DR-plan is obtained by simplifying P
1
using the simplier described in the
section Dening the Simplier Map (and treating P
1
exactly as SR would treat a cluster
S
j
found at some stage j). Let G
i
be the last graph in the DR-plan for G created thus
far. Now, we consider the next subgraph P
2
in the ordering O, and nd an individual
DR-plan for it, treating it not as a subgraph of the original graph G, but as subgraphs
of the simplied graph G
i
. This individual DR-plan is added on as the next part of the
DR-plan of the whole graph G.
The crucial point is that the simplication of any subgraph, say P
k
, will not aect any
of the unrelated subgraphs P
t
, t k, unless P
k
P
t
. This is because, by the requirement
on P, P
k
and P
t
share no edges. Therefore, when the cluster vertex for P
k
is created,
none of the clusters inside P
t
are removed.
The processof constructing individual DR-plans for subgraphs in the decomposition
P and concatenating them to the current partial DR-planis continued until a partial
DR-plan for the input graph G has been produced, which completely includes topological
ordering O of the decomposition P as a subplan. Let G
p
be the last graph in this partial
DR-plan. The rest of the DR-plan of G is found by running the original SR algorithm
on G
p
and the corresponding cluster graph C
p
.
For the only if part, consider Figure 17. Let P={P
0
, P
1
, P
2
}, where P
0
= ABD, P
1
=
BCD, P
2
= ABCD. Then SR cannot produce any DR-plan that would incorporate P as
subplan. 2
4.2. generalized maximum matching (MM)
Consider the algorithms of Ait-Aoudia et al. (1993), Pabon (1993), Kramer (1992), Ser-
rano and Gossard (1986) and Serrano (1990) as well as graph rigidity- and matroid-based
methods for distance constraints in two dimensions (Imai, 1985; Gabow and Westermann,
398 C. M. Homan et al.
A
C
D
B
P
0
P
2
P
1
A B D B C D
P
2
P
0
A B D C
Figure 17. Constraint graph, intended and actual decompositions.
1988; Hendrickson, 1992) as well as more general constraints (Sugihara, 1985) all of which
more or less use (generalized) maximum matching (or equivalent maximum network ow)
for nding solvable subgraphs in specialized geometric constraint graphs. These methods
either assume that the constraint graph has zero density or they reduce the weight of an
arbitrarily selected set of vertices in order to turn the graph into one of zero density.
In this paper we will analyze what we consider to be the most general algorithm of
this kind (Pabon, 1993) (it generalizes the algorithm of Ait-Aoudia et al., 1993, although
the latter provides a more complete analysis), supplemented (by us, as suggested by a
reviewer) with a method from Hendrickson (1992).
Note that while the algorithm of Pabon (1993) both locates solvable subgraphs and de-
scribes how to construct a corresponding DR-plan, Sugihara (1985), Hendrickson (1992)
and Gabow and Westermann (1988) only describe algorithms that allow one to verify
whether a given graph is solvable, but do not explicitly state how to use these algo-
rithms for successively decomposing into small solvable subgraphs, i.e. for constructing
DR-plans.
While neither of the algorithms analyzed in this paper perform well according to our
previously dened set of criteria, later, in Part II of this paper, we will describe our
network ow-based algorithm MFA that improves the performance in several key areas.
description of the algorithm
As in the case of SR, we give a terse description of the MM algorithmthe reader
is referred to Ait-Aoudia et al. (1993) and Pabon (1993) for details. Our description
is meant only to put the algorithm into an appropriate DR-planner framework that is
suited for the performance analysis.
By using maximum ow, the input constraint graph is decomposed into a collection of
subgraphs that are strongly connected. The ow information also provides a partial order-
ing of the strongly connected subgraphs representing the order in which these subgraphs
should be simplied. This ordering in turn species the DR-plan. It is important to note
that these strongly connected components represent a sequence of solvable subgraphs of
the original constraint graph, only if the input constraint graph is well-constrained.
Consider Figure 18. All the vertices have weight 2, all the edges have weight 1, and
the geometry is assumed to be in two dimensions (i.e. the geometry-dependent constant
D = 3). The output of the MM algorithm is:
a set of vertices whose total weight is reduced by 3 units, say weight of vertices
Decomposition of Geometric Constraints I 399
A
B
C
D A
B
C
D
Figure 18. Original constraint graph and its decomposition into strongly connected components.
AC
AB
BC
CD
BD
A
B
C
D
Sink
1
1
1
1
1
2
1
1
1
AC
AB
BC
CD
BD
A
B
C
D
Sink
1
1
1
1
1
1
1
1
2
Figure 19. Modied bipartite graph and maximum ow in this graph.
A, B and C to be reduced by 1 unit each, (this corresponds to xing 3 degrees of
freedomthe number of degrees of freedom of a rigid body in two dimensions);
two strongly connected components ABC and D;
the DR-plan, i.e. the information that the subsystem represented by ABC should
be simplied/solved rst and then its union with D should be simplied/solved.
In order to produce such an output, the MM algorithm rst constructs the network
X = (V X, EX) corresponding to the original weighted constraint graph G = (V, E)
(after the weights of A, B, C were reduced by 1 unit each). The set of vertices V X is
the union of V X
1
and V X
2
where the vertices in V X
1
correspond to the vertices in
V , vertices in V X
2
correspond to the edges in E. An edge ex EX would be created
between vx
1
V X
1
and vx
2
V X
2
if the vertex in V corresponding to the vx
1
is
an endpoint of an edge in E corresponding to vx
2
. The edge ex has innite capacity.
All the vertices in V X
1
are connected to the special vertex called Sink. The capacity of
connecting edges is equal to the weight of the corresponding vertices in V . For example,
the left half of Figure 19 shows the bipartite graph corresponding to the constraint graph
of Figure 18. Next the maximum ow in the network X is found, with vertices in V X
2
being source vertices of capacity equal to the weights of the corresponding edges in E.
See the right half of Figure 19 (thick edges have non-zero ow).
The maximum ow found in X induces a partition of the original graph G into a
partially ordered set of strongly connected componentsgiving a sequence of solvable
subgraphs of G, provided G is well-constrainedas in Figure 18, according to the fol-
lowing rules: if the ow in X from the vertex z V X
2
that is connected to the vertices
x, y V X
1
is sent toward x, then in the graph G, the edge corresponding to z (between
vertices x and y) becomes an oriented edge directed from y to x. If the ow from z is
sent toward both x and y, then the edge is bidirected toward both x and y. (Recall that
400 C. M. Homan et al.
a strongly connected component S in this directed graph is a subgraph such that for
any two vertices a, b S, there is an oriented path from a to b.) The partial ordering of
components is induced as follows. Let K and L be two strongly connected components
in the oriented version of G. If all the edges between vertices of K and L are pointing
toward L, then L should be simplied after K.
defining the simplifier map
We capture the transformations performed by the MM DR-planner described above,
by describing its simplier maps (recall the denitions in Section 3).
Let G = (V, E) be the geometric constraint graph. Denote by G
1
= (V
1
, E
1
= E)
the directed graph after weights of some vertices have been reduced as described above
and a partial ordering of strongly connected components has been found. First S
1
G
1
is located such that S
1
is strongly connected. Then S
1
is simplied into the vertex v
1
of weight 0. The other vertices of G
1
remain unchanged. Edges of G
1
that had both
endpoints outside of S
1
are unchanged, edges that had both endpoints in S
1
are removed,
edges that had exactly one endpoint in S
1
have this endpoint replaced by v
1
. In the
next step, C
2
the next strongly connected component in a topological ordering of the
components in G
2
= T
1
(G
1
)is located. The subgraph S
2
is set to be {v
1
} C
2
. Then
S
2
is simplied into the vertex v
2
of weight 0. This process is continued until G
k
consists
of one vertex. The simplier maps are formally dened as follows.
T
i
(S
i
) = v
i
where v
i
is the vertex in G
i+1
of weight 0.
If B G
i
, B S
i
= , then T
i
(B) = B.
If B G
i
, B S
i
= , then the image of B, T
i
(B) = {v
i
} (B \ S
i
).
redefining solvability
Claim 4.8. The MM algorithm is a not a general DR-planner.
Proof. While the MM algorithm can correctly classify as solvable and decompose
well-constrained and well-overconstrained graphs and correctly classify underconstrained
graphs that have no overconstrained subgraphs as being unsolvable, it is unable to cor-
rectly classify an underconstrained graph that has an overconstrained subgraph. Con-
sider Figure 21, the weight of all the edges is 1, of the vertices as indicated. Graph
ABCDE has density 3, it contains overconstrained subgraphs AC, BC, CD, CE, and
removal of say edge AC will result in ABCDE becoming non-dense, hence ABCDE
is not well-overconstrained and not solvable. The MM algorithm may or may not de-
tect this, depending on the initial choice of vertices whose weights are to be reduced.
Suppose that the weight of the vertex E was reduced by 1 and the weight of the ver-
tex D by 2. Then the corresponding maximum possible ow f and the correspond-
ing decomposition into strongly connected components are shown in Figure 22. Note
that it is impossible to simplify the strongly connected component A, and thus there
can be no DR-plan for this initial choice of vertices for reducing weights. On the other
hand, if the weight of A had been reduced by 2 and weight of D by 1, then the max-
imum ow is larger than f (in fact, no choice of vertices for weight reduction can give
a larger ow) and it can be checked that MM would yield a DR-plan, see Figure 23
(S
1
= A, S
2
= AC, S
3
= ABC, S
4
= ABCD, S
5
= ABCDE). 2
Decomposition of Geometric Constraints I 401
A
C
D
B
1
*
Sink
1
1
1
1
2
2
A
D
B
C
2
2
4
AB
AD
BD
BC
DC
*
*
2
*
Figure 20. Constraint graph and network ow with three extra ow units at AB.
2
2
1
2
A
B
C
E
D
2
Figure 21. The existence of a DR-plan depends on the initial choice of vertices whose weights are
reduced.
Thus MM runs into problems in the presence of overconstrained subgraphs, unless
G happens to be well-overconstrained, which cannot be a priori checked without re-
lying on an algorithm for detecting overconstrained subgraphs and replacing them by
well-constrained ones. Therefore it is necessary and sucient to locate overconstrained
subgraphs and replace them by well-constrained ones, in order to guarantee that MM
will work.
The author of Pabon (1993) does not specify how to do this. The following modication
similar to that of Hendrickson (1992) could be used, as was suggested by a reviewer, and
completed here.
First a maximum ow in the unmodied network X (i.e. where vertex weights are not
reduced) is found. After that, for every source vertex v V X
2
, except one vertex v
m
,
the following two steps are repeated.
Three extra units of ow are sent from v, possibly rearranging existing ows in X.
These 3 units of ow are removed, without restoring original ows.
For vertex v
m
, 3 units of ow are sent but not removed.
For example, consider Figure 20. The constraint graph is shown on the left, the weights
of all vertices are 2, the weights of all edges are 1. The resulting network ow is shown
on the right, assuming that AB was the last vertex v
m
. The extra three units of ow and
their destination vertices A and B are marked by asterisks. This particular ow induces
a weight reduction of A by 1 unit and of B by 2 units.
This modication identies overconstrained subgraphs since it is impossible to send
all three extra units from at least one edge of an overconstrained graph. These overcon-
402 C. M. Homan et al.
AC
AB
BC
A
B
C
D
Sink
1
1
1
1
1
1
CD
CE
ED
E
1
2
2
1
0
1
0
2
1
A
B
C
D
E
2
Figure 22. Maximum ow and decomposition given the bad initial choice.
0 2
1
A
B
C
D
E
2 1
Figure 23. Decomposition given the good initial choice.
strained graphs have to be modied by the designer to become well-constrained, and the
ow algorithm is run again.
This is important because otherwise the DR-algorithm cannot proceed, since in un-
derconstrained graphs with overconstrained subgraphs, strongly connected components
do not necessarily correspond to a sequence of solvable subgraphs.
To reect the modication above, we make the following concession for MM, (MM1):
the input constraint graph G has no overconstrained subgraphs in G. A subgraph A G
is solvable if it has zero density, after the vertices for weight reduction by D are chosen
(these can be chosen arbitrarily, provided there are no overconstrained subgraphs).
performance analysis
In this section, we analyze the MM algorithm with respect to the various performance
measures dened in Section 3.
Note that despite the concession MM1, the MM algorithm has the following drawbacks:
the DR-plan is uniquely determined, once vertices whose weights are reduced are chosen.
For example, in Figure 20 after the weight of A is reduced by 1 and the weight of B
by 2 units, solvable subgraphs to be simplied are S
1
= {A, B}, S
2
= {T
1
(S
1
), D}, S
3
=
{T
2
(S
2
), C}. While the subgraph BCD is also solvable (if say initially weights of vertices
B and C were reduced instead of A and B), it cannot be chosen as one of the S
i
after
the weights of A and B are reduced.
This causes MM to have bad worst-choice and best-choice approximation factors and
to be unable to incorporate general designer decomposition.
The following is straightforward from the description of the simpliers.
Decomposition of Geometric Constraints I 403
L
n/2
L
n/2 1
L
3
3
3
3
3
2
3
3
3
3
2
L
2
L
1
R
n/2
R
n/2 1
R
3
R
2
R
1
2
C
Figure 24. Bad best-choice approximation.
Claim 4.9. Under the concession MM1, the MM algorithm is a valid DR-planner.
Claim 4.10. Under the concession MM1, the MM algorithm is strictly solvability pre-
serving (and therefore solvability preserving).
Proof. Suppose that a subgraph A of the input graph G is solvable, i.e. d(A) = 0. Let
S
i
be the solvable subgraph to be simplied at the current stage. Let B = AS
i
, C =
A\B. Since we assume that G does not contain any overconstrained subgraphs, d(B) 0
and d(AS
i
) 0 d(AS
i
) = d(A)+d(S
i
)d(B) 0 0+0d(B) 0 d(B) = 0.
Thus d(T
i
(A)) = d(T
i
(C)) +d(T
i
(B)) = d(C) + 0 = d(A) d(B) = 0, therefore T
i
(A) is
also solvable. 2
Claim 4.11. Under the concession MM1, the MM algorithm is complete.
Proof. Let A be a proper solvable subgraph of the S
i
, i 2. Since A is solvable,
there cannot be any edges outside of A pointing toward A (this is because there is no
room for ows of outside edges toward the vertices of A). Recall that S
i
is the union
of C
i
{v
i1
}, where C
i
is the rst strongly connected component in the topological
ordering of the components at the stage i, and v
i1
is the simplication of S
i1
. However,
unless A = v
i1
, the rst strongly connected component at this stage would have been
A\ {v
i1
}, not C
i
, which contradicts the choice of C
i
at stage i. 2
Claim 4.12. Under the concession MM1, the best-choice (and worst-choice) approxima-
tion factor of MM is at most O(
1
n
).
Proof. To prove the bound on the best-choice approximation factor consider Figure 24.
The left and right columns contain n/2 vertices each. The weights of all the vertical edges
are 2, the weights of all other edges are 1, the weights of the vertices are as indicated,
and the geometry-dependent constant D = 3.
Note that all solvable subgraphs in Figure 24 could be divided into three classes. The
404 C. M. Homan et al.
rst class consists of the subgraphs CL
1
L
2
; CL
1
L
2
L
3
; . . . ; CL
1
L
2
. . . L
n/21
L
n/2
. The
second class consists of the subgraphs CR
1
R
2
; CR
1
R
2
R
3
; . . . ; CR
1
R
2
. . . R
n/21
R
n/2
.
The third class contains the solvable subgraphs that contain both L and R vertices. There
is only one element in this classthe entire graph CL
1
L
2
. . . L
n/2
R
1
R
2
. . . R
n/2
. There is
an optimal DR-plan of constant size that takes S
1
= CL
1
L
2
, S
2
= S
1
L
3
, . . . , S
n/21
=
S
n/22
L
n/2
. After that it takes S
n/2
= CR
1
R
2
, S
n/2+1
= S
n/2
R
3
, . . . , S
n
=
S
n1
R
n/2
. Finally it takes S
n+1
= S
n/21
S
n
.
However all DR-plans found by MM will have size O(n). The reason for this is that MM
is unable to simplify solvable subgraphs on the left of the Figure 24 independently from
the solvable subgraphs on the right. More formally, let S
1
be the rst subgraph simplied
by MM under some DR-plan Q. If S
1
belongs to the third class of solvable subgraphs,
then the size of Q is O(n). Otherwise, without loss of generality we can assume that S
1
belongs to the rst class. According to the denition of MM, the simplication of S
1
is
a vertex v
1
of weight 0. After this simplication any strongly connected component that
contains some R
i
should also contain all of the R
1
. . . R
n/2
. Hence there is an S
i
in Q
such that R
1
R
2
. . . R
n/2
S
i
. Hence the size of Q is O(n). 2
Next, we consider three other performance measures discussed in Section 3.
Claim 4.13. Under the concession MM1, a simple modication of the MM algorithm
is able to adapt to underconstrained graphs. This modication, however, increases the
complexity by a factor of n.
Proof. Suppose that the graph G is underconstrained. Consider the maximum ow
found by MM in the network X corresponding to G, as described in the section Redening
Solubility. There are two cases.
The rst case is when the last vertex v
m
in X corresponds to an edge of some solv-
able subgraph A
1
. Then all vertices v
i
in X corresponding to vertices of A
1
have their
capacities completely lled, since A
1
is solvable. On the other hand, at least one vertex
v of G will not have its capacity lled completely, since G is underconstrained. Let W be
the set of such vertices v. The new modication of MM would proceed by removing all
vertices of X corresponding to vertices of W and edges adjacent to W, as well as ows
originating at such edges. Once this is done, a new set W is recomputed and removed,
until all remaining vertices of X that represent vertices of G have their capacities lled
completely. These vertices comprise a solvable subgraph A
1
such that no supergraph of
A
1
is solvable. Once the subgraph A
1
(and its DR-plan Q
1
) is found, it could be removed
from G and the process applied recursively to G\ A
1
to nd a solvable subgraph A
2
, its
DR-plan Q
2
, etc.
The second case is when the last vertex v
m
in X is not contained in any solvable
subgraph. Then constructing and removing sets W as described above will completely
exhaust G, without nding any solvable graphs. The new modication of MM would
proceed by nding another maximum ow in network X corresponding to G such that
the last vertex v
i
m
is dierent from v
m
. Again two cases are considered for vertex v
i
m
.
If all v
i
m
G are not contained in any solvable subgraph, then G does not contain any
solvable subgraph and the process terminates.
Note that this modication ohand increases the complexity of MM by a factor of n,
and there does not seem to be any obvious way to prevent this factor.
This modication of MM outputs a DR-plan Q = Q
1
, . . . , Q
k
for a set of solvable
Decomposition of Geometric Constraints I 405
subgraphs A
1
, . . . , A
k
such for any i no supergraph of A
i
is solvable and there are no
solvable subgraphs B G such that B A
j
= , j. Thus this modication of MM is
able to adapt to underconstrained graphs. 2
Observation 4.14. (i) Under the concession MM1, MM has the ChurchRosser prop-
erty since simplifying any S
i
that is solvable at the current stage preserves the density of
the whole graph G
i+1
(i.e. G
i+1
is solvable if and only if G
i
is).
(ii) Under the concession MM1, MM is able to incorporate a design decomposition P
specied by the designer if and only if for every P
k
, P
t
P such that P
k
P
t
= either
P
k
P
t
or P
t
P
k
.
Proof is similar to the corresponding proof for the SR algorithm in Claim 4.7.
4.3. comparison of performance
Next, we give a table comparing the SR and MM DR-planners with respect to the
performance measures of Section 3. Underconstr. refers to the ability to deal with
underconstrained graphs, Design decomposition refers to the ability to incorporate
design decompositions specied by the designer.
Performance measure SR MM
Generality No Yes
Underconstr. No(Yes
) Yes
,
Design decomposition No(Yes
,
) No(Yes
,
)
Validity No(Yes
) Yes
Solvability No(Yes
) Yes
) Yes
Complete No(No
) Yes
) O(
1
n
)
) O(
1
n
)
ChurchRosser No(Yes
) Yes
Complexity O((m+n)
2
) O(n(m+n))
The superscript * refers to a narrow class of DR-plans: those that require the solvable
subsystems S
i
to be based on triangles or a xed repertoire of patterns. The superscript
refers to results that were not true for the original MM algorithm developed by Ait-
Aoudia et al. (1993) and Pabon (1993) and proved in this paper through a modication
of MM described in Section 4.2. The superscript refers to a restricted class of graphs
in which there are no overconstrained subgraphs. It also refers to a further modication
of MM described in Claim 4.13, which however, increases the complexity by a factor of
n. The superscript refers to strong restrictions on the design decompositions that
can be incorporated into DR-plans by SR and MM.
Acknowledgements
We thank two anonymous reviewers for their careful reading of the paper, and one
of them for suggesting the modication which we completed and which signicantly
improves the MM algorithm, as described in Section 4.2.
406 C. M. Homan et al.
References
Ait-Aoudia, S., Jegou, R., Michelucci, D. (1993). Reduction of constraint systems. In Compugraphics, pp.
8392. Alvor, Portugal.
Blum, L., Shub, M., Smale, S. (1989). On a theory of computation and complexity over the real numbers:
NP-completeness, recursive functions and universal machines. Bull. Am. Math. Soc., 21, 146.
Bouma, W., Fudos, I., Homann, C., Cai, J., Paige, R. (1995). A geometric constraint solver. Comput.
Aided Des., 27, 487501.
Bronsvoort, W. F., Jansen, F. W. (1994). Multiview feature modeling for design and assembly. In Shah,
J., Mantyla, M., Nau, D. S. eds, Advances in Feature Based Modeling, pp. 315330. Amsterdam,
Elsevier Science.
Canny, J. (1993). Improved algorithms for sign determination and existential quantier elimination.
Comput. J., 36, 409418.
Canny, J., Emiris, I. (1993). An ecient algorithm for the sparse mixed resultant. In Cohen, G., Mora, T.,
Moreno, O. eds, Proceedings of the 10th International Symposium on Applied Algebra, Algebraic Al-
gorithms, and Error Correcting Codes, LNCS 263, pp. 89104. Berlin, Springer-Verlag.
Chou, S. C., Gao, X. S., Zhang, J. Z. (1996). A method of solving geometric constraints. Technical
Report, Wichita State University, Department of Computer Science.
Collins, G. (1975). Quantier elimination for real closed elds by cylindrical algebraic decomposi-
tion, LNCS 33, pp. 134183. Berlin, Springer-Verlag.
Cox, D., Little, J., OShea, D. (1998). Using Algebraic Geometry. New York, Springer-Verlag.
Crippen, G., Havel, T. (1988). Distance Geometry and Molecular Conformation. New York, John Wiley
& Sons.
Durand, C. (1998). Symbolic and numerical techniques for constraint solving. Ph.D. Thesis, Purdue
University, Computer Science Department.
Fang, S. (1992). Robustness in geometric modeling. Ph.D. Thesis, University of Utah.
Fudos, I. (1995). Geometric constraint solving. Ph.D. Thesis, Purdue University, Department of Com-
puter Science.
Fudos, I., Homann, C. M. (1996a). Constraint-based parametric conics for CAD. Comput. Aided Des.,
28, 91100.
Fudos, I., Homann, C. M. (1996b). Correctness proof of a geometric constraint solver. Int. J. Comput.
Geom. Appl., 6, 405420.
Fudos, I., Homann, C. M. (1997). A Graph-Constructive Approach to Solving Systems of Geometric
Constraints. ACM Trans. Graph., 16, 179216.
Gabow, H., Westermann, H. (1988). Forests, frames and games: Algorithms for matroid sums and ap-
plications. In Proceedings of the Twentieth Annual ACM Symposium on the Theory of Computing,
Chicago, Illinois, U.S.A., 24 May 1998, pp. 407421. New York, ACM Press.
Gao, X. S., Chou, S. C. (1998a). Solving geometric constraint systems. I. A global propagation approach.
Comput. Aided Des., 30, 4754.
Gao, X. S., Chou, S. C. (1998b). Solving geometric constraint systems. II. A symbolic approach and
decision of RC-constructibility. Comput. Aided Des., 30, 115122.
Graver, J., Servatius, B., Servatius, H. (1993). Combinatorial Rigidity, Graduate Studies in Mathematics.
Grigorev, D. Y., Vorobjov, N. N. (1988). Solving systems of polynomial inequalities in subexponential
time. J. Symb. Comput., 5, 3764.
Hastad, J. (1996). Clique is hard to approximate within n
1
. In Proceedings of the 37th IEEE Sympo-
sium on Foundations of Computer Science, pp. 627636. Burlington, IEEE press.
Havel, T. (1991). Some examples of the use of distances as coordinates for Euclidean geometry. J. Symb.
Comput., 11, 579594.
Hendrickson, B. (1992). Conditions for unique graph realizations. SIAM J. Comput., 21, 6584.
Homann, C. M. (1997). Solid modeling. In Goodman, J. E., ORourke, J. eds, CRC Handbook on
Discrete and Computational Geometry. Boca Raton, FL, CRC Press.
Homann, C. M., Joan-Arinyo, R. (1998). CAD and the product master model. Comput. Aided Des.,
30, 905919.
Homann, C. M., Lomonosov, A., Sitharam, M. (1997). Finding solvable subsets of constraint graphs. In
Proceedings of Principles and Practice of Constraint Programming 97, Linz, Austria, LNCS 1330,
pp. 463477. Berlin, Springer-Verlag.
Homann, C. M., Lomonosov, A., Sitharam, M. (1998). Geometric constraint decomposition. In Brud-
erlin, Roller eds, Geometric Constraint Solving. Berlin, Springer-Verlag.
Homann, C. M., Peters, J. (1995). Geometric constraints for CAGD. In Daehlen, M., Lyche, T., Schu-
maker, L. eds, Mathematical Methods for Curves and Surfaces, pp. 237254. Vanderbilt University
Press.
Homann, C. M., Rossignac, J. (1996). A road map to solid modeling. IEEE Trans. Vis. Comput.
Graphics, 2, 310.
Homann, C. M., Vermeer, P. J. (1994). Geometric constraint solving in R
2
and R
3
. In Du, D. Z.,
Hwang, F. eds, Computing in Euclidean Geometry, 2
nd
edn. Singapore, World Scientic Publishing.
Decomposition of Geometric Constraints I 407
Homann, C. M., Vermeer, P. J. (1995). A spatial constraint problem. In Workshop on Computational
Kinematics, France. Sophia-Antipolis, INRIA.
Hopcroft, J. E., Tarjan, R. E. (1973). Dividing a graph into triconnected components. SIAM J. Comput.,
2, 135158.
Hsu, C. (1996). Graph-based approach for solving geometric constraint problems. Ph.D. Thesis, Univer-
sity of Utah, Department of Computer Science.
Imai, H. (1985). On combinatorial structures of line drawings of polyhedra. Discrete Appl. Math., 10,
7992.
Itai, A., Rodeh, M. (1978). Finding a minimum circuit in a graph. SIAM J. Comput., 4, 413423.
Khovanskii, A. G. (1978). Newton polyhedra and the genus of complete intersections. Funktsionalnyi
Analiz i Ego Prilozheniya, 12, 5161.
Klein, R. (1996). Geometry and feature representation for an integration with knowledge based systems.
In Geometric Modeling and CAD. Florida, U.S.A., Chapman-Hall.
Klein, R. (1998). The role of constraints in geometric modeling. In Bruderlin, Roller eds, Geometric
Constraint Solving and Applications. Berlin, Springer-Verlag.
Kraker, K. J., Dohmen, M., Bronsvoort, W. F. (1997). Maintaining multiple views in feature modeling.
In ACM/SIGGRAPH Symposium on Solid Modeling Foundations and CAD/CAM Applications, pp.
123130. New York, ACM press.
Kramer, G. (1992). Solving Geometric Constraint Systems. Cambridge, MA, U.S.A., MIT Press.
Laman, G. (1970). On graphs and rigidity of plane skeletal structures. J. Eng. Math., 4, 331340.
Latham, R., Middleditch, A. (1996). Connectivity analysis: a tool for processing geometric constraints.
Comput. Aided Des., 28, 917928.
Lazard, D. (1981). Resolution des syst`emes dequations algebriques. Theor. Comput. Sci., 15, 77110.
Lazard, D. (1991). A new method for solving algebraic systems of positive dimension. Discrete Appl.
Math., 33, 147160.
Mantyla, M., Opas, J., Puhakka, J. (1989). Generative process planning of prismatic parts by feature
relaxation. In Advances in Design Automation, Computer Aided and Computational Design, pp.
4960. Sacramento, CA, U.S.A., ASME.
Middleditch, A., Reade, C. (1997). A kernel for geometric features. In ACM/SIGGRAPH Symposium
on Solid Modeling Foundations and CAD/CAM Applications. New York, ACM press.
Newell, M. E., Evans, D. C. (1976). Modeling by computer. In IFIP Working Conference on CAD
Systems, Austin, TX, pp. 291297. Amsterdam, North-Holland.
Owen, J. (1991). Algebraic solution for geometry from dimensional constraints. In ACM Symposium
Found. of Solid Modeling, Austin, TX, pp. 397407. ACM.
Owen, J. (1996). Constraints on simple geometry in two and three dimensions. Int. J. Comput. Geom.
Appl., 6, 421434.
Pabon, J. A. (1993). Modeling method for sorting dependencies among geometric entities. United States
Patent 5,251,290.
Renegar, J. (1992). On the computational complexity and the rst order theory of the reals, Part I. J.
Symb. Comput., 13, 255299.
Ruiz, O. E., Ferreira, P. M. (1996). Algebraic geometry and group theory in geometric constraint satis-
faction for computer-aided design and assembly planning. IIE Trans. Des. Manuf., 28, 281294.
Saliola, F., Whiteley, W. (1999). Constraint congurations in CAD: circles, lines and angles in the plane.
Preprint, York University.
Semenkov, O. I. (1976). An experimental CAD/CM system. In 3rd International IFIP/IFAC Conference
on Programming Languages for Machine Tools, Stirling, Scotland, pp. 397403. Amsterdam, North-
Holland.
Serrano, D. (1990). Managing constraints in concurrent design: rst steps. In Proceedings of Computers
in Engineering, Boston, MA, 1990, pp. 159164.
Serrano, D., Gossard, D. C. (1986). Combining mathematical models with geometric models in CAE
systems. Computers in Engineering, Chicago, IL. ASME, 1, 277284.
Sridhar, N., Aggarwal, R., Kinzel, G. L. (1993). Active occurence matrix based approach to design
decomposition. Comput. Aided Des., 25, 500512.
Sridhar, N., Aggarwal, R., Kinzel, G. L. (1996). Algorithms for the structural diagnosis and decomposi-
tion of sparse, underconstrained, systems. Comput. Aided Des., 28, 237249.
Sturmfels, B. (1993). Sparse elimination theory. In Proceedings of the Computational Algebraic Geometry
and Commutative Algebra, pp. 377396. Cambridge, Cambridge University Press.
Sugihara, K. (1985). Detection of structural inconsistency in systems of equations with degrees of freedom
and its applications. Discrete Appl. Math., 10, 297312.
Tay, T. (1999). On the generic rigidity of bar frameworks. Adv. Appl. Math., 23, 1428.
Tay, T., Whiteley, W. (1985). Generating isostatic frameworks. Topologie Structurale, 11, 2169.
Wang, D. (1993). An elimination method for polynomial systems. J. Symb. Comput., 16, 83114.
Whiteley, W. (1992). Matroids and rigid structures. In Matroid Applications, volume 40 of Encyclopedia
Math. Appl., pp. 153. Cambridge, Cambridge University Press.
408 C. M. Homan et al.
Whiteley, W. (1997). Rigidity and scene analysis. In Handbook of Discrete and Computational Geome-
try, pp. 893916. Florida, U.S.A., CRC Press.
Originally Received 17 February 1998
Accepted 11 June 2000