This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Algorithms for Maximum Internal Spanning Tree Problem for Some Graph Classes 111The third author is supported by an NSF Graduate Research Fellowship under Grant No. DGE-1650044.

Gopika Sharma 2017maz0007@iitrpr.ac.in Department of Mathematics, Indian Institute of Technology Ropar, Punjab, India. Arti Pandey arti@iitrpr.ac.in Department of Mathematics, Indian Institute of Technology Ropar, Punjab, India. Michael C. Wigal wigal@gatech.edu School of Mathematics, Georgia Institute of Technology, Atlanta, GA, USA.
Abstract

For a given graph GG, a maximum internal spanning tree of GG is a spanning tree of GG with maximum number of internal vertices. The Maximum Internal Spanning Tree (MIST) problem is to find a maximum internal spanning tree of the given graph. The MIST problem is a generalization of the Hamiltonian path problem. Since the Hamiltonian path problem is NP-hard, even for bipartite and chordal graphs, two important subclasses of graphs, the MIST problem also remains NP-hard for these graph classes. In this paper, we propose linear-time algorithms to compute a maximum internal spanning tree of cographs, block graphs, cactus graphs, chain graphs and bipartite permutation graphs. The optimal path cover problem, which asks to find a path cover of the given graph with maximum number of edges, is also a well studied problem. In this paper, we also study the relationship between the number of internal vertices in maximum internal spanning tree and number of edges in optimal path cover for the special graph classes mentioned above.

1 Introduction

The Maximum Internal Spanning Tree (MIST) problem is a degree based spanning tree optimization problem, in which we ask to find a spanning tree of a given graph such that the number of vertices of degree at least two is maximized. The MIST problem is motivated by telecommunication network design [22]. We also believe that MIST problem has its own theoretical importance as it is a generalization of the Hamiltonian path problem, a known NP-complete problem [5]. The Hamiltonian path problem remains NP-complete for chordal graphs and chordal bipartite graphs [10, 18]. Hence, we also do not expect polynomial time algorithms for the MIST problem in chordal graphs and chordal bipartite graphs.

The dual problem to MIST, the Minimum Leaves Spanning Tree (MLST) problem asks to find a spanning tree with minimum number of leaves for a given graph. The MLST problem cannot be approximated within any constant factor unless P=NP [17]. Unlike MLST, several constant factor approximation algorithms have been proposed for the MIST problem in literature. In 20032003, Prieto et al. [20] gave a 22-approximation algorithm for the MIST problem whose running time was later improved by Salamon et al. in 2008 [23]. Salamon also gave approximation algorithms for claw-free and cubic graphs with approximation factors 32\frac{3}{2} and 65\frac{6}{5} respectively [23]. In 2009, Salamon [21] gave a 74\frac{7}{4} -approximation algorithm for graphs with no pendant vertices and later, in 2015, Knauer et al. [9] showed that a simplified and faster version of Salamon’s algorithm yields a 53\frac{5}{3} -approximation algorithm even on general graphs. In 2014, Li et al. proposed a 32\frac{3}{2}-approximation algorithm using a different approach for general undirected graphs and improved this ratio to 43\frac{4}{3} for graphs without leaves [14]. Li et al. gave a 32\frac{3}{2} -approximation algorithm for general graphs using depth-5 local search [13]. In 2018, Chen et al. presented a 1713\frac{17}{13} -approximation algorithm which is the best approximation factor till now [2]. Several FPT-algorithms have also been designed for the MIST problem where the considered parameter is the solution size [20, 13, 3, 4, 1, 12].

For finding efficient algorithms for the MIST problem, it is often useful to reduce the MIST problem to the path cover problem. A path cover PP of a graph is a spanning subgraph such that every component of PP is a path. A path cover with maximum number of edges is called an optimal path cover of GG. If PP^{*} denotes an optimal path cover of a graph, then number of edges in PP^{*} is denoted by |E(P)||E(P^{*})|. In 2018, Li et al. proposed a polynomial time algorithm for the MIST problem in interval graphs [15]. They also proved that number of internal vertices in any MIST of any graph GG is at most |E(P)|1|E(P^{*})|-1, where PP^{*} is an optimal path cover of GG. We will observe that number of internal vertices in any MIST of a chain graph is either |E(P)|1|E(P^{*})|-1 or |E(P)|2|E(P^{*})|-2 and is |E(P)|1|E(P^{*})|-1 for cographs. For bipartite permutation, block and cactus graphs, we prove that there is no constant kk such that |E(P)|k|E(P^{*})|-k is the lower bound on the number of internal vertices in any MIST of such graphs. We also propose linear-time algorithms for the MIST problem in bipartite permutation graphs, block graphs, cactus graphs and cographs. A hierarchy relationship between these classes of graphs is shown in Fig. 1.

The structure of the paper is as follows. In Section 2, we give some basic definitions and notations used in the paper. In Section 3, we discuss MIST problem for block graphs and cactus graphs and provide linear-time algorithms for both these graph classes. In Section 4, we prove that MIST of cographs can be computed in linear-time by providing an algorithm. In Section 5, we present a linear-time algorithm to find a MIST of an arbitrary bipartite permutation graph. In Section 6, we prove a bound for chain graphs regarding number of internal vertices in its MIST. Finally, Section 7 concludes the paper.

Refer to caption
Figure 1: Hierarchy relationship between some classes of graphs

2 Preliminaries

Let G=(V,E)G=(V,E) be a graph. In this paper, we only consider simple, undirected and connected graphs. For a vertex uG,dG(u)u\in G,d_{G}(u) denotes the degree of uu in GG and NG(u)N_{G}(u) denotes the neighborhood of uu in GG. When there is no ambiguity regarding the graph GG, we simply use d(u)d(u) and N(u)N(u), to represent the degree of uu and neighborhood of uu, respectively. A vertex uu in VV is called pendant if d(u)=1d(u)=1. The set of pendant vertices in GG is denoted by p(G)p(G). The vertex adjacent to a pendant vertex uu is called the support vertex of uu, and is denoted by S(u)S(u). A vertex uV(G)u\in V(G) is called internal, if uu is not pendant, that is, d(u)2d(u)\geq 2. Let I(G)I(G) denotes the set of internal vertices in GG, and i(G)=|I(G)|i(G)=|I(G)|. For a set AVA\subseteq V and a spanning tree TT of GG, we define iT(A)=|I(T)A|i_{T}(A)=|{I(T)\cap A}|.

For vertices xx and yy, we denote an edge between xx and yy by xyxy. For a subset SS of V(G)V(G), GSG-S denotes the subgraph of GG obtained after removing vertices of SS and edges incident on these vertices from GG. If S={v}S=\{v\}, then we simply write GvG-v for GSG-S. A vertex vv of a graph GG is called a cut vertex if GvG-v is disconnected.

Throughout this paper, nn denotes the number of vertices and mm denotes the number of edges in GG. A graph GG is said to be bipartite if VV can be partitioned into two disjoint sets XX and YY such that every edge of GG joins a vertex in XX to a vertex in YY. Such a partition (X,Y)(X,Y) of VV is called a bipartition. A bipartite graph with bipartition (X,Y)(X,Y) of VV is denoted by G=(X,Y,E)G=(X,Y,E). For a set SVS\subseteq V, an induced subgraph is the graph whose vertex set is SS and edge set consists of all the edges in EE that have both the endpoints in SS, and is denoted by G[S]G[S]. If G[C],CVG[C],C\subseteq V, is a complete subgraph of GG, then CC is called a clique of GG.

A subgraph of GG is called a spanning subgraph if it contains all the vertices of GG. A path cover PP of a graph is a spanning subgraph such that every component of PP is a path. A path cover is an optimal path cover if it has the maximum number of edges. A spanning subgraph of GG which is also a tree is called a spanning tree of GG. A spanning tree is called a maximum internal spanning tree(MIST) if it contains the maximum number of internal vertices among all the spanning trees of GG. For a graph GG, the number of internal vertices in any MIST of GG is denoted by Opt(G)Opt(G).

Now we state a useful theorem which gives an upper bound on the number of internal vertices in a MIST with respect to the graph’s optimal path cover.

Theorem 2.1.

[15] For a graph GG, the number of internal vertices in a maximum internal spanning tree of GG is less than the number of edges in an optimal path cover of GG, that is, Opt(G)|E(P)|1Opt(G)\leq|E(P^{*})|-1, where PP^{*} denotes an optimal path cover of GG. Moreover, this bound is tight.

Note that the vertices which are pendant in GG itself, will be pendant in any MIST of GG. Hence, we have the following observation.

Observation 2.1.

For a graph GG, if vv is a pendant vertex and uu is the support vertex of vv in GG, then vv remains a pendant vertex and uu remains adjacent support vertex of vv in any MIST of GG.

Suppose GG is not a tree and uV(G)u\in V(G) is adjacent to kk pendant vertices, say a1,,aka_{1},\ldots,a_{k}. Let G=G{a2,,ak}G^{\prime}=G-\{a_{2},\ldots,a_{k}\}. Then based on above observation, the number of internal vertices in a MIST of GG will be same as the number of internal vertices in any MIST of GG^{\prime}. It is also easy to obtain a MIST of GG from any MIST of GG^{\prime}. Hence, throughout this work, we assume that every vertex has at most one pendant vertex adjacent with it.

Below, we give another result regarding the number of pendant vertices in a spanning tree of a bipartite graph. Note that, if we have α\alpha number of internal vertices in a spanning tree of GG from one partite set, then at least α+1\alpha+1 vertices must be present in the neighborhood of these α\alpha vertices, which lie in the other partite set of the bipartite graph GG.

Observation 2.2.

Let G=(X,Y,E)G=(X,Y,E) be a bipartite graph with AX and BYA\subseteq X\text{ and }B\subseteq Y. If N(A)=BN(A)=B, then there are at least max{0,|A||B|+1}max\{0,|A|-|B|+1\} pendant vertices from AA in any spanning tree of GG. Similarly, if N(B)=AN(B)=A, then there are at least max{0,|B||A|+1}max\{0,|B|-|A|+1\} pendant vertices from BB in any spanning tree of GG.

3 Block and Cactus Graphs

In this section, we discuss the MIST problem for block graphs and cactus graphs. We will show that the MIST problem can be solved in linear-time for both classes of graphs. Block and cactus graphs will also provide our first family of examples in which Opt(G)Opt(G) cannot be lower bounded in terms of |E(P)|k|E(P^{*})|-k where PP^{*} is an optimal path cover of GG and kk is some constant.

A block of a graph GG is a maximal connected subgraph with no cut vertices. Note that a block of GG is either an edge or a 2-connected subgraph. The set of blocks of a graph is called the block decomposition of GG and is denoted by B(G)B(G). Let B0B(G)B_{0}\in B(G) and u,vu,v be two vertices belonging to B0B_{0}, then a path between uu and vv, which contains all the vertices of the block B0B_{0}, is called a spanning path between uu and vv in B0B_{0}. We say a block BB is good if there exists distinct u,vV(B)u,v\in V(B) such that both uu and vv are cut vertices of GG and BB has a spanning path between uu and vv. A block is said to be bad otherwise. Let Bad(G)\text{Bad}(G) denote the set of bad blocks of GG.

A block graph is a graph in which every block is a clique. If a block graph GG contains only one block then GG is a complete graph. A block graph is said to be nontrivial if it contains at least two blocks. Note that a trivial block has a Hamiltonian path. Thus for the remainder of the section we only consider nontrivial block graphs.

Let GG be a nontrivial block graph. Bad blocks of GG have another characterization which we state as the Observation 3.1.

Observation 3.1.

A block BB of a block graph GG is bad if and only if it contains exactly one cut vertex of GG.

A graph GG is a cactus graph if every block of GG is either a cycle or an edge. If a cactus graph GG contains only one block then GG is either a cycle or an edge and in that case finding a MIST of GG is trivial. Again, a cactus graph is said to be nontrivial if it contains at least two blocks and now we only consider nontrivial cactus graphs.

Let GG be a nontrivial cactus graph. A block of GG is called an end block of GG if it contains exactly one cut vertex of GG. Note that an end block of a cactus graph GG is also a bad block of GG. Bad blocks of a cactus graph GG have another characterization which we state in the following observation.

Observation 3.2.

A block BB of a cactus graph GG is bad if and only if BB does not contain two adjacent cut vertices of GG.

If BiB_{i} and BjB_{j} are two blocks of a block/cactus graph GG and V(Bi)V(Bj)V(B_{i})\cap V(B_{j})\neq\emptyset, then V(Bi)V(Bj)=1V(B_{i})\cap V(B_{j})=1 and the vertex xV(Bi)V(Bj)x\in V(B_{i})\cap V(B_{j}) is a cut vertex of GG. Let TT be a MIST of a nontrivial block/cactus graph GG. Below, we state two observations which hold true for both block and cactus graphs.

Observation 3.3.

TT must have at least one leaf in every bad block of GG.

Observation 3.4.

Opt(G)n|Bad(G)|Opt(G)\leq n-|\text{Bad}(G)|, where Opt(G)Opt(G) denotes the number of internal vertices in TT.

Recall that block decomposition of a graph GG is the set of blocks of GG. It can be computed in O(n)O(n) time using the following approach. Let bb be a cut vertex of a block/cactus graph GG and G1,G2,,GtG_{1},G_{2},\ldots,G_{t} be the connected components of the graph GbG-b. Let HiH_{i} denotes the subgraph G[V(Gi){b}]G[V(G_{i})\cup\{b\}], for each 1it1\leq i\leq t. We call H1,H2,,HtH_{1},H_{2},\ldots,H_{t} the bb-components of GG. The block decomposition of a block/cactus graph can be found by recursively choosing a cut vertex bb and computing the bb-components.

3.1 Algorithm for Block and Cactus Graphs

In this subsection, we first prove a theorem which relates the number of internal vertices in a MIST of a block/cactus graph GG to the number of bad components of GG. Then, we outline a linear-time algorithm to compute a MIST of GG.

Theorem 3.1.

Let GG be a graph with a nontrivial block decomposition such that each block has a spanning path with a cut vertex as an endpoint. Then GG has a spanning tree TT in which number of internal vertices is n|Bad(G)|n-|Bad(G)|.

Proof.

Let ll be the number of blocks in GG and BiB(G)B_{i}\in B(G) be an arbitrary block of GG. If BiB_{i} is good, then let PiP_{i} be a spanning path between two cut vertices of BiB_{i}. If BiB_{i} is bad, we let PiP_{i} be a spanning path with a single cut vertex as an endpoint. Let T=i=1lPiT=\bigcup_{i=1}^{l}P_{i}. Note that TT is a spanning tree of GG. Furthermore, as any cut vertex of GG cannot be a leaf of TT, we have i(T)=n|Bad(G)|i(T)=n-|Bad(G)|. ∎

The proof of Theorem 3.1 gives a simple algorithm for a block or cactus graph. First find a block decomposition, this takes O(n)O(n) time. Then for each block BB, determine if BB is bad or not and find the corresponding path. This takes O(|B|)O(|B|) time. In total we have a linear-time algorithm. As both block and cactus graphs satisfy the hypothesis of Theorem 3.1, combining with Obervation 3.4 we have the following,

Corollary 3.1.

If GG is a block or cactus graph, then Opt(G)=n|Bad(G)|Opt(G)=n-|Bad(G)|.

3.2 Relationship between Opt(G)Opt(G) and |E(P)||E(P^{*})|

We now show for a block or cactus graph GG there does not exist a constant kk such that Opt(G)|E(P)|kOpt(G)\geq|E(P^{*})|-k where PP^{*} is an optimal path cover of GG. Recall Corollary 3.1 states that Opt(G)=n|Bad(G)|Opt(G)=n-|Bad(G)| and Theorem 2.1 states Opt(G)|E(P)|1Opt(G)\leq|E(P^{*})|-1. Note that the number of edges in the optimal path cover PP^{*} and the number of components in PP^{*} adds up to nn. So, we see that n|Bad(G)|=|E(P)|(|Bad(G)||P|)n-|Bad(G)|=|E(P^{*})|-(|Bad(G)|-|P^{*}|). Thus, Opt(G)=|E(P)|(|Bad(G)||P|)Opt(G)=|E(P^{*})|-(|Bad(G)|-|P^{*}|) for both block and cactus graphs.

For every integer n=5k(k1)n=5k~(k\geq 1), we construct a connected graph GnG_{n} with nn vertices and Opt(Gn)=|E(P)|O(n)Opt(G_{n})=|E(P^{*})|-O(n). The graph GnG_{n} is both a block graph and a cactus graph as every block of GnG_{n} is either an edge or a clique on three vertices. The vertex set of GnG_{n} is V(Gn)=V1V2VkV(G_{n})=V_{1}\cup V_{2}\cup\ldots\cup V_{k}, where Vi={x1i,x2i,,x5i}V_{i}=\{x_{1}^{i},x_{2}^{i},\ldots,x_{5}^{i}\} for each i{1,2,,k}i\in\{1,2,\ldots,k\}. The edge set is E(Gn)=E1E2EkEE(G_{n})=E_{1}\cup E_{2}\cup\ldots\cup E_{k}\cup E^{\prime}, where Ei={x1ix2i,x2ix3i,x3ix1i,x3ix4i,x4ix5i,x5ix3i}E_{i}=\{x_{1}^{i}x_{2}^{i},x_{2}^{i}x_{3}^{i},x_{3}^{i}x_{1}^{i},x_{3}^{i}x_{4}^{i},x_{4}^{i}x_{5}^{i},x_{5}^{i}x_{3}^{i}\} for each ii and EE^{\prime} contains the edges of the form x3ix3i+1x_{3}^{i}x_{3}^{i+1} for 1i(k1)1\leq i\leq(k-1). Note |E(Gn)|=7k1|E(G_{n})|=7k-1. We obtain an optimal path cover PP^{*} for GnG_{n} having 4k4k edges and kk components [19]. The number of bad blocks in GnG_{n} is 2k2k. Using Theorem 3.1, we obtain a MIST TT of GnG_{n} with n|Bad(G)|=5k2k=3kn-|Bad(G)|=5k-2k=3k internal vertices. Thus, Opt(Gn)=3k=4kk=4kn5=|E(P)|O(n)Opt(G_{n})=3k=4k-k=4k-\frac{n}{5}=|E(P^{*})|-O(n). Fig. 2 provides an illustration for G20G_{20}.

Refer to caption
Figure 2: Graph G20G_{20}, its optimal path cover PP^{*} and its MIST TT

Here, we see that |Bad(Gn)||P|=2kk=k|Bad(G_{n})|-|P^{*}|=2k-k=k which implies that for arbitrary n=5kn=5k, we have Opt(Gn)=|E(P)|kOpt(G_{n})=|E(P^{*})|-k. So, block and cactus graphs do not have lower bound for Opt(G)Opt(G) of the form |E(P)|c|E(P^{*})|-c for some fixed natural number cc, independent of nn.

4 Cographs

In this section, we discuss the MIST problem for cographs. The complement-reducible graphs or cographs have been discovered independently by several authors since the 1970s [24, 8]. In the literature, the cographs are also known as P4P_{4}-free graphs, DD^{*}-graphs, Hereditary Dacey graphs and 22-parity graphs. The class of cographs is defined recursively as follows:

  • A single-vertex graph is a cograph;

  • If GG is a cograph, then its complement G¯\overline{G} is also a cograph;

  • If GG and HH are cographs, then their disjoint union is also a cograph.

Cographs admit a rooted tree representation. This tree is called cotree of a cograph GG, denoted T(G)T(G). The cotree of a cograph rooted at a node rr possesses the following properties.

  1. 1.

    Every internal vertex except rr has at least two children. Furthermore, rr has exactly one child if and only if the underlying cograph GG is disconnected.

  2. 2.

    The internal nodes are labeled by either 0 (0-nodes) or 11 (11-nodes) in such a way that the root is always a 11-node, and 11-nodes and 0-nodes alternate along every path in T(G)T(G) starting at the root.

  3. 3.

    The leaves of T(G)T(G) are precisely the vertices of GG, such that vertices xx and yy are adjacent in GG if, and only if, the lowest common ancestor of xx and yy in T(G)T(G) is a 11-node.

Fig. 3 illustrates a cograph GG along with its cotree T(G)T(G).

Refer to caption
Figure 3: Illustrating a cograph and its cotree

According to [16], the cotree of any cograph GG can be preprocessed such that it is a binary tree. So, we may assume that T(G)T(G) is a binary tree rooted at a vertex rr. The set of leaves of the left subtree of T(G)T(G) is denoted by L(rleft)L(r_{left}) and the set of leaves of the right subtree of T(G)T(G) is denoted by L(rright)L(r_{right}).

Note that every leaf of T(G)T(G) represents a vertex of the graph GG. If we consider one vertex from L(rleft)L(r_{left}) and one vertex from L(rright)L(r_{right}) then their least common ancestor is the root node. As the root node is always a 11-node, we have the following observation.

Observation 4.1.

For any xL(rleft),yL(rright)x\in L(r_{left}),y\in L(r_{right}), we have xyE(G)xy\in E(G).

Recall that a path cover PP of a graph GG is a spanning subgraph such that every component of PP is a path. A path cover is an optimal path cover if it has the maximum number of edges. [16] gave a linear-time algorithm to compute an optimal path cover of a cograph GG. The optimal path cover PP^{*} constructed in [16] is one of the following type:

  • The path cover PP^{*} contains a single path component which is a Hamiltonian path of GG.

  • The path cover PP^{*} contains at least two path components. In this case, there exists exactly one path pp in PP^{*} which contains vertices from both the sets L(rleft)L(r_{left}) and L(rright)L(r_{right}) and all other paths in PP^{*} contain vertices from L(rright)L(r_{right}) only. Fig. 4 illustrates this case.

Refer to caption
Figure 4: Optimal path cover of GG contains more than 11 path components

Algorithm 1 uses the optimal path cover constructed from [16] to compute a MIST of a cograph GG.

1 Input: A cograph GG and a cotree T(G)T(G) of GG Output: A Maximum Internal Spanning Tree TT of GG Let P={P1,P2,,Pk}P^{*}=\{P_{1},P_{2},\ldots,P_{k}\} be the optimal path cover of GG computed by the algorithm in [16];
2V(T)=V(G)V(T)=V(G) and E(T)=E(P)E(T)=E(P^{*});
3if  k=1k=1 then
 4 return TT;
5else
   /* P1P_{1} is the path which contains vertices from both the sets L(rleft)L(r_{left}) and L(rright)L(r_{right}) and all other paths in PP^{*} contain vertices from L(rright)L(r_{right}) only */
 6 Let u(V(P1)L(rleft))u\in(V(P_{1})\cap L(r_{left}));
 7 Let viv_{i} be an end vertex of the path PiP_{i}, for 2ik2\leq i\leq k;
 8 E(T)=E(T){uv2,uv3,,uvk}E(T)=E(T)\cup\{uv_{2},uv_{3},\ldots,uv_{k}\};
 9 return TT.
Algorithm 1 Algorithm for finding a MIST of a cograph GG

Note that by Theorem 2.1 we have Opt(G)|E(P)|1Opt(G)\leq|{E(P^{*})}|-1 for an optimal path cover PP^{*}. Below, we give a theorem which implies that Algorithm 1 also outputs a spanning tree which attains this upper bound.

Theorem 4.1.

Algorithm 1 outputs a spanning tree TT of a cograph GG such that, i(T)=|E(P)|1i(T)=|E(P^{*})|-1, where PP^{*} is an optimal path cover of GG. Hence, Opt(G)=|E(P)|1Opt(G)=|E(P^{*})|-1.

Proof.

Let P={P1,P2,,Pk}P^{*}=\{P_{1},P_{2},\ldots,P_{k}\} be the optimal path cover computed in step 1 of Algorithm 1. If |P|=1|P^{*}|=1, then GG has a Hamiltonian path and Algorithm 1 returns a Hamiltonian path. Now, suppose |P|>1|P^{*}|>1, then the path P1P_{1} contains vertices from both sets L(rleft)L(r_{left}) and L(rright)L(r_{right}) and PiL(rleft)=P_{i}\cap L(r_{left})=\emptyset for all i2i\geq 2. Now, let uV(P1)L(rleft)u\in V(P_{1})\cap L(r_{left}) such that uu is not an end vertex of P1P_{1}.

For each path in PiP{P1}P_{i}\in P^{*}\setminus\{P_{1}\}, consider a pendent vertex viv_{i} of the path. By Observation 4.1, viv_{i} and uu are adjacent. Let T=i=1kPi{viu:2ik}T=\bigcup_{i=1}^{k}P_{i}\cup\{v_{i}u:2\leq i\leq k\}. These new edges connect one internal vertex with a pendant vertex of path of PP^{*}. This is illustrated by the dash edges in Fig. 4. Note then the number of internal vertices of TT is |E(P)|1|E(P^{*})|-1, hence i(T)=Opt(G)=|E(P)|1i(T)=Opt(G)=|E(P^{*})|-1 by Theorem 2.1. ∎

Note that step 1 of Algorithm 1 can be performed in linear-time [16]. Furthermore, note that the construction of TT in Theorem 4.1 is also linear-time. Therefore Algorithm 1 outputs a MIST of GG in linear-time.

5 Bipartite Permutation Graphs

In this section, we discuss the MIST problem for bipartite permutation graphs. A graph G=(V,E)G=(V,E) with V={v1,v2,,vn}V=\{v_{1},v_{2},\ldots,v_{n}\} is said to be a permutation graph if there is a permutation σ\sigma over {1,2,,n}\{1,2,\ldots,n\} such that vivjEv_{i}v_{j}\in E if and only if (ij)(σ(i)σ(j))<0(i-j)(\sigma(i)-\sigma(j))<0. Intuitively, each vertex vv in a permutation graph corresponds to a line segment lvl_{v} joining two points on two parallel lines L1L_{1} and L2L_{2}, which is called a line representation. Then, two vertices vv and uu are adjacent if and only if the corresponding line segments lvl_{v} and lul_{u} are crossing. Vertex indices give the ordering of the points on L1L_{1}, and the permutation of the indices gives the ordering of the points on L2L_{2}. When a permutation graph is bipartite, it is said to be a bipartite permutation graph.

A strong ordering (<X,<Y)(<_{X},<_{Y}) of a bipartite graph G=(X,Y,E)G=(X,Y,E) consists of an ordering <X<_{X} of XX and an ordering <Y<_{Y} of YY, such that for all edges ab,abab,a^{\prime}b^{\prime} with a,aXa,a^{\prime}\in X and b,bYb,b^{\prime}\in Y: if a<Xaa<_{X}a^{\prime} and b<Yb,b^{\prime}<_{Y}b, then abab^{\prime} and aba^{\prime}b are edges in GG. An ordering <X<_{X} of XX has the adjacency property if, for every vertex in YY, its neighbors in XX are consecutive in <X<_{X}. The ordering <X<_{X} has the enclosure property if, for every pair of vertices y,yy,y^{\prime} of YY with N(y)N(y)N(y)\subseteq N(y^{\prime}), the vertices of N(y)N(y)N(y^{\prime})\setminus N(y) appear consecutively in <X<_{X}. These properties are useful for characterizing bipartite permutation graphs.

[7] proved that a bipartite graph is a bipartite permutation graph if and only if it admits a strong ordering. Furthermore if we assume that the graph is connected, then we can say more.

Lemma 5.1.

[7] Let (<X,<Y)(<_{X},<_{Y}) be a strong ordering of a connected bipartite permutation graph G=(X,Y,E)G=(X,Y,E). Then both <X<_{X} and <Y<_{Y} have the adjacency property and the enclosure property.

Throughout this section, G=(X,Y,E)G=(X,Y,E) denotes a connected bipartite permutation graph. A strong ordering of a bipartite permutation graph can be computed in linear-time [25]. Let (<X,<Y)(<_{X},<_{Y}) be a strong ordering of GG, where <X=(x1,x2,,xn1)<_{X}=(x_{1},x_{2},\ldots,x_{n_{1}}) and <Y=(y1,y2,,yn2)<_{Y}=(y_{1},y_{2},\ldots,y_{n_{2}}). We write strong ordering of vertices of GG as (<X,<Y)=(x1,x2,,xn1,y1,y2,,yn2)(<_{X},<_{Y})=(x_{1},x_{2},\ldots,x_{n_{1}},y_{1},y_{2},\ldots,y_{n_{2}}). For u,vV(G)u,v\in V(G), we write u<Xvu<_{X}v if u,vXu,v\in X and uu appears before vv in the strong ordering; we define u<Yvu<_{Y}v in a similar manner. We write xi<xjx_{i}<x_{j} (or, yi<yjy_{i}<y_{j}) when i<ji<j. For vertices u,vu,v of GG, uvu\leq v denotes either u<Xvu<_{X}v, u<Yvu<_{Y}v, or u=vu=v holds.

Since each vertex of GG satisfies the adjacency property, the neighborhood of any vertex consists of consecutive vertices in the strong ordering. We define the first neighbor of a vertex as the vertex with minimum index in its neighborhood and the last neighbor of a vertex as the vertex with maximum index in its neighborhood. We notate the first and last neighbors of a vertex uu as f(u)f(u) and l(u)l(u) respectively. Combining the above statements for a bipartite permutation graph GG with its strong ordering (<X,<Y)(<_{X},<_{Y}), GG has the following properties [11]:

  1. 1.

    For any vertex of GG, its neighborhood consists of consecutive vertices in <X<_{X} or <Y<_{Y} .

  2. 2.

    For any pair of vertices u,vu,v from XX or YY, if u<vu<v then f(u)f(v)f(u)\leq f(v) and l(u)l(v)l(u)\leq l(v).

Now, we define some terminology which we require for the remainder of this section. A vertex xiX,(1in1)x_{i}\in X,(1\leq i\leq n_{1}) with l(xi)=yjl(x_{i})=y_{j} is of type 1 if jij\geq i. A vertex yiY,(1in2)y_{i}\in Y,(1\leq i\leq n_{2}) with l(yi)=xjl(y_{i})=x_{j} is of type 1 if ji+1j\geq i+1. Similarly, a vertex xiX,(1in1)x_{i}\in X,(1\leq i\leq n_{1}) with l(xi)=yjl(x_{i})=y_{j} is of type 2 if ji+1j\geq i+1 and a vertex yiY,(1in2)y_{i}\in Y,(1\leq i\leq n_{2}) with l(yi)=xjl(y_{i})=x_{j} is of type 2 if jij\geq i. Note that a type 2 vertex xXx\in X is also a type 1 vertex but the converse may not be true. Furthermore, a type 1 vertex yYy\in Y is also a type 2 vertex. Characterizing the vertices in this way is an important distinction for our algorithm. We now prove two important lemmas which will be used to prove the correctness of Algorithm 2.

Lemma 5.2.

Let X={x1,x2,,xk,xk+1}X,Y={y1,y2,,yk}YX^{\prime}=\{x_{1},x_{2},\ldots,x_{k},x_{k+1}\}\subseteq X,~~Y^{\prime}=\{y_{1},y_{2},\ldots,y_{k}\}\subseteq Y. Furthermore, suppose each vertex of XX^{\prime} and YY^{\prime} is of type 1 except xk+1x_{k+1}, l(xk+1)=ykl(x_{k+1})=y_{k} and N(X)=YN(X^{\prime})=Y^{\prime}. Then there exists a MIST TT of GG, in which x1x_{1} are xk+1x_{k+1} are pendant. Moreover; if XXX\setminus X^{\prime}\neq\emptyset, then the support vertex of xk+1x_{k+1} is of degree at least 33 in TT.

Proof.

We first show xiyi,yixi+1E(G)x_{i}y_{i},y_{i}x_{i+1}\in E(G) for all 1ik1\leq i\leq k. Suppose there exists 1ik1\leq i\leq k such that xiyiE(G)x_{i}y_{i}\not\in E(G). Let l(xi)=yjl(x_{i})=y_{j} and l(yi)=xll(y_{i})=x_{l}. As both xix_{i} and yiy_{i} are type 1, we have yjyiy_{j}\geq y_{i} and xl>xix_{l}>x_{i}. As (<X,<Y)(<_{X},<_{Y}) is a strong ordering, we have xiyiE(G)x_{i}y_{i}\in E(G), a contradiction. Thus we may assume xiyiE(G)x_{i}y_{i}\in E(G). Furthermore as yiy_{i} is type 1, we have xiyi,yixi+1E(G)x_{i}y_{i},y_{i}x_{i+1}\in E(G) for all 1ik1\leq i\leq k.

Suppose X=XX=X^{\prime}. Note that as (<X,<Y)(<_{X},<_{Y}) is a strong ordering of GG, we have for all xXx\in X, l(x)l(xk+1)=ykl(x)\leq l(x_{k+1})=y_{k}. As we assumed GG is connected, we have that Y=YY=Y^{\prime} as well. Note that this implies that GG has the Hamiltonian path x1y1x2xkykxk+1x_{1}y_{1}x_{2}\ldots x_{k}y_{k}x_{k+1} which is a MIST. So, we may assume that XXX\setminus X^{\prime}\neq\emptyset.

Now, let TT^{*} be a MIST of GG. If x1x_{1} and xk+1x_{k+1} are pendant in TT^{*} and degree of S(xk+1)S(x_{k+1}) is at least 33 in TT^{*}, then we are done. Suppose otherwise, and we modify TT^{*} in the following way. We first remove all edges of TT^{*} incident with the vertices of XX^{\prime} and then add edges x1y1,y1x2,x2y2,,xkyk and ykxk+1x_{1}y_{1},y_{1}x_{2},x_{2}y_{2},\ldots,x_{k}y_{k}\text{~and~}y_{k}x_{k+1} to obtain a new graph TT. Note that as N(X)=YN(X^{\prime})=Y^{\prime}, TT is connected.

First suppose TT contains no cycle. Note that TT is a spanning tree of GG. If dT(yk)=2d_{T}(y_{k})=2, then as N(X)=YN(X^{\prime})=Y^{\prime} we can choose an edge vyi(i<k)vy_{i}(i<k) in TT such that vXXv\in X\setminus X^{\prime}. Since the strong ordering (<X,<Y)(<_{X},<_{Y}) of the vertices of GG satisfies property 22, we have vykE(G)vy_{k}\in E(G). So we can further modify TT by removing the edge vyivy_{i} and replacing with the edge vyk.vy_{k}. We see that

i(T)\displaystyle i(T^{*}) =iT(X)+iT(XX)+iT(Y)+iT(YY)\displaystyle=i_{T^{*}}(X^{\prime})+i_{T^{*}}(X\setminus X^{\prime})+i_{T^{*}}(Y^{\prime})+i_{T^{*}}(Y\setminus Y^{\prime})
(k1)+iT(XX)+k+iT(YY)=i(T).\displaystyle\leq(k-1)+i_{T^{*}}(X\setminus X^{\prime})+k+i_{T^{*}}(Y\setminus Y^{\prime})=i(T).

So, we have i(T)i(T)i(T^{*})\leq i(T). Since TT is a spanning tree and TT^{*} is a MIST of GG, we have that TT is also a MIST. Thus, we obtain our desired MIST in which x1x_{1} are xk+1x_{k+1} are pendant and the support vertex of xk+1x_{k+1} is of degree at least 33.

Now, suppose TT contains a cycle CC. This implies that there exists vXXv\in X\setminus X^{\prime} such that vyi,vyjE(C)vy_{i},vy_{j}\in E(C) with i<jki<j\leq k. Now, we modify TT by removing the edge vyivy_{i}. This step reduces degree of vv by 11 while leaving the graph TT connected. We repeat this modification until TT has no more cycles, thus TT will be a spanning tree of GG. Let us assume that there are α\alpha such vertices which became pendant in this process of updating TT. Let AXXA\subseteq X\setminus X^{\prime} be the set of α\alpha vertices. Note these α\alpha vertices were internal in TT^{*}. Suppose iT(X)>k(α+1)i_{T^{*}}(X^{\prime})>k-(\alpha+1). As N(X)=YN(X^{\prime})=Y^{\prime}, then the subforest of TT^{*} induced by the set XYAX^{\prime}\cup Y^{\prime}\cup A would have at least 2(kα)+(1+α)+2α=2k+1+α2(k-\alpha)+(1+\alpha)+2\alpha=2k+1+\alpha edges. As 2k+1+α>|XYA|12k+1+\alpha>|X^{\prime}\cup Y^{\prime}\cup A|-1, this contradicts the fact that TT^{*} was a tree. Thus we have iT(X)k(α+1)i_{T^{*}}(X^{\prime})\leq k-(\alpha+1). It follows,

i(T)\displaystyle i(T^{*}) =iT(X)+iT(XX)+iT(Y)+iT(YY)\displaystyle=i_{T^{*}}(X^{\prime})+i_{T^{*}}(X\setminus X^{\prime})+i_{T^{*}}(Y^{\prime})+i_{T^{*}}(Y\setminus Y^{\prime})
(k(α+1))+iT(XX)+k+iT(YY)\displaystyle\leq(k-(\alpha+1))+i_{T^{*}}(X\setminus X^{\prime})+k+i_{T^{*}}(Y\setminus Y^{\prime})
=(k1)+(iT(XX)α)+k+iT(YY)=i(T).\displaystyle=(k-1)+(i_{T^{*}}(X\setminus X^{\prime})-\alpha)+k+i_{T^{*}}(Y\setminus Y^{\prime})=i(T).

Again, we have i(T)i(T)i(T^{*})\leq i(T) which implies that TT is also a MIST. If dT(yk)=2d_{T}(y_{k})=2, then we can choose an edge vyi(i<k)vy_{i}(i<k) in TT, such that vXXv\in X\setminus X^{\prime}. Since the strong ordering (<X,<Y)(<_{X},<_{Y}) satisfies property 22, we have vykE(G)vy_{k}\in E(G). So we update the tree TT by removing the edge vyivy_{i} and adding the edge vykvy_{k}. Thus, we obtain a MIST TT in which x1x_{1} are xk+1x_{k+1} are pendant and support vertex of xk+1x_{k+1} is of degree at least 33. ∎

Lemma 5.3.

Let X={x1,x2,,xk}X,Y={y1,y2,,yk}YX^{\prime}=\{x_{1},x_{2},\ldots,x_{k}\}\subseteq X,~~Y^{\prime}=\{y_{1},y_{2},\ldots,y_{k}\}\subseteq Y. Furthermore, suppose each vertex of XX^{\prime} and YY^{\prime} is of type 1 except yky_{k}, l(yk)=xkl(y_{k})=x_{k} and N(Y)=XN(Y^{\prime})=X^{\prime}.

  1. (a)

    If xiyi+1E(G)x_{i}y_{i+1}\in E(G) for all 1i(k1)1\leq i\leq(k-1), then there exists a MIST TT of GG, in which y1y_{1} is pendant.

  2. (b)

    If there exists 1t(k1)such that xtyt+1E(G)1\leq t\leq(k-1)~\text{such that~}x_{t}y_{t+1}\notin E(G), then there exists a MIST TT of GG, in which x1x_{1} and yky_{k} are pendant. Moreover; if YYY\setminus Y^{\prime}\neq\emptyset, then support vertex of yky_{k} is of degree at least 33 in TT.

Proof.

We first argue that xiyi,yixi+1E(G)x_{i}y_{i},y_{i}x_{i+1}\in E(G) for 1ik11\leq i\leq k-1. First assume for some ii, xiyiE(G)x_{i}y_{i}\not\in E(G). As both xix_{i} and yiy_{i} are type 1, we have xi<l(yi)x_{i}<l(y_{i}) and yi<l(xi)y_{i}<l(x_{i}). As (<X,<Y)(<_{X},<_{Y}) is a strong ordering, we have xiyiE(G)x_{i}y_{i}\in E(G), a contradiction. Furthermore, as yiy_{i} is type 1, we have yixi+1E(G)y_{i}x_{i+1}\in E(G) for all 1ik11\leq i\leq k-1.

Suppose Y=YY^{\prime}=Y. As N(Y)=XN(Y^{\prime})=X^{\prime}, and GG is connected we have that X=XX=X^{\prime} as well. Note then if xiyi+1E(G)x_{i}y_{i+1}\in E(G) for all 1i(k1)1\leq i\leq(k-1), then y1x1xk1ykxky_{1}x_{1}\ldots x_{k-1}y_{k}x_{k} is a Hamiltonian path. Otherwise, if there exists 1t(k1)such that xtyt+1E(G)1\leq t\leq(k-1)~\text{such that~}x_{t}y_{t+1}\notin E(G), then the path x1y1,y1x2,x2y3,,yk1xkx_{1}y_{1},y_{1}x_{2},x_{2}y_{3},\ldots,y_{k-1}x_{k} and xkykx_{k}y_{k} gives the desired Hamiltonian path.

So, we may assume that YYY\setminus Y^{\prime}\neq\emptyset and we will first prove part (a). Let TT^{*} be a MIST of GG and suppose y1y_{1} is not pendant in TT^{*}. Let TT be the graph obtained from TT^{*} where we remove all edges incident to the vertices of YY^{\prime} and add edges y1x1,x1y2,y2x2,,xk1yk and ykxky_{1}x_{1},x_{1}y_{2},y_{2}x_{2},\ldots,x_{k-1}y_{k}\text{~and~}y_{k}x_{k}. Note as N(Y)=XN(Y^{\prime})=X^{\prime}, y1y_{1} is pendant in TT.

First, suppose TT contains no cycles. Note then that TT is a spanning tree of GG. We argue that we may assume dT(xk)2d_{T}(x_{k})\geq 2. Suppose otherwise, that is, dT(xk)=1d_{T}(x_{k})=1. Let vYYv\in Y\setminus Y^{\prime} such that vxi(i<k)vx_{i}(i<k). As the strong ordering of the vertices of GG satisfies property 2, we have vxkE(G)vx_{k}\in E(G) as well. So we further modify TT by removing the edge vxivx_{i} and adding the edge vxkvx_{k}. We see that

i(T)\displaystyle i(T^{*}) =iT(X)+iT(XX)+iT(Y)+iT(YY)\displaystyle=i_{T^{*}}(X^{\prime})+i_{T^{*}}(X\setminus X^{\prime})+i_{T^{*}}(Y^{\prime})+i_{T^{*}}(Y\setminus Y^{\prime})
k+iT(XX)+(k1)+iT(YY)=i(T).\displaystyle\leq k+i_{T^{*}}(X\setminus X^{\prime})+(k-1)+i_{T^{*}}(Y\setminus Y^{\prime})=i(T).

So, we have that i(T)i(T)i(T^{*})\leq i(T). Since TT is a spanning tree and TT^{*} is a MIST of GG, TT is also a MIST of GG.

Next, suppose TT is not a tree. We now modify TT to remove the cycles. Let CC be a cycle of TT. Note then there is a vertex vYYv\in Y\setminus Y^{\prime} such that vxi,vxjE(C)vx_{i},vx_{j}\in E(C) with i<jki<j\leq k. We then modify TT by removing the edge vxivx_{i}. Note that the degree of vv decreases by 1. We repeat this process until no cycles remain in TT. Assume that α\alpha cycles were removed during this process and thus at most α\alpha pendant vertices were created in this process. As N(Y)=XN(Y^{\prime})=X^{\prime} and TT^{*} is a tree, we have iT(Y)kα1i_{T^{*}}(Y^{\prime})\leq k-\alpha-1. We see that,

i(T)\displaystyle i(T^{*}) =iT(X)+iT(XX)+iT(Y)+iT(YY)\displaystyle=i_{T^{*}}(X^{\prime})+i_{T^{*}}(X\setminus X^{\prime})+i_{T^{*}}(Y^{\prime})+i_{T^{*}}(Y\setminus Y^{\prime})
k+iT(XX)+(kα1)+iT(YY)\displaystyle\leq k+i_{T^{*}}(X\setminus X^{\prime})+(k-\alpha-1)+i_{T^{*}}(Y\setminus Y^{\prime})
k+iT(XX)+(k1)+(iT(YY)α)=i(T)\displaystyle\leq k+i_{T^{*}}(X\setminus X^{\prime})+(k-1)+(i_{T^{*}}(Y\setminus Y^{\prime})-\alpha)=i(T)

Again, we have that i(T)i(T)i(T^{*})\leq i(T) which implies that TT is also a MIST. Hence, part (a) holds.

Next, we prove part (b). Let TT^{*} be a MIST of GG. If x1x_{1} and yky_{k} are pendant in TT^{*} and degree of S(yk)S(y_{k}) is at least 33 in TT^{*}, then we are done, so assume otherwise. Let TT be the graph obtained from modifying TT^{*} where we remove all edges incident on the vertices of YY^{\prime} and add edges x1y1,y1x2,x2y2,,yk1xkx_{1}y_{1},y_{1}x_{2},x_{2}y_{2},\ldots,y_{k-1}x_{k} and xkykx_{k}y_{k}.

First suppose TT contains no cycle, then TT is a spanning tree of GG. If dT(xk)3d_{T}(x_{k})\geq 3, then we are done modifying, so suppose dT(xk)=2d_{T}(x_{k})=2. As YYY\setminus Y^{\prime}\neq\emptyset and N(Y)=XN(Y^{\prime})=X^{\prime}, there exists an edge vxi(i<k)vx_{i}(i<k) in TT. Since the strong ordering of the vertices of GG satisfies property 2, we have vxkE(G)vx_{k}\in E(G). Thus we further modify TT where we remove vxivx_{i} and add the edge vxkvx_{k}. As we assumed there exists a 1t(k1)1\leq t\leq(k-1) such that xtyt+1E(G)x_{t}y_{t+1}\not\in E(G), we have N({x1,x2,,xt})={y1,y2,,yt}N(\{x_{1},x_{2},...,x_{t}\})=\{y_{1},y_{2},...,y_{t}\}. Let X′′={x1,x2,,xt}X^{\prime\prime}=\{x_{1},x_{2},\ldots,x_{t}\} and note N(X′′)=Y′′={y1,y2,,yt}N(X^{\prime\prime})=Y^{\prime\prime}=\{y_{1},y_{2},...,y_{t}\}. By Observation 2.2, we see that for any spanning tree of GG, X′′X^{\prime\prime} contains at least one pendant vertex. So, iT(X)(k1)i_{T^{*}}(X^{\prime})\leq(k-1).We see that

i(T)\displaystyle i(T^{*}) =iT(X)+iT(XX)+iT(Y)+iT(YY)\displaystyle=i_{T^{*}}(X^{\prime})+i_{T^{*}}(X\setminus X^{\prime})+i_{T^{*}}(Y^{\prime})+i_{T^{*}}(Y\setminus Y^{\prime})
(k1)+iT(XX)+(k1)+iT(YY)=i(T).\displaystyle\leq(k-1)+i_{T^{*}}(X\setminus X^{\prime})+(k-1)+i_{T^{*}}(Y\setminus Y^{\prime})=i(T).

Again, we have i(T)i(T)i(T^{*})\leq i(T) which implies that TT is a MIST. Thus, we obtained a MIST TT in which x1x_{1} and yky_{k} are pendant and support vertex of yky_{k} is of degree at least 33.

Now, suppose TT contains a cycle. We now modify TT to be a spanning tree. Let CC be a cycle contained in TT. This implies that there is a vertex vYYv\in Y\setminus Y^{\prime} such that vxi,vxjE(C)vx_{i},vx_{j}\in E(C) with i<jki<j\leq k. We remove the edge vxivx_{i} from TT. This decreases the degree of vv by 1. We repeat this process until no cycles remain in TT. Let AYYA\subseteq Y\setminus Y^{\prime} with |A|=α|A|=\alpha be the set of the vertices made pendant in this process. Suppose iT(Y)(kα)i_{T^{*}}(Y^{\prime})\geq(k-\alpha). As N(Y)=XN(Y^{\prime})=X^{\prime}, the subgraph of TT^{*} induced by XYAX^{\prime}\cup Y^{\prime}\cup A has at least (2kα)+k+2α=2k+α(2k-\alpha)+k+2\alpha=2k+\alpha edges. As |XYA|=2k+α|X^{\prime}\cup Y^{\prime}\cup A|=2k+\alpha, this contradicts the fact that TT^{*} is a tree. Thus we may assume iT(Y)kα1i_{T^{*}}(Y^{\prime})\leq k-\alpha-1. As before, we may assume dT(xk)3d_{T}(x_{k})\geq 3. It follows,

i(T)\displaystyle i(T^{*}) =iT(X)+iT(XX)+iT(Y)+iT(YY)\displaystyle=i_{T^{*}}(X^{\prime})+i_{T^{*}}(X\setminus X^{\prime})+i_{T^{*}}(Y^{\prime})+i_{T^{*}}(Y\setminus Y^{\prime})
(k1)+iT(XX)+(kα1)+iT(YY)\displaystyle\leq(k-1)+i_{T^{*}}(X\setminus X^{\prime})+(k-\alpha-1)+i_{T^{*}}(Y\setminus Y^{\prime})
(k1)+iT(XX)+(k1)+(iT(YY)α)=i(T)\displaystyle\leq(k-1)+i_{T^{*}}(X\setminus X^{\prime})+(k-1)+(i_{T^{*}}(Y\setminus Y^{\prime})-\alpha)=i(T)

This implies that TT is also a MIST. Thus, we obtained a MIST TT in which x1x_{1} and yky_{k} are pendant and support vertex of yky_{k} is of degree at least 33. ∎

We state similar results when the vertices are of type 22. By symmetry, the proofs of Lemmas 5.4 and 5.5 follow from Lemmas 5.2 and 5.3.

Lemma 5.4.

Let X={x1,x2,,xk}X,Y={y1,y2,,yk,yk+1}YX^{\prime}=\{x_{1},x_{2},\ldots,x_{k}\}\subseteq X,~~Y^{\prime}=\{y_{1},y_{2},\ldots,y_{k},y_{k+1}\}\subseteq Y. Furthermore, suppose each vertex of XX^{\prime} and YY^{\prime} is of type 2 except yk+1y_{k+1}, l(yk+1)=xkl(y_{k+1})=x_{k} and N(Y)=XN(Y^{\prime})=X^{\prime}. Then there exists a MIST TT of GG, in which y1y_{1} are yk+1y_{k+1} are pendant. Moreover; if YYY\setminus Y^{\prime}\neq\emptyset, then support vertex of yk+1y_{k+1} is of degree at least 33 in TT.

Lemma 5.5.

Let X={x1,x2,,xk}X,Y={y1,y2,,yk}YX^{\prime}=\{x_{1},x_{2},\ldots,x_{k}\}\subseteq X,~~Y^{\prime}=\{y_{1},y_{2},\ldots,y_{k}\}\subseteq Y. Furthermore, suppose each vertex of XX^{\prime} and YY^{\prime} is of type 2 except xkx_{k}, l(xk)=ykl(x_{k})=y_{k} and N(X)=YN(X^{\prime})=Y^{\prime}.

  1. (a)

    If yixi+1E(G)1i(k1)y_{i}x_{i+1}\in E(G)~\forall~1\leq i\leq(k-1), then there exists a MIST TT of GG, in which x1x_{1} is pendant.

  2. (b)

    If 1t(k1)such that ytxt+1E(G)\exists~1\leq t\leq(k-1)~\text{such that~}y_{t}x_{t+1}\notin E(G), then there exists a MIST TT of GG, in which y1y_{1} and xkx_{k} are pendant. Moreover; if XXX\setminus X^{\prime}\neq\emptyset, then support vertex of xkx_{k} is of degree at least 33 in TT.

Next, we propose an algorithm to find a MIST of GG based on the Lemmas 5.2, 5.3, 5.4 and 5.5. In our algorithm, we first find a vertex uu such that it is a pendant vertex in some MIST TT of GG and the degree of support vertex of uu in TT is at least 33. Now, if we remove uu from GG and call the remaining graph GG^{\prime}, then we see that the number of internal vertices in a MIST of GG is same as the number of internal vertices in a MIST of GG^{\prime}. Note that we can easily construct a MIST of GG from a MIST of GG^{\prime} by adding the pendant vertex uu to the corresponding support vertex. So, after finding the vertex uu, the problem is reduced to finding MIST of G{u}G\setminus\{u\}, say GG^{\prime}. We continue doing the same until no such vertex uu exists and then the resultant graph has a Hamiltonian path.

In our algorithm, we visit the vertices alternatively from the partitions XX and YY. We consider two special orderings (x1,y1,x2,y2,)(x_{1},y_{1},x_{2},y_{2},...) and (y1,x1,y2,x2,)(y_{1},x_{1},y_{2},x_{2},...) of V(G)V(G) which we call α\alpha and β\beta, respectively. Below, we describe the method to find a vertex uu which is pendant in some MIST TT of GG and dT(S(u))d_{T}(S(u)) is at least 33.

We first visit the vertices of GG in the ordering α\alpha and search for the first vertex, which is not of type 1. Let uu be such a vertex. If uXu\in X or uYu\in Y and the conditions of part (b) of Lemma 5.3 are satisfied, then there exists a MIST TT of GG in which uu is a pendant vertex and the degree of support vertex of uu in TT is at least 33. So, we remove uu from GG and find a MIST TT^{\prime} of G{u}G\setminus\{u\}. Later, we obtain a MIST of GG by adding uu to TT^{\prime}. But, if uYu\in Y, say u=yku=y_{k} and conditions of part (a) of Lemma 5.3 are satisfied, then there exists a MIST TT of GG in which y1y_{1} is a pendant vertex. In this case, we start visiting the vertices of GG in the ordering β\beta, starting from y1y_{1}. At this step, we do not maintain any information from α\alpha search.

Now, let uu be the first vertex not of type 2 in the ordering β\beta. If uYu\in Y or uXu\in X and the conditions of part (b) of Lemma 5.5 are satisfied, then there exists a MIST TT of GG in which uu is a pendant vertex and the degree of support vertex of uu in TT is at least 33. So, we remove uu from GG and find a MIST TT^{\prime} of G{u}G\setminus\{u\}. Later, we obtain a MIST of GG by adding uu to TT^{\prime}. Here, if uXu\in X and conditions of part (a) of Lemma 5.5 are satisfied, then there exists a MIST TT of GG in which x1x_{1} is a pendant vertex. But, we have already explored this possibility while visiting the vertices of GG in the ordering α\alpha. So, we do not get such a vertex uu. To see this, suppose that we get such a vertex uu. Then, u=xtu=x_{t} for some tt, where t>kt>k. Now, part (a) of Lemma 5.5 tells that yixi+1E(G)y_{i}x_{i+1}\in E(G) for all 1i(t1)1\leq i\leq(t-1) implying that ykxk+1E(G)y_{k}x_{k+1}\in E(G). But, while visiting the vertices in the ordering α\alpha, we got a vertex yky_{k} satisfying l(yk)=xkl(y_{k})=x_{k}, so ykxk+1E(G)y_{k}x_{k+1}\notin E(G), a contradiction.

The detailed procedure for computing a MIST of a bipartite permutation graph is presented in Algorithm 2. Algorithm 2 either finds a vertex which is not of type 1 or a vertex which is not of type 2. When such a vertex uu is found, we call uu as an encountered vertex. All the encountered vertices are found while executing the steps written in lines 4, 11, 17, 22, 31 or 39 of Algorithm 2. We see that the algorithm returns a spanning tree TT of GG. Before proving the correctness of the Algorithm 2, we state a necessary lemma.

Input: A bipartite permutation graph GG and a strong ordering (<X,<Y)=(x1,x2,,xn1,y1,y2,,yn2)(<_{X},<_{Y})=(x_{1},x_{2},\ldots,x_{n_{1}},y_{1},y_{2},\ldots,y_{n_{2}}) of V(G)V(G). Output: A MIST TT of GG.
1 V(T)=XY,E(T)=,t=0V(T)=X\cup Y,E(T)=\emptyset,t=0; flag=1flag=1;
2 α=(x1,y1,x2,y2,)\alpha=(x_{1},y_{1},x_{2},y_{2},...) and β=(y1,x1,y2,x2,)\beta=(y_{1},x_{1},y_{2},x_{2},...);
3 Visit the vertices of V(G)V(G) in the ordering α\alpha;
4 Let uu be the first vertex with minimum index in the ordering α\alpha which is not of type 1;
5 while flag==1flag==1 do
 6 if uXu\in X then
    7 Let u=xk+1u=x_{k+1} for some kk;
    8 if k+1n1k+1\neq n_{1} then
       9 t=t+1t=t+1; rename xk+1x_{k+1} as ata_{t}; E(T)=E(T){ykat}E(T)=E(T)\cup\{y_{k}a_{t}\};
       10 Rename xix_{i} as xi1x_{i-1} for every k+2in1k+2\leq i\leq n_{1}; n1=n11n_{1}=n_{1}-1;
       11 Continue looking for a next vertex which is not of type 1 in the ordering α\alpha, call it uu;
    12else
       13 E(T)=E(T){x1y1,y1x2,x2y2,,xkyk,ykxk+1}E(T)=E(T)\cup\{x_{1}y_{1},y_{1}x_{2},x_{2}y_{2},\ldots,x_{k}y_{k},y_{k}x_{k+1}\}; return TT;
    
 14else
    15 Let u=yku=y_{k} for some kk;
    16 if xiyi+1E(G)1i(k1)x_{i}y_{i+1}\in E(G)~\forall~1\leq i\leq(k-1) then
       17 Find a vertex which is not of type 2 in the ordering β\beta starting from y1y_{1}, call it uu; flag=2flag=2;
    18else
       19 if kn2k\neq n_{2} then
          20 t=t+1t=t+1; rename yky_{k} as ata_{t}; E(T)=E(T){xkat}E(T)=E(T)\cup\{x_{k}a_{t}\};
          21 Rename yiy_{i} as yi1y_{i-1} for every k+1in2k+1\leq i\leq n_{2}; n2=n21n_{2}=n_{2}-1;
          22 Continue looking for a next vertex which is not of type 1 in the ordering α\alpha, call it uu;
       23else
          24 E(T)=E(T){x1y1,y1x2,x2y2,,yk1xk,xkyk}E(T)=E(T)\cup\{x_{1}y_{1},y_{1}x_{2},x_{2}y_{2},\ldots,y_{k-1}x_{k},x_{k}y_{k}\}; return TT;
       
    
 
25while flag==2flag==2 do
 26 if uYu\in Y then
    27 Let u=yk+1u=y_{k+1} for some kk;
    28 if k+1n2k+1\neq n_{2} then
       29 t=t+1t=t+1; rename yk+1y_{k+1} as ata_{t}; E(T)=E(T){xkat}E(T)=E(T)\cup\{x_{k}a_{t}\};
       30 Rename yiy_{i} as yi1y_{i-1} for every k+2in2k+2\leq i\leq n_{2}; n2=n21n_{2}=n_{2}-1;
       31 Continue looking for a next vertex which is not of type 2 in the ordering β\beta, call it uu;
    32else
       33 E(T)=E(T){y1x1,x1y2,y2x2,,ykxk,xkyk+1}E(T)=E(T)\cup\{y_{1}x_{1},x_{1}y_{2},y_{2}x_{2},\ldots,y_{k}x_{k},x_{k}y_{k+1}\}; return TT;
    
 34else
    35 Let u=xku=x_{k} for some kk;
    36 if kn1k\neq n_{1} then
       37 t=t+1t=t+1; rename xkx_{k} as ata_{t}; E(T)=E(T){ykat}E(T)=E(T)\cup\{y_{k}a_{t}\};
       38 Rename xix_{i} as xi1x_{i-1} for every k+1in1k+1\leq i\leq n_{1}; n1=n11n_{1}=n_{1}-1;
       39 Continue looking for a next vertex which is not of type 2 in the ordering β\beta, call it uu;
    40else
       41 E(T)=E(T){y1x1,x1y2,y2x2,,xk1yk,ykxk}E(T)=E(T)\cup\{y_{1}x_{1},x_{1}y_{2},y_{2}x_{2},\ldots,x_{k-1}y_{k},y_{k}x_{k}\}; return TT;
    
 
Algorithm 2 Algorithm for finding a MIST of a bipartite permutation graph G
Lemma 5.6.

Let GG be the input bipartite permutation graph for the Algorithm 2 and a1a_{1} denotes the first encountered vertex in either the α\alpha or β\beta search. Suppose that TT is the spanning tree of GG returned by Algorithm 2. Let X1XX_{1}\subseteq X be the set of vertices which are visited from XX side till a1a_{1} and Y1YY_{1}\subseteq Y be the set of vertices which are visited from YY side till a1a_{1}. Then there exists a MIST TT^{*} of GG such that E(T[X1Y1])=E(T[X1Y1])E(T^{*}[X_{1}\cup Y_{1}])=E(T[X_{1}\cup Y_{1}]).

Proof.

We have four cases to consider.

Case 1: a1Xa_{1}\in X and it is not of type 1. Then the vertex a1a_{1} was found when flag = 1 in Algorithm 2, that is, when searching for the first vertex not of type 1. Let a1=xk+1a_{1}=x_{k+1} for some kk. Then the sets X={x1,x2,,xk,xk+1}X,Y={y1,y2,,yk}YX^{\prime}=\{x_{1},x_{2},\ldots,x_{k},x_{k+1}\}\subseteq X,~~Y^{\prime}=\{y_{1},y_{2},\ldots,y_{k}\}\subseteq Y satisfy the hypothesis of Lemma 5.2. Thus by Lemma 5.2, there exists a MIST TT^{*} of GG such that E(T[X1Y1])={x1y1,y1x2,x2y2,,xkyk,ykxk+1}E(T^{*}[X_{1}\cup Y_{1}])=\{x_{1}y_{1},y_{1}x_{2},x_{2}y_{2},\ldots,x_{k}y_{k},y_{k}x_{k+1}\}. In particular, E(T[X1Y1])=E(T[X1Y1])E(T^{*}[X_{1}\cup Y_{1}])=E(T[X_{1}\cup Y_{1}]).

Case 2: a1Ya_{1}\in Y and it is not of type 1. Then the vertex a1a_{1} was also found when flag = 1 in the algorithm. Let a1=yka_{1}=y_{k} for some kk. Then the sets X={x1,x2,,xk}X,Y={y1,y2,,yk}YX^{\prime}=\{x_{1},x_{2},\ldots,x_{k}\}\subseteq X,~~Y^{\prime}=\{y_{1},y_{2},\ldots,y_{k}\}\subseteq Y satisfy the hypothesis of part (b) of Lemma 5.3. Thus by Lemma 5.3, there exists a MIST TT^{*} of GG such that E(T[X1Y1])={x1y1,y1x2,x2y2,,xkyk}=E(T[X1Y1])E(T^{\prime}[X_{1}\cup Y_{1}])=\{x_{1}y_{1},y_{1}x_{2},x_{2}y_{2},\ldots,x_{k}y_{k}\}=E(T[X_{1}\cup Y_{1}]).

By symmetry, the other two cases (a1Xa_{1}\in X and it is not of type 2; a1Ya_{1}\in Y and it is not of type 2) follow from Lemmas 5.4 and 5.5. Thus there exists a MIST TT^{*} of GG such that E(T[X1Y1])=E(T[X1Y1])E(T^{*}[X_{1}\cup Y_{1}])=E(T[X_{1}\cup Y_{1}]) in all cases. ∎

Now, we prove the correctness of Algorithm 2.

Theorem 5.1.

Algorithm 2 returns a maximum internal spanning tree of GG.

Proof.

Let TT^{*} be a MIST of GG and TT be the spanning tree of GG returned by Algorithm 2. Recall in the execution of Algorithm 2, we either search for a vertex not of type 1 with the ordering α\alpha or we search for a vertex not of type 2 with the ordering β\beta. This is ensured since either we never arrive at line 17 or we arrive at it once and after that flag remains 2 throughout the algorithm. Let a1,a2,,apa_{1},a_{2},\ldots,a_{p} be the sequence of vertices encountered in the execution of Algorithm 2. Let X1X_{1} and Y1Y_{1} denote the set of vertices visited till a1a_{1} from XX and YY side respectively. For 1<i<p1<i<p, let XiX_{i} denotes the set of vertices visited from XX side after ai1a_{i-1} and upto aia_{i}. Similarly, let YiY_{i} denotes the set of vertices visited from YY side after ai1a_{i-1} and upto aia_{i}. Let XpX_{p} and YpY_{p} denote the set of all vertices visited after ap1a_{p-1} from XX and YY side respectively.

First suppose Algorithm 2 is searching for a vertex not of type 1 with the ordering α\alpha and it never arrives at line 17. This means that flag is 1 throughout the algorithm. To prove that TT is a MIST of GG, we will prove that TT^{*} can be modified so that it remains a MIST of GG and E(T)E(T^{*}) is same as E(T)E(T), that is,

E(T[j=1pXjj=1pYj])=E(T[j=1pXjj=1pYj]).E(T^{*}[\bigcup\limits_{j=1}^{p}X_{j}\cup\bigcup\limits_{j=1}^{p}Y_{j}])=E(T[\bigcup\limits_{j=1}^{p}X_{j}\cup\bigcup\limits_{j=1}^{p}Y_{j}]). (1)

We prove (1) using induction on pp. If p=1p=1, we have E(T[X1Y1])=E(T[X1Y1])E(T^{*}[X_{1}\cup Y_{1}])=E(T[X_{1}\cup Y_{1}]) due to Lemma 5.6. Hence, (1) is true for p=1p=1. Assume that (1) is true for p=ip=i.

We now show that (1) is true for p=i+1p=i+1. So, consider vertex ai+1a_{i+1} for i2i\geq 2. Two possible cases arise.

Case 1: ai+1Xa_{i+1}\in X.

First suppose ajXa_{j}\in X for every 1ji1\leq j\leq i. Then for X=j=1i+1XjX^{*}=\bigcup\limits_{j=1}^{i+1}X_{j} and Y=j=1i+1YjY^{*}=\bigcup\limits_{j=1}^{i+1}Y_{j}, we have |X|=j=1i+1|Xj||X^{*}|=\sum_{j=1}^{i+1}|X_{j}| and |Y|=j=1i+1|Yj|=j=1i+1(|Xj|1)=|X|(i+1)|Y^{*}|=\sum_{j=1}^{i+1}|Y_{j}|=\sum_{j=1}^{i+1}(|X_{j}|-1)=|X^{*}|-(i+1). As N(X)=Y,N(X^{*})=Y^{*}, by Observation 2.2 we have that the number of pendant vertices from XX^{*} in any spanning tree of GG is at least |X||Y|+1=i+2|X^{*}|-|Y^{*}|+1=i+2. Therefore iT(X)|X|(i+2)i_{T^{*}}(X^{*})\leq|X^{*}|-(i+2).

If E(T[j=1i+1Xjj=1i+1Yj])E(T[j=1i+1Xjj=1i+1Yj])E(T^{*}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])\neq E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]), we remove all edges of TT^{*} who have one end in j=1i(XjYj)\bigcup\limits_{j=1}^{i}(X_{j}\cup Y_{j}) and the other in (Xi+1Yi+1)(X_{i+1}\cup Y_{i+1}) and all edges incident with the vertices of Xi+1X_{i+1} within TT^{*}. We then add all edges from E(T[Xi+1Yi+1])E(T[X_{i+1}\cup Y_{i+1}]) and the edge of TT which connects j=1i(XjYj)\bigcup\limits_{j=1}^{i}(X_{j}\cup Y_{j}) to (Xi+1Yi+1)(X_{i+1}\cup Y_{i+1}) in TT^{*}. If cycles were created in this process, then we can remove those cycles without introducing more pendant vertices using the method discussed in Lemmas 5.2 and 5.3. Let TnewT^{*}_{new} denote this updated tree. We have,

i(T)\displaystyle i(T^{*}) =iT(X)+iT(XX)+iT(Y)+iT(YY)\displaystyle=i_{T^{*}}(X^{*})+i_{T^{*}}(X\setminus X^{*})+i_{T^{*}}(Y^{*})+i_{T^{*}}(Y\setminus Y^{*})
|X|(i+2)+iT(XX)+|Y|+iT(YY)=i(Tnew)\displaystyle\leq|X^{*}|-(i+2)+i_{T^{*}}(X\setminus X^{*})+|Y^{*}|+i_{T^{*}}(Y\setminus Y^{*})=i(T^{*}_{new})

Thus TnewT^{*}_{new} is also a MIST of GG such that

E(Tnew[j=1i+1Xjj=1i+1Yj])=E(T[j=1i+1Xjj=1i+1Yj]).E(T^{*}_{new}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])=E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]).

Now, suppose ajYa_{j}\in Y for some 1ji1\leq j\leq i. We choose the largest j{1,2,,i}j\in\{1,2,\ldots,i\} such that ajYa_{j}\in Y. Then for X=t=j+1i+1XtX^{*}=\bigcup\limits_{t=j+1}^{i+1}X_{t} and Y=t=j+1i+1YtY^{*}=\bigcup\limits_{t=j+1}^{i+1}Y_{t}, we have |X|=t=j+1i+1|Xt||X^{*}|=\sum_{t=j+1}^{i+1}|X_{t}| and |Y|=t=j+1i+1|Yt|=|Xj+1|+t=j+2i+1(|Xt|1)=|X|(ij)|Y^{*}|=\sum_{t=j+1}^{i+1}|Y_{t}|=|X_{j+1}|+\sum_{t=j+2}^{i+1}(|X_{t}|-1)=|X^{*}|-(i-j). As N(X)=YN(X^{*})=Y^{*}, by Observation 2.2 we have that the number of pendant vertices from XX^{*} in any spanning tree of GG is at least |X||Y|+1=ij+1|X^{*}|-|Y^{*}|+1=i-j+1. Therefore, iT(X)|X|(ij+1)i_{T^{*}}(X^{*})\leq|X^{*}|-(i-j+1).

If E(T[j=1i+1Xjj=1i+1Yj])E(T[j=1i+1Xjj=1i+1Yj])E(T^{*}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])\neq E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]), we remove all edges of TT^{*} whose one end belongs to j=1i(XjYj)\bigcup\limits_{j=1}^{i}(X_{j}\cup Y_{j}) and another end to (Xi+1Yi+1)(X_{i+1}\cup Y_{i+1}), all edges incident on the vertices of Xi+1X_{i+1} from TT^{*} and add all edges from E(T[Xi+1Yi+1])E(T[X_{i+1}\cup Y_{i+1}]) and the edge of TT which connects j=1i(XjYj)\bigcup\limits_{j=1}^{i}(X_{j}\cup Y_{j}) to (Xi+1Yi+1)(X_{i+1}\cup Y_{i+1}) in TT^{*}. If cycles were created in this process, then we can remove those cycles without introducing more pendant vertices using the method discussed in Lemmas 5.2 and 5.3. So, we may assume these modifications of TT^{*} do not create any cycles. Let TnewT^{*}_{new} denotes the updated tree. We have,

i(T)=iT(t=1jXt)+iT(X)+iT(t=i+2pXt)+iT(t=1jYt)+iT(Y)+iT(t=i+2pYt)i(T^{*})=i_{T^{*}}(\bigcup\limits_{t=1}^{j}X_{t})+i_{T^{*}}(X^{*})+i_{T^{*}}(\bigcup\limits_{t=i+2}^{p}X_{t})+i_{T^{*}}(\bigcup\limits_{t=1}^{j}Y_{t})+i_{T^{*}}(Y^{*})+i_{T^{*}}(\bigcup\limits_{t=i+2}^{p}Y_{t})

iT(t=1jXt)+|X|(ij+1)+iT(t=i+2pXt)+iT(t=1jYt)+|Y|+iT(t=i+2pYt)\leq i_{T^{*}}(\bigcup\limits_{t=1}^{j}X_{t})+|X^{*}|-(i-j+1)+i_{T^{*}}(\bigcup\limits_{t=i+2}^{p}X_{t})+i_{T^{*}}(\bigcup\limits_{t=1}^{j}Y_{t})+|Y^{*}|+i_{T^{*}}(\bigcup\limits_{t=i+2}^{p}Y_{t})

=i(Tnew).=i(T^{*}_{new}).
Thus, TnewT^{*}_{new} is also a MIST of GG such that

E(Tnew[j=1i+1Xjj=1i+1Yj])=E(T[j=1i+1Xjj=1i+1Yj]).E(T^{*}_{new}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])=E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]).

Case 2: ai+1Ya_{i+1}\in Y.

First suppose ajYa_{j}\in Y for every 1ji1\leq j\leq i. Then for X=j=1i+1XjX^{*}=\bigcup\limits_{j=1}^{i+1}X_{j} and Y=j=1i+1YjY^{*}=\bigcup\limits_{j=1}^{i+1}Y_{j}, we have |Y|=j=1i+1|Yj||Y^{*}|=\sum_{j=1}^{i+1}|Y_{j}| and |X|=j=1i+1|Xj|=|Y1|+j=2i+1(|Yj|1)=|Y|i|X^{*}|=\sum_{j=1}^{i+1}|X_{j}|=|Y_{1}|+\sum_{j=2}^{i+1}(|Y_{j}|-1)=|Y^{*}|-i. As N(Y)=X,N(Y^{*})=X^{*}, by Observation 2.2 we have that the number of pendant vertices from YY^{*} in any spanning tree of GG is at least |Y||X|+1=i+1|Y^{*}|-|X^{*}|+1=i+1. Therefore iT(Y)|Y|(i+1)i_{T^{*}}(Y^{*})\leq|Y^{*}|-(i+1). Here, a1Ya_{1}\in Y, so, let a1=yka_{1}=y_{k} for some kk. As we have assumed that flag is 1, this implies that there exists an index t,1tk1t,~1\leq t\leq k-1 such that xtyt+1E(G)x_{t}y_{t+1}\notin E(G). So, for X={x1,x2,,xt}X^{\prime}=\{x_{1},x_{2},\ldots,x_{t}\} and Y={y1,y2,,yt}Y^{\prime}=\{y_{1},y_{2},\ldots,y_{t}\}, we have N(X)=YN(X^{\prime})=Y^{\prime}. Now, by Observation 2.2, we know that the number of pendant vertices within XX^{\prime} in any spanning tree of GG is at least |X||Y|+1=1|X^{\prime}|-|Y^{\prime}|+1=1. So, iT(X)|X|1i_{T^{*}}(X^{\prime})\leq|X^{\prime}|-1, implying that iT(X)|X|1i_{T^{*}}(X^{*})\leq|X^{*}|-1.

If E(T[j=1i+1Xjj=1i+1Yj])E(T[j=1i+1Xjj=1i+1Yj])E(T^{*}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])\neq E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]), we remove all edges of TT^{*} who have one end in j=1i(XjYj)\bigcup\limits_{j=1}^{i}(X_{j}\cup Y_{j}) and the other in (Xi+1Yi+1)(X_{i+1}\cup Y_{i+1}) and all edges incident with the vertices of Yi+1Y_{i+1} within TT^{*}. We then add all edges from E(T[Xi+1Yi+1])E(T[X_{i+1}\cup Y_{i+1}]) and the edge of TT which connects j=1i(XjYj)\bigcup\limits_{j=1}^{i}(X_{j}\cup Y_{j}) to (Xi+1Yi+1)(X_{i+1}\cup Y_{i+1}) in TT^{*}. As before, if cycles are present, we may further modify TT^{*} to remove these cycles without introducing more pendant vertices. Let TnewT^{*}_{new} denote this updated tree. We have,

i(T)\displaystyle i(T^{*}) =iT(X)+iT(XX)+iT(Y)+iT(YY)\displaystyle=i_{T^{*}}(X^{*})+i_{T^{*}}(X\setminus X^{*})+i_{T^{*}}(Y^{*})+i_{T^{*}}(Y\setminus Y^{*})
|X|1+iT(XX)+|Y|(i+1)+iT(YY)=i(Tnew)\displaystyle\leq|X^{*}|-1+i_{T^{*}}(X\setminus X^{*})+|Y^{*}|-(i+1)+i_{T^{*}}(Y\setminus Y^{*})=i(T^{*}_{new})

Thus TnewT^{*}_{new} is also a MIST of GG such that

E(Tnew[j=1i+1Xjj=1i+1Yj])=E(T[j=1i+1Xjj=1i+1Yj]).E(T^{*}_{new}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])=E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]).

Now, suppose there is some vertex of XX side among the vertices aja_{j} for 1ji1\leq j\leq i. We choose the largest j{1,2,,i}j\in\{1,2,\ldots,i\} such that ajXa_{j}\in X. Then for X=t=j+1i+1XtX^{*}=\bigcup\limits_{t=j+1}^{i+1}X_{t} and Y=t=j+1i+1YtY^{*}=\bigcup\limits_{t=j+1}^{i+1}Y_{t}, we have |Y|=t=j+1i+1|Yt||Y^{*}|=\sum_{t=j+1}^{i+1}|Y_{t}| and |X|=t=j+1i+1|Xt|=|Yj+1|+t=j+2i+1(|Yt|1)=|Y|(ij)|X^{*}|=\sum_{t=j+1}^{i+1}|X_{t}|=|Y_{j+1}|+\sum_{t=j+2}^{i+1}(|Y_{t}|-1)=|Y^{*}|-(i-j). As N(Y)=XN(Y^{*})=X^{*}, by Observation 2.2 we have that the number of pendant vertices from YY^{*} in any spanning tree of GG is at least |Y||X|+1=ij+1|Y^{*}|-|X^{*}|+1=i-j+1. Therefore, iT(Y)|Y|(ij+1)i_{T^{*}}(Y^{*})\leq|Y^{*}|-(i-j+1).

If E(T[j=1i+1Xjj=1i+1Yj])E(T[j=1i+1Xjj=1i+1Yj])E(T^{*}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])\neq E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]), we remove all edges of TT^{*} who have one end in j=1i(XjYj)\bigcup\limits_{j=1}^{i}(X_{j}\cup Y_{j}) and the other in (Xi+1Yi+1)(X_{i+1}\cup Y_{i+1}) and all edges incident with the vertices of Yi+1Y_{i+1} within TT^{*}. We then add all edges from E(T[Xi+1Yi+1])E(T[X_{i+1}\cup Y_{i+1}]) and the edge of TT which connects j=1i(XjYj)\bigcup\limits_{j=1}^{i}(X_{j}\cup Y_{j}) to (Xi+1Yi+1)(X_{i+1}\cup Y_{i+1}) in TT^{*}. As before, if we created cycles with this modification, we remove them with the same method used in Lemmas 5.2 and 5.3. Let TnewT^{*}_{new} denote this updated tree. We have,

i(T)=iT(t=1jXt)+iT(X)+iT(t=i+2pXt)+iT(t=1jYt)+iT(Y)+iT(t=i+2pYt)i(T^{*})=i_{T^{*}}(\bigcup\limits_{t=1}^{j}X_{t})+i_{T^{*}}(X^{*})+i_{T^{*}}(\bigcup\limits_{t=i+2}^{p}X_{t})+i_{T^{*}}(\bigcup\limits_{t=1}^{j}Y_{t})+i_{T^{*}}(Y^{*})+i_{T^{*}}(\bigcup\limits_{t=i+2}^{p}Y_{t})

iT(t=1jXt)+|X|+iT(t=i+2pXt)+iT(t=1jYt)+|Y|(ij+1)+iT(t=i+2pYt)\leq i_{T^{*}}(\bigcup\limits_{t=1}^{j}X_{t})+|X^{*}|+i_{T^{*}}(\bigcup\limits_{t=i+2}^{p}X_{t})+i_{T^{*}}(\bigcup\limits_{t=1}^{j}Y_{t})+|Y^{*}|-(i-j+1)+i_{T^{*}}(\bigcup\limits_{t=i+2}^{p}Y_{t})

=i(Tnew).=i(T^{*}_{new}).
Thus TnewT^{*}_{new} is also a MIST of GG such that

E(Tnew[j=1i+1Xjj=1i+1Yj])=E(T[j=1i+1Xjj=1i+1Yj]).E(T^{*}_{new}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])=E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]).

Hence, (1) is true for p=i+1p=i+1, that is,

E(T[j=1i+1Xjj=1i+1Yj])=E(T[j=1i+1Xjj=1i+1Yj]).E(T^{*}[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}])=E(T[\bigcup\limits_{j=1}^{i+1}X_{j}\cup\bigcup\limits_{j=1}^{i+1}Y_{j}]).

Thus, we get that E(T[XY]=E(T[XY])E(T^{*}[X\cup Y]=E(T[X\cup Y]) in all cases, when flag is 1.

If algorithm arrives at line 17, then flag changes to 2 and it remains 2 throughout the algorithm. So, it searches vertex not of type 2 in the ordering β\beta starting from y1y_{1}. There will be analogous arguments for this case also, using Lemmas 5.4 and 5.5 instead. For a quick justification why, with the assumption flag = 1, the above analysis fails if we encounter a vertex, say u1=yju_{1}=y_{j}, such that u1u_{1} is not type 1 and xiyi+1E(G)x_{i}y_{i+1}\in E(G) for all 1i(j1)1\leq i\leq(j-1). The analogous failure case for the flag = 2 is, when we encounter a vertex u2=xku_{2}=x_{k} that is not of type 2 and yixi+1E(G)y_{i}x_{i+1}\in E(G) for all 1i(k1)1\leq i\leq(k-1). Note that these cases cannot simultaneously occur. Otherwise the analysis is symmetric. Consequently, Algorithm 2 returns a maximum internal spanning tree of GG. ∎

Now, we discuss the running time of Algorithm 2. Suppose Algorithm 2 returns a MIST TT. Recall that we visit the vertices in one of the orders α=(x1,y1,x2,y2,)\alpha=(x_{1},y_{1},x_{2},y_{2},\ldots), or β=(y1,x1,y2,x2,)\beta=(y_{1},x_{1},y_{2},x_{2},\ldots). Furthermore, any vertex encountered during the execution of the algorithm must be pendant in TT. As we never visit the same vertex twice, these pendant vertices are found in linear-time. The remaining graph must have a Hamiltonian path, and finding the Hamiltonian path is also linear-time in our algorithm. So, all the steps of Algorithm 2 can be executed in O(n+m)O(n+m) time. Hence we have the following corollary.

Corollary 5.1.

A maximum internal spanning tree of a bipartite permutation graph can be computed in linear-time.

6 Bounds for Chain Graphs

A bipartite graph G=(X,Y,E)G=(X,Y,E) is a chain graph if the neighborhoods of the vertices of XX form a chain, that is, the vertices of XX can be linearly ordered, say {x1,x2,,xn1}\{x_{1},x_{2},\ldots,x_{n_{1}}\} such that N(x1)N(x2)N(xn1)N(x_{1})\subseteq N(x_{2})\subseteq\ldots\subseteq N(x_{n_{1}}) and n1=|X|n_{1}=|X|. If G=(X,Y,E)G=(X,Y,E) is a chain graph, then the neighborhoods of the vertices of YY also form a chain. If n2=|Y|n_{2}=|Y|, an ordering α=(x1,x2,,xn1,y1,y2,,yn2)\alpha=(x_{1},x_{2},\ldots,x_{n_{1}},y_{1},y_{2},\ldots,y_{n_{2}}) is called a chain ordering if N(x1)N(x2)N(xn1)N(x_{1})\subseteq N(x_{2})\subseteq\ldots\subseteq N(x_{n_{1}}) and N(y1)N(y2)N(yn2)N(y_{1})\supseteq N(y_{2})\supseteq\ldots\supseteq N(y_{n_{2}}). If a vertex xix_{i} appears before xjx_{j} in chain ordering, we write xi<xjx_{i}<x_{j}. Given a chain graph GG, a chain ordering of GG can be computed in linear-time [6]. Note that a chain ordering is also a strong ordering. So, every chain graph is also bipartite permutation graph.

In this section, we will prove the following lower bound for number of internal vertices in a MIST of a chain graph G.

Theorem 6.1.

For a chain graph GG, let PP^{*} be an optimal path cover of GG. Then Opt(G)|E(P)|2Opt(G)\geq|E(P^{*})|-2.

In order to prove Theorem 6.1, we look at optimal path covers of bipartite permutation graphs. [26] gave an algorithm to find an optimal path cover of a bipartite permutation graph. Note that this algorithm applies to chain graphs as well. We will recall the algorithm given in [26], but first we cover some notations used in the algorithm. A path cover P={P1,P2,,Pk}P^{*}=\{P_{1},P_{2},\ldots,P_{k}\} is contiguous if it satisfies the following two conditions:

  1. 1.

    If xXx\in X is the only vertex in PiP_{i} and if x<x<x′′x^{\prime}<x<x^{\prime\prime}, then xx^{\prime} and x′′x^{\prime\prime} belong to different paths.

  2. 2.

    If xyxy is an edge in PiP_{i} and xyx^{\prime}y^{\prime} is an edge in PjP_{j}, where iji\neq j and x<xx<x^{\prime}, then y<yy<y^{\prime}.

A path PP is contiguous if it is one of the following forms: xiyjxi+1yj+1yt1xrx_{i}y_{j}x_{i+1}y_{j+1}\ldots y_{t-1}x_{r}, xiyjxi+1yj+1yt1xrytx_{i}y_{j}x_{i+1}y_{j+1}\ldots y_{t-1}x_{r}y_{t}, yjxiyj+1xi+1xr1ytxry_{j}x_{i}y_{j+1}x_{i+1}\ldots x_{r-1}y_{t}x_{r}, or yjxiyj+1xi+1xr1yty_{j}x_{i}y_{j+1}x_{i+1}\ldots x_{r-1}y_{t} such that rir\geq i and tjt\geq j. Note that every path in a contiguous path cover is contiguous. Let PP be a contiguous path which ends with some edge, say xpyqx_{p}y_{q}. If yqxp+1E(G)y_{q}x_{p+1}\notin E(G), then we say that the path PP is not extendable on the right. A contiguous path is said to be a maximal contiguous path if it is not extendable on the right. An optimal path cover P={P1,,Pk}P^{*}=\{P_{1},\ldots,P_{k}\} is a maximum optimal path cover if each PiP_{i} covers the maximum number of vertices in V(G){P1P2Pi1}.V(G)\setminus\{P_{1}\cup P_{2}\cup\ldots P_{i-1}\}. According to [26], there exists an optimal path cover which is a maximum optimal path cover for any bipartite permutation graph GG such that every path in the path cover is a maximal contiguous path.

As a chain graph is an instance of a bipartite permutation graph, we recall the algorithm from [26] which finds this desired maximum optimal path cover for a chain graph (Algorithm 3). From this point, we will refer such a path cover as an optimal path cover only.

Input: A chain graph G=(X,Y,E)G=(X,Y,E) with the ordering of its vertices
Output: An optimal path cover PP of GG
1Mark all vertices in XX and YY as not visited; let P=P=\emptyset.
2while all vertices of GG are not visited do
 
 3Let xx and yy be the first vertices in XX and YY which are not visited.
 4Let PxP_{x} and PyP_{y} be the maximal contiguous paths starting from xx and yy, respectively.
 5QQ:= Maximum of PxP_{x} and PyP_{y}.
 6P:=PQP:=P\cup Q.
 7Mark all vertices in QQ as visited.
8Output PP.
Algorithm 3 Algorithm for finding an optimal path cover of GG

Now, we give the proof of Theorem 6.1.

Proof of Theorem 6.1.

Let PP^{*} be the optimal path cover obtained from Algorithm 3. A path in PP^{*} is nontrivial if it has at least two vertices. We may assume that the path components of PP^{*} are ordered with respect to their appearance in Algorithm 3. To complete the proof, we will construct a spanning tree by connecting the paths of PP^{*} with edges of GG. Let PP and QQ be two consecutive nontrivial path components in PP^{*}, and we will now find a sufficient edge connecting PP and QQ. We have four cases to consider.

Case 1: PP ends at XX side and QQ starts from XX side
Suppose that PP ends at some vertex xx and QQ starts from some vertex xx^{\prime}, where x<xx<x^{\prime}. Let yy be the vertex adjacent to xx in PP, then yN(x)y\in N(x^{\prime}) as GG is a chain graph. Here, we consider the edge yxyx^{\prime} as the combining edge for path components PP and QQ. We see that yy is internal in PP and xx^{\prime} is pendant in QQ. Fig. 5 provides an illustration.

Refer to caption
Figure 5: Case 1)

Case 2: PP ends at YY side and QQ starts from YY side
As PP^{*} was constructed from Algorithm 3, every path component in PP^{*} is maximal contiguous. But, in this case, PP is extendable on right. So, this case will not arise. Fig. 6 provides an illustration.

Refer to caption
Figure 6: Case 2)

Case 3: PP ends at YY side and QQ starts from XX side
This case will also not arise. The reason is same as of Case 2. Fig. 7 provides an illustration.

Refer to caption
Figure 7: Case 3)

Case 4: PP ends at XX side and QQ starts from YY side
Suppose that PP ends at some vertex xx and QQ starts from some vertex y=yjy=y_{j}. As the number of vertices in GG is finite, path QQ must end at XX or YY. Now, we consider two subcases depending on QQ ending at XX side or YY side.

Subcase 4.1: QQ ends at XX side
Let Q=yxiyj+1xtykxt+1Q=yx_{i}y_{j+1}\ldots x_{t}y_{k}x_{t+1}. As GG is a chain graph, we have that Q=xiyxi+1yk1xt+1ykQ^{\prime}=x_{i}yx_{i+1}\ldots y_{k-1}x_{t+1}y_{k} is also a path in GG. Note that V(Q)=V(Q)V(Q)=V(Q^{\prime}) and QQ^{\prime} is a maximal contiguous path. We can replace QQ with QQ^{\prime} in the path cover PP^{*}. Now as QQ^{\prime} starts from XX, we have reduced to Case 1). Fig. 8 provides an illustration.

Refer to caption
Figure 8: Subcase 4.1

Subcase 4.2: QQ ends at YY side
Let yy^{\prime} be the neighbor of xx in PP and xx^{\prime} be the neighbor of yy in QQ. Since, x<xx<x^{\prime} and GG is a chain graph, edge yxE(G)y^{\prime}x^{\prime}\in E(G). Here, we consider the edge yxy^{\prime}x^{\prime} as the combining edge for path components PP and QQ. We see that yy^{\prime} is internal in PP and xx^{\prime} is also internal in QQ. Fig. 9 provides an illustration.

Refer to caption
Figure 9: Subcase 4.2

We see that in each possible case, we get a combining edge which connects both the path components PP and QQ. If we connect each consecutive nontrivial path component with the combining edges and connect the remaining single vertex components by an arbitrary edge incident with an internal vertex of a nontrivial path component, we obtain a spanning tree of GG.

Suppose PP^{*} has kk path components P1,P2,,PkP_{1},P_{2},\ldots,P_{k}. Let us denote number of edges of the component PiP_{i} by eie_{i} for every 1ik1\leq i\leq k. This implies that e1+e2++ek=|E(P)|e_{1}+e_{2}+\ldots+e_{k}=|E(P^{*})|. Note that the number of internal vertices in a path with eie_{i} edges is ei1e_{i}-1.

We now observe the case where GG is a graph such that Subcase 4.2 does not arise. Note then every combining edge connects one internal and one pendant vertex from different path components. So, i(T)=e11+e2+e3++ek=|E(P)|1i(T)=e_{1}-1+e_{2}+e_{3}+\ldots+e_{k}=|E(P^{*})|-1. Now, suppose that Subcase 4.2 arises for some consecutive nontrivial paths PP and QQ. Here, QQ ends at YY side, say at y0y_{0} and let x0x_{0} be the neighbor of y0y_{0} in QQ. We claim that x0=xn1x_{0}=x_{n_{1}}. If this is not the case then there exists a vertex xx^{*} in XX such that x>x0x^{*}>x_{0} and xV(Q)x^{*}\notin V(Q). But, since GG is a chain graph, we have that (y0,x)E(G)(y_{0},x^{*})\in E(G) which makes QQ, a non-maximal path, a contradiction. Thus, x0=xn1x_{0}=x_{n_{1}} which implies that, if Q′′PQ{{}^{\prime\prime}}\in P^{*} and appears after QQ in Algorithm 3, then Q′′Q^{\prime\prime} is a single vertex path component containing a vertex of YY. This implies that the Subcase 4.2 appears only once. So, i(T)=e11+e2+e3++ek1=|E(P)|2i(T)=e_{1}-1+e_{2}+e_{3}+\ldots+e_{k}-1=|E(P^{*})|-2. Hence, the number of internal vertices in any MIST of GG is at least |E(P)|2|E(P^{*})|-2. ∎

Combining Theorem 2.1 and Theorem 6.1, we can state the following corollary.

Corollary 6.1.

For a chain graph GG, if PP^{*} denotes an optimal path cover then Opt(G)Opt(G) is either |E(P)|1|E(P^{*})|-1 or |E(P)|2|E(P^{*})|-2.

Now, we give examples of chain graphs which shows that both the bounds (given by Theorem 2.1 and Theorem 6.1) are tight. In Fig. 10, G1G_{1} and G2G_{2} are chain graphs and T1T_{1} and T2T_{2} are Maximum Internal Spanning Trees of G1G_{1} and G2G_{2} respectively. We can see that optimal path cover obtained from Algorithm 3 for the graph G1G_{1} is {x1y1x2y2x3,y3x4y4x5y5}\{x_{1}y_{1}x_{2}y_{2}x_{3},y_{3}x_{4}y_{4}x_{5}y_{5}\} which has 88 edges and its MIST T1T_{1} has 66 internal vertices i.e. Opt(G1)=|E(P)|2=82=6Opt(G_{1})=|E(P^{*})|-2=8-2=6. Using Observation 2.2, it can be verified that any MIST of G1G_{1} has at least four pendant vertices, two from XX side and two from YY side; so, G1G_{1} can have at most 66 internal vertices in its MIST. Hence, T1T_{1} is indeed a MIST of G1G_{1}. In a similar manner, optimal path cover obtained from Algorithm 3 for the graph G2G_{2} is {x1y1x2y2x3,y3x4y4x5y5x6}\{x_{1}y_{1}x_{2}y_{2}x_{3},y_{3}x_{4}y_{4}x_{5}y_{5}x_{6}\} which has 99 edges and its MIST T2T_{2} has 88 internal vertices i.e. Opt(G2)=|E(P)|1=91=8Opt(G_{2})=|E(P^{*})|-1=9-1=8.

Refer to caption
Figure 10: examples showing that bounds are tight

Corollary 6.1 states that |E(P)|2Opt(G)|E(P)|1|E(P^{*})|-2\leq Opt(G)\leq|E(P^{*})|-1 where PP^{*} is an optimal path cover of a chain graph GG. We now argue that if GG is a bipartite permutation graph, then Opt(G)Opt(G) cannot be lower bounded with value |E(P)|k|E(P^{*})|-k for any fixed natural number kk. Below, for every natural number kk, we give a construction of a bipartite permutation graph such that Opt(G)=|E(P)|O(5k)Opt(G)=|E(P^{*})|-O(5k).

For every integer n=5k(k1)n=5k~(k\geq 1), we construct a connected bipartite permutation graph GnG_{n} with nn vertices and Opt(Gn)=|E(P)|O(n)Opt(G_{n})=|E(P^{*})|-O(n). For all 1ik1\leq i\leq k, let Xi={x1i,x2i}X_{i}=\{x_{1}^{i},x_{2}^{i}\} and Yi={y1i,y2i,y3i}Y_{i}=\{y_{1}^{i},y_{2}^{i},y_{3}^{i}\} if ii is even and Xi={x1i,x2i,x3i}X_{i}=\{x_{1}^{i},x_{2}^{i},x_{3}^{i}\} and Yi={y1i,y2i}Y_{i}=\{y_{1}^{i},y_{2}^{i}\} for odd ii. Let V(Gn)=V1V2VkV(G_{n})=V_{1}\cup V_{2}\cup\ldots\cup V_{k} where Vi=XiYiV_{i}=X_{i}\cup Y_{i} for all 1ik1\leq i\leq k. Let E(Gn)=E1E2EkEE(G_{n})=E_{1}\cup E_{2}\cup\ldots\cup E_{k}\cup E^{\prime} where Ei={xy|xXi,yYi}E_{i}=\{xy|x\in X_{i},y\in Y_{i}\} for each 1ik1\leq i\leq k and EE^{\prime} is the set of edgs of the form y2ix1i+1y_{2}^{i}x_{1}^{i+1} if ii is odd and x2iy1i+1x_{2}^{i}y_{1}^{i+1} if ii is even for each 1i(k1)1\leq i\leq(k-1). We see that GnG_{n} is a bipartite permutation graph with nn vertices and n+2k1n+2k-1 edges. Algorithm 3 gives an optimal path cover PP^{*} for GnG_{n} having 4k4k edges and Algorithm 2 gives a MIST with 3k3k internal vertices. So, we get that Opt(Gn)=3k=4kk=4kn5=|E(P)|O(n)Opt(G_{n})=3k=4k-k=4k-\frac{n}{5}=|E(P^{*})|-O(n). Fig. 11 provides an illustration for G25G_{25}.

Refer to caption
Figure 11: Graph G25G_{25}, its optimal path cover PP^{*} from Algorithm 3 and its MIST TT from Algorithm 2

Thus Opt(G)Opt(G) for bipartite permutation graphs do not have lower bound of the form |E(P)|k|E(P^{*})|-k for some fixed natural number kk, independent of nn.

7 Conclusion

We studied the Maximum Internal Spanning Tree (MIST) problem, a generalization of Hamiltonian path problem. As the MIST problem remains NP-hard even for bipartite graphs and chordal graphs due to a reduction from the Hamiltonian path problem [10, 18], we further investigated the complexity of special instances of these classes, chain graphs, bipartite permutation graphs and block graphs. We also investigated cactus graphs and cographs, finding linear-time algorithms for the MIST problem for each of these graph classes.

[15] proved an upper bound for Opt(G)Opt(G) in terms of an optimal path cover. We further studied this relationship between path covers and Opt(G)Opt(G) and showed tight lower bounds for chain graphs and cographs. We also showed this phenomenon does not hold for general graphs with a construction of bipartite permutation graph and block graph such that Opt(G)Opt(G) is arbitrarily far from |E(P)||E(P^{*})|.

A convex bipartite graph GG with bipartition (X,Y)(X,Y) and an ordering X=(x1,x2,,xn)X=(x_{1},x_{2},\ldots,x_{n}), is a bipartite graph such that for each yYy\in Y, the neighborhood of yy in XX appears consecutively. Complexity status of the MIST problem is still open for convex bipartite graphs, which is a superclass of bipartite permutation graphs and subclass of chordal bipartite graphs. Designing an algorithm for MIST in convex bipartite graphs will be a good research direction.

The weighted version of the MIST problem is also well studied in literature [21]. Given a vertex-weighted connected graph GG, the maximum weight internal spanning tree (MwIST) problem asks for a spanning tree TT of GG such that the total weight of internal vertices in TT is maximized. Since MwIST problem is a generalization of the MIST problem, one may also investigate the complexity status of MwIST problem for some special classes of graphs.

To our knowledge, every known hardness proof for the MIST problem on families of graphs relies on a reduction to Hamiltonian path problem. We leave as an open question if there exists a family of graphs such that Hamiltonian path problem is polynomial time, yet the MIST problem remains NP-hard.

References

  • [1] Binkele-Raible D, Fernau H, Gaspers S, Liedloff M, Exact and parameterized algorithms for max internal spanning tree, Algorithmica 65(1) (2013): 95-128.
  • [2] Chen ZZ, Harada Y, Guo F, Wang L, An approximation algorithm for maximum internal spanning tree, Journal of Combinatorial Optimization 35(3) (2018): 955-979.
  • [3] Cohen N, Fomin FV, Gutin G, Kim E, Saurabh S, Yeo A, Algorithm for finding k-vertex out-trees and its application to k-internal out-branching problem, Journal of Computer and System Sciences 76(7) (2010): 650-662.
  • [4] Fomin FV, Gaspers S, Saurabh S, Thomassé S, A linear vertex kernel for maximum internal spanning tree, Journal of Computer and System Sciences 79(1) (2013): 1-6.
  • [5] Garey MR, Johnson DS, Computers and intractability, vol 174, freeman San Francisco (1979).
  • [6] Heggernes P, Kratsch D, Linear-time certifying recognition algorithms and forbidden induced subgraphs, Nord J Comput 14(1-2) (2007) :87-108.
  • [7] Heggernes P, Van’t Hof P, Lokshtanov D, Nederlof J, Computing the cutwidth of bipartite permutation graphs in linear time, SIAM Journal on Discrete Mathematics 26(3) (2012): 1008-1021.
  • [8] Jung HA, On a class of posets and the corresponding comparability graphs, Journal of Combinatorial Theory, Series B 24(2) (1978): 125-133.
  • [9] Knauer M, Spoerhase J, Better approximation algorithms for the maximum internal spanning tree problem, Algorithmica 71(4)(2015): 797-811.
  • [10] Lai TH, Wei SS, The edge hamiltonian path problem is np-complete for bipartite graphs, Information processing letters 46(1) (1993): 21-26.
  • [11] Lai TH, Wei SS, Bipartite permutation graphs with application to the minimum buffer size problem, Discrete applied mathematics 74(1) (1997): 33-55.
  • [12] Li W, Wang J, Chen J, Cao Y, A 2k-vertex kernel for maximum internal spanning tree, In: Workshop on Algorithms and Data Structures, Springer (2015), pp 495-505.
  • [13] Li W, Cao Y, Chen J, Wang J, Deeper local search for parameterized and approximation algorithms for maximum internal spanning tree, Information and Computation 252 (2017):187-200.
  • [14] Li X, Zhu D, Approximating the maximum internal spanning tree problem via a maximum path-cycle cover, In: International Symposium on Algorithms and Computation, Springer (2014), pp 467-478.
  • [15] Li X, Feng H, Jiang H, Zhu B, Solving the maximum internal spanning tree problem on interval graphs in polynomial time, Theoretical Computer Science 734 (2018): 32-37.
  • [16] Lin R, Olariu S, Pruesse G, An optimal path cover algorithm for cographs, Computers and Mathematics with Applications 30(8) (1995): 75-83.
  • [17] Lu HI, Ravi R, The power of local optimization: Approximation algorithms for maximum-leaf spanning tree, In: Proceedings of the Annual Allerton Conference on Communication Control and Computing, University of Illinois, (1992), pp 533-533.
  • [18] Müller H, Hamiltonian circuits in chordal bipartite graphs, Discrete Mathematics 156(1-3) (1996): 291-298.
  • [19] Pak-Ken W, Optimal path cover problem on block graphs, Theoretical computer science 225(1-2) (1999): 163-169.
  • [20] Prieto E, Sloper C, Either/or: Using vertex cover structure in designing fpt-algorithms-the case of k-internal spanning tree, In: Workshop on Algorithms and Data Structures, Springer (2003), pp 474-483.
  • [21] Salamon G, Approximating the maximum internal spanning tree problem, Theoretical Computer Science 410(50) (2009): 5273-5284.
  • [22] Salamon G, Degree-based spanning tree optimization, PhD Thesis (2010).
  • [23] Salamon G, Wiener G, On finding spanning trees with few leaves, Information Processing Letters 105(5) (2008): 164-169.
  • [24] Seinsche D, On a property of the class of n-colorable graphs, Journal of Combinatorial Theory, Series B 16(2) (1974):191-193.
  • [25] Spinrad J, Brandstädt A, Stewart L, Bipartite permutation graphs, Discrete Applied Mathematics 18(3) (1987): 279-292.
  • [26] Srikant R, Sundaram R, Singh KS, Rangan CP, Optimal path cover problem on block graphs and bipartite permutation graphs, Theoretical Computer Science 115(2) (1993): 351-357.