You are on page 1of 6

# The 23rd Workshop on Combinatorial Mathematics and Computation Theory

On the vertex separation of unicyclic graphs
Hsin-Hung Chou∗ Department of Information Management, Chang Jung Christian University, Taiwan Ming-Tat Ko Institute of Information Science, Academia Sinica, Taiwan Chin-Wen Ho Department of Computer Science and Information Engineering, National Central University, Taiwan Gen-Huey Chen Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan
Abstract
In the article “Computing the vertex separation of unicyclic graphs”, Information and Computation 192, pp. 123–161, 2004, Ellis et al. proposed an O(n log n) algorithm for computing both the vertex separation and an optimal layout of a unicyclic graph with n vertices. Using the data structures label and label array, we improve the time complexity of their algorithm to O(n). several well known important problems such as the node-searching problem [2], the gate matrix layout problem [3], and the path-width problem [4], with applications in VLSI layout. For some special classes of graphs, the above problems can be solved in polynomial time, such as unicyclic graphs [5], permutation graphs [6], k starlike graphs [7], and partial k -trees [8] for a ﬁxed k ≥ 1. Especially, trees [9] and cographs [10] can be solved in linear time. A unicyclic graph is a graph constructed from a tree with one extra edge [5]. It can be depicted as a cycle with a set of trees in which each cycle vertex is the root of a tree, referred to as a constituent tree. In [5], Ellis et al. proposed an O(n log n)-time algorithm for computing both the vertex separation and an optimal layout of a unicyclic graph with n vertices. Their algorithm comprises two phases. In Phase 1, for a unicyclic graph U , the vertex separation, an optimal layout, and the type (deﬁned in [5]) of each constituent tree are computed by the methods proposed in [1] and [9]. The methods also used to compute the vertex separation k and an optimal layout L of T = U − e, which is the tree yielded by removing some cycle edge e from U . Phase 1 takes O(n) time. At its completion, we know k ≤ vs(U ) ≤ k + 1. In Phase 2, the goal is to determine whether vs(U ) = k , or vs(U ) = k + 1. The process is comprised of two functions vs uni and vs reduced uni, see Appendix. The function vs uni takes the unicyclic graph U and the integer k = vs(T ) as input. It classiﬁes the unicyclic graph as one of the ﬁve cases according to the

1

Background

The vertex separation problem can be deﬁned using linear layouts, see [1]. A linear layout of a graph G = (V, E ) is a bijection L from V to the set of integers {1, 2, . . . , |V |}. The vertex separator at vertex vi with respective to a layout L, denoted by VL (i), is the set of vertices with indices less than or equal to i and with one neighbor having index greater than i, i.e., VL (i) = {v | (v, w)∈ E , L(v ) ≤ i, and L(w) > i}. The vertex separation with respect to G and L, denoted by vsL (G), is deﬁned as the maximum vertex separator size over all vertex in V , i.e., vsL (G) = max{|VL (i)||1 ≤ i ≤ |V |}. The vertex separation of G, denoted by vs(G), is deﬁned as the minimum vertex separation over all possible linear layout L of G, i.e., vs(G) = min{vsL (G)|L is a linear layout of G}. A linear layout L of G is optimal if vsL (G) = vs(G). Recently the vertex separation problem has received more attention because it is equivalent to
∗ Corresponding author. chouhh@mail.cju.edu.tw

Email:

~28~

If |λ(T [u])| = 1 and without ” ”. but Cases 3. Deﬁnition 2 ([1]). then there is no ap -critical vertex in T [u. v1 . . ~29~ . and analyzes each case individually. . If vs(U ) = k . where τi = τ (T [u. vi−1 ]) for 1 ≤ i ≤ p. • Type N Cb : u has one child v such that vs(T [v ]) = k . v2 . In this paper. . Deﬁnition 3 ([1]). ap ). v1 . If ap is marked with a prime “ ”. A vertex x is k -critical in a rooted tree T if and only if vs(T [x]) = k and there are two children u and v of x such that vs(T [u]) = vs(T [v ]) = k . v1 . if |λ(T [u])| > 1. λ(T [u. . . v1 . then τ (T [u]) = N Cb. . . denoted by τ (T [u]). The sequence (τ1 . . vp−1 ]. . v2 . . Let T [x] denote the subtree rooted at x within the rooted tree T . . to organize the labels and layout lists of the constituent trees. where a1 > a2 > . Deﬁnition 1 ([1]). • For 1 ≤ i < p. > ap ≥ 0. vp . the time complexity O(n log n) is due to the computation of function vs reduced uni and the recursive call in Case 1 of function vs uni. then τ (T [u]) = C . . vi is an ai -critical vertex in T [u. v1 . All rooted trees T [u] are classiﬁed into four types. . Deﬁnition 4 ([1]). τp ). . vs(T [u. (2) When |λ(T [u])| > 1. The data structures can be referred to and updated eﬃciently so that the complexity of Ellis’ algorithm can be improved to O(n). . label array. v1 ][u]) can be obtained in constant time by removing the ﬁrst element from λ(T [u]). is a list of integers (a1 . . Let T [u. As indicated in [5]. Lemma 2. A tree is k-critical if it contains a k -critical vertex. and each ai is associated with a vertex vi for 1 ≤ i ≤ p such that • vs(T [u]) = a1 . For any rooted tree T [u]. v2 . If |λ(T [u])| = 1 and with “ ”. . The function vs reduced uni takes a unicyclic graph U with two degree 2 cycle vertices ri and rj and the integer k as input. . . τ2 . In both cases T [u.. u] is the empty tree. Let T be a tree rooted at a vertex u and let k = vs(T ).. denoted by λ(T [u]). Let T be a tree rooted at u and λ(T [u]) = (a1 . we inherit their concepts and propose a new data structure. and T is not k -critical. . . The four possible types of T [u] are as follows: • Type N C : u has no child v such that vs(T [v ]) = k . . If vs(U ) = k + 1. . • Type Cb : T is k -critical and u is not a k critical vertex. depending on the location of u. 4. The label of a rooted tree is deﬁned as follows. ap ) associated with vertices v1 . τ (T [u]) = N C . . . It returns true if and only if there exists a k-conforming layout for U with respect to ri and rj (deﬁned in [5]). v1 . . . . a2 . where n is the vertex number of T . 3. and 5 may invoke the function vs reduced uni. . In the following. then the label of T [u. . 2 Label and Label Array We ﬁrst recall some notations and deﬁnitions for trees given in [5]. . .The 23rd Workshop on Combinatorial Mathematics and Computation Theory number of constituent trees with maximum vertex separations and their types. vi ] denote the tree with root u from which the subtrees with roots v1 through vi have been removed. otherwise. . ap ). • Type C : u is a k -critical vertex in T . • vp = u. it also computes an optimal layout. otherwise. . vp ] = T [u. Case 1 may make a recursive call. v1 ] = T − T [v1 ] is (a2 . . 2. the label of u. . . Lemma 1 ([1]). can be obtained in O(n) time. vp is an ap critical vertex in T [u. In particular. . ”tree” always means ”rooted tree”. . vi ]) = ai+1 . . then τ (T [u]) = Cb. then the layout L computed in Phase 1 for T is also an optimal layout for U . . In the ﬁve cases. (1) The label of a tree T rooted at u with n vertices is unique and can be computed in O(n) time. If |λ(T [u])| > 1. vi−1 ]. if one child of u has the same label as u. The type of a rooted tree can be obtained from the labels of its root and children as follows: 1. . . vp−1 ]. • For 1 ≤ i < p. a2 . .

and types τ1 . . τj . the case that U is in can be determined in constant time. The computation of the labels of Ti [ri ]. the label array of the constituent trees in T is referred to as the label array of T . t. v2 . Phase 1. statement (1) follows.E. nN C . Cb. vi−1 ] obtained during the computation of λ(T [u]). . For each aj . t. λ3 = (7. 3 Linear Time Algorithm We insert the appropriate data structures into the functions main. 6. . (d) np C is equal to the total number of records with type C in A[p]. Let T be a subgraph of U (in fact it is a tree) by removing some cycle vertices and their respective constituent trees. 8. 6) associated with vertices 3 3 . Proof. their label array is called the label array of U and denoted by AU . . and vs reduced uni.1 ≤ p ≤ ptr∗ . where x is an end vertex of e. and of the label array of U is inserted. (2) Let e be a cycle edge of U . i = 1. p p p p 2. nN Cb .. λ2 = (8 ) associated with vertices v1 . . v1 . and types Cb. the total number of elements is bounded by n. . v1 3] [7. C . with the label array of U . Cb. and (U − e)[x]. the label array of U − Tc [u] can be obtained from AU by setting ptr∗ = ptrk . a positive integer ptrp stores the maximum index q such that 1 ≤ q < p and nq ALL > 0. λ2 . vj ]. τ1 = . . . Lemma 3. . t. . v13 ] [8. The computation in Case ~30~ . Cb.The 23rd Workshop on Combinatorial Mathematics and Computation Theory Proof. 3. a2 . . . NCb. . k ). . . . denoted by AT . = τp−1 = Cb when p > 1. and update them eﬃciently to implement a linear time algorithm. Phase 2. From Lemma 1-(1) and Lemma 3-(1). C . Cb. vs uni. i = 1. and types Cb. (e) np Cb is equal to the total number of records with type Cb in A[p]. v ] [9. Tc . then the label array of U − Tc [u] can be obtained from that of U in constant time. . and nN C = nN Cb = nC = 0. (b) np N C is equal to the total number of records with type N C in A[p]. . . . . we generate a record i i i ∗ Rj = [ai j . . and nCb such that AΛ [1] AΛ [2] AΛ [3] AΛ [4] AΛ [5] AΛ [6] AΛ [7] AΛ [8] AΛ [9] [6. v ] 1 1 1 2 3 [6. We use a positive integer ptr to store the maximum vertex separation over all labels λ(Ti [ri ]). λ2 . there is only one k -critical constituent tree. vs(U −Tc [u]) < k . 4 ) associated 1 1 1 1 with vertices v1 . v ] 1 4 1 1 0 0 0 2 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 4 6 7 8 [8. ﬁve integers np ALL . . Q. . v2 . Figure 1 illustrates the v1 label array of Λ = {λ1 . Without ambiguity. r2 . v3 . (1) A label array can be constructed in O(n) time. . Let T be the tree by removing Tc from U . (a) np ALL is equal to the total number of records in A[p]. . In Case 1. k k k k nk ALL = nCb = 1. . . Thus. t. nC . v4 . Let Ti be the constituent tree of U rooted at i i ri . λ3 }.D. λ(Ti [ri ]) = (ai 1 . τlii for i i = 1. v ] 2 1 2 1 Figure 1: The label array of Λ = {λ1 . v2 . λ3 }. For examples. and τp can be determined from the labels of u’s children in T [u. Cb. i = 1. i. (1) Since each element of the labels corresponds to a unique vertex. Thus. τ2 . If vs(U − e) = k and U has one k -critical constituent tree Tc with the k -critical vertex u(= rc ). Let U be a unicyclic graph with n vertices. in U . and types N Cb. j > ptrk . v2 ] i n iALL n NC i i n NCb nC i nCb ptr i 0 [4. rt be a set of cycle vertices of U . . .D. t is an array A in which each entry A[p]. NC . ali ) associated with i i i i i vertices v1 . . Since r ≤ log n and u has at most O(n) children. . 2 N C . . . Upon calling vs uni(U. Q.e. contains i 1. v2 . . as described in [1]. . removing the entries AU [j ]. . Let U be a unicyclic graph with n vertices and r1 . . . are all the constituent trees of U . Cb. vli . and in AU [k ].E. all records Rj with ai j = p. If Ti . let λ1 = (9. (2) In this case. the computation takes O(n) time. . (c) np N Cb is equal to the total number of records with type N Cb in A[p]. The label array of constituent trees Ti . From the deﬁnition of types. the lemma follows. i = 1. . .

the computation of the labels of T1 [a]. The label of (T1 − T [u])[a] (respectively.” Theoretical Computer Science. [4] N. J. T2 [c]. A. the total time complexity of the algorithm is O(n). 4. but in Cases 3. 47(2): 205–218.. with the label arrays of T1 and T2 . the computation takes O(n) time. Denote the vertices adjacent to ri by a and c and those adjacent to rj by b and d.” Information and Computation. T1 [a] and T1 [b] are (k − 1)-critical. and Papadimitriou. without loss of generality. (T1 − T [u])[b]) can be obtained from the label of T1 [a] (respectively. “Graph problems related to gate matrix layout and PLA folding. the computation of the labels of (T1 − T [u])[a] and (T1 − T [u])[b]. 2004.” Information and Computation. By Lemma 1-(1) and Lemma 3-(1). T1 [b]) by removing its ﬁrst element. In the function vs uni.. 1986. 1994. 113(1): 50–79. Rolf H. and 5. by setting ptr∗ = ptrk−1 . where U is the unicyclic graph yielded by removing Ti − ri and Tj − rj from U for some i and j . “Searching and pebbling.” Computational Graph Theory. Since there are at most O(log n) calls of vs reduced uni and each call takes at most constant time. it may invoke the function vs reduced uni. References [1] Ellis. ri and rj are ﬁxed in each case. In each of these cases. J. the computation for updating the label of U −e to that of U −T [u]−e and the label array of U to that of U − T [u] is inserted. 39–61. and c and d are in T2 . “Computing the vertex separation of unicyclic graphs. The time complexity of the invocation of vs uni in function vs uni itself is bounded by O(n). I. Note that for the recursive invocations in vs reduced uni. the input of vs reduced uni is U and vs(U − e). which is in Tc . it takes O(n) time to compute vs(T ) and then terminates.. Let u be the (k − 1)-critical vertex. So. together with the O(n) time complexity of Phase 1. the process obviously takes constant time. In Case 2. out of the recursive call. since outside the recursive call it takes O(n) time.The 23rd Workshop on Combinatorial Mathematics and Computation Theory 1 can be shown to be equivalent to that of the following program segment. assume that vs(T1 ) ≥ vs(T2 ). Lefteris M. S. and Markov. In this case. AT1 . Case 1: {One k -critical constituent tree} if Tc is of type C then if vs(T ) = k then return(false) else return(true). when ri and rj are known. 17–51. Robertson and P. T1 [b]. From Lemma 1-(2) and Lemma 3-(2). the case that U is in can be determined in constant time. Christos H. in the function vs reduced uni. [3] M¨ ohring. and T2 [d] and of the label arrays of constituent trees in T1 and T2 respectively is inserted. where a and b are in T1 . ~31~ . “The vertex separation and search number of a graph. M. Series B. excluding a forest. the computation takes constant time. A. Thus.” Journal of Combinatorial Theory. and T1 contains one constituent tree Tc of vertex separation k − 1 and of type Cb. 1990. The only case in which function vs reduced uni recursively calls itself is when vs(T1 ) = k − 1. The label array of T1 − T [u] can be obtained from that of T1 . 192: 123–161.. [2] Kirousis. 1983. the time complexity of the invocation of vs reduced uni in function vs uni is bounded by O(log n). In the following discussion of the function vs reduced uni. Recall that vs reduced uni takes a unicyclic graph U with two degree 2 cycle vertices ri and rj and the integer k as input. J. and of the label array of T1 − T [u] is inserted before the recursive call. Thus. and Sudborough. [5] Ellis. the updating takes constant time. before each invocation of vs reduced uni. If the type of Tc is C . In the function vs reduced uni. The discussion for the case vs(T1 ) ≤ vs(T2 ) is similar. and Turner. Notice that U is a unicyclic graph with two degree 2 cycle vertices ri and rj . the problem is reduced to invoking vs reduced uni with input U − T [u] and k − 1. it takes only constant time to determine vs(U − T [u] − e) and prepare the data structures for the recursive call. Seymour.D. Let T1 and T2 be the two remaining trees after removing ri and rj from U (one of them can be empty). “Graph minors I. From Lemma 1(2) and Lemma 3-(2). and there are at most O(log n) invocations of vs uni. else if vs(U − T [u] − e) < k − 1 then return(true) else return(vs uni(U − T [u]. k − 1)). If the type of Tc is Cb. H. each of which takes constant time.

not type NC} Case 4.-L. and a layout L for the tree U − e. Case 4: {Exactly one non-critical k -trees. unicyclic graph.3: {q = 3} for all choices of two trees Ti and Tj from among the k-tree and the three (k − 1)-trees do if vs reduced uni(U .4: {q ≥ 4} return(false). function vs uni(U : Boolean.The 23rd Workshop on Combinatorial Mathematics and Computation Theory [6] Bodlaender. not type NC} Case 5.1: {1 ≤ q ≤ 2} return(true).1: {0 ≤ q ≤ 1} return(true).. Appendix program main. [8] Bodlaender. compute the vertex separation k. K.-Y. Hans L.4].2: {q = 2} for all choices of tree Tj from among the two (k − 1)-trees do if vs reduced uni(U . For some cycle edge e chosen at random. 1993.” Journal of Algorithms. compute their vertex separation and type. q = number of (k − 1)-trees. [7] Peng. “The pathwidth and treewidth of cographs. Rolf H. Hans L. Case 5: {No k-trees. as also is the notation} Case 1: {One k-critical constituent tree} if vs(T ) = k then return(false) else if Tc is of type C then return(true) else compute vs(Tc − T [u]). k − 1)). 2003. and M¨ ohring.” Algorithmica. Case 4. Dieter. and Ho. return(false) Case 4. C. if vs(U − T [u] − e) < k − 1 then return(true). Case 3: {Exactly two non-critical k-trees} return(vs reduced uni(U . return(false) Case 4. 6(2): 181–188. M. and Tang.. “Construction of linear treelayouts which are optimal with respect to vertex separation in linear time. 27(3-4): 395–426.” Journal of Algorithms. k : integer) : {The function assumes that vs(U − e) = k.” SIAM Journal on Discrete Mathematics.” SIAM Journal on Discrete Mathematics. else return(vs uni(U − T [u]. and Kloks. 47: 40–59. Ton. S.2: {q = 3} = U mi= U mi- ~32~ . “Graph searching on some subclasses of chordal graphs. [9] Skodinis. 1995. For all constituent trees. “Eﬃcient and constructive algorithms for the pathwidth and treewidth of graphs. L). k) then output (k. 2000. Case 2: {Three or more non-critical k-trees} return(false). k){where U nus the bodies of Ti and Tj } then return(true). Ton and Kratsch. 8(4): 606–616. if vs uni(U. “Treewidth and pathwidth of permutation graphs.-T. T. C. and Hsu. q = number of (k − 1)-trees.. and Ko. and Kloks. The cases are identical to those deﬁned in [Section 5.-W. 21(2): 358–402. Case 5.the layout created by vs uni) else output (k + 1. k)).-S. 1996. [10] Bodlaender. k){where U nus the bodies of Ti and Tj } then return(true). Hans L.

type Cb constituent then return(vs reduced uni(U . type C constituent then return(T2 contains no k − 1 types other than NC). T1 [b] is not (k − 1)-critical } return(T1 and T2 have complementary extensibilities). k − 1)). {The cases and the notation used are identical to those deﬁned in [Section 4. else { At least one of T1 [a]. type NC constituents). k) : Boolean. Case 3: {vs(T1 ) = k − 1} if T1 [a] is (k − 1)-critical and T1 [b] is (k − 1)-critical then if T1 contains one k − 1. Case 2: {vs(T1 ) < k − 1} return(true). if T1 contains a (k − 1). = U mi= U mi- function vs reduced uni(U .The 23rd Workshop on Combinatorial Mathematics and Computation Theory for all choices of two trees Ti and Tj from among the three (k − 1)-trees do if vs reduced uni(U . k){where U nus the bodies of Ti and Tj } then return(true).3: {q = 4} for all choices of two trees Ti and Tj from among the four (k − 1)-trees do if vs reduced uni(U . type NCb constituents then return(T2 contains only (k − 1). ~33~ . k){where U nus the bodies of Ti and Tj } then return(true). return(false) Case 5. We assume that vs(T1 ) ≥ vs(T2 )} Case 1: {vs(T1 ) = k} return(false).4]. return(false) Case 5.4: {q ≥ 5} return(false). if T1 contains two (k − 1).