Solving the Maximum Matching Problem on Bipartite Star 123-Free Graphs in Linear Time

The bipartite Star123-free graphs were introduced by V. Lozin in [1] to generalize some already known classes of bipartite graphs. In this paper, we extend to bipartite Star123-free graphs a linear time algorithm of J. L. Fouquet, V. Giakoumakis and J. M. Vanherpe for finding a maximum matching in bipartite Star123, P7-free graphs presented in [2]. Our algorithm is a solution of Lozin’s conjecture.


Introduction
A matching M of a graph ( ) = is a subset of edges with the property that no two edges of M share a common vertex.A matching is called induced if the subgraph of G induced by M consists of exactly M itself.The maximum matching problem is to find a matching with the maximum cardinality.Graph matching is one of the fundamental problems in combinatorial optimization because of its use in various fields such as computational biology [3], pattern recognition [4], computer vision [5], music information retrieval [6], and computational music theory [7].For arbitrary graphs, it is known that this problem can be solved in

( )
O m n time [8].Moitra and Johnson gave an n time algorithm on interval graphs [9].In addition Alt, Blum, Mehlhorn, and Paul gave an ( ) m n time algorithm on bipartite graphs [10].In [11] Yu and Yang exhibited an ( ) Star -free bipartite graphs introduced by Quaddoura in [14].

Definitions and Properties
For terms not defined in the paper the reader can refer to [15].The graphs considered in this paper are finite without multiple edges and loops.As usual, for any graph G we denote the set of its vertices by ( ) V G and by

( )
E G the set of its edges (or simply by V and E if there is no risk of confusion) and their respective cardinali- ties by n and m.A bipartite graph ( ) is defined by two disjoint vertex subsets B the black vertices and W the white ones, and a set of edges E B W ⊆ × .The bi-complement of a bipartite graph ( ) =  is the bipartite graph defined by ( ) If the color classes B and W are both non empty, the graph will be called bichromatic, monochromatic otherwise.A vertex x will be called isolated (resp.universal) if x has no neighbors in G (resp. in bip G ).A complete bipartite graph is a graph having only universal white vertices and universal black vertices.A stable set is a subset of pairwise non-adjacent vertices.A chordless path on k vertices is denoted by k P and a chordless cycle on k vertices is denoted by k C .Given a subset X of the vertex set ( ) V G , the subgraph induced by X will be denoted by [ ] − is either adjacent to all vertices in A or none of them.The representative graph of a graph G is the subgraph of G induced by the set of vertices containing one vertex from each proper maximal module of G.A graph G is called Z-free where Z is a set of graphs, when G does not contain an induced subgraph isomorphic to a graph of Z.
Definition 1 [2].Given a bipartite graph ( ) of order at least 2, G is K S + graph if and only if G contains an isolated vertex or its vertex set can be decomposed into two sets K and S such that K induces a complete bipartite graph while S is a stable set.Property 2 [2].Let ( ) =  be a bipartite graph of order at least 2. G is K S + graph if and only if there exists a partition of its vertex set into two non empty classes 1 V and 2 V such that all possi- ble edges exists between the black vertices of 1 V and the white vertices of 2 V while there is no edge connecting a white vertex of 1 V with a black vertex of 2 V .
Such partition is referred as associated partition of G and is denoted by the ordered pair ( 1 V , 2 V ) [2].
Property 3 [2].A bipartite graph G is a K S + graph if and only if G admit a unique (up to isomorphism) partition of its vertex set ( ) satisfying the following conditions: 1) ( ) The partition ( ) of the above property is called K S + decomposition while a set i V said to be K S + component of the graph.From K S + decomposition together with the decomposition of bipartite graph G into its connected components (parallel decomposition) or those of bip G (series decomposition) yield a new decomposition scheme for G called canonical decomposition.It is shown in [2] that whatever the order in which the decomposition operators are applied ( K S + decomposition, series decomposition or parallel decomposition), a unique set of indecomposable (or prime) graphs with respect to canonical decomposition is obtained.Obviously, a unique tree is associated to this decomposition.The internal nodes are labeled according to the type of decomposition applied, while every leaf correspond to a vertex of G. Hence there are four types of internal nodes, parallel node (labeled P), series node (labeled S), K S + node (labeled K S + ), and indecomposable node (labeled N).By convention, the set of vertices corresponding to the set of leafs having an internal node α as their least common an- cestor will be denoted simply by α .
Lozin in [1] gives the following characterization for bipartite Star 123 -free graphs.
Theorem 4 [1].Let G be a bipartite Star 123 -free graph.One of the following hold.a bi-complement of an extended path k EP or an extended cycle k EC or a bi-complement of an extended cycle k EC respectively.More precisely, (see Figure 2).Definition 5 [14].A graph G is said to be an extended path k EP if there is a partition of the vertex set of Definition 6 [14].A graph G is said to be an extended cycle k EC if there is a partition of the vertex set of The construction of the canonical decomposition tree of a bipartite Star 123 -free graph can be obtained in linear time from the algorithm given by Quaddoura in [14].According to this algorithm, every child of a N-node is a node marked by P′ corresponding to a set , 1, ,

