An inductive construction of minimally rigid body–hinge simple graphs

An inductive construction of minimally rigid body–hinge simple graphs

Theoretical Computer Science 556 (2014) 2–12 Contents lists available at ScienceDirect Theoretical Computer Science www.elsevier.com/locate/tcs An ...

576KB Sizes 2 Downloads 93 Views

Theoretical Computer Science 556 (2014) 2–12

Contents lists available at ScienceDirect

Theoretical Computer Science www.elsevier.com/locate/tcs

An inductive construction of minimally rigid body–hinge simple graphs Yuki Kobayashi a,∗ , Yuya Higashikawa a , Naoki Katoh a,1 , Naoyuki Kamiyama b,1 a b

Department of Architecture and Architectural Engineering, Kyoto University, Japan Institute of Mathematics for Industry, Kyushu University, Japan

a r t i c l e

i n f o

Article history: Received 6 May 2014 Received in revised form 2 August 2014 Accepted 17 August 2014 Available online 23 August 2014 Keywords: Body–hinge framework Panel–hinge framework Body–hinge graph Infinitesimal rigidity Rigid realization

a b s t r a c t A d-dimensional body–hinge framework is a collection of d-dimensional rigid bodies connected by hinges, where a hinge is a (d − 2)-dimensional affine subspace, i.e., pin-joints in 2-space, line-hinges in 3-space, plane-hinges in 4-space and etc. Bodies are allowed to move continuously in Rd so that the relative motion of any two bodies connected by a hinge is a rotation around it and the framework is called rigid if every motion provides a framework isometric to the original one. A body–hinge framework is expressed as a pair (G , p) of a multigraph G = ( V , E ) and a mapping p from e ∈ E to a (d − 2)-dimensional affine subspace p(e ) in Rd . Namely, v ∈ V corresponds to a body and uv ∈ E corresponds to a hinge p(uv ) which joins the two bodies corresponding to u and v. Then, G is said to be realized as a body–hinge framework (G , p) in Rd , and is called a body–hinge graph. It is known [9,12] that the infinitesimal rigidity of a generic body–hinge framework (G , p) is determined only by its underlying graph G. So, a graph G is called (minimally) rigid if G can be realized as a (minimally) infinitesimally rigid body–hinge framework in d-dimension. In this paper, we shall present an inductive construction for minimally rigid body–hinge simple graphs in d-dimension with d ≥ 3. © 2014 Elsevier B.V. All rights reserved.

1. Introduction A d-dimensional body–hinge framework (Fig. 1(a)) is a collection of d-dimensional rigid bodies connected by hinges, where a hinge is a (d − 2)-dimensional affine subspace, i.e., pin-joints in 2-space, line-hinges in 3-space, plane-hinges in 4-space and etc. Bodies are allowed to move continuously in Rd so that the relative motion of any two bodies connected by a hinge is a rotation around it and the framework is called rigid if every motion provides a framework isometric to the original one. We regard a body–hinge framework as a pair (G , p) of a multigraph G = ( V , E ) and a mapping p from e ∈ E to a (d − 2)-dimensional affine subspace p(e ) in Rd . Namely, v ∈ V corresponds to a body and uv ∈ E corresponds to a hinge p(uv) which joins the two bodies corresponding to u and v. Then, G is said to be realized as a body–hinge framework (G , p) in Rd , and is called a body–hinge graph. Tay [9] and Whiteley [12] independently proved that the infinitesimal rigidity of a generic body–hinge framework (G , p) is determined only by its underlying graph G. Body–hinge framework is generic if its rigidity matrix has a maximum rank

* 1

Corresponding author. E-mail address: [email protected] (Y. Kobayashi). Supported by JSPS Grant-in-Aid for Scientific Research (A) (25240004).

http://dx.doi.org/10.1016/j.tcs.2014.08.007 0304-3975/© 2014 Elsevier B.V. All rights reserved.

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

3

Fig. 1. (a) Body–hinge, (b) panel–hinge and (c) body–bar frameworks.

Fig. 2. (a) The graph  G obtained from the graph of Fig. 1(a) by replacing each edge by D − 1 (= 5) parallel edges ( D = 6). (b) Six edge-disjoint spanning trees in  G.

on all subgraphs [3]. From basic algebraic geometry results this means that ‘almost all’ body–hinge realizations of G are generic in Rd (see [12–14] for details). d+1 G denotes the graph obtained from G by replacing each edge by ( D − 1) parallel edges. Let D = 2 and  G contains Proposition 1. (See [9,12].) A graph G can be realized as an infinitesimally rigid body–hinge framework in Rd if and only if  D edge-disjoint spanning trees. The graph corresponding to an infinitesimally rigid body–hinge framework is said to be rigid. The graph corresponding to a minimally infinitesimally rigid body–hinge framework is said to be minimally rigid. Fig. 2(a) shows the underlying graph  G of the body–hinge framework in 3-dimension illustrated in Fig. 1(a). Since  G contains six edge-disjoint spanning trees as illustrated in Fig. 2(b), it can be realized as an infinitesimally rigid body–hinge framework in 3-dimension. Replacing each body of a body–hinge framework is said to be a panel–hinge framework (see Fig. 1(b)). Katoh and Tanigawa [3] proved the following proposition. Proposition 2. (See [3].) Let G = ( V , E ) be a graph. Then, G can be realized as an infinitesimally rigid body–hinge framework in Rd if and only if G can be realized as an infinitesimally rigid panel–hinge framework in Rd . A necessary and sufficient condition that a generic 2-dimensional bar–joint framework is infinitesimally rigid is given by Laman [4]. The corresponding graph is called a Laman graph. It is known that Laman graphs are generated via Henneberg operations, and all Laman graphs can be constructed by these operations [2,13]. Furthermore, by using the matroid property, we can efficiently enumerate all Laman graphs by the algorithm of [11]. On the other hand, it remains open to derive combinatorial characterizations for 3-dimensional bar–joint frameworks [13]. However, for a special class of generic 3-dimensional bar–joint frameworks such as generic body–bar and body–hinge frameworks, a combinatorial characterization was developed by Tay and Whiteley [9,12]. A body–bar framework (Fig. 1(c)) is a collection of rigid bodies connected by rigid bars with joints which is represented by a body–bar graph where a rigid body corresponds to a vertex and a bar corresponds to an edge. It is known [8] that for a general d-dimension, a graph (a minimally rigid body–bar graph) corresponding to a minimally generically rigid body–bar framework can be characterized as one that consists of D edge-disjoint spanning trees. D edge-disjoint spanning trees can be viewed as a union of D graphic matroids, and thus we can easily develop a polynomial time algorithm for enumerating all minimally rigid body–bar graphs by using the algorithm of [11]. Moreover, an inductive construction for all minimally rigid body–bar graphs in d-dimension is known [1]. However, for minimally rigid body–hinge graphs, inductive operations that create one with larger size from a smaller one are not known. Notice that Katoh and Tanigawa [3] showed two operations (i.e., contraction of minimally rigid proper subgraph, and splitting-off operation at a vertex of degree two) that create a minimally rigid body–hinge graph of a smaller size when a minimally rigid body–hinge graph is given. We develop five operations that inductively construct minimally rigid body–hinge simple graphs for d-dimension with d ≥ 3 (see Section 3 for the detail). More precisely, we prove the following theorems.

4

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

Fig. 3. (a) Contraction of a proper rigid subgraph and (b) splitting off at a vertex of degree two.

Theorem 1. For any given minimally rigid body–hinge simple graph G, by applying at least one of five operations to G we can obtain a minimally rigid body–hinge simple graph of whose vertex size is larger than that of G by one or two. Also, every operation can be executed in polynomial time. Theorem 2. Any minimally rigid body–hinge simple graph can be constructed by a sequence of five operations starting from the triangle graph. In this paper, we focus on body–hinge simple graphs, because it is not interesting to consider body–hinge multigraphs from the viewpoint of engineering applications. The rest of this paper is organized as follows. In Section 2, we introduce necessary notations and facts that are needed to prove Theorems 1 and 2. In Section 3, we introduce five operations, and give a proof of Theorem 1. In Section 4, we give a proof of Theorem 2. Section 5 concludes the paper. 2. Preliminaries Let G = ( V , E ) be a multigraph which may contain parallel edges but no self-loops. In this paper, if we do not mention, we consider a graph as a multigraph. For X ⊆ V , let G [ X ] be the graph induced by X . For X ⊆ V , let δG ( X ) = {uv ∈ E | u ∈ X, v ∈ / X }. For X = { v }, we shall omit set brackets when describing singleton sets, e.g., δG ( v ) implies δG ({ v }). Throughout the paper, a partition P of V is a collection { V 1 , V 2 , . . . , V m} of vertex subsets for some positive integer m such that V i = ∅ m for 1 ≤ i ≤ m, V i ∩ V j = ∅ for any 1 ≤ i, j ≤ m, i = j, and i =1 V i = V . Let δG (P ) denote the set of edges of G connecting   ˜ distinct subsets of P . Let E denote the edge set of G. Also, e denotes the set of corresponding D − 1 parallel copies of e in  E. We index the edges of  e by 1 ≤ i ≤ D − 1, i.e., e i , or (e )i , denotes the ith element in  e. The following Tutte–Nash-Williams disjoint tree theorem is well known [6,10]. Proposition 3 (Tutte, Nash-Williams). A multigraph G = ( V , E ) contains k edge-disjoint spanning trees if and only if |δG (P )| ≥ k(|P | − 1) holds for every partition P of V . Katoh and Tanigawa [3] showed two operations which produce a minimally rigid body–hinge graph of a smaller size from a minimally rigid body–hinge graph G = ( V , E ). The first operation is the contraction of a proper rigid subgraph; G = ( V , E ) is called a proper rigid subgraph if it is a rigid subgraph of G satisfying 1 < | V | < | V | (Fig. 3(a)). The second operation is a so-called splitting off operation (Fig. 3(b)). For a vertex v of a graph G, we denote by N G ( v ) the set of vertices adjacent to v in G. A splitting off is defined only at a vertex v of degree two. Let N G ( v ) = {a, b}. We denote by G ab v the graph obtained from G by removing v (and the edges incident to v) and then inserting a new edge ab. So, the resulting graph G ab v is isomorphic to that obtained by contracting either va or vb. Note that it is not straightforward to construct a polynomial time algorithm for enumerating all minimally rigid body–hinge graphs based on these two operations. The following six lemmas are known [3]. Lemma 1. (See [3].) Let G be a rigid body–hinge graph. Then, G is 2-edge-connected. The following lemma shows that the contraction of a rigid subgraph in a minimally rigid body–hinge graph produces a minimally rigid body–hinge graph of a smaller size. Lemma 2. (See [3].) Let G = ( V , E ) be a minimally rigid body–hinge multigraph, and let G = ( V , E ) be a rigid subgraph of G. Then, the graph obtained from G by contracting E is a minimally rigid body–hinge multigraph. If we concentrate on a minimally rigid body–hinge graph which has no proper rigid subgraph, the following lemma gives an upper bound on the number of edges in terms of the number of vertices.

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

5

Fig. 4. Operations which inductively construct a minimally rigid body–hinge simple graph.

Lemma 3. (See [3].) Let G = ( V , E ) be a minimally rigid body–hinge multigraph which contains no proper rigid subgraph. Then, the following holds.

  ( D − 1)| E | < D | V | − 1 + D − 1.

(1)

The following lemma shows the existence of small degree vertices. Lemma 4. (See [3].) Let G = ( V , E ) be a minimally rigid body–hinge graph which contains no proper rigid subgraph. Then, either G is a cycle graph of at most D vertices or it contains a chain v 0 , v 1 , . . . , v d of length d such that v i v i +1 ∈ E for 0 ≤ i ≤ d − 1 and |δG ( v i )| = 2 for 1 ≤ i ≤ d − 1. The following lemma claims that, for a minimally rigid body–hinge graph G, G ab v is always rigid. Lemma 5. (See [3].) Let G = ( V , E ) be a minimally rigid body–hinge graph. Then, for any vertex v of degree two with N G ( v ) = {a, b}, G ab v is a rigid body–hinge graph. A splitting off does not preserve the minimality in general. However, if we concentrate on a minimally rigid body–hinge graph which has no proper rigid subgraph, the splitting off preserves the minimally rigidity. Lemma 6. (See [3].) Let G = ( V , E ) be a minimally rigid body–hinge graph that contains no proper rigid subgraph. Then, for any vertex v of degree two with N G ( v ) = {a, b}, G ab v is a minimally rigid body–hinge graph. 3. Five operations which inductively construct minimally rigid body–hinge simple graphs Consider a minimally rigid body–hinge simple graph G = ( V , E ), where the number of vertices is n with n ≥ 3. Notice that for n = 3, G is a triangle (a simple cycle of length 3). We define five operations which construct a minimally rigid body–hinge simple graph G = ( V , E ) whose vertex size is larger than that of G by one or two. Operation 1 (edge-split): Choose an edge ab, insert a new vertex v on ab if the resulting graph is rigid (Fig. 4(1)). Operation 2 (edge-split plus 1-addition): There exists a partition of V denoted by P such that

    ( D − 1)δG (P ) = D |P | − 1 .

(2)

Let P = { V 1 , V 2 , . . . , V m }. For an edge ab ∈ δG (P ), split ab to add a new vertex v. Find vertices x, y ∈ V such that x ∈ V i and y ∈ V j with 1 ≤ i, j ≤ m, i = j, and the graph H obtained from G by adding an edge xy to E ∪ { va, vb}\{ab} is minimally rigid. Then add an edge xy (Fig. 4(2)). As will be shown in the next subsection, we will show that there always exists such edge xy. Operation 3 (vertex 2-addition): Add a new vertex v, choose two existing vertices a and b, and add edges va, vb if the resulting graph is minimally rigid (Fig. 4(3)). Operation 4 (triangle-addition): Choose an arbitrary vertex a, add two new vertices v 1 and v 2 as well as edges v 1 a, v 1 v 2 , v 2 a (Fig. 4(4)). Operation 5 (triangle-expansion): Choose an arbitrary vertex a. Suppose that a has degree d. Let H be created from G by replacing vertex a with a triangle v, b, c where b and c are connected to at least one neighbor of a. Formally, let N G (a) = { v 1 , v 2 , . . . , v p } and let p be a positive integer satisfying 2 ≤ p ≤ p, and H = ( V , E ) with V = V ∪ {b, c }\a, E = E ∪ { v i b : 1 ≤ i ≤ p − 1} ∪ { v i c : p ≤ i ≤ p }\{ v i a : 1 ≤ i ≤ p }. We apply this operation only if the resulting graph is minimally rigid (Fig. 4(5)).

6

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

Fig. 5. Illustration of operation 2 for D = 6. (a) An example of a minimally rigid body–hinge graph G and the graph  G. (b) The graph H obtained by operation 2 with xy = ab and the graph  H.

Fig. 6. Illustration of operation 3 for D = 6. (a) An example of a minimally rigid body–hinge graph G and the graph  G obtained from G. (b) The graph H obtained by operation 3 and the graph  H obtained from H .

3.1. Proof of Theorem 1 Let H = ( V , E ) be the graph obtained by applying one of the five operations. (1) Edge-split (Fig. 4(1)). We prove that H is minimal. Suppose, for a contradiction, that H is not minimal, i.e., there exists a redundant edge f in H . Therefore, H is rigid even if we remove f . f = va or vb since v is degree two. Thus, f ∈ E holds. Since H \{ f } ab is rigid, H ab v \{ f } is also rigid by Lemma 5. Since H v = G, this implies that G is redundantly rigid, contradicting the minimal rigidity of G. So, H is a minimally rigid body–hinge graph. (2) Edge-split plus 1-addition (Fig. 4(2)). First, we shall show that H is rigid. Notice that the graph obtained by splitting the edge ab is no longer rigid since by ( D − 1)|δG (P )| = D (|P | − 1), P = ( V 1 , V 2 , . . . , V m , V m+1 (= { v })) does not satisfy the condition of Proposition 3. We shall first show that there always exists an edge xy with x ∈ V i and y ∈ V j with 1 ≤ i, j ≤ m, i = j such that the graph H obtained from G by adding an edge xy to E ∪ { va, vb}\ab is rigid. Such edge xy, if it exists, is called eligible. To show this, it suffices to show that ab is eligible. For this, let T j (1 ≤ j ≤ D) be D edge-disjoint spanning trees in  G such that T j (1 ≤ j ≤ D − 1) is a spanning tree which uses edge ab j , and T D is the one which does not use any  (Fig. 5(a)). For T 1 , . . . , T D , T = T j ∪ { va j , vb j }\{ab j } for j = 1, 2, . . . , D − 2, T

of ab D −1 = T D −1 ∪ { va D −1 , ab1 }, and j

= T ∪ { vb TD D D −1 } (Fig. 5(b)). Then it may not be minimal. We apply this operation only if the game algorithm [5], for instance. (3) Vertex 2-addition (Fig. 4(3)). We shall show that H is rigid. We

are clearly edge-disjoint spanning trees in  T 1 , . . . , T D H . Thus H is rigid. However,

resulting graph is minimally rigid, which can be checked by applying the pebble

shall show that we can construct D edge-disjoint spanning trees T j (1 ≤ j ≤ D)  in H from D edge-disjoint spanning trees T j (1 ≤ j ≤ D) of  G by adding a single edge va j or vb j (Fig. 6(b)). Since   the number of edges va ∪ vb is 2( D − 1), this is always possible. Then, the graph H obtained by vertex 2-addition is also rigid. However, it may not be minimal. Therefore, we apply this operation only if the resulting graph is minimally rigid.

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

7

Fig. 7. Illustration of operation 4 for D = 6. (a) An example of a minimally rigid body–hinge graph G and the corresponding graph  G. (b) The graph H obtained by operation 4 and the corresponding graph  H.

Fig. 8. Illustration of operation 5 for D = 6. (a) An example of a minimally rigid body–hinge graph G and the corresponding graph  G. (b) The graph H obtained by operation 5 and the corresponding graph  H.

(4) Triangle-addition (Fig. 4(4)). Let us prove that H is a minimally rigid body–hinge graph. Since the graph G is a minimally rigid body–hinge graph, there exist D edge-disjoint spanning trees in  G. Let F be a triangle graph where F is a minimally rigid body–hinge graph. Then there exist D edge-disjoint spanning trees in  F (Fig. 7(a)). Since G and F share a sinG and that of  F is clearly a spanning tree of  H (Fig. 7(b)). By gle vertex a, the union of a spanning tree of  the minimal rigidity of G and F , the minimality of H is obvious. Therefore, H is a minimally rigid body–hinge graph. (5) Triangle-expansion (Fig. 4(5)). We shall show that H is rigid. Let F = vbc be a triangle graph. Notice that F is a minimally rigid body–hinge graph. Then there exist D edge-disjoint spanning trees in  F (Fig. 8(a)). Let G be the graph obtained from H by deleting v and two incident edges vb and vc as well as bc. For a spanning tree T of G, we can naturally define the corresponding subgraph S T of G such that every edge of T which is not incident to a belongs to S T while an edge incident to a (say, v i a) in T corresponds to v i b in S if 1 ≤ i ≤ p − 1 and to v i c otherwise. More precisely, the edge set of S T is defined by

  {e ∈ T | e is not incident to a} ∪ v i b  v i a ∈ T , 1 ≤ i ≤ p − 1   ∪ v i c  v i a ∈ T , p ≤ i ≤ p .

Then, it is easy to see that the union of a spanning tree of F and S T is a spanning tree in H . This immediately implies that D edge-disjoint spanning trees of  G naturally defines D edge-disjoint spanning trees in  H . Thus, the graph H obtained by triangle-expansion is also rigid. However, it may not be minimal. For example, for a minimally rigid body–hinge graph G shown in Fig. 9, consider the graph H obtained from G by replacing a vertex a with a triangle v , b, c. H is redundantly rigid because deleting the edge bc for H , the resulting graph is rigid.

8

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

Fig. 9. Illustration of operation 5 for D = 6. An example of the graph obtained by operation 5 is not a minimally rigid body–hinge graph.

Fig. 10. The case where two parallel edges are produced after the contraction of two parallel edges between a and b.

Finally we will show that all five operations can be executed in polynomial time. Notice that we can find P satisfying (2) in polynomial time (more precisely, O (n) applications of max-flow computation [7]). Checking whether the graph obtained by adding an edge xy in applying operation 2 is rigid or not can be done in O (n2 ) time by applying the pebble game algorithm [5]. It is not difficult to see that the other four operations can be done in polynomial time. 2 4. Proof of Theorem 2 In this section, we prove Theorem 2. For this purpose, we first prove the following three lemmas. Lemma 7. Let G = ( V , E ) be a minimally rigid body–hinge simple graph which contains no proper rigid subgraph such that | V | ≥ 3. Then, the number of vertices of degree two is at least ( D − 3)| V |/( D − 1) + 2/( D − 1). Proof. By Lemma 3, we have the following:

  ( D − 1)| E | < D | V | − 1 + ( D − 1).

(3)

Let k denote the number of the vertices of degree two. Then, there exist | V | implies the following:



− k vertices of degree more than two. This



2k + 3 | V | − k ≤ 2| E |. By (3) and (4),



(4)







2( D − 1)k + 3( D − 1) | V | − k ≤ 2( D − 1)| E | ≤ 2D | V | − 1 + 2( D − 1). As a result,

k ≥ ( D − 3)| V |/( D − 1) + 2/( D − 1).

2

Lemma 8. Let G = ( V , E ) be a minimally rigid body–hinge multigraph. (a) G does not contain more than two parallel edges. (b) Contraction of two parallel edges into a single vertex never produces new parallel edges. G and D edge-disjoint spanning trees Proof. (a) Suppose G has three parallel edges between two vertices a and b. Consider  of  G. Then  G has 3( D − 1) parallel edges between a and b out of which at most D edges are used by D edge-disjoint spanning trees. By D ≥ 6 and 2( D − 1) ≥ D, at least one of three parallel edges between a and b is redundant. (b) After the contraction of parallel edges, the minimal rigidity is preserved by Lemma 2. Suppose for a contradiction that new parallel edges are produced in the graph obtained by the contraction of parallel edges. This implies that there exist parallel edges e and e between vertices a and b ∈ V , and moreover vertices a and b have a common adjacent vertex v (Fig. 10). Then the edge e or e is redundant, contradicting the minimality of G. Therefore, new parallel edges are not produced due to the contraction of parallel edges. 2 The following lemma plays a key role in proving Theorem 2. Lemma 9. There exists at least one vertex of degree two in a minimally rigid body–hinge simple graph G = ( V , E ) with | V | ≥ 3. Proof. Suppose, for a contradiction, that there exists a minimally rigid body–hinge simple graph G such that the degree of each vertex is at least three. Let us consider the following two cases.

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

9

Fig. 11. Adjacent vertex of s .

Case 1. G does not have a proper rigid subgraph. Since the degree of each vertex is at least three, we have

3| V | ≤ 2| E |. By Lemma 3 and (5), we have

(5)





3( D − 1)| V | ≤ 2( D − 1)| E | ≤ 2D | V | − 1 + 2( D − 1).

(6)

As a result, we have ( D − 3)| V | ≤ −2, contradicting | V | ≥ 3. Case 2. G has a proper rigid subgraph. Among all minimally rigid body–hinge graphs G such that each vertex has degree at least three, we choose G as the one that has a minimum number of vertices. Let G = ( V , E ) be a proper rigid subgraph of G whose number of vertices is minimum. By the assumption that G has no vertex of degree two, and Lemma 7, we have |δG ( V )| ≥ 3. In the following, let G

be the graph obtained by contracting G into a single vertex s, and let us consider the following two subcases. Notice that by Lemma 2, G

is a minimally rigid body–hinge graph. Case 2A. G

has no parallel edges. In this case, G

is a minimally rigid body–hinge simple graph. Also, by |δG ( V )| ≥ 3, the degree of s is at least three, and degree of other vertices is also at least three by the assumption of G. This contradicts the minimality of the number of vertices of G. Case 2B. G

has parallel edges. In this case, some edges that connect G and G \ G share a common vertex in G \ G (Fig. 12). After contracting G into a single vertex, there exists some sets of two parallel edges. After contracting all these two parallel edges into a single vertex, the resulting graph does not have parallel edges by Lemma 8. Claim 1. For G

, if the number of vertices adjacent to s is at least three in G

, contracting all parallel edges incident to s does not make any vertex of degree two. Proof. Let v 1 , . . . , v l be vertices adjacent with s. Consider the case where there exist parallel edges. Without loss of generality, suppose that there exist parallel edges between s and v i (1 ≤ i ≤ k), and there exists a single edge between s and v j (k + 1 ≤ j ≤ l) (Fig. 11). Since the degree of vertices of v 1 , . . . , v k is also at least three, each vertex of v 1 , . . . , v k has at least one adjacent vertex other than s. For v i (1 ≤ i ≤ k), let w be the adjacent vertex of v i other than s. We shall show that w = v 1 , . . . , v k . Suppose otherwise. Since the triangle graph is a minimally rigid body–hinge graph, the induced subgraph by v i , w , s is redundantly rigid. This implies that G

is redundantly rigid, contradicting the minimal rigidity of G

. Therefore, w = v j for any j with 1 ≤ j ≤ k. Let s be the vertex obtained by the contraction of all parallel edges between s and v l , and let G

be the graph obtained by contracting all parallel edges. We have |δG

(s )| ≥ l. Thus, by l ≥ 3, contracting all parallel edges incident to s does not produce any vertex of degree two. 2 By Lemma 4, either G is a graph of at least ( D + 1) vertices or it is a cycle graph of at most D vertices. Case 2B-a. The number of vertices of G is at least D + 1. By the minimality of number of vertices of G , G does not contain a proper rigid subgraph. Thus, by Lemma 7, G has at least D − 1 vertices of degree two. This implies that there exist at least D − 1 edges between G and G \ G . Recall that |δG

(s)| = |δG ( V )| ≥ D − 1 by Lemma 7. Also, G

is minimally rigid by Lemma 2, then G

does not contain more than two parallel edges by Lemma 8. Therefore, the number of vertices adjacent to s in G

is at least ( D − 1)/2 , that is, at least three by D ≥ 6, which implies that Claim 1 can be applied to this case. By Claim 1, the contraction does not produce a vertex of degree two, hence the graph obtained by the contraction is also a minimally rigid body–hinge simple graph of each vertex of degree at least three, contradicting the minimality of the number of vertices of G.

10

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

Fig. 12. The total number of vertices of G is at least D + 1 ( D = 6).

Fig. 13. (a) G is a cycle graph. (b) For G

, the vertex s obtained by the contraction of G has two adjacent vertices.

Case 2B-b. G is a cycle graph of at most D vertices. If three edges between G and G \ G have one common vertex in G \ G , one of them is redundant, contradicting the minimal rigidity of G. Therefore, consider the two edges between G and G \ G that have one common vertex v ∈ G \ G . Let va, vb be such two edges. Then, by Lemma 1, since a rigid body–hinge graph is 2-edge-connected, there exist edge-disjoint paths P 1 and P 2 between vertices a and b in G (Fig. 13(a)). Since G is a proper rigid subgraph of G with minimum cardinality, we have

| P 1 | + | P 2 | ≤ | P 1 | + 2,

| P 1 | + | P 2 | ≤ | P 2 | + 2.

(7)

The reason is that, if not, the number of vertices of the cycle graph P 1 ∪ { va, vb} or P 2 ∪ { va, vb} is smaller than that of G , contradicting the choice of G such that the number of vertices of G is minimum among all proper rigid subgraphs in G. Since | P 1 | ≤ 2 and | P 2 | ≤ 2, consider the following cases. Case 2B-b-i. | P 1 | = 1 and | P 2 | = 1. Then, we have a multigraph, contradicting that G is a simple graph. Case 2B-b-ii. | P 1 | = 2 and | P 2 | = 1. Then G is a cycle graph of three vertices, the subgraph induced by V ∪ v is clearly redundant, contradicting the minimal rigidity of G. Case 2B-b-iii. | P 1 | = 2 and | P 2 | = 2. Let c and d be vertices contained in P 1 , P 2 , respectively, and let E x be the set of edges which connect x ∈ V and G \ G . adbc forms a cycle in G . Since G is a cycle graph, the cycle adbc is equal to G . Each vertex of G has degree at least three, δG ( V ) = 4. Let W denote the set of end vertices of δG ( V ) in G \ G . If | W | ≥ 3, we can apply Claim 1 after contracting G

into a single vertex s. Then further contracting parallel edges of G

produces a minimally rigid body–hinge simple graph such that each vertex has degree at least three. This violates that G has the minimum cardinality of vertices among all minimally rigid body–hinge simple graphs whose vertices have degree at least three. So, assume | W | = 2. Let W = { v , v }. In this case, the situation is illustrated as in Fig. 13(b). Then, there exists a 6-cycle consisting of vertices v , a, c , v , d, b, and edges ad and bc are redundant because 6-cycle is a minimally rigid body–hinge graph, contradicting the minimal rigidity of G. Thus, G is not a cycle graph of at most D vertices. By Cases 1 and 2, there exists at least one vertex of degree two in a minimally rigid body–hinge simple graph.

2

4.1. Proof of Theorem 2 The proof is by induction on the number of vertices in a minimally rigid body–hinge simple graph. For the base case, a triangle graph is obviously a minimally rigid body–hinge simple graph and thus satisfies the theorem. Suppose that any minimally rigid body–hinge graph of n − 1 or less vertices for n ≥ 4 can be constructed by a sequence of the five operations starting from the triangle graph. Suppose we have a minimally rigid body–hinge graph G = ( V , E ) of n vertices. Then, we prove that we can construct a minimally rigid body–hinge graph of n − 1 or n − 2 vertices by applying one of the five operations on G in the reverse direction. Let E 1 and E 2 be a partition of E such that E 1 and E 2 are both nonempty. Let G [ E 1 ] and G [ E 2 ] be the subgraphs edge-induced by E 1 and E 2 , respectively.

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

11

Fig. 14. The reverse direction of operation 2.

Suppose that G [ E 1 ] and G [ E 2 ] share a single vertex v, i.e., v is a cut point, and G [ E 2 ] is a triangle. Then, G is obtained by applying operation 4 to G [ E 1 ]. Therefore, we assume that G does not have a partition into E 1 and E 2 such that G [ E 2 ] is a triangle. Furthermore, if G has a proper rigid subgraph of the triangle graph and the degree of one of vertices of the triangle graph is two, we apply operation 5 in the reverse direction. In this case, the resulting graph is minimally rigid by Lemma 2. Therefore, in the subsequent discussion, we assume that G does not have a triangle graph as its subgraph. In the following, we prove that it is possible to apply at least one of operations 1, 2 and 3 in the reverse direction. First, we consider to apply operation 1 in the reverse direction. By Lemma 9, there exists at least one vertex of degree two. Notice that this operation is in fact equivalent to a splitting off operation. Thus, the resulting graph is denoted by G ab v where a and b are adjacent vertices of v. Notice that there does not exist an edge ab because we assume that G does not have a triangle graph as its subgraph. Thus, G ab v is a simple graph. We divide the proof into two cases depending on whether G has a proper rigid subgraph or not. Case 1. G does not have a proper rigid subgraph. In this case, by Lemma 6, a minimally rigid body–hinge graph of n − 1 vertices can be constructed by the reverse direction of operation 1 (i.e., splitting off operation). Case 2. G has a proper rigid subgraph. In this case, the resulting graph is rigid by Lemma 5. However, the minimality is not guaranteed. If the resulting graph is minimally rigid, we can obtain a minimally rigid body–hinge graph of n − 1 vertices. So, suppose otherwise. If the edge ab is redundant, the graph obtained by removing ab from G ab v is rigid. The resulting graph is isomorphic to that obtained by applying operation 3 in the reverse direction (vertex 2-addition). Then, by the minimal rigidity of G, we remark that the graph obtained by applying operation 3 in the reverse direction is always minimally rigid. Therefore, if there exists a vertex v of degree two and the edge ab is redundant for G ab v , the reverse direction of operation 3 for G produces a minimal rigid body–hinge graph of n − 1 vertices. Thus, consider the case where for G ab v , ab is not redundant but there exists a redundant edge e ∈ E \ {av, bv} (see Fig. 14). Let G = G ab v \ {e }. Since G is a minimally rigid body–hinge graph, and by Proposition 3,

    ( D − 1)δG (P ) ≥ D |P | − 1

(8)

holds for any partition P . By the minimal rigidity of G, if we remove edge e, G \{e } is not rigid. Then, by Proposition 3, there exists a partition P satisfying e ∈ δG (P ) such that

    ( D − 1)δG \{e} (P ) < D |P | − 1

(9)

holds. Thus,

  ( D − 1)δG (P ) < D |P | − 1

(10)

follows. Let P = { V 1 , V 2 , . . . , V m } be such that v ∈ V 1 . Then, let us consider the following cases depending on whether | V 1 | ≥ 2 or | V 1 | = 1. Case 2A. | V 1 | ≥ 2. Let P be the partition obtained by removing v from V 1 in P . Then, we have

|P | = |P |,

    δG (P ) ≤ δG (P ) − 1.

(11)

By (11), we have

         ( D − 1)δG (P ) − D |P | − 1 ≤ ( D − 1) δG (P ) − 1 − D |P | − 1   = ( D − 1)δG (P ) − D |P | + 1 < 0.

Because this fact contradicts the rigidity of G , there does not exist such Case 2B. | V 1 | = 1. Let P = P \ {{ v }}.

P.

(12)

12

Y. Kobayashi et al. / Theoretical Computer Science 556 (2014) 2–12

Case 2B-a. a and b belong to V i for some i = 1. Then, we have

|P | = |P | − 1, Then,

    δG (P ) = δG (P ) − 3.

(13)

         ( D − 1)δG (P ) − D |P | − 1 = ( D − 1) δG (P ) − 3 − D |P | − 2   = ( D − 1)δG (P ) − D |P | + 1 − D + 2 < 0.

Since this fact contradicts the rigidity of G , there does not exist such

(14)

P.

Case 2B-b. a and b belong to V i and V j for some i = j with i > 1, j > 1. Let P = P \ V 1 . Then, we have

|P | = |P | − 1,

    δG (P ) = δG (P ) − 2.

(15)

Because G ab v is rigid and edge e is redundant, G is also a rigid body–hinge graph. Then, by Proposition 3, we have

    ( D − 1)δG (P ) ≥ D |P | − 1 .

(16)

By (15) and (16), we have

  ( D − 1)δG (P ) ≥ D |P | − 2.

(17)

By (10) and (17),

  ( D − 1)δG (P ) = D |P | − 2

(18)

follows. By (15) and (18), we have

     ( D − 1) δG (P ) + 2 = D |P | + 1 − 2     ( D − 1)δG (P ) = D |P | − 1 .

(19)

By (19), G is minimally rigid. Furthermore, notice that Eq. (19) is equivalent to the condition of operation 2. Hence, a minimally rigid body–hinge graph of n − 1 vertices can be constructed by applying operation 2 in the reverse direction for a minimally rigid body–hinge graph G. Therefore, for any given minimally rigid body–hinge simple graph G = ( V , E ) of n vertices, a minimally rigid body–hinge graph G of n − 1 or n − 2 vertices can be constructed by applying one of the five operations in the reverse direction. 5. Conclusion We have presented an inductive construction for minimally rigid body–hinge simple graphs in d-dimension with d ≥ 3. It is a future work to develop a polynomial time algorithm for enumerating all minimally rigid body–hinge simple graphs. Developing a polynomial time algorithm seems to be difficult because when we apply operation 5 there are O (2d ) choices of partitioning d adjacent vertices of a vertex a into two subsets. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

A. Frank, L. Szego¸, Constructive characterizations for packing and covering with trees, Discrete Appl. Math. 131 (2) (2003) 347–371. L. Henneberg, Die graphische Statik der starren System, Leipzig, 1911, Johnson reprint, 1968. N. Katoh, S. Tanigawa, A proof of the molecular conjecture, Discrete Comput. Geom. 45 (2011) 647–700. G. Laman, On graphs and rigidity of plane skeletal structures, J. Engrg. Math. 4 (4) (1970) 331–340. A. Lee, I. Streinu, Pebble game algorithms and sparse graphs, Discrete Math. 308 (8) (2008) 1425–1437. C. Nash-Williams, Edge-disjoint spanning trees of finite graphs, J. Lond. Math. Soc. s1-36 (1) (1961) 445–450. A. Schrijver, Combinatorial Optimization, Vol. B, Springer, 2003, p. 881, Corollary 51.3b. T. Tay, Rigidity of multi-graphs, I: linking rigid bodies in n-space, J. Combin. Theory Ser. B 36 (1) (1984) 95–112. T. Tay, Linking (n − 2)-dimensional panels in n-space, II: (n − 2, 2)-frameworks and body and hinge structures, Graphs Combin. 5 (1) (1989) 245–273. W.T. Tutte, On the problem of decomposing a graph into n connected factors, J. Lond. Math. Soc. s1-36 (1) (1961) 221–230. T. Uno, A new approach for speeding up enumeration algorithms and its application for matroid bases, in: COCOON 1999, 1999, pp. 349–359. W. Whiteley, The union of matroids and the rigidity of frameworks, SIAM J. Discrete Math. 1 (2) (1988) 237–255. W. Whiteley, Some matroids from discrete applied geometry, Contemp. Math. 197 (1996) 171–311. W. Whiteley, Rigidity and scene analysis, in: J. Goodman, J. O’Rourke (Eds.), Handbook of Discrete and Computational Geometry, 2nd edition, Chapman Hall/CRC Press, Boca Raton, FL, 2004, pp. 1327–1354, Chapter 60.