• 沒有找到結果。

圖形之路徑分割及其變型

N/A
N/A
Protected

Academic year: 2021

Share "圖形之路徑分割及其變型"

Copied!
83
0
0

加載中.... (立即查看全文)

全文

(1)國 立 交 通 大 學 應用數學系 博 士 論 文 圖形之路徑分割及其變型 Path Partition and Its Variations in Graphs. 研 究 生:潘俊杰 指導教授:張鎮華教授. 中 華 民 國 九 十 三 年 六 月.

(2) 圖形之路徑分割及其變型 Path Partition and Its Variations in Graphs 研 究 生:潘俊杰. Student:Jun-Jie Pan. 指導教授:張鎮華教授 Advisor:Professor Gerard J. Chang. 國立交通大學 應用數學系 博 士 論 文. A Dissertation Submitted to Department of Applied Mathematics College of Science National Chiao Tung University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Applied Mathematics June 2004 Hsinchu, Taiwan, Republic of China 中華民國九十三年六月.

(3) Acknowledgments To God I owe everything. To everyone that helped make the completion of this thesis possible I offer my thanks. My advisor, Professor Gerard Jennhwa Chang, provided me with expert guidance, many hours of discussion, and financial support to complete the thesis. I am grateful for his time, effort, patience and support. I am thankful to members of my committee: Professor Ko-Wei Lih, Professor Frank Kwang-Ming Hwang, Professor Chiuyuan Chen, Professor Bor-Liang Chen, Professor Kuo-Ching Huang, Professor Chiang Lin, Professor Roger K. Yeh and Professor Jing-Ho Yan. Thanks to them for suggesting many thoughtful improvements. I wish to thank many officemates I have had in the past six years. Dr. Ju-Si Lee, Dr. Yu-Chi Liu, Chih-Hung Yen and Guan-Yu Chen, with whom I had many discussions not only about mathematics. Special thanks go to Professor Frank Kwang-Ming Hwang, Professor Hung-Lin Fu and Professor Chiuyuan Chen for sharing experience on research. To my parents, I am indebted with gratitude for their infinite support throughout all stages of the preparation of this thesis, and throughout all stages of my life.. i.

(4) 圖形之路徑分割及其變型 研究生:潘俊杰. 指導教授:張鎮華教授. 國立交通大學 應用數學系. 摘. 要. 假設 P 是一個圖形性質。圖形的 P-分割是將點集分割成互不相交的的集合, 使得這些集合都誘導出滿足性質 P 的子圖。P-分割數是是圖中所有 P-分割的最 小數,而 P-分割問題是找出 P-分割數的問題。同樣的,我們也可以定義所謂的 P-覆蓋和 P-覆蓋數,而他們和 P-分割、P-分割數只差在不要求集合要互不相交 而已。 各式各樣的 P-分割和 P-覆蓋早已在文獻中被探討。比如,著色數是 P 為「沒 有邊」這個性質的 P-分割數。由 Chartrand,Kronk 和 Wall [8]所定義的點蔭度 a(G),其 P 為「森林」這個性質。由 Harary [24]定義的線性點蔭度 lva(G),其 P 為「線性森林」這個性質。 這篇論文的目的是考慮 P 為「有一條漢米爾頓路徑」 、「誘導路徑」或「原 圖的同距路徑」性質。也就是說,此篇論文探討路徑分割問題、誘導路徑分割問 題和同距路徑覆蓋問題。 就路徑分割問題而言,我們在塊形為完全圖、圈或完全二分圖的圖形上,給 了一個 O(|V|+|E|)-時間的演算法。 就誘導路徑分割問題而言,我們在塊形為完全圖、圈或完全二分圖的圖形 上,給了一個 O(|V|+|E|)-時間的演算法。我們也在補可約的圖形上給了一個多項 式時間的演算法。 在同距路徑覆蓋問題上我們有三個結果。首先,我們決定了塊形圖形的同距 路徑覆蓋數,並給了一個找出對應的路徑,時間為 O(|V|+|E|)的演算法。最後, 我們算出完全 r 分圖、2 維和 3 維漢明圖的同距路徑覆蓋數。. ii.

(5) Path Partition and Its Variations in Graphs Student: Jun-Jie Pan. Advisor: Professor Gerard J. Chang. Department of Applied Mathematics. Department of Mathematics. National Chiao Tung University. National Taiwan University. Abstract Suppose P is a graphical property. A P -partition of a graph G = (V, E) is a partition of V into pairwise disjoint sets such that each set induces a subgraph satisfying property P . The P -partition problem is to find the P -partition number which is the minimum cardinality of a P -partition of a graph. We can define P -cover and P -cover number in a similar way, except now the subsets are not required to be disjoint. Various P -partition and P -cover problems have been studied in the literature. For instance, the chromatic number is the P -partition number with the property P being “has no edges”. For the vertex-arboricity a(G) defined by Chartrand, Kronk and Wall [8], the property P is “induces a forest”. For the linear vertex arboricity lva(G) defined by Harary [24], the property P is “induces a linear forest”. The purpose of this thesis is to consider the problems in which property P is “containing a Hamiltonian path”, “an induced path” or “an isometric path of the original graph”. That is, we study the path-partition problem, the induced-pathpartition problem and the isometric-path-cover problem. For the path-partition problem, we give an O(|V | + |E|)-time algorithm for graphs whose blocks are complete graphs, cycles or complete bipartite graphs. For the induced-path-partition problem, we present an O(|V | + |E|)-time algorithm for graphs whose blocks are complete graphs, cycles or complete bipartite graphs. We also give a polynomial-time algorithm for cographs. We have three results for the isometric-path-cover problem. First, we determine isometric-path numbers of block graphs, and also give an O(|V | + |E|)-time algorithm for finding the corresponding paths. Second, we give isometric-path numbers of complete r-partite graphs and Hamming graphs of dimensions 2 and 3. iii.

(6) Contents Acknowledgements. i. Abstract (in Chinese). ii. Abstract (in English). iii. Contents. iv. List of Figures. v. 1 Introduction. 1. 1.1. Basic definitions in graphs . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.2. Basic definitions in algorithms . . . . . . . . . . . . . . . . . . . . . .. 6. 1.3. Path partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 1.4. Induced-path partition . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 1.5. Isometric-path cover . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10. 1.6. Overview of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 2 Path Partition. 13. 2.1. Preliminary of path partition . . . . . . . . . . . . . . . . . . . . . .. 13. 2.2. Path partition in graphs . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 2.3. Path partitions for special blocks . . . . . . . . . . . . . . . . . . . .. 18. 2.4. Algorithm for graphs with special blocks . . . . . . . . . . . . . . . .. 21. 3 Induced-path Partition 3.1. 30. Preliminary of induced-path partition . . . . . . . . . . . . . . . . . . iv. 30.

(7) 3.2. 3.3. Induced-path partition in graphs with special blocks . . . . . . . . . .. 31. 3.2.1. Inductive theorem . . . . . . . . . . . . . . . . . . . . . . . . .. 31. 3.2.2. Induced-path partitions for special blocks . . . . . . . . . . . .. 36. 3.2.3. Algorithm for graphs with special blocks . . . . . . . . . . . .. 40. Induced-path partition in cographs . . . . . . . . . . . . . . . . . . .. 47. 4 Isometric-path Cover. 51. 4.1. Preliminary of isometric-path cover . . . . . . . . . . . . . . . . . . .. 51. 4.2. Isometric-path cover in block graphs . . . . . . . . . . . . . . . . . .. 51. 4.2.1. Formula for block graphs . . . . . . . . . . . . . . . . . . . . .. 52. 4.2.2. Algorithm for block graphs . . . . . . . . . . . . . . . . . . . .. 54. 4.3. Isometric-path cover in complete r-partite graphs . . . . . . . . . . .. 58. 4.4. Isometric-path cover in Hamming graphs . . . . . . . . . . . . . . . .. 61. 5 Conclusion. 69. Bibliography. 71. v.

(8) List of Figures 1.1. A graph G = (V, E). . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.2. A digraph D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.3. A subgraph of the graph in Figure ??. . . . . . . . . . . . . . . . . .. 4. 1.4. The complete bipartite graph K2,2 . . . . . . . . . . . . . . . . . . . .. 5. 1.5. The Cartesian product P2 ¤P2 of P2 and P2 . . . . . . . . . . . . . . .. 5. 1.6. A cograph K1,3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6. 1.7. The Hamming graph K2 ¤K3 . . . . . . . . . . . . . . . . . . . . . . .. 6. 1.8. A graph G = (V, E) having two blocks. . . . . . . . . . . . . . . . . .. 7. 1.9. A graph G with p(G) = 1. . . . . . . . . . . . . . . . . . . . . . . . .. 8. 1.10 A graph G with ρ(G) = 2. . . . . . . . . . . . . . . . . . . . . . . . .. 9. 1.11 A graph G with ip(G) = 2. . . . . . . . . . . . . . . . . . . . . . . . .. 11. 2.1. Graph G1 of 12 vertices and 5 blocks. . . . . . . . . . . . . . . . . . .. 26. 2.2. Graph G2 results from G1 by deleting {g}. . . . . . . . . . . . . . . .. 27. 2.3. Graph G3 results from G2 by deleting {h}. . . . . . . . . . . . . . . .. 27. 2.4. Graph G4 results from G3 by deleting {e, f }. . . . . . . . . . . . . . .. 27. 2.5. Graph G5 results from G4 by deleting {a, b, c}. . . . . . . . . . . . . .. 28. 2.6. Graph G6 results from G5 by deleting d and set f (i) = 1. . . . . . . .. 28. 2.7. Graph G7 results from G6 by deleting i and set f (k) = 1. . . . . . . .. 28. 2.8. Graph G8 results from G7 by deleting k and set f (j) = 1. . . . . . . .. 29. 2.9. Graph G9 results from G8 by deleting j and set f (l) = 1. . . . . . . .. 29. 3.1. Graph G1 of 9 vertices and 3 blocks. . . . . . . . . . . . . . . . . . .. 45. 3.2. Graph G2 results from G1 by deleting {e}. . . . . . . . . . . . . . . .. 45. vi.

(9) 3.3. Graph G3 results from G2 by deleting {a, b, d}. . . . . . . . . . . . . .. 46. 3.4. Graph G3 with a new label at vertex c. . . . . . . . . . . . . . . . . .. 46. 3.5. Graph G3 with a new label at vertex f . . . . . . . . . . . . . . . . . .. 46. 4.1. Graph G1 of 5 vertices, and an empty stack S. . . . . . . . . . . . . .. 56. 4.2. Graph G2 results from G1 by deleting a. Update stack S. . . . . . . .. 56. 4.3. Graph G3 results from G2 by deleting b. Update stack S. . . . . . . .. 57. 4.4. Graph G4 results from G3 by deleting d and e. Update stack S. . . .. 57. 4.5. Update stack S by poping (e, c, 1). . . . . . . . . . . . . . . . . . . .. 57. 4.6. Isometric-path covers of K2 ¤Ki for 2 ≤ i ≤ 4, and K3 ¤K3 . . . . . . .. 62. 4.7. An isometric-path cover of K2 ¤K2 ¤K2 . . . . . . . . . . . . . . . . .. 63. 4.8. An isometric-path cover of K2 ¤K3 ¤K3 . . . . . . . . . . . . . . . . .. 65. 4.9. Another isometric-path cover of K2 ¤K3 ¤K3 . . . . . . . . . . . . . .. 65. 4.10 An isometric-path cover of K2 ¤K3 ¤K4 . . . . . . . . . . . . . . . . .. 66. 4.11 An isometric-path cover of K2 ¤K3 ¤K5 . . . . . . . . . . . . . . . . .. 66. 4.12 An isometric-path cover of K3 ¤K3 ¤K3 . . . . . . . . . . . . . . . . .. 66. 4.13 An isometric-path cover of K3 ¤K3 ¤K4 . . . . . . . . . . . . . . . . .. 67. 4.14 An isometric-path cover of K2 ¤K3 ¤K6 . . . . . . . . . . . . . . . . .. 67. 4.15 An isometric-path cover of K2 ¤K5 ¤K5 . . . . . . . . . . . . . . . . .. 68. 4.16 An isometric-path cover of K3 ¤K5 ¤K5 . . . . . . . . . . . . . . . . .. 68. vii.

(10) Chapter 1 Introduction A path partition of a graph is a collection of vertex-disjoint paths that cover all vertices of the graph. The path-partition problem is to find the path-partition number p(G) of a graph G, which is the minimum cardinality of a path partition of G. The concept of path-partition number was introduced by Skupie´ n [38], who studied the concept of Hamiltonian shortage of a graph G, written SH (G) = min{p : G × Kp is Hamiltonian}. He [38] proved that   p(G) − 1 = 0, p(G) + 1 = 2, SH (G) =  p(G) ≥ 1,. if G is Hamiltonian, if G = K1 , if G is not Hamiltonian and G 6= K1 .. He [38] also used an variation of Gallai-Milgram Theorem [20], saying p(G) ≤ α(G) for any graph G, to prove that SH (G) ≤ α(G) for any graph G. Notice that G has a Hamiltonian path if and only if p(G) = 1. The concept of path-partition number also has a close relationship with L0 (2, 1)labeling number [7] describes as follows. An L0 (2, 1)-labeling of a graph G is a one to one function f from the vertex set V (G) to the set of all nonnegative integers such that |f (x) − f (y)| ≥ 2 if d(x, y) = 1 and |f (x) − f (y)| ≥ 1 if d(x, y) = 2. The L0 (2, 1)labeling number, denoted by λ0 (G), is the smallest number k such that G has a a L0 (2, 1)-labeling with max{f (v) : v ∈ V (G)} = k. Thus, p(G) = λ0 (Gc ) − |V (G)| + 2, where Gc is the graph with vertex set V (G) defined by uv ∈ E(Gc ) if and only if uv ∈ E(G) in [7]. For more details about L0 (2, 1)-labeling, see [7]. 1.

(11) We may extend the concept of path-partition number in a more general setting. Suppose P is a graphical property. A P -partition of a graph G = (V, E) is a partition of V into pairwise disjoint sets such that each set induces a subgraph satisfying property P . The P -partition problem is to find the P -partition number which is the minimum cardinality of a P -partition of a graph. We can define P -cover and P -cover number in a similar way, except now the subsets are not required to be disjoint. Various P -partition and P -cover problems have been studied in the literature. For instance, the chromatic number is the P -partition number with the property P being “has no edges”. For the vertex-arboricity a(G) defined by Chartrand, Kronk and Wall [8], the property P is “induces a forest”. For the linear vertex arboricity lva(G) defined by Harary [24], the property P is “induces a linear forest”. The purpose of this thesis is to consider the problems in which property P is “containing a Hamiltonian path”, “an induced path” or “an isometric path of the original graph”. That is, we study the path-partition problem, the induced-pathpartition problem and the isometric-path-cover problem. In this chapter, we first introduce some definitions needed in later chapters. Then, we describe motivations for studying the three problems mentioned above and give an overview of our results.. 1.1. Basic definitions in graphs. A graph G = (V, E) consists of a finite vertex set V and a finite edge set E, where each edge is an unordered pair {u, v} of vertices called its end-vertices. For convenience, we write uv for an edge {u, v}. If uv ∈ E, then u and v are adjacent. The cardinality of V is called the order of G, and the cardinality of E the size. The degree of a vertex v in a graph G, written dG (v), is the number of edges containing v. The maximum degree is denoted by ∆(G); the minimum degree by δ(G). The independence number α(G) of G is the maximum size of a pairwise nonadjacent vertex set in G. We illustrate a graph on paper by assigning a point to each vertex and drawing a curve for each edge between the points representing its end-vertices, sometimes. 2.

(12) omitting the names of the vertices or edges. Figure 1.1 is a graph with vertex set V = {a, b, c, d}, and edge set E = {{a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}}. c u a. u d @ ¡ @ ¡ ¡ @u b u. Figure 1.1: A graph G = (V, E).. A directed graph or digraph D = (V, E) consists of a vertex set V and an edge set E, where each edge is an ordered pair of vertices. We also write uv for the edge (u, v), with u being the tail and v being the head. We write u → v when uv ∈ E, meaning “there is an edge from u to v”. Let v be a vertex in a digraph. The out-degree d+ D (v) is the number of edges with tail v, and the in-degree d− D (v) is the number of edges with head v. Figure 1.2 shows a digraph D with vertex set V = {a, b, c, d, c, f } and edge set E = − {(a, b), (b, c), (c, d), (d, e), (e, a), (f, a)}. Notice that d+ D (a) = 1 and dD (a) = 2.. d. u ¡@ e ¡ ª @ I c ¡ @u u ? u- u. f. -. a. 6 u. b. Figure 1.2: A digraph D.. A subgraph of a graph G = (V, E) is a graph H = (V 0 , E 0 ) such that V 0 ⊆ V and E 0 ⊆ E. For a subset S ⊆ V , the subgraph induced by S is the graph H = (S, E 0 ) with E 0 = {xy ∈ E : x, y ∈ S}. For a subset T ⊆ E, the subgraph induced by T is the graph H = (V 0 , T ) with V 0 = {x ∈ V : x ∈ e for some e ∈ T }. Figure 1.3 is a subgraph of the graph in Figure 1.1. A path is an ordered list of distinct vertices (v0 , v1 , . . . , vn ) such that vi−1 vi is 3.

(13) c u. u d. a u. u b. Figure 1.3: A subgraph of the graph in Figure 1.1.. an edge for 1 ≤ i ≤ n. The first and last vertices of a path are its end-vertices; a u, v-path is a path with end-vertices u and v. If a graph G has a u, v-path, then the distance from u to v, written d(u, v), is the least length of a u, v-path; if G has no such path, then d(u, v) = ∞. The diameter diam(G) of a graph G is the maximum distance between two vertices in G. An induced path is a path in which two vertices are adjacent only for those with consecutive indices. A cycle is an an ordered list of distinct vertices (v0 , v1 , . . . , vn ), except v0 = vn such that all vi−1 vi for 1 ≤ i ≤ n are edges. A graph is called Hamiltonian if it has a cycle containing all vertices of the graph. A graph with n vertices that is a path or a cycle is denoted by Pn or Cn , respectively. A graph G = (V, E) is connected if it has a u, v-path for each pair of vertices u, v ∈ V . The ordered list (c, a, b) of the graph in Figure 1.1 is a path, and (c, a, b, c) a cycle. The ordered list (a, b, c, d, e, a) of the graph in Figure 1.2 is a directed cycle. A complete graph of order n, written Kn , is a graph in which every pair of vertices is an edge. Figure 1.1 is a complete graph of order 4. A complete bipartite graph is a graph whose vertex set is the union of the two disjoint sets and edge set consists of all pairs having a vertex from each of two disjoint sets covering the vertices. A complete r-partite graph is a graph whose vertex set can be partitioned into disjoint union of r nonempty parts, and two vertices are adjacent if and only if they are in different parts. We use Kn1 ,n2 ,...,nr to denote the complete r-partite graph whose parts are of sizes n1 , n2 , . . . , nr , respectively. Figure 1.4 is the complete bipartite graph K2,2 . The union of two graphs G = (V, E) and H = (V 0 , E 0 ), written G ∪ H is the graph having vertex set V ∪ V 0 and edge set E ∪ E 0 . To specify the disjoint union with V ∩ V 0 = ∅, we write G + H. The join of G and H, written G × H, is obtained. 4.

(14) c u a. u d @ ¡ @ ¡ ¡ @u b u. Figure 1.4: The complete bipartite graph K2,2 .. from G + H by adding the edges {xy : x ∈ V and y ∈ V 0 }. The Cartesian product of graphs G and H, written G¤H, is the graph with vertex set V × V 0 specified by putting (u, u0 ) adjacent to (v, v 0 ) if and only if (1) u = v and u0 v 0 ∈ E 0 , or (2) u0 = v 0 and uv ∈ E. Complement reducible graphs (also called cographs) are defined recursively by the following rules: (i) K1 is a cograph; (ii) if G and H are cographs, then so are G + H and G × H; (iii) no other graphs are cographs. For more details on cographs, see [12, 13, 26]. Figure 1.5 is the Cartesian product of P2 and P2 , and Figure 1.6 is a cograph since we can use the following construction. First, let G1 = a, G2 = b, G3 = c, G4 = d and G5 = e by rule (i). Second, we get G1 + G2 and G4 × G5 by rule (ii). Third, we obtain (G1 + G2 ) × G3 by rule (ii). Finally, we get the required graph ((G1 + G2 ) × G3 ) × (G4 × G5 ) by rule (ii).. c u. u d. a u. u b. Figure 1.5: The Cartesian product P2 ¤P2 of P2 and P2 .. A Hamming graph is the Cartesian product of complete graphs, which is the graph Kn1 ¤Kn2 ¤ . . . ¤Knr = (V, E) with vertex set V = {(x1 , x2 , . . . , xr ) : 0 ≤ xi < ni for 1 ≤ i ≤ r} and edge set E = {(x1 , x2 , . . . , xr )(y1 , y2 , . . . , yr ) : xi = yi for all i except just one xj 6= yj }. Figure 1.7 is the Hamming graph K2 ¤K3 . 5.

(15) b u B@. c. a. B@ B @u e £ B ¡ £ ¡ B£ u ¡ B @ £B £ @ B £ @ Bu £ ¡ d £¡ u £ ¡. Figure 1.6: A cograph K1,3 .. u. u. u. u. u. u. Figure 1.7: The Hamming graph K2 ¤K3 .. A cut-vertex of a graph is a vertex whose removal results in a graph having more components than the original graph. A block is a maximal connected subgraph without a cut-vertex. Notice that the intersection of two distinct blocks contains at most one vertex; and a vertex is a cut-vertex if and only if it is the intersection of two or more blocks. Consequently, a graph with one or more cut-vertices has at least two blocks. An end block is a block with exactly one cut-vertex. A graph is a block graph if it is the intersection graph of the family of blocks of some graph. Harary [23] proved that a graph is a block graph if and only if all its blocks are complete graphs. Figure 1.8 shows a block graph having two blocks B1 = ({a, b, x}, {ab, ax, bx}) and B2 = ({c, d, x}, {cd, cx, dx}), and a cut-vertex x.. 1.2. Basic definitions in algorithms. In this section, we introduce some concepts on algorithms as some of our results are in terms of algorithm. An algorithm is a finite sequence of deterministic computational steps that trans6.

(16) c u. a. u d ¡ @ ¡ @ ¡ x @u ¡@ @ ¡ @u b ¡ u. Figure 1.8: A graph G = (V, E) having two blocks.. form the input into the output. The time needed for an algorithm, in worst case, expressed as a function of the size of the input of a problem is called the time complexity of the algorithm. The limiting behavior of the complexity as size increases is called the asymptotic time complexity. A function f (n) is said to be O(g(n)) if there exists two positive constant c and n0 such that 0 ≤ f (n) ≤ cg(n) for all n ≥ n0 . A depth-first search, as its name implies, is to search “deeper” in the graph whenever possible. In a depth-first search, we select and “visit” a starting vertex v. Then we select any edge vw incident to v, and visit w. In general, suppose x is the most recently visited vertex. The search is continued by selecting some unexplored edge xy. If y has been previously visited, we find another new edge incident to x. If y has not been previously visited, then we visit y and begin a new search starting at vertex y. After completing the search through all paths beginning at y, the search returns to x, the vertex from which y was first reached. The process of selecting unexplored edges incident to x is continued until the list of these edges is exhausted. The depth-first search can find all blocks of a graph G and spend O(e) time if G has e edges. A nondeterministic algorithm consists of two phases: a guessing stage and a checking stage which is a deterministic algorithm. Furthermore, it is assumed that a nondeterministic algorithm always makes a correct guessing. If the checking stage of a nondeterministic algorithm is of polynomial-time complexity, then this nondeterministic algorithm is called a nondeterministic polynomial algorithm. If a problem can be solved by a nondeterministic polynomial algorithm, this problem is called a nondeterministic polynomial (N P for short) problem. All of the problems which can 7.

(17) be solved in polynomial time are called P problems. Cook [10] proved the following important theorem, we now call Cook’s Theorem. Theorem 1.1 [10] N P = P if and only if the Satisfiability Problem is a P problem. Let A1 and A2 be two problems. A1 is reducible to A2 if and only if A1 can be solved in polynomial time by using a polynomial-time algorithm which solves A2 . A problem A is N P-complete if A is in N P and every N P problem reduces to A. The Satisfiability Problem is N P-complete according to Cook’s Theorem. For more details on the design and analysis of algorithms. see [1, 11].. 1.3. Path partition. A path partition of a graph is a collection of vertex-disjoint paths that cover all vertices of the graph. The path-partition problem is to find the path-partition number p(G) of a graph G, which is the minimum cardinality of a path partition of G. For the graph G in Figure 1.9, p(G) = 1. u ¡@ @ ¡ @u ¡ u u. u. Figure 1.9: A graph G with p(G) = 1. The concept of path-partition number was introduced by Skupie´ n [38], who studied the concept of Hamiltonian shortage of a graph G, written SH (G) = min{p : G × Kp is Hamiltonian}. He [38] proved that   p(G) − 1 = 0, p(G) + 1 = 2, SH (G) =  p(G) ≥ 1,. if G is Hamiltonian, if G = K1 , if G is not Hamiltonian and G 6= K1 .. He [38] also used an variation of Gallai-Milgram Theorem [20], saying p(G) ≤ α(G) for any graph G, to prove that SH (G) ≤ α(G) for any graph G. Notice that G has 8.

(18) a Hamiltonian path if and only if p(G) = 1. Since the Hamiltonian path problem is N P-complete for planar graphs [21], bipartite graphs [22], chordal graphs [22], chordal bipartite graphs [31] and strongly chordal graphs [31], so is the path-partition problem. On the other hand, the path-partition problem is polynomially solvable for trees [25, 38], interval graphs [4, 5, 14], circular-arc graphs [5, 14], cographs [7, 12, 30], cocomparability graphs [15], block graphs [39, 40, 41] and bipartite distancehereditary graphs [43]. The concept of path-partition number also has a close relationship with L0 (2, 1)labeling number [7] describes as follows. An L0 (2, 1)-labeling of a graph G is a one to one function f from the vertex set V (G) to the set of all nonnegative integers such that |f (x) − f (y)| ≥ 2 if d(x, y) = 1 and |f (x) − f (y)| ≥ 1 if d(x, y) = 2. The L0 (2, 1)labeling number, denoted by λ0 (G), is the smallest number k such that G has a a L0 (2, 1)-labeling with max{f (v) : v ∈ V (G)} = k. Thus, p(G) = λ0 (Gc ) − |V (G)| + 2, where Gc is the graph with vertex set V (G) defined by uv ∈ E(Gc ) if and only if uv ∈ E(G) in [7]. For more details about L0 (2, 1)-labeling, see [7].. 1.4. Induced-path partition. The concept of induced-path partition was considered by Chartrand et al. [9] as the P -partition with the property of being a path. More precisely, an induced-path partition of a graph is a collection of vertex-disjoint induced paths that cover all vertices of the graph. The induced-path-partition problem is to find the induced-path number ρ(G) of a graph G, which is the minimum cardinality of an induced-path partition of G. For the graph G in of Figure 1.10, ρ(G) = 2. u ¡@ @ ¡ @u ¡ u u. u. Figure 1.10: A graph G with ρ(G) = 2. Chartrand et al.. [9] gave the induced-path numbers of complete bipartite 9.

(19) graphs, complete binary trees, 2-dimensional meshs, butterflies and general trees. Broere et al. [6] determined exact values for complete multipartite graphs. Chartrand et al. [9] conjectured that ρ(Qd ) ≤ d for the d-dimensional hypercube Qd with d ≥ 2. Alsardary [3] proved that ρ(Qd ) ≤ 16. From an algorithmic point of view, Le et al. [27] proved that the induced-path-partition problem is N P-complete for general graphs.. 1.5. Isometric-path cover. An isometric path between two vertices in a graph G is a shortest path joining them. An isometric-path cover of a graph is a collection of isometric paths that cover all vertices of the graph. The isometric-path-cover problem is to find the isometric-path number ip(G) of a graph G which is the minimum cardinality of an isometric-path cover. The concept of the isometric-path number has a close relationship with the game of cops and robbers described as follows. The game is played by two players, the cop and the robber, on a graph. The two players move alternatively, starting with the cop. Each player’s first move consists of choosing a vertex at which to start. At each subsequent move, a player may choose either to stay at the same vertex or to move to an adjacent vertex. The object for the cop is to catch the robber, and for the robber is to prevent this from happening. Nowakowski and Winkler [32] and Quilliot [37] independently proved that the cop wins if and only if the graph can be reduced to a single vertex by successively removing pitfalls, where a pitfall is a vertex whose close neighborhood is a subset of the close neighborhood of another vertex. As not all graphs are cop-win graphs, Aigner and Fromme [2] introduced the concept of the cop-number of a general graph G, denoted by c(G), which is the minimum number of cops needed to put into the graph in order to catch the robber. On the way to giving an upper bound for the cop-numbers of planar graphs, they showed that a single cop moving on an isometric path P guarantees that after a finite number of moves the robber will be immediately caught if he moves onto P .. 10.

(20) Observing this fact, Fitzpatrick [16] then introduced the concept of isometric-path cover and pointed out that c(G) ≤ ip(G). For the graph G of Figure 1.11, ip(G) = 2. u ¡@ @ ¡ @u ¡ u u. u. Figure 1.11: A graph G with ip(G) = 2. The isometric-path number of the Cartesian product Pn1 ¤Pn2 ¤ . . . ¤Pnd has been studied in the literature. Fitzpatrick [17] gave bounds for the case when n1 = n2 = . . . = nd . Fisher and Fitzpatrick [18] gave exact values for the case d = 2. Fitzpatrick et al. [19] gave a lower bound, which is in fact the exact value if d + 1 is a power of 2, for the case when n1 = n2 = . . . = nd = 2.. 1.6. Overview of the thesis. In this thesis, we study path-partition numbers, induced-path numbers and isometricpath numbers. We give a brief overview of the thesis. In Chapter 1, we introduce basic terminology in graphs and algorithms. We also describe motivations of the three problems studied in this thesis, namely the pathpartition problem, the induced-path-partition problem and the isometric-path-cover problem. Chapter 2 is devoted to the path-partition problem. This problem has been proved to be N P-complete for many classes of graphs, while it is also polynomially solvable for some classes of graphs such as trees and block graphs. As these graphs all have tree structures, the purpose of this chapter is to use a unified method, called a labeling algorithm, to give an O(|V | + |E|)-time algorithm for the path-partition problem for graphs whose blocks are complete graphs, cycles or complete bipartite graphs. Chapter 3 considers the induced-path-partition problem. Le et al. [27] used the fact that Not-All-Equal 3SAT is N P-complete to prove that the induced-path11.

(21) partition problem is N P-complete for general graphs. The main purpose of this chapter is to present an O(|V | + |E|)-time algorithm for finding the induced-path numbers of graphs whose blocks are complete graphs, cycles or complete bipartite graphs. We also give a polynomial-time algorithm for finding the induced-path numbers of cographs. In Chapter 4, we discuss the isometric-path-cover problem. This is a relatively new problem. Previous and our results on this problem are most non-algorithmic. We have three results for this problem. First, we determine isometric-path numbers of block graphs, and also give an O(|V | + |E|)-time algorithm for finding the corresponding paths. Second, we give isometric-path numbers of complete r-partite graphs and Hamming graphs of dimensions 2 and 3. Chapter 5 makes a conclusion, in which we give some open problems on the path-partition problem, the induced-path-partition problem and the isometric-pathcover problem.. 12.

(22) Chapter 2 Path Partition 2.1. Preliminary of path partition. Recall that a path partition of a graph is a collection of vertex-disjoint paths that cover all vertices of the graph. The path-partition problem is to find the path-partition number p(G) of a graph G, which is the minimum cardinality of a path partition of G. Notice that G has a Hamiltonian path if and only if p(G) = 1. Since the Hamiltonian path problem is N P-complete for planar graphs [21], bipartite graphs [22], chordal graphs [22], chordal bipartite graphs [31] and strongly chordal graphs [31], so is the path-partition problem. On the other hand, the path-partition problem is polynomially solvable for trees [25, 38], interval graphs [4, 5, 14], circular-arc graphs [5, 14], cographs [7, 12, 30], cocomparability graphs [15], block graphs [39, 40, 41] and bipartite distance-hereditary graphs [43]. The purpose of this chapter is to give a linear-time algorithm for the pathpartition problem for graphs whose blocks are complete graphs, cycles or complete bipartite graphs. For technical reasons, we consider the following generalized problem, which is a labeling approach for the problem. Suppose every vertex v in the graph G is associated with an integer f (v) ∈ {0, 1, 2, 3}. An f -path partition is a collection P of vertex-disjoint paths such that the following conditions hold. (P1) Any vertex v with f (v) 6= 3 is in some path in P. (P2) If f (v) = 0, then v itself is a path in P. 13.

(23) (P3) If f (v) = 1, then v is an end-vertex of some path in P. The f -path-partition problem is to determine the f -path-partition number pf (G) which is the minimum cardinality of an f -path partition of G. It is clear that p(G) = pf (G) when f (v) = 2 for all vertices v in G. Notice that as there may have some vertices of labels 3, an f -path partition is not necessary a path partition.. 2.2. Path partition in graphs. The labeling approach used in this chapter starts from an end block. Suppose B = (V, E) is an end block whose only cut-vertex is x. Let A be the graph G − (V − {x}). Notice that we can view G as the “composition” of A and B, i.e., G is the union of A and B which meet at a common vertex x. The idea is to get the path-partition number of G from those of A and B. In the lemmas and theorems of this chapter, we use the following notation. Suppose x is a specified vertex of a graph H = (V, E) in which f is a vertex labeling. For i = 0, 1, 2, 3, we define the function fi : V → {0, 1, 2, 3} by fi (y) = f (y) for all vertices y except fi (x) = i. Lemma 2.1 Suppose x is a specified vertex in a graph H. Then the following statements hold. (1) pf3 (H) ≤ pf2 (H) ≤ pf1 (H) ≤ pf0 (H). (2) pf1 (H) ≤ pf0 (H) ≤ pf1 (H) + 1. (3) pf2 (H) ≤ pf1 (H) ≤ pf2 (H) + 1. (4) pf3 (H) = min{pf2 (H), pf (H − x)} ≤ pf (H − x) = pf0 (H) − 1. (5) pf (H) ≥ pf1 (H) − 1. Proof. (1) The inequalities follow from that an fi -path partition is an fj -path partition whenever i < j.. 14.

(24) (2) The second inequality follows from that replacing the path P x in an f1 -path partition by two paths P and x results in an f0 -path partition of H. (3) The second inequality follows from that replacing the path P xQ in an f2 path partition by two paths P x and Q results in an f1 -path partition of H. (4) The first equality follows from that one is an f3 -path partition of H if and only if it is either an f2 -path partition of H or an f -path partition of H − x. The second equality follows from that P is an f0 -path partition of H if and only if it is the union of {x} and an f -path partition of H − x. (5) According to (1), (3) and (4), we have pf (H) ≥ pf3 (H) = min{pf2 (H), pf (H−x)} ≥ min{pf1 (H)−1, pf0 (H)−1} = pf1 (H)−1.. Lemma 2.2 (1) pf (G) ≤ min{pf (A) + pf0 (B) − 1, pf0 (A) + pf (B) − 1}. (2) pf2 (G) ≤ pf1 (A) + pf1 (B) − 1. Proof. (1) Suppose P is an optimal f -path partition of A, and Q an f0 -path partition of B. Then x ∈ Q and so (P ∪ Q) − {x} is an f -path partition of G. This gives pf (G) ≤ pf (A) + pf0 (B) − 1. Similarly, pf (G) ≤ pf0 (A) + pf (B) − 1. (2) The inequality follows from that if P (respectively, Q) is an optimal f1 -path partition of A (respectively, B) in which P x ∈ P (respectively, xQ ∈ Q) contains x, then (P ∪ Q ∪ {P xQ}) − {P x, xQ} is an f2 -path partition of G. We now have the following theorem which is the key for the inductive step of our algorithm. Theorem 2.3 Suppose α = pf0 (B) − pf1 (B) and β = pf1 (B) − pf2 (B). (Notice that α, β ∈ {0, 1}.) Then the following statements hold. (1) If f (x) = 0, then pf (G) = pf (A) + pf (B) − 1. (2) If f (x) = 1, then pf (G) = pf1−α (A) + pfα (B) − 1. 15.

(25) (3) If f (x) ≥ 2 and α = β = 0, then pf (G) = pf (A) + pf0 (B) − 1. (4) If f (x) ≥ 2 and α = 0 and β = 1, then pf (G) = pf3 (A) + pf (B). (5) If f (x) ≥ 2 and α = 1, then pf (G) = pf1−β (A) + pf1+β (B) − 1. Proof. Suppose P is an optimal f -path partition of G. Let P ∗ be the path in P that contains x. (It is possible that there is no such path when f (x) = 3.) There are three possibilities for P ∗ : (a) P ∗ does not exist or P ∗ ⊆ A; (b) P ∗ ⊆ B; (c) x is an internal vertex of P ∗ , say P ∗ = P 0 xP 00 , with P 0 x ⊆ A and xP 00 ⊆ B. (The latter is possible only when f (x) ≥ 2.) For the case when (a) holds, {P ∈ P : P ⊆ A} is an f -path partition of A and {P ∈ P : P ⊆ B} ∪ {x} is an f0 -path partition of B. We then have the inequality in (a0 ). Similarly, we have (b0 ) and (c0 ) corresponding to (b) and (c). (a0 ) pf (G) ≥ pf (A) + pf0 (B) − 1. (b0 ) pf (G) ≥ pf0 (A) + pf (B) − 1. (We may replace pf (B) by pf2 (B) when f (x) ≥ 2.) (c0 ) pf (G) ≥ pf1 (A) + pf1 (B) − 1. (This is possible only when f (x) ≥ 2.) We are now ready to prove the theorem. (1) Since f (x) = 0, we have f = f0 . According to Lemma 2.2 (1), pf (G) ≤ pf (A) + pf (B) − 1. On the other hand, (a0 ) and (b0 ) give pf (G) ≥ pf (A) + pf (B) − 1. (2) Since f (x) = 1, we have f = f1 . Lemma 2.2 (1), together with (a0 ) and (b0 ), gives pf (G) = min{pf1 (A) + pf0 (B) − 1, pf0 (A) + pf1 (B) − 1}. If α = 0, then pf0 (A) + pf1 (B) − 1 ≥ pf1 (A) + (pf0 (B) − α) − 1 = pf1 (A) + pf0 (B) − 1; and if α = 1, then pf1 (A) + pf0 (B) − 1 ≥ (pf0 (A) − 1) + (pf1 (B) + α) − 1 = pf0 (A) + pf1 (B) − 1. Hence pf (G) = pf1−α (A) + pfα (B) − 1. (3) According to Lemma 2.2 (1), pf (G) ≤ pf (A) + pf0 (B) − 1. On the other hand, as pf0 (A) ≥ pf1 (A) ≥ pf (A) and pf0 (B) = pf1 (B) = pf2 (B), (a0 )–(c0 ) give pf (G) ≥ pf (A) + pf0 (B) − 1. 16.

(26) (4) According to Lemma 2.1 (4) and α = 0 and β = 1, we have pf (B − x) = pf0 (B) − 1 = pf1 (B) − 1 = pf2 (B). This, together with Lemma 2.1 (4), gives that the above value is also equal to pf3 (B) and so pf (B). Then, an optimal f3 -path partition P of A, together with an optimal pf -path partition of B − x (respectively, B) when x is (respectively, is not) in a path of P, forms an f2 -path partition of G. Thus, pf (G) ≤ pf2 (G) ≤ pf3 (A) + pf (B). On the other hand, since pf1 (A) ≥ pf (A) ≥ pf3 (A) and pf0 (B)−1 = pf1 (B)−1 = pf (B), (a0 ) or (c0 ) implies pf (G) ≥ pf3 (A) + pf (B). Also, as pf0 (A) − 1 ≥ pf3 (A) by Lemma 2.1 (4), (b0 ) implies pf (G) ≥ pf3 (A) + pf (B). (5) According to Lemma 2.1 (1) and Lemma 2.2, we have pf (G) ≤ pf2 (G) ≤ min{pf0 (A) + pf2 (B) − 1, pf1 (A) + pf1 (B) − 1}. On the other hand, if (a0 ) holds, then by Lemma 2.1 (5) and that pf0 (B) = pf1 (B)+1, pf (G) ≥ pf (A) + pf0 (B) − 1 ≥ (pf1 (A) − 1) + (pf1 (B) + 1) − 1 = pf1 (A) + pf1 (B) − 1. This, together with (b0 ) and (c0 ), gives pf (G) = min{pf0 (A) + pf2 (B) − 1, pf1 (A) + pf1 (B) − 1}. If β = 0, then pf0 (A) + pf2 (B) − 1 ≥ pf1 (A) + (pf1 (B) − β) − 1 = pf1 (A) + pf1 (B) − 1; and if β = 1, then pf1 (A) + pf1 (B) − 1 ≥ (pf0 (A) − 1) + (pf2 (B) + β) − 1 = pf0 (A) + pf2 (B) − 1. Hence pf (G) = pf1−β (A) + pf1+β (B) − 1.. 17.

(27) 2.3. Path partitions for special blocks. Notice that the inductive theorem (Theorem 2.3) can be applied to solve the pathpartition problem on graphs for which the problem can be solved on its blocks. In this section, we mainly consider the case when the blocks are complete graphs, cycles or complete bipartite graphs. Now, we assume that B = (V, E) is a graph in which each vertex v has a label f (v) ∈ {0, 1, 2, 3}. Recall that f −1 (i) is the set of pre-images of i, i.e., f −1 (i) = {v ∈ V : f (v) = i}. According to Lemma 2.1 (4), we have pf (B) = pf (B − f −1 (0)) + |f −1 (0)|. Therefore, in this section we only consider the function f with f −1 (0) = ∅. We first consider the case when B is a complete graph. Lemma 2.4 Suppose B is a complete graph. If f −1 (1) 6= ∅ or f −1 (2) = ∅, then pf (B) = d|f −1 (1)|/2e else pf (B) = 1. Proof. It is clear that pf (B) ≥ d|f −1 (1)|/2e. For the case when f −1 (1) 6= ∅ or f −1 (2) = ∅, we can pair the vertices in f −1 (1) as end-vertices of paths to form an f -path partition; and so pf (B) ≤ d|f −1 (1)|/2e. For the case when f −1 (1) = ∅ and f −1 (2) 6= ∅, it is clear that a Hamiltonian path forms an f -path partition; and so pf (B) = 1. Next, consider the case when B is a path. This is useful as a subroutine for handling cycles. Lemma 2.5 Suppose B is a path. (1) If x is an end-vertex of B with f (x) = 3, then pf (B) = pf (B − x). (2) If x is an end-vertex of B with f (x) ∈ {1, 2} and another vertex y with f (y) = 1 such that no vertex between x and y has a label 1 (choose y the other end-vertex of B if there is no such vertex), then ρf (B) = ρf (B 0 ) + 1 where B 0 is the path obtained from B by deleting x, y and all vertices between them. 18.

(28) Proof. (1) Since f (x) = 3, by Lemma 2.1 (4), pf (B) ≤ pf (B − x). As x is an end-vertex of B, pf (B) ≥ pf (B − x) follows from that deleting x from a path (if any) in an f -path partition of B results in an f -path partition of B − x. (2) First, we claim that if f (x) = 2, then ρf (B) = ρf1 (B). By Lemma 2.1 (1), ρf (B) ≤ ρf1 (B). Since x is an end-vertex of B and f (x) = 2, an f -path partition is in fact an f1 -path partition of B. Thus ρf (B) ≥ ρf1 (B). Now, we can assume that f (x) = 1. Let P denotes the path from x to y in B. First, ρf (B) ≤ ρf (B 0 ) + 1 follows from that an f -path partition of B 0 , together with P , forms an f -path partition of B. On the other hand, suppose P is an optimal f -path partition of B. Since f (x) = f (y) = 1 and x is an end vertex of B, P has some P 0 ⊆ P with x ∈ P 0 . Deleting all vertices of P from the paths in P results in an f -path partition of B 0 whose size is less than |P| by at least one. Thus, ρf (B) − 1 ≥ ρf (B 0 ). We then consider the case when B is a cycle. Lemma 2.6 Suppose B is a cycle. (1) If f −1 (2) = ∅, then pf (B) = d|f −1 (1)|/2e. (2) If P is a path from x to y in B such that f −1 (1)∩P = {x, y} and f −1 (2)∩P 6= ∅, then pf (B) = pf (B − P ) + 1. Proof. (1) It is clear that pf (B) ≥ d|f −1 (1)|/2e. As f −1 (2) = ∅, we can pair the vertices in f −1 (1) as end-vertices of paths to form an f -path partition; and so pf (B) ≤ d|f −1 (1)|/2e. (2) First, pf (B) ≤ pf (B − P ) + 1 follows from that an f -path partition of B − P together with P forms an f -path partition of B. On the other hand, suppose P is an optimal f -path partition of B. Since f −1 (1) ∩ P = {x, y} and f −1 (2) ∩ P 6= ∅, P must contain some P 0 ⊆ P using x or y as one of its end-vertex. Deleting all vertices of P from the paths in P results in an f -path partition of B − P whose size is less than |P| by at least one. Thus, pf (B) − 1 ≥ pf (B − P ). 19.

(29) Finally, we consider the case when B is a complete bipartite graph with C ∪ D as a bipartition of the vertex set. For i ∈ {0, 1, 2, 3}, let Ci = {u ∈ C : f (u) = i} with ci = |Ci |; Di = {v ∈ D : f (v) = i} with di = |Di |. We have the following lemmas. Lemma 2.7 If c1 = d1 = 0 and c2 ≥ d2 and x ∈ C2 , then pf (B) = pf 0 (B) where f 0 is the same as f except f 0 (x) = 1. Proof. pf (B) ≤ pf 0 (B) follows from the fact that any f 0 -path partition of B is an f -partition. Suppose P is an optimal f -path partition of B. We may assume that P is chosen so that the paths in P cover as few vertices as possible. For the case when P has a path P y with y ∈ C, we may interchange y and x to assume that P x ∈ P. In this case, P is an f 0 -path partition of B and so pf 0 (B) ≤ pf (B). So, now assume that all end-vertices of paths in P are in D. Then, these end-vertices are all in D2 for otherwise we may delete those end-vertices in D3 to get a new P which covers fewer vertices. We may further assume that paths in P cover no vertices in D3 , for otherwise we may interchange such a vertex with an end-vertex of a path in P and then delete it from the path. Thus each path of P uses vertices in C2 ∪ C3 ∪ D2 , and has end-vertices in D2 . These imply that d2 > c2 , contradicting that c2 ≥ d2 . By symmetry, we may prove a similar theorem for the case when d1 = c1 = 0 and d2 ≥ c2 and d2 ≥ 1. Lemma 2.8 Suppose x ∈ C1 . Also, either d2 ≥ 1 with y ∈ D2 , or else c1 > d1 and d2 = 0 < d3 with y ∈ D3 . Then pf (B) = pf 0 (B − x), where f 0 is the same as f except f 0 (y) = 1. Proof. Suppose P y is in an optimal f 0 -path partition P of B −x. Then (P −{P y})∪ {P yx} is an f -path partition of B and so pf (B) ≤ pf 0 (B − x). 20.

(30) On the other hand, suppose P x is in an optimal f -path partition P of B. For the case when y is not covered by any path in P, we have y ∈ D3 and so c1 > d1 and d2 = 0. Consequently, there is some Qz ∈ P with z ∈ C2 ∪ C3 or z ∈ D3 . For the former case, we replace Qz by Qzy in P; for the latter, we replace Qz by Qy. So, in any case we may assume that y is covered by some path RyS in P. If RyS = P x, then again we may interchange y with the last vertex of P to assume that RyS = T yx in P for some T . If RyS 6= P x, then we may replace the two paths RyS and P x by Ryx and P S. So, in any case, we may assume that P has a path U yx. Then, (P − {U yx}) ∪ {U y} is an f 0 -path partition of B − x. Thus pf 0 (B − x) ≤ pf (B). By symmetry, we may prove a similar theorem for the case when x ∈ D1 ; and either c2 ≥ 1 with y ∈ C2 , or else d1 > c1 and c2 = 0 < c3 with y ∈ C3 .. 2.4. Algorithm for graphs with special blocks. We are ready to give a linear-time algorithm for the path-partition problem in graphs whose blocks are complete graphs, cycles or complete bipartite graphs. Notice that we may consider only connected graphs. We present five procedures. The first four are subroutines which calculate f -path-partition numbers of complete graphs, paths, cycles and complete bipartite graphs, respectively, by using Lemmas 2.4 to 2.8. The last one is the main routine for the problem. First, Lemmas 2.1 (4) and 2.4 lead to the following subroutine for complete graphs. Algorithm PCG. Find the f -path partition number pf (B) of a complete graph B. Input. A complete graph B and a vertex labeling f . Output. pf (B). Method. if (f −1 (1) 6= ∅ or f −1 (2) = ∅) then pf (B) = |f −1 (0)| + d|f −1 (1)|/2e; else pf (B) = |f −1 (0)| + 1; return pf (B). 21.

(31) Lemma 2.5 leads to the following subroutine for paths, which is useful for the cycle subroutine. Algorithm PP. Find the f -path partition number pf (B) of the path B. Input. A path B and a vertex labeling f with f −1 (0) = ∅. Output. pf (B). Method. pf (B) ← 0; B 0 ← B; while (B 0 6= ∅) do choose an end-vertex x of B 0 ; if (f (x) = 3) then B 0 ← B 0 − x else choose a vertex y nearest to x with f (y) = 1 (let y be the other end-vertex if there is no such vertex); pf (B) ← pf (B) + 1; B 0 ← B 0 − all vertices between (and including) x and y; end else; end while; return pf (B).. 22.

(32) Lemmas 2.1 (4) and 2.6 lead to the following subroutine for cycles. Algorithm PC. Find the f -path partition number pf (B) of a cycle B. Input. A cycle B and a vertex labeling f . Output. pf (B). Method. if (f −1 (0) = ∅ and f −1 (2) = ∅) then pf (B) ← df −1 (1)/2e; else if (f −1 (0) = ∅ and f −1 (2) 6= ∅ and |f −1 (1)| ≤ 1) then pf (B) ← 1; else if (f −1 (0) = ∅ and f −1 (2) 6= ∅ and |f −1 (1)| ≥ 2) then choose a path P from x to y such that f −1 (1) ∩ P = {x, y} and f −1 (2) ∩ P 6= ∅; pf (B) ← pf (B − P ) + 1 by calling PP(B − P ); else // now f −1 (0) 6= ∅ // let B − f −1 (0) be the disjoint union of paths P1 , P2 , . . . , Pk ; pf (B) ← |f −1 (0)|; for i = 1 to k do pf (B) ← pf (B) + pf (Pi ) by calling PP(Pi ); end else; return pf (B). Lemmas 2.1 (4), 2.7 and 2.8 lead to the following subroutine for complete bipartite graphs. In the subroutine, we inductively reduce the size of C ∪ D. Besides the reduction of C0 and D0 in the second line, we consider 9 cases. The first case is for C = ∅ or D = ∅. The next 5 cases are for c1 ≥ 1 or d1 ≥ 1. In particular, the case of c1 ≥ 1 is covered by cases 2 and 3, except when d2 = 0 and (c1 ≤ d1 or d3 = 0). The case of d1 ≥ 1 is covered by cases 4 and 5, except when c2 = 0 and (d1 ≤ c1 or c3 = 0). The exceptions are then covered by case 6. Finally, the last 3 cases are for c1 = d1 = 0.. 23.

(33) Algorithm PCB. Find the f -path partition number pf (B) of a complete bipartite graph B. Input. A complete bipartite graph B with a bipartition C ∪ D of vertices and a vertex labeling f . Output. pf (B). Method. ci ← |f −1 (i) ∩ C| and di ← |f −1 (i) ∩ D| for 0 ≤ i ≤ 3; pf (B) ← c0 + d0 ; while (true) do if (c1 = c2 = c3 = 0 or d1 = d2 = d3 = 0) then pf (B) ← pf (B) + c1 + c2 + d1 + d2 ; return pf (B); else if (c1 ≥ 1 and d2 ≥ 1) then // use Lemma 2.8 // c1 ← c1 − 1; d2 ← d2 − 1; d1 ← d1 + 1; else if (c1 ≥ 1 and c1 > d1 and d2 = 0 < d3 ) then // use Lemma 2.8 // c1 ← c1 − 1; d3 ← d3 − 1; d1 ← d1 + 1; else if (d1 ≥ 1 and c2 ≥ 1) then // use the remark after Lemma 2.8 // d1 ← d1 − 1; c2 ← c2 − 1; c1 ← c1 + 1; else if (d1 ≥ 1 and d1 > c1 and c2 = 0 < c3 ) then // remark after Lemma 2.8 // d1 ← d1 − 1; c3 ← c3 − 1; c1 ← c1 + 1; else if (c2 = d2 = 0 and (c1 = d1 ≥ 1 or c1 > d1 ≥ 1 with d3 = 0 or d1 > c1 ≥ 1 with c3 = 0)) then pf (B) ← pf (B) + max{c1 , d1 }; return pf (B); else // by now c1 = d1 = 0 // if (c2 = d2 = 0) then return pf (B); else if (c2 ≥ d2 ) then // use Lemma 2.7 // c1 ← 1; c2 ← c2 − 1; else if (c2 < d2 ) then // use the remark after Lemma 2.7 // d1 ← 1; d2 ← d2 − 1; end while.. 24.

(34) Finally, Theorem 2.3 and the subroutines above lead to the main algorithm. Algorithm PG. Find the path-partition number pf (G) of the connected graph G whose blocks are complete graphs, cycles or complete bipartite graphs. Input. A graph G and a vertex labeling f . Output. pf (G). Method. pf (G) ← 0; G0 ← G; while (G0 6= ∅) do choose a block B of G0 with only one cut-vertex x or with no cut-vertex; if (B is a complete graph) then find pfi (B) by calling PCG(B, fi ) for 0 ≤ i ≤ 3; if (B is a cycle) then find pfi (B) by calling PC(B, fi ) for 0 ≤ i ≤ 3; if (B is a complete bipartite graph) then find pfi (B) by calling PCB(B, fi ) for 0 ≤ i ≤ 3; α := pf0 (B) − pf1 (B); β := pf1 (B) − pf2 (B); if (f (x) = 0) then pf (G) ← pf (G) + pf (B) − 1; else if (f (x) = 1) then pf (G) ← pf (G) + pfα (B) − 1; f (x) ← 1 − α; else // by now f (x) = 2 or 3 // case 1: α = β = 0 pf (G) ← pf (G) + pf0 (B) − 1; case 2: α = 0 and β = 1 pf (G) ← pf (G) + pf (B); f (x) ← 3; case 3: α = 1 pf (G) ← pf (G) + pf1+β (B) − 1; f (x) ← 1 − β; G0 := G0 − (B − {x}); end while; output pf (G). 25.

(35) Theorem 2.9 Algorithm PG computes the f -path partition number of a connected graph whose blocks are complete graphs, cycles or complete bipartite graphs in linear time. Proof. The correctness of the algorithm follows from Lemma 2.1 (4) and Lemmas 2.4 to 2.8. The algorithm takes only linear time since the depth-first search can be used to find blocks one by one in linear time, and each subroutine requires only O(|B|) operations. We close this section by giving an example that demonstrates the algorithm. Example 2.1 Consider the graph G1 of 12 vertices and 5 blocks in Figure 2.1. Notice that its blocks are three complete graphs, a cycle and a complete bipartite graph. 1. We begin with the assignment f (v) = 2 for every vertex v. Set pf (G) = 0. hj2 2 2 jjH ij2 ej. 2 fj. @H ¡H @ ¡ HH ¡ @ j @ j ¡ j j c 2 l k 2 d. 2. 2. 2 aj. 2 gj. bj2. Figure 2.1: Graph G1 of 12 vertices and 5 blocks. 2. Choose the block B1 = {f, g}, which is a complete graph, with the only cutvertex f in G1 . Call the subroutine PCG. Thus, α = 2 − 1 = 1 and β = 1 − 1 = 0. Then, pf (G) = 0 and f (f ) = 1 (with a path f g results). Delete B1 − {f } from G1 to get the graph G2 in Figure 2.2.. 26.

(36) hj2 2 2 jjH ij2 ej. 1 fj. @H ¡H @ ¡ HH ¡ @ j @ j ¡ j j c 2 l k 2 d. 2. 2. 2 aj. bj2. Figure 2.2: Graph G2 results from G1 by deleting {g}. 3. Choose the block B2 = {e, h}, which is a complete graph, with the only cutvertex e in G2 . Call the subroutine PCG. Thus, α = 2−1 = 1 and β = 1−1 = 0. Then, pf (G) = 0 and f (e) = 1 (with a path eh results). Delete B2 − {e} from G2 to get the graph G3 in Figure 2.3. 2 2 jjH ij1 ej. 1 fj. @H ¡H @ ¡ HH ¡ @ j @ j ¡ j j c 2 l k 2 d. 2. 2. 2 aj. bj2. Figure 2.3: Graph G3 results from G2 by deleting {h}. 4. Choose the block B3 = {d, e, f }, which is a complete graph, with the only cutvertex d. Call the subroutine PCG. Thus, α = 2 − 2 = 0 and β = 2 − 1 = 1. Then, pf (G) = 1 and f (d) = 3 (with the path P1 = gf eh or gf deh results). Delete B3 − {d} to get the graph G4 from G3 in Figure 2.4. 2 2 jjH ij. @H ¡H @ ¡ @ HH @ lj kj3 dj. 2. 2. 2 aj. cj2 bj2. Figure 2.4: Graph G4 results from G3 by deleting {e, f }. 5. Choose the block B4 = {a, b, c, d}, which is a cycle, with the only cut-vertex 27.

(37) d. Call the subroutine PC. Thus, α = 2 − 1 = 1 and β = 1 − 1 = 0. Then, pf (G) = 1, P1 = gf eh and f (d) = 1 (with a path dcba results). Delete B4 − {d} from G4 to get the graph G5 from G4 in Figure 2.5. 2 2 jjH ij. @H ¡H @ HH ¡ @ j @ j l k 1 dj. 2. 2. Figure 2.5: Graph G5 results from G4 by deleting {a, b, c}. 6. Choose the final block B5 = {d, i, j, k, l}, which is a complete bipartite graph. Call the subroutine PCB. Set c2 = d2 = 2, d1 = 1 and c0 = d0 = c1 = c3 = d3 = 0. Since d1 = 1 and c2 = 2 ≥ 1, by the remark after Lemma 2.8, we have d1 = 0, c2 = 2 − 1 = 1 and c1 = 1. That is, we delete d from G5 to get a new label 1 at vertex i. Then, we get the graph G6 in Figure 2.6. 2 jj. 1 ij. @¡ ¡ @ lj kj. 2. 2. Figure 2.6: Graph G6 results from G5 by deleting d and set f (i) = 1. 7. Since c1 = 1 and d2 = 2, by Lemma 2.8, we have c1 = 0, d2 = 1 and d1 = 1. That is, we delete i from G6 to get a new label 1 at vertex k. Then, we get the graph G7 in Figure 2.7. 2 jj @ @ lj kj. 2. 1. Figure 2.7: Graph G7 results from G6 by deleting i and set f (k) = 1. 28.

(38) 8. Since d1 = 1 and c2 = 1, by the remark after Lemma 2.8, we have d1 = 0, c2 = 0 and c1 = 1. That is, we delete k from G7 to get a new label 1 at vertex j. Then, we get the graph G8 in Figure 2.8. 1 jj lj 2 Figure 2.8: Graph G8 results from G7 by deleting k and set f (j) = 1. 9. Since c1 = 1 and d2 = 1, by Lemma 2.8, we have c1 = 0, d2 = 0 and d1 = 1. That is, we delete j from G8 to get a new label 1 at vertex l. Then, we get the graph G9 in Figure 2.9.. lj 1 Figure 2.9: Graph G9 results from G8 by deleting j and set f (l) = 1. 10. Since c1 = c2 = c3 = 0, we have pf (B5 ) = d1 + d2 + d3 = 1 (a path abcdijkl results). Hence, pf (G) = 1 + pf (B5 ) = 2 and an optimal path partition P = {gf eh, abcdikjl}.. 29.

(39) Chapter 3 Induced-path Partition 3.1. Preliminary of induced-path partition. Recall that an induced path is a path in which two vertices are adjacent only for those with consecutive indices. An induced-path partition of a graph is a collection of vertex-disjoint induced paths that cover all vertices of the graph. The induced-pathpartition problem is to find the induced-path number ρ(G) of a graph G, which is the minimum cardinality of an induced-path partition of G. The concept of induced-path number was introduced by Chartrand et al. [9], who gave the induced-path numbers of complete bipartite graphs, complete binary trees, 2-dimensional meshs, butterflies and general trees. Broere et al. [6] determined exact values for complete multipartite graphs. Chartrand et al. [9] conjectured that ρ(Qd ) ≤ d for the d-dimensional hypercube Qd with d ≥ 2. Alsardary [3] proved that ρ(Qd ) ≤ 16. From an algorithmic point of view, Le et al. [27] proved that the induced path partition problem is N P-complete for general graphs. The purpose of this chapter is to give a linear-time algorithm for the inducedpath numbers of graphs whose blocks are complete graphs, cycles or complete bipartite graphs and a polynomial-time algorithm for cographs.. 30.

(40) 3.2. Induced-path partition in graphs with special blocks. In this section, we shall present a linear-time algorithm for the induced-path numbers for graphs whose blocks are complete graphs, cycles or complete bipartite graphs. We use the same approach as in above chapter on this problem. Since the structure is the same as the above chapter, the results of the Subsection 3.2.1 is similar to those in Section 2.2. For completeness, we still present the results in detail. For technical reasons, we consider the following generalized problem, which is a labeling approach for the problem. Suppose every vertex v in the graph G is associated with an integer f (v) ∈ {0, 1, 2, 3}. An f -induced-path partition is a collection P of vertex-disjoint induced paths such that the following conditions hold. (P1) Any vertex v with f (v) 6= 3 is in some induced path in P. (P2) If f (v) = 0, then v itself is an induced path in P. (P3) If f (v) = 1, then v is an end-vertex of some induced path in P. The f -induced-path-partition problem is to determine the f -induced-path number ρf (G) which is the minimum cardinality of an f -induced-path partition of G. It is clear that ρ(G) = ρf (G) when f (v) = 2 for all vertices v in G. Notice that as there may have some vertices of labels 3, an f -induced-path partition is not necessary a induced-path partition.. 3.2.1. Inductive theorem. The labeling approach used in this subsection starts from an end block. Suppose B = (V, E) is an end block whose only cut-vertex is x. Let A be the graph G − (V − {x}). Notice that we can view G as the “composition” of A and B, i.e., G is the union of A and B which meet at a common vertex x. The idea is to get the induced-path number of G from those of A and B.. 31.

(41) In the lemmas and theorems of this subsection, we use the following notation. Suppose x is a specified vertex of a graph H = (V, E) in which f is a vertex labeling. For i = 0, 1, 2, 3, we define the function fi : V → {0, 1, 2, 3} by fi (y) = f (y) for all vertices y except fi (x) = i. Lemma 3.1 Suppose x is a specified vertex in a graph H. Then the following statements hold. (1) ρf3 (H) ≤ ρf2 (H) ≤ ρf1 (H) ≤ ρf0 (H). (2) ρf1 (H) ≤ ρf0 (H) ≤ ρf1 (H) + 1. (3) ρf2 (H) ≤ ρf1 (H) ≤ ρf2 (H) + 1. (4) ρf3 (H) = min{ρf2 (H), ρf (H − x)} ≤ ρf (H − x) = ρf0 (H) − 1. (5) ρf (H) ≥ ρf1 (H) − 1. Proof. (1) The inequalities follow from that an fi -induced-path partition is an fj induced-path partition whenever i < j. (2) The second inequality follows from that replacing the induced path P x in an f1 -induced-path partition by two induced paths P and x results in an f0 -induced-path partition of H. (3) The second inequality follows from that replacing the induced path P xQ in an f2 -induced-path partition by two induced paths P x and Q results in an f1 induced-path partition of H. (4) The first equality follows from that one is an f3 -induced-path partition of H if and only if it is either an f2 -induced-path partition of H or an f -induced-path partition of H − x. The second equality follows from that P is an f0 -induced-path partition of H if and only if it is the union of {x} and an f -induced-path partition of H − x. (5) According to (1), (3) and (4), we have ρf (H) ≥ ρf3 (H) = min{ρf2 (H), ρf (H−x)} ≥ min{ρf1 (H)−1, ρf0 (H)−1} = ρf1 (H)−1. 32.

(42) Lemma 3.2 (1) ρf (G) ≤ min{ρf (A) + ρf0 (B) − 1, ρf0 (A) + ρf (B) − 1}. (2) ρf2 (G) ≤ ρf1 (A) + ρf1 (B) − 1. Proof. (1) Suppose P is an optimal f -induced-path partition of A, and Q an f0 induced-path partition of B. Then x ∈ Q and so (P ∪ Q) − {x} is an f -inducedpath partition of G. This gives ρf (G) ≤ ρf (A) + ρf0 (B) − 1. Similarly, ρf (G) ≤ ρf0 (A) + ρf (B) − 1. (2) The inequality follows from that if P (respectively, Q) is an optimal f1 induced-path partition of A (respectively, B) in which P x ∈ P (respectively, xQ ∈ Q) contains x, then (P ∪ Q ∪ {P xQ}) − {P x, xQ} is an f2 -induced-path partition of G.. We now have the following theorem which is key for the inductive step of our algorithm. Theorem 3.3 Suppose α = ρf0 (B) − ρf1 (B) and β = ρf1 (B) − ρf2 (B). (Notice that α, β ∈ {0, 1}.) Then the following statements hold. (1) If f (x) = 0, then ρf (G) = ρf (A) + ρf (B) − 1. (2) If f (x) = 1, then ρf (G) = ρf1−α (A) + ρfα (B) − 1. (3) If f (x) ≥ 2 and α = β = 0, then ρf (G) = ρf (A) + ρf0 (B) − 1. (4) If f (x) ≥ 2 and α = 0 and β = 1, then ρf (G) = ρf3 (A) + ρf (B). (5) If f (x) ≥ 2 and α = 1, then ρf (G) = ρf1−β (A) + ρf1+β (B) − 1. Proof. Suppose P is an optimal f -induced-path partition of G. Let P ∗ be the induced path in P that contains x. (It is possible that there is no such induced path when f (x) = 3.) There are three possibilities for P ∗ : (a) P ∗ does not exist or P ∗ ⊆ A; (b) P ∗ ⊆ B; (c) x is an internal vertex of P ∗ , say P ∗ = P 0 xP 00 , with P 0 x ⊆ A and xP 00 ⊆ B. (This is possible only when f (x) ≥ 2.) 33.

(43) For the case when (a) holds, {P ∈ P : P ⊆ A} is an f -induced-path partition of A and {P ∈ P : P ⊆ B} ∪ {x} is an f0 -induced-path partition of B. We then have the inequality in (a0 ). Similarly, we have (b0 ) and (c0 ) corresponding to (b) and (c). (a0 ) ρf (G) ≥ ρf (A) + ρf0 (B) − 1. (b0 ) ρf (G) ≥ ρf0 (A) + ρf (B) − 1. (We may replace ρf (B) by ρf2 (B) when f (x) ≥ 2.) (c0 ) ρf (G) ≥ ρf1 (A) + ρf1 (B) − 1. (This is possible only when f (x) ≥ 2.) We are now ready to prove the theorem. (1) Since f (x) = 0, we have f = f0 . According to Lemma 3.2 (1), ρf (G) ≤ ρf (A) + ρf (B) − 1. On the other hand, (a0 ) and (b0 ) give ρf (G) ≥ ρf (A) + ρf (B) − 1. (2) Since f (x) = 1, we have f = f1 . Lemma 3.2 (1), together with (a0 ) and (b0 ), gives ρf (G) = min{ρf1 (A) + ρf0 (B) − 1, ρf0 (A) + ρf1 (B) − 1}. If α = 0, then ρf0 (A) + ρf1 (B) − 1 ≥ ρf1 (A) + (ρf0 (B) − α) − 1 = ρf1 (A) + ρf0 (B) − 1; and if α = 1, then ρf1 (A) + ρf0 (B) − 1 ≥ (ρf0 (A) − 1) + (ρf1 (B) + α) − 1 = ρf0 (A) + ρf1 (B) − 1. Hence ρf (G) = ρf1−α (A) + ρfα (B) − 1. (3) According to Lemma 3.2 (1), ρf (G) ≤ ρf (A) + ρf0 (B) − 1. On the other hand, as ρf0 (A) ≥ ρf1 (A) ≥ ρf (A) and ρf0 (B) = ρf1 (B) = ρf2 (B), (a0 )–(c0 ) give ρf (G) ≥ ρf (A) + ρf0 (B) − 1. (4) According to Lemma 3.1 (4) and α = 0 and β = 1, we have ρf (B − x) = ρf0 (B) − 1 = ρf1 (B) − 1 = ρf2 (B). This, together with Lemma 3.1 (4), gives that the above value is also equal to ρf3 (B) and so ρf (B). Then, an optimal f3 -induced-path partition P of A, together with an optimal f -induced-path partition of B − x (respectively, B) when x is (respectively, is not) in an induced path of P, forms an f2 -induced-path partition of G. Thus, ρf (G) ≤ ρf2 (G) ≤ ρf3 (A) + ρf (B). 34.

(44) On the other hand, since ρf1 (A) ≥ ρf (A) ≥ ρf3 (A) and ρf0 (B)−1 = ρf1 (B)−1 = ρf (B), (a0 ) or (c0 ) implies ρf (G) ≥ ρf3 (A) + ρf (B). Also, as ρf0 (A) − 1 ≥ ρf3 (A) by Lemma 3.1 (4), (b0 ) implies ρf (G) ≥ ρf3 (A) + ρf (B). (5) According to Lemma 3.1 (1) and Lemma 3.2, we have ρf (G) ≤ ρf2 (G) ≤ min{ρf0 (A) + ρf2 (B) − 1, ρf1 (A) + ρf1 (B) − 1}. On the other hand, if (a0 ) holds, then by Lemma 3.1 (5) and that ρf0 (B) = ρf1 (B)+1, ρf (G) ≥ ρf (A) + ρf0 (B) − 1 ≥ (ρf1 (A) − 1) + (ρf1 (B) + 1) − 1 = ρf1 (A) + ρf1 (B) − 1. This, together with (b0 ) and (c0 ), gives ρf (G) = min{ρf0 (A) + ρf2 (B) − 1, ρf1 (A) + ρf1 (B) − 1}. If β = 0, then ρf0 (A) + ρf2 (B) − 1 ≥ ρf1 (A) + (ρf1 (B) − β) − 1 = ρf1 (A) + ρf1 (B) − 1; and if β = 1, then ρf1 (A) + ρf1 (B) − 1 ≥ (ρf0 (A) − 1) + (ρf2 (B) + β) − 1 = ρf0 (A) + ρf2 (B) − 1. Hence ρf (G) = ρf1−β (A) + ρf1+β (B) − 1. Before we use the theorems of this subsection to design an efficient algorithm, let us use them to give an alternative proof for a result on trees. Let T be a tree. For a vertex v of T with dT (v) ≥ 3, the excess degree ε(v) of v is equal to dT (v) − 2. A penultimate vertex is a vertex that is not a leaf and all of whose neighbors are leaves, with the possible exception of one. Corollary 3.4 [9] Let T be a tree, and let H be the forest induced by the vertices of T having degree 3 or more. Let H 0 be a spanning sub-forest of H of maximum size that dH 0 (v) ≤ ε(v) for every vertex v of H. Then, X. ρ(T ) = 1 + |E(H 0 )| +. [ε(v) − dH 0 (v)].. v∈V (H). 35.

(45) Proof. The corollary is clear when the tree has just one vertex. Suppose now T has at least two vertices. Choose a penultimate vertex x whose with leaf-neighbors x1 , x2 ,..., xr . Let T 0 = T − {x, x1 , x2 , . . . , xr }. By Theorem 3.3 (5), (2) and (1) and the induction hypothesis, ρ(T ) = ρ(T 0 ) + r − 1 = 1 + |E(HT0 0 )| +. X. (ε(v) − dHT0 0 (v)) + r − 1,. v∈V (HT 0 ). where HT 0 is the forest induced by the vertices of T 0 having degree 3 or more, and HT0 0 is a spanning sub-forest of H of maximum size such that dH 0 (v) ≤ ε(v) for every vertex v of HT 0 . Since ε(x) = r − 1, dH 0 (x) = 1 and |E(H 0 )| = |E(HT0 0 )| + 1, the corollary then follows.. 3.2.2. Induced-path partitions for special blocks. Besides the inductive theorem (Theorem 3.3) we also need to establish formula for the induced-path numbers of special graphs including complete graphs, cycles or complete bipartite graphs. Here we assume that B is a graph in which each vertex v has a label f (v) ∈ {0, 1, 2, 3}. Recall that f −1 (i) is the set of pre-images of i, i.e., f −1 (i) = {v ∈ V (B) : f (v) = i}. Also, f −1 (I) = ∪i∈I f −1 (i) for any I ⊆ {0, 1, 2, 3}. According to Lemma 3.1 (4), ρf (B) = ρf (B − f −1 (0)) + |f −1 (0)|. Therefore, in this section we only consider the function f with f −1 (0) = ∅. We first consider the case when B is a complete graph. Lemma 3.5 If B is a complete graph, then ρf (B) = d|f −1 ({1, 2})|/2e. Proof. The equality holds since an induced path of a complete graph is a 2-path or a 1-path. Next, we consider the case when B is a path. This is useful as a subroutine for handling cycles. 36.

(46) Lemma 3.6 Suppose B is a path. (1) If x is an end-vertex of B with f (x) = 3, then ρf (B) = ρf (B − x). (2) If x is an end-vertex of B with f (x) ∈ {1, 2} and another vertex y with f (y) = 1 such that no vertex between x and y has a label 1 (choose y the other end-vertex of B if there is no such vertex), then ρf (B) = ρf (B 0 ) + 1 where B 0 is the path obtained from B by deleting x, y and all vertices between them. Proof. (1) Since f (x) = 3, by Lemma 3.1 (4), ρf (B) ≤ ρf (B − x). As x is an endvertex of B, ρf (B) ≥ ρf (B − x) follows from that deleting x from an induced path (if any) in an f -induced-path partition of B results in an f -induced-path partition of B − x. (2) First, we claim that if f (x) = 2, then ρf (B) = ρf1 (B). By Lemma 3.1 (1), ρf (B) ≤ ρf1 (B). Since x is an end-vertex of B and f (x) = 2, an f -induced-path partition is in fact an f1 -induced-path partition of B. Thus ρf (B) ≥ ρf1 (B). Now, we can assume that f (x) = 1. Let P denotes the path from x to y in B. First, ρf (B) ≤ ρf (B 0 ) + 1 follows from that an f -induced-path partition of B 0 , together with P , forms an f -inducedpath partition of B. On the other hand, suppose P is an optimal f -induced-path partition of B. Since f (x) = f (y) = 1 and x is an end-vertex of B, P has some P 0 ⊆ P with x ∈ P 0 . Deleting all vertices of P from the paths in P results in an f -induced-path partition of B 0 whose size is less than |P| by at least one. Thus, ρf (B) − 1 ≥ ρf (B 0 ). We now consider the case when B is a cycle. Lemma 3.7 Suppose B is a cycle. (1) If f −1 ({1, 2}) = ∅, then ρf (B) = 0. (2) When f −1 (1) = ∅ and f −1 (2) 6= ∅, if there exists a vertex with label 3, then ρf (B) = 1 else ρf (B) = 2. 37.

(47) (3) When f −1 (1) = {x}, if x has at least one neighbor labeled with 3, then ρf (B) = 1 else ρf (B) = 2. (4) If |f −1 (1)| ≥ 2 and f −1 (2) = ∅, then ρf (B) = d|f −1 (1)|/2e. (5) When f −1 (1) contains exactly two vertices which are adjacent and f −1 (2) 6= ∅, then ρf (B) = 2. (6) If P is an induced path from x to y in B such that f −1 (1) ∩ P = {x, y} and f −1 (2) ∩ P 6= ∅, then ρf (B) = ρf (B − P ) + 1. Proof. The proof from (1) to (5) are obvious. (5) First, ρf (B) ≤ ρf (B − P ) + 1 follows from that an f -induced-path partition of B −P together with P forms an f -induced-path partition of B. On the other hand, suppose P is an optimal f -induced-path partition of B. Since f −1 (1) ∩ P = {x, y} and f −1 (2) ∩ P 6= ∅, P must contain some P 0 ⊆ P . Deleting all vertices of P from the paths in P results in an f -induced-path partition of B − P whose size is less than |P| by at least one. Thus, ρf (B) − 1 ≥ ρf (B − P ). We now consider the case when B is a complete bipartite graph with C ∪ D as a bipartition of the vertex set. For i = 0, 1, 2, 3, let Ci = {x ∈ C : f (x) = i} and ci = |Ci |; Di = {y ∈ D : f (y) = i} and di = |Di |. Notice that an induced path of a complete bipartite graph has at most 3 vertices. We then have the following lemmas. Lemma 3.8 Suppose c1 ≥ 2 and d2 ≥ 1. If x, z ∈ C1 and y ∈ D2 , then ρf (B) = ρf (B − {x, y, z}) + 1. Proof. First, ρf (B) ≤ ρf (B − {x, y, z}) + 1 since xyz is an induced path. On the other hand, suppose P is an optimal f -induced-path partition of B. We claim that there exists a path xyT in P. Otherwise, suppose xP and QyR are in P with |R| ≤ 1. 38.

(48) When P = y 0 S, we may replace xP = xy 0 S by xyS and QyR by Qy 0 R; when P = ∅, we may replace xP = x by xyR and QyR by Q. Next we claim that T = z. Otherwise, suppose Sz is in P. In this case we may replace xyT by xyz and Sz by ST . Therefore, we may assume that P contains xyz, and so ρf (B) − 1 ≥ ρf (B − {x, y, z}). By symmetry, we may prove a similar lemma for the case when d1 ≥ 2 and c2 ≥ 1. Lemma 3.9 Suppose 2c2 > d1 + d2 . If x ∈ C2 , then ρf (B) = ρf 0 (B) where f 0 is the same as f except f 0 (x) = 1. Proof. First, ρf (B) ≤ ρf 0 (B) since an f 0 -induced-path partition of B is an f -inducedpath partition of B. On the other hand, suppose P is an optimal f -induced-path partition of B. If every vertex in C2 is an internal vertex of some induced path in P, then the two end-vertices of this induced path are in D1 ∪ D2 , and so 2c2 ≤ d1 + d2 which is impossible. Hence, we may assume that x is the end-vertex of an induced path in P. This gives ρf (B) ≥ ρf 0 (B). By symmetry, we may prove a similar lemma for the case when 2d2 > c1 + c2 . We may repeatedly apply Lemmas 3.8 and 3.9 and the remarks after them until the following conditions hold: (d1 ≤ 1 or c2 = 0), (c1 ≤ 1 or d2 = 0), 2c2 ≤ d1 + d2 , 2d2 ≤ c1 + c2 . Notice that it is impossible that c2 = 0 < d2 , for otherwise the second condition gives c1 ≤ 1 while the forth gives 2 ≤ 2d2 ≤ c1 ≤ 1, a contradiction. So, either c2 = d2 = 0 or both c2 and d2 are nonzero. The latter case implies c1 = c2 = d1 = d2 = 1, in which case ρ(B) = 2. Lemma 3.10 Suppose c2 = d2 = 0, c1 ≥ 1 and d1 ≥ 1. If x ∈ C1 and y ∈ D1 , then ρf (B) = ρf (B − {x, y}) + 1. Proof. First, ρf (B) ≤ ρf (B − {x, y}) + 1 since xy is an induced path. On the other hand, suppose P is an optimal f -induced-path partition of B. If xy is not in P, then 39.

數據

Figure 1.1: A graph G = (V, E).
Figure 1.3: A subgraph of the graph in Figure 1.1.
Figure 1.8: A graph G = (V, E) having two blocks.
Figure 2.1: Graph G 1 of 12 vertices and 5 blocks.
+7

參考文獻

相關文件

Here, a deterministic linear time and linear space algorithm is presented for the undirected single source shortest paths problem with positive integer weights.. The algorithm

• If a graph contains a triangle, any independent set can contain at most one node of the triangle.. • We consider graphs whose nodes can be partitioned into m

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

Then, it is easy to see that there are 9 problems for which the iterative numbers of the algorithm using ψ α,θ,p in the case of θ = 1 and p = 3 are less than the one of the

We will give a quasi-spectral characterization of a connected bipartite weighted 2-punctually distance-regular graph whose halved graphs are distance-regular.. In the case the

Monopolies in synchronous distributed systems (Peleg 1998; Peleg

Given a connected graph G together with a coloring f from the edge set of G to a set of colors, where adjacent edges may be colored the same, a u-v path P in G is said to be a

• The randomized bipartite perfect matching algorithm is called a Monte Carlo algorithm in the sense that.. – If the algorithm finds that a matching exists, it is always correct