Maximum Matching of Bipartite Star123-Free Graphs
In this section we will extend the techniques developed in [2] to provide an

( )
O n time algorithm for the maximum matching problem on bipartite Star 123 -free graph.We present first the required tools for this purpose.
A classical tool for solving the maximum matching problem was introduced by Berge in [16].Let M be any matching of a graph ( ) , an M-alternating path is a path whose edges are alternately in M and in E M − .If some edge of M is incident to a vertex v, this vertex is said to be saturated by M, otherwise v is M-unsaturated.An M-augmenting path is an M-alternating path whose both endpoints are M-unsaturated.Theorem 7 [16].A matching M of a graph G is maximum matching if and only if G contain no M-augmenting path.
Consider a bipartite graph G such that G admit a decomposition according to some rule into two graphs 1 G and 2 G .Let M M M =  which is a matching of G.In order to increase the size of M we use the operations Match and Split (see [11]) described below.
Let 1 U be the set of U .Let U be the set of M-unsaturated vertices, a Split operation occurs if there exists an edge of M say xy and vertices u and v belonging to U such that u is adjacent to x and v is adjacent to y.In that case the Split operation constructs a new matching M ′ defined by , the vertices u and v being saturated by M ′ and deleted from U and the edge xy is deleted from M. Note that, if ( ) is a bipartite complete then a maximum matching of G can be obtained by applying Match operations between the two sets B and W.
Let now G be a bipartite Star 123 -free graph and ( ) T G is its canonical decomposition tree.For our purpose we shall modify ( ) T G to a binary tree ( ) BT G as follows: We visit all nodes of ( ) BT G .For this purpose we distinguish the following cases according to the type of α .

α Is of Type P, S or K + S
Consider now the set In the case when α is of type S or K + S we use the same technique used in [6] to find a maximum matching of [ ] , Match U U be the matching of [ ] G α obtained when all possible Match operations have been sequentially performed.Let now U be the set of M-unsaturated vertices, and Let

[ ]
, Split U M be the matching obtained when all possible Split operations have been sequentially performed.

α Is of Type N
In this section we will develop an

( )
O n algorithm to find a maximum matching of an extended path

( )
O n algorithm to find a maximum matching of their bi-complement (see Definitions 5 and 6).We can suppose that  the matching of the bipartite complete graph obtained by Match operations between the two monochromatic sets i V and j V .When an edge xy is added to this matching where i x V ∈ and j y V ∈ then x will be deleted from i V and y will be deleted from j V .Note that, during the execution of Pro- cedure MAXMATCH , , this is because some vertices of i V or j V may already be saturated.

α Is EPk or ECk
Procedure MAXMATCH , EP EC provides a maximum matching of an extended path k EP or an extended cycle k EC .By convention, every monochromatic set of an extended path or an extended cycle has an odd index consists of black vertices and those having an even index consist of white ones.For the purpose of simplification, the length k of the extended path in this Procedure is considered to be odd, if this length is even then the set 2 1 n V ′+ is considered to be empty. , , EP EC produces a maximum matching of G. Proof.Let  be an M-augmenting path in G. Since G is a bipartite, t is even, so 1 v and t v are of different colors.Without loss of generality, assume that 1 v is a black vertex and t v is white.Let ( ) According to our Procedure, the edge ,  , but before this step, the edge 1 1 ∈ then according to our Procedure, the edge v must be added to M, so 2 j < − .But now the set 2 1 j V + must contain a vertex of P, a contradiction with Claim 1. ■ Suppose that G is an k EP or G is an k EC such that there is no edge of P connecting 1 V and k V .If j r < then either 2 1 j V + contains a vertex of P or there is an edge of P connecting 1 V and k V , a contradiction.If j r > then either 2 2 r V + contains a vertex of P or there is an edge of P connecting 1 V and k V , a contradiction.Therefore j r = .But now the edge 1 t v v must be added to M by the operation [ ] Suppose now G is an k EC and there is an edge of P connecting 1 V and k V .Let contain a vertex of P, a contradiction with Claim 1. Therefore ∈ .Since the vertex 1 v is a black non-saturated vertex, the edge 1 i i v v + does not belong to M, By our choice of the edge , Match V V .But before this step, the edge i t v v must be added to M by the operation [ ] The following Table 1 illustrates a trace of the Procedure MAXMATCH , EC , we must also design an order of applying Match operations and Split operations to ensure that the resulting matching is maximum.For this purpose, we will study first the structure of a M-augmenting path of a matching M of α obtained by doing in an arbitrary order all possible Match operations then all possible Split operations (Lemma 12 and Lemma 13).Knowing this structure will enable us to design an order of applying Match operations (Procedure Match (G)) then developing a Procedure of a maximum matching M for bip k EP or bip k EC .Recall that when an edge xy is added to a matching M by a Match operation ,

α Is
 where i x V ∈ and j y V ∈ then x will be deleted from i V and y will be deleted from j V .In addition, we suppose here that Match operation associates labels with x and y as ( ) ( ) V V + and , Proof.By the hypothesis of the Lemma, all the M-unsaturated vertices must be in independent sets.Obviously any three consecutive sets are independent and the maximum number of independent sets is three.
and M is a matching of G obtained when all possible Match operations have been performed (in an arbitrary order).The following Procedure determines the sets 1 2 , , which are the possible location of M-unsaturated vertices.Note that when bip k G EC = , the sets k V and 1 V are consecutive.
Procedure M-unsaturated vertices (G, M) 1) the small index , , , , , , According to Lemma 11, one of the two M-unsaturated vertices of any M-augmenting path in G is in s V and the second in 1 s V + , or one in 1 s V + and the second in 2 s V + .Consider first a M-augmenting path in G which its M-unsaturated vertices are in s V and in To augment the size of M, Split operations can be done between the M-unsaturated vertices of s V , the M-unsaturated vertices of 1 s V + and the edges of M whose extremities belong to monochromatic sets non-inde- pendent of s V and 1 s V + , namely the edges of M whose extremities don't belong to assuming that u and x also v and y are of different color end while The following Lemma describes the structure of a M-augmenting path whose extremities belong to s V and 1 s V + .

Lemma 12. After the execution of
V is any non-independent set of s V and j V is any non-independent set of , , Obviously, the color of every vertex of P having an odd index (resp.even index) is as the color of 1 v (resp.t v ).Let i v be the first vertex of P having an odd index and belongs to a set distinct of s V , then v be the last vertex of P having an even index and belongs to a set distinct of . Now the path P can be reduced to the M-augmenting path . □ Consider now M-augmenting path in G such that its M-unsaturated vertices are in s + , we obtain the Procedure Split ( ) and Lemma 13which describes the structure of a M-augmenting path whose extremities belong to assuming that u and x also v and y are of different color end while Lemma 13.After the execution of Procedure Split ( ) if there is a M-augmenting path We start now by developing a Procedure for a maximum matching in

G EC =
. The order of applying Match operations is defined in following Procedure which called MATCH (G).Recall that either 2 Procedure MATCH (G) works as following, for every 2 i = to n′ (or to • Add to M the possible edges between 2 1 i V − as long as it is non empty and (the non-independent sets of 2 1 , , ,  with respect to this order, where l determines the last non empty set in 2 2 2 , , i V V −  during the for loop iterations 2, , 1 i −  .• Add to M the possible edges between 2i V as long as it is non empty and (the non-independent sets of 2i V having indices less than 2i)  with respect to this order, where h determines the last non empty set in 1 during the for loop iterations 2, , 1 i −  .Observation 14.According to Procedure MATCH (G): • if xy is an edge of M created by the operation ,  have been added to M before adding the edges of ,  have been added to M before adding the edges of , , , V ≠ ∅ then //Assuming that x and the vertices of k V also y and the vertices of V is any non-independent set of r V and j V is any non-independent set of  .Therefore, the edge 1 2 v v must be added to M instead of adding the edge 2 3 v v , a contradiction.■ Claim 2. r s = . Proof.
V and j V is any non-independent set of 1 V .Claim 3. The edge 4 5 v v is obtained by Split operation.Proof.Suppose that the edge 4 5 v v is obtained by Match operation.Since 1  exists and must precede the operation 1 ,  .Therefore, the edge 5 6 v v must be added to M instead of adding the edge 4 5 v v , a contradiction.■ Claim 4. v v .The vertex 5 v must be identical to x or to y.Let x be the vertex 5 v and let h y V ∈ .By the definition of M ′ , 1 h ≠ .Obviously, xy was not created by split operation.By Observation . Procedure M-unsaturated vertices ( ) , G M gives that ,

The Whole Algorithm
Let us present now our algorithm for the maximum matching problem on bipartite 123 Star -free graphs.Theo- rems 8, 9, 10, and 15 prove its correctness.

Algorithm Maximum Matching
Input: A bipartite 123 Star -free graph G and its binary canonical decomposition tree ( ) BT G .
Output: M a maximum matching of G and U the set of M-unsaturated vertices of G.
1) Let α be a node on a postorder traversal of ( ) 2) If α is a leaf or α is a P′ -node then 3) Else if α is a N-node then.

Complexity
We show now that the complexity of our algorithm is

Figure 3
illustrates a bipartite Star 123 -free graph and its canonical decomposition tree.

Figure 3 .
Figure 3.A bipartite Star 123 -free graph and its canonical decomposition tree.

1 M and 2 M
be maximum matchings of 1 G and 2 G , let 1 2

α 1 M 2 G α where 1 α and 2 α
For a node α of type P, S or K S remains its left child and ' α is its new child labeled by P, S or K S + respectively with 2 , , k α α  are its children.For a N-node α , using the Procedure MAXMATCH , which find a maximum matching of an extended path k EP or an extended cycle k EC or their bi-complements, we replace α by a leaf ' α together with a maximum matching of the subgraph [ ] G α and the set of unsatureted vertices with respect to this matching.Our algorithm uses post order traversal to visit all the nodes of ( ) BT G .Whenever an internal node α of this binary tree is visited, we compute a maximum matching of [ ] G α from the maximum matching are the two children of α in ( )

−
has been added to M by the operation 2 2 1 matching obtained by the Procedure MAXMATCH , k k EP EC is ensured to be maximum because of the order of applying Match operations.In the case when α is bip k EP or bip k be a matching of G obtained when all possible Match operations have been performed.If there are at least two M-unsaturated vertices of different color then all the M-unsaturated vertices are located in at most three consecutive monochromatic sets − , every edge of M has an extremity in 1 1 + .Let xy M ′ ∈ be the edge which was in M and which has been used in step 4 of the Procedure Split ( ) α by a leaf α ′ together with M and U. 8) Else let 1 α and 2 α be the two children of α in ( ) variables l and h in Procedure MATCH (G) assure that the sum of iterations of all while loops in this Procedure is ( ) O n′ .Since n n or

Table 2
illustrates a trace of the Procedure MATCH (G) for the The second and the third column of this table represent the execution of steps 5 and 10 respectively.

Table 2 .
Illustration of Procedure MATCH (G) for the + .Without loss of generality, assume that 2 3 v v is ob- Therefore one of the sets M ′ and M ′′ in step 8 must be empty.This is contradicted with the fact that 2 3