Bipartite ( P 6 , C 6 )-Free Graphs: Recognition and Optimization Problems

: The canonical decomposition of a bipartite graph is a new decomposition method that involves three operators: parallel, series, and K (cid:76) S . The class of weak-bisplit graphs is the class of totally decomposable graphs with respect to these operators, and the class of bicographs is the class of totally decomposable graphs with respect to parallel and series operators. We prove in this paper that the class of bipartite ( P 6 , C 6 ) -free graphs is the class of bipartite graphs that are totally decomposable with respect to parallel and K (cid:76) S operators. We present a linear time recognition algorithm for ( P 6 , C 6 ) -free graphs that is symmetrical to the linear recognition algorithms of weak-bisplit graphs and star 1,2,3 -free bipartite graphs. As a result of this algorithm, we present efficient solutions in this class of graphs for two optimization graph problems: the maximum balanced biclique problem and the maximum independent set problem.


Introduction
All graphs under consideration are undirected and simple.A graph G = (V, E) is called bipartite if the vertex set V can be partitioned into two sets: B, called the black vertices, and W, called the white vertices, such that E ⊆ B × W. So, a bipartite graph will be referred to as G = (B ∪ W, E).This property makes bipartite graphs useful in various practical applications, including recommender systems [1], social networks [2], and information retrieval [3].A bipartite graph G = (B ∪ W, E) is called complete or biclique if E = B × W. A complete bipartite graph with |B| = n and |W| = m is referred to as K n,m .A Star i,j,k is a tree for which there is only one vertex v of degree three and three other vertices of degree one such that the distance from v to those vertices are, respectively, i, j, and k.For example, K 1,3 is Star 1,1,1 .We can remark that every connected component in a bipartite Star 1,1,1 -free graph is either a chordless path or a chordless cycle.Fouquet et al. in [4] presented a decomposition method concerning bipartite graphs, called canonical decomposition, which is based on three operators: series, parallel, and K S. They proved that the class of graphs that are totally decomposable with respect to these three operators of decomposition is the class of bipartite Star 1,2,3 , P 7 -free graphs, which is called the class of weak-bisplit graphs since it is considered as a bipartite analog of the class of split graphs.The class of weak-bisplit graphs is a natural generalization of the class of bipartite P 6 , C 6 -free graphs, which is a natural generalization of the class of bipartite Star 1,2,2 -free graphs, studied by Lozin in [5].Giakoumakis et.al. [6] defined the class of bicographs as a bipartite analog of the class of cographs.It is proved in [6] that the class of bicographs is exactly the class of bipartite Star 1,2,3 , P 7 , Sun 4 -free graphs (see Figure 1) and is the class of totally decomposable graphs with respect to parallel and series decompositions.We prove in this work that the class of bipartite (P 6 , C 6 )-free graphs is the class of totally decomposable graphs with respect to parallel and K S decompositions.As a result of this fact, the class of bipartite (P 6 , C 6 )-free graphs can be recognized in linear time using the recognition algorithm of weak-bisplit graphs presented in [7] or the recognition algorithm of Star 1,2,3 -free graphs presented in [8].However, since these two algorithms contain several redundant cases when projected to bipartite (P 6 , C 6 )-free graphs, we propose a symmetric algorithm of these two algorithms to adapt only the class of bipartite (P 6 , C 6 )free graphs.As a result of this adapted algorithm, we present efficient solutions in this class of graphs for two optimization graph problems: the first is the maximum balanced biclique problem, and the second is the maximum independent set problem.
Symmetry 2024, 16, x FOR PEER REVIEW 2 of 15 in linear time using the recognition algorithm of weak-bisplit graphs presented in [7] or the recognition algorithm of  , , -free graphs presented in [8].However, since these two algorithms contain several redundant cases when projected to bipartite ( ,  )-free graphs, we propose a symmetric algorithm of these two algorithms to adapt only the class of bipartite ( ,  )-free graphs.As a result of this adapted algorithm, we present efficient solutions in this class of graphs for two optimization graph problems: the first is the maximum balanced biclique problem, and the second is the maximum independent set problem.

Notation and Terminology
For a graph , we use () to represent its vertex set and () to represent its edge set.The number |()| is represented by  and the number |()| is represented by .If the two vertex sets  and  in a bipartite graph  = ( ∪ , ) are both nonempty, the graph is referred to as bichromatic; otherwise, it is monochromatic.The bicomplement of bipartite graph  = ( ∪ , ) is defined as  ̅ = ( ∪ ,   − ).The set of neighbors of a vertex  in  is represented by (), and the number |()| is referred to as the degree of  and is represented by ().A vertex  is considered isolated if () = 0 and is considered universal if () = || when  ∈  or () = || when  ∈ .A 2 is the complement of  .A subset  of vertices of () is called an independent set if there is no edge between any two vertices of .The subgraph induced by a subset  of vertices of () is represented by  [𝑋].A graph  is considered -free, where  is a set of graphs, if for any subset  ⊆ (), [] ∉ ; that is, there is no sub-graph of  isomorphic to a graph in .The decomposition of graphs according to predefined operators is a powerful method for obtaining efficient solutions to a large number of graph problems.The reader can find a survey on graph decomposition methods and their uses in [9].In this direction, Fouquet et al. in [4] presented a decomposition method concerning bipartite graphs, which is based on three operators: decomposing a bipartite graph into connected components, decomposing the bi-complement of a bipartite graph into connected components, and decomposing a bipartite graph into ⨁ components.Our recognition algorithm of bipartite ( ,  ) -free graphs depends mainly on this method of decomposition, so to introduce our algorithm, we need to present an overview of this method.
Definition 1 [4].A bipartite graph  = ( ∪ , ) where  2 is a ⨁ graph if the vertex set () contains an isolated vertex or there is a partition of () into two sets: a biclique set  and an independent set .
Property 1 [4].A bipartite graph  = ( ∪ , ) with  2 is a ⨁ graph if and only if () can be partitioned into two sets,  and  , such that for every black vertex  ∈  and every white vertex  ∈  ,  ∈ ; and for every white vertex  ∈  and every black vertex  ∈  ,  ∉ .

Notation and Terminology
For a graph G, we use V(G) to represent its vertex set and E(G) to represent its edge set.The number |V(G)| is represented by n and the number |E(G)| is represented by m.If the two vertex sets B and W in a bipartite graph G = (B ∪ W, E) are both nonempty, the graph is referred to as bichromatic; otherwise, it is monochromatic.The bi-complement , and the number |N(v)| is referred to as the degree of v and is represented by A subset S of vertices of V(G) is called an independent set if there is no edge between any two vertices of S. The sub-graph induced by a subset X of vertices of V(G) is represented by G[X].A graph G is considered Z-free, where Z is a set of graphs, if for any subset X ⊆ V(G), G[X] / ∈ Z; that is, there is no sub-graph of G isomorphic to a graph in Z.The decomposition of graphs according to predefined operators is a powerful method for obtaining efficient solutions to a large number of graph problems.The reader can find a survey on graph decomposition methods and their uses in [9].In this direction, Fouquet et al. in [4] presented a decomposition method concerning bipartite graphs, which is based on three operators: decomposing a bipartite graph into connected components, decomposing the bi-complement of a bipartite graph into connected components, and decomposing a bipartite graph into K S components.Our recognition algorithm of bipartite (P 6 , C 6 )-free graphs depends mainly on this method of decomposition, so to introduce our algorithm, we need to present an overview of this method.
Definition 1 [4].A bipartite graph G = (B ∪ W, E) where n ≥ 2 is a K S graph if the vertex set V(G) contains an isolated vertex or there is a partition of V(G) into two sets: a biclique set K and an independent set S.
Property 1 [4].A bipartite graph G = (B ∪ W, E) with n ≥ 2 is a K S graph if and only if V(G) can be partitioned into two sets, V 1 and V 2 , such that for every black vertex b ∈ V 1 and every white vertex w ∈ V 2 , bw ∈ E; and for every white vertex w ∈ V 1 and every black vertex b ∈ V 2 , bw / ∈ E.
We denote the ordered pair (V 1 , V 2 ) to represent the partition of the vertex set V(G) of K S graph G and we called it a K S partition of G.
Property 2 [4].In a bipartite graph G = (B ∪ W, E) that does not contain universal or isolated vertices, either G is a K S graph or, for any partition of the black vertices B or white vertices W into two sets X 1 and X 2 , there is an induced 2K 2 in G with vertices in both X 1 and X 2 .
Corollary 1 [4].If a graph G is not a K S graph, then for every vertex v ∈ V(G), v is a vertex of some 2K 2 .
Theorem 1 provides a method for decomposing a graph of type K S.
Theorem 1 [4].A bipartite graph G is a K S graph if and only if there exists a unique partition (V 1 , . . . ,V r ) of V(G), such that the following conditions hold: The partition (V 1 , . . . ,V r ) of the vertex set V(G) is called the K S decomposition of the graph G, and each set V i is referred to as a K S component of G.
According to Theorem 1, the arrangement of components in a K S decomposition is important.Specifically, let (V 1 , . . . ,V r ) be the K S decomposition of G; if a black vertex b ∈ V i , then for every white vertex w ∈ V j where j > i, bw ∈ E(G), and for every white vertex w ∈ V k where k < i, bw / ∈ E(G).Similarly, if a white vertex w ∈ V i , then for every black vertex b ∈ V j where j > i, bw / ∈ E(G), and for every black The canonical decomposition of a bipartite graph G is a new decomposition method defined in [4] as follows:

•
Decompose G into its K S components; if G is a K S graph, this decomposition is called K S decomposition and is denoted by K S.

•
Decompose G into the connected components of G; if G is not a connected graph, this decomposition is called parallel decomposition and is denoted by P.
• Decompose G into the connected components of G bip ; if G bip is not a connected graph, this decomposition is called series decomposition and is denoted by S.

•
If G cannot be decomposed in K S, parallel, or series decomposition, then G is called an indecomposable graph or a prime graph.
It has been proven in [4] that no matter the order in which the operator of the decomposition is applied (series decomposition, parallel decomposition, or K S decomposition), the set of indecomposable graphs obtained is unique.This also creates a unique tree (up to isomorphism) associated with this decomposition known as the canonical decomposition tree.The internal nodes of the tree are labeled by the type of decomposition applied, and the leaves correspond to indecomposable graphs.Figure 2 shows an illustration of a bipartite graph and its canonical decomposition tree.
The canonical decomposition tree T(G) of a bipartite graph G resulting in an order from the K S decomposition, parallel decomposition, and series decomposition procedure has several properties outlined below.The terms vertex node, son, parent, and grandparent are used in their conventional sense.If α is an internal node, then G[α] is the sub-graph induced by the set of vertex nodes having α as their least common grandparent.
(1) The tree T(G) consists of three types of internal nodes: parallel nodes denoted by P, series nodes denoted by S, and K S-nodes.
(2) Two consecutive internal nodes cannot have the same label.
(3) An internal node δ labeled P or S cannot have a son that is a vertex node v. Otherwise, v would be either an isolated or universal vertex in G [δ].By the definition of a K S graph, G[δ] would be a K S graph.(4) The parent of a vertex node is always labeled K S (a consequence of Property 3).
(5) If G is a bi-chromatic graph, then for any K S node δ, G[δ] must also be bi-chromatic.
Otherwise, if there is a node δ labeled K S and G[δ] is a monochromatic graph, then the parent of δ, say, γ, would have isolated or universal vertices so G[γ] would be a K S graph, a contradiction with Property 2. (6) The sons of a K S node are ordered according to the K S decomposition.(7) Let δ be a K S node, and δ 1 and δ 2 are, respectively, the first and last sons of δ.If the parent of δ, say, γ, is a P-node, then δ 1 cannot be a white vertex node and δ 2 cannot be a black vertex node.Otherwise, by Property 1, δ 1 and δ 2 are isolated vertices in G[δ]; since γ is a P-node, δ 1 and δ 2 are also isolated vertices in G[γ], so γ must be a K S node, a contradiction with Property 2. (8) If the parent of a K S-node δ is labeled S, and δ 1 and δ 2 are, respectively, the first and last sons of δ, then δ 1 cannot be a black vertex node and δ 2 cannot be a white vertex node (similar to Property 7).The canonical decomposition tree () of a bipartite graph  resulting in an order from the ⨁ decomposition, parallel decomposition, and series decomposition procedure has several properties outlined below.The terms vertex node, son, parent, and grandparent are used in their conventional sense.If  is an internal node, then [] is the sub-graph induced by the set of vertex nodes having  as their least common grandparent.
(1) The tree () consists of three types of internal nodes: parallel nodes denoted by , series nodes denoted by , and ⨁-nodes.

Recognition Algorithm of Bipartite (P 6 ,C 6 )-Free Graphs
The following theorem is the key to our recognition algorithm for bipartite (P 6 , C 6 )free graphs.Theorem 2. A bipartite graph G is (P 6 , C 6 )-free if and only if every connected sub-graph of G is a K S graph.
Proof.Suppose that G is a bipartite (P 6 , C 6 )-free graph.Let H be a connected sub- graph of G which is not a K S graph.By Corollary 1, Since H is a connected sub-graph of G and G is a (P 6 , C 6 )-free graph, there is a vertex in V(H) that connects b 1 w 1 and b 2 w 2 .Suppose without a loss of generality that b is a black vertex such that bw 1 , bw 2 ∈ E(H).Since H is not a K S graph, the vertex b is not universal, so there is a white vertex w such that bw / ∈ E(H).Since H is connected, there is a path in H that connects the vertex w and the path P 5 = b 1 , w 1 , b, w 2 , b 2 .But now, the set {b 1 , w 1 , b, w 2 , b 2 , w} forms a P 6 or a C 6 , a contradiction.The inverse is clear since a P 6 or a C 6 is connected and contains a 2K 2 , so it is not a K S graph.□ Theorem 2 states that the class of bipartite (P 6 , C 6 )-free graphs is the smallest class closed under parallel and K S decomposition.So, the canonical decomposition tree of a bipartite (P 6 , C 6 )-free graph consists only of P-nodes or K S-nodes.Our recognition algorithm builds a decomposition tree with Por K S-labeled internal nodes if the input graph is (P 6 , C 6 )-free; otherwise, it produces a failure message.This building was influenced by the cograph recognition method proposed by Corneil et al. in [10].Moreover, this algorithm greatly simplifies two recognition algorithms when projected on bipartite (P 6 , C 6 )-free graphs.The first is for weak-bisplit graphs presented in [7], and the second for bipartite Star 123 -free graphs presented in [8], where both these two algorithms need to examine more than twenty cases to confirm that the input graph is (P 6 , C 6 )-free or not, while, as we will see, our algorithm needs to examine only two cases that are presented below in Theorems 3 and 4. The algorithm begins with an empty graph and gradually adds vertices, ensuring that the resulting sub-graphs remain (P 6 , C 6 )-free.The initial bipartite graph is considered (P 6 , C 6 )-free if all vertices can be added successfully in this manner.The principal step of the algorithm takes into consideration the decomposition tree T of a (P 6 , C 6 )-free bipartite graph G = (B ∪ W, E), a vertex x / ∈ B ∪ W, and a set of edges denoted by E(x) = {xv : v ∈ B ∪ W and v ∈ N(x)} and produces the decomposition tree T ′ of the resulting graph G ′ = (B ∪ W ∪ {x}, E ∪ E(x)) if it remains (P 6 , C 6 )-free or stops otherwise.The algorithm considers the connections of x to other vertices in G using a marking procedure.We can assume without a loss of generality that x is a white vertex and the graph G is a bichromatic graph.

Marking Procedure
The marking procedure, presented in Algorithm 1 and used in [10], takes into consideration the neighbors of the vertex x in the graph G to mark the nodes of T, the decomposition tree of G.

Algorithm 1 Marking
Input: The canonical decomposition tree T of G and the white vertex x.Output: The marking tree T.
For every black vertex node v of T. If v is a neighbor of x, mark v by (t) if v is not a neighbor of x, mark v by ().
Traverse T on a bottom-up traversal, let α be an internal node of T: If every son of α which is distinct from a white vertex node is marked by () then mark α by ().If there is a son of α marked by (t) and a son marked by () then mark α by (p).If every son of α which is distinct from a white vertex node is marked by (t) then mark α by (t).
At the end of the marking procedure on tree T, a node can have three possible states: marked by (t), marked by (p), or marked by ().If a node δ is marked by (t), it means that x is total for G If a node is a vertex node, it can either be marked by () or marked by (t).By Theorem 2, the marking procedure focuses only on P-nodes and K S-nodes, ignoring the S-nodes that must be unavailable.For the graph G ′ to be considered bipartite and (P 6 , C 6 )-free, it must meet a necessary condition.Lemma 1.If two internal nodes in the tree T are marked by (p), and G ′ is a (P 6 , C 6 )-free bipartite graph, then one of these two nodes must be a grandparent of the other.
Proof.Suppose that α and β are two internal nodes marked by (p), then α and β are partial with respect to x.Let δ be the least common grandparent of α and β.We denote α ′ and β ′ to be, respectively, the son of δ containing α and the son of δ containing β. Since G[α] and G[β] are sub-graphs of G[α ′ ] and G[β ′ ], then α ′ and β ′ are partial with respect to x. Assume that δ is labeled P, then G[α ′ ] and G[β ′ ] are connected sub-graphs of G[δ].Thus, there is an induced path b 1 , By Lemma 1, the nodes in T that are marked by (p) are arranged in a single path that starts from the lowest node marked by (p) and goes up to the root.The lowest node marked by (p) is referred to as α.It is assumed that the conditions of Lemma 1 are met and that α is known.The following notations are introduced:

•
Given two internal nodes δ and δ ′ such that δ is a grandparent of δ ′ , the unique son of δ that contains δ ′ is denoted as son(δ, δ ′ ).

•
For an internal node δ, which is either α or one of its grandparents, the set of sons of δ that are marked by () is denoted as sons () (δ), and the set of sons that are marked by (t) is denoted as sons (t) (δ).

•
If δ has a label K S, considering the ordering of the sons of δ, the set of sons of δ marked by (t) and located before son(δ, α) is denoted as sons (t) 1 (δ), and the set of sons marked by (t) and located after son(δ, α) is denoted as sons (t) 2 (δ).The set of sons of δ marked by () and located before son(δ, α) is denoted as sons () 1 (δ), and the set of sons marked by () and located after son(δ, α) is denoted as sons ()

(δ).
So, a node δ labeled P which is a grandparent of α splits its sons into at most three categories: sons (t) (δ), sons () (δ), and son(δ, α), the son that contains α.If δ is labeled K S, its sons can be divided into at most five sets: son(δ, α), sons  2 (δ).Meanwhile, the sons of α are split into two nonempty categories: sons () (α) and sons (t) (α).Definition 2. If δ is a grandparent of α in T, then δ is considered an incompatible P-node if it has at least one son marked by (t) (i.e., sons (t) (δ) ̸ = ∅).If δ is a K S-node, it is considered incompatible before α if it has at least one son marked by () located before son(δ, α) (i.e., sons () node, it is considered incompatible after α if it has at least one son marked by (t) located after son(δ, α) (i.e., sons

Building the Tree T ′
We assume that the necessary condition of Lemma 1 has been verified and that all nodes that are marked by (p) are known and are arranged in a single path that starts from the lowest marked node α and goes up to the root of T. To build T ′ , we examine the label of α and the presence of incompatible marked nodes.When α is a K S-node, since it is the lowest node marked by (p), we can divide its group of sons into a maximum of four consecutive subsets, namely, 3 , and X 4 , where: 1 includes the first group of consecutive sons of α that are either a group of white vertex nodes or total with respect to x.

X ()
2 includes the first group of consecutive sons of α that are not part of X (t) 1 and are either a group of white vertex nodes or not related to x.
Symmetry 2024, 16, 447 7 of 14 3 includes the first group of consecutive sons of α that are not part of X ()

nor of X (t)
1 and are either a group of white vertex nodes or total with respect to x.
X 4 represents the remaining sons of α.
Note that as a result of this division of the sons of α, when its label is K S, X ()

and X (t)
3 cannot be monochromatic graphs together.Lemma 2. Assume that α is a K S-node.If G ′ is a bipartite (P 6 , C 6 )-free graph, then the following conditions hold: (1) x has no neighbor in X 4 .
(2) If X (t) is a monochromatic graph or a complete bipartite graph.
Proof.Suppose that X 4 is not empty, otherwise, we are done.Let it show that x has no neighbor in X 4 .Since X 4 is not empty, then X 3 , respectively.By construction, there is a white vertex w such that w is adjacent to b 2 and w is not adjacent to b 3 .But now, the set {b 4 , x, b 3 , w 4 , b 2 , w} forms a P 6 , a contradiction.□ Now, condition 2 must be satisfied.Suppose that X (t) 3 is not empty, then X () 2 is also not empty.

Claim 1. Every element of X (t)
3 is a vertex node.
Proof.Suppose that δ is an element of X Proof.Suppose that X () 2 does not contain any white vertex, then X (t) 3 contains an element that is an internal node, a contradiction with Claim 1.
Let b 2 , w 2 be two vertices of X () is neither a monochromatic graph nor a complete bipartite graph.Then X (t) 3 contains the vertices b 3 , b ′ 3 , w 3 such that b 3 is adjacent to w 3 and b ′ 3 is independent of w 3 .Consequently, {b ′ 3 , x, b 3 , w 3 , b 2 , w 2 } forms a P 6 , a contradiction.□ Theorem 3. Assume that there is no incompatible grandparent of α.G ′ is a bipartite (P 6 , C 6 )free graph if and only if either: (1) α is a P-node; or (2) α is a K S-node and Lemma 2 is holding.
Proof.The if part of the Theorem has been proved in Lemma 2. We will describe the building of T ′ for the only if part.The building of T ′ when α is a P-node is described in Figure 3a.If sons (t) (α) consists of a unique son, then this son will be a son of the node labeled K S. Suppose that α is a K S-node.If X (t) 3 is empty, then we insert x in T as a new son of α.The building of T ′ when G X (t) 3 is a monochromatic graph or a complete bipartite graph is also described in Figure 3b.In this case, if G X Lemma 3. Assume that ′ is a bipartite ( ,  )-free graph.If there is an incompatible grandparent  of , then the following conditions hold: (1)  is a ⨁-incompatible node after .
(2)  is the unique incompatible grandparent of .
Proof.Suppose that  is an incompatible grandparent of α of type .Then there exists two adjacent vertices,  ,  , in an element of  ( ) ().Since (, ) induces a connected graph, it contains an induced  , say,  ,  ,  , such that  is adjacent to  and  is independent of .But now, {,  ,  ,  ,  ,  } forms a  , a contradiction.Lemma 3. Assume that G ′ is a bipartite (P 6 , C 6 )-free graph.If there is an incompatible grandpar- ent β of α, then the following conditions hold: (1) β is a K S-incompatible node after α.
Proof.Suppose that β is an incompatible grandparent of α of type P. Then there exists two adjacent vertices, b 3 , w 3 , in an element of sons (t) (β).Since son(β, α) induces a connected graph, it contains an induced P 3 , say, b 1 , w 1 , b 2 , such that b 1 is adjacent to x and b 2 is independent of x.But now, {x, b 1 , w 1 , b 2 , b 3 , w 3 } forms a P 6 , a contradiction.If β is a K S-incompatible node before α, then sons () Consequently, β is a K S-incompatible node after α.Let us consider β to be the highest incompatible grandparent of α and let b ∈ sons (t)
Proof.Let δ be a grandparent of α and w is a white vertex of the δ total for son(δ, α).Let b 1 w 1 , b 2 w 2 be an induced 2K 2 of son(δ, α) such that x is adjacent to b 1 and independent of b 2 .Then the set {b, x, b 1 , w, b 2 , w 2 } forms a P 6 , a contradiction.
By this claim, if δ is a K S-incompatible node after α, then the set sons 2 (δ) consists of black vertex nodes located exactly after son(δ, α).Moreover, for every grandparent δ of α labeled K S and located between α and β, son(δ, α) is the last son of δ; otherwise, δ contains a white vertex total for son(δ, α), a contradiction; thus, δ cannot be incompatible.Therefore, β is the unique incompatible grandparent of α. □

Recognition Algorithm
The recognition algorithm of bipartite ( ,  )-free graphs is given by Algorithm whereas the procedure of the step Build-tree (′, , ℎ()) is presented in Algorithm 3.
Output: if  is a ( ,  )-free graph then the canonical decomposition tree (), othe wise a failure message " is not ( ,  )-free graph".
Initialization step: Let  be the list of all the vertices of  sorted in descending orde according to their degrees.

Recognition Algorithm
The recognition algorithm of bipartite (P 6 , C 6 )-free graphs is given by Algorithm 2, whereas the procedure of the step Build-tree (G ′ , T, head(L)) is presented in Algorithm 3.  α marked by () has been found and from the right also until a son of α marked by () has been found or until the last son from the right has been found.We continue this traversing until every son is either a white vertex node or a node marked by (t).As soon as the set X (t) 3 has been computed, the set X () 2 can be computed immediately.The remaining sons of α form the set X 4 which must be independent of x.This computation requires O(d G ′ (x)) time complexity.
Finally, we need to determine if the node β, whose label is K ⊕ S, is incompatible after α or not and check whether the set sons 2 (β) is a set of black vertex nodes located exactly after son(β, α).These two conditions can be achieved together as follows: Since β is known as a grandparent of α, the son son(β, α) is identified.Now, we can traverse the sons of β starting from the first son located exactly after son(β, α) and determine whether any one of these sons is a white vertex node or not.In addition, we must traverse the sons of β starting from the first son located exactly before son(β, α) to determine if the set sons () We leave it to the reader to verify that the step Build-tree (G, T, x)) that corresponds to insert x in the tree T takes a constant time in all cases.
Since testing whether G ′ = G ∪ {x} is a bipartite (P 6 , C 6 )-free graph or not can be performed within O(d G ′ (x)) time complexity, it is clear that recognition of the bipartite (P 6 , C 6 )-free graph algorithm runs in O(n + m) time complexity.

Optimization Problems
We believe that the canonical decomposition tree for a bipartite (P 6 , C 6 )-free graph can be used to find efficient solutions for several optimization graph problems because of the simple structure of this tree.In this paper, we limit ourselves to showing that the canonical decomposition tree of a bipartite (P 6 , C 6 )-free graph can be used to solve, in polynomial time, the maximum balanced biclique problem and, in linear time, the maximum independent set problem.In the concluding section of this paper, we talk about some potential uses for this result and consider it as a subject for further study.
Let T(G) be the canonical decomposition tree for a bipartite (P 6 , C 6 )-free graph G.To present our solutions to the above two problems, we need to covert T(G) to a binary tree as follows: Visit the nodes of T(G) in a depth-first search.
Let S be an internal visited node, and S 1 , . . ., S k are the sons of S. If k > 2, then the left son of S is S 1 , and the right son becomes a new son, S ′ , that has the same label as S with sons S 2 , . . ., S k .

Maximum Balanced Biclique Problem
A sub-graph F = G[X ∪ Y] of a bipartite graph G is called a balanced biclique if F is a biclique and |X| =|Y|.The balanced biclique problem is computing a balanced biclique in G of maximum size.This problem is important in many different fields of study.It has numerous practical uses in very-large-scale integration (VLSI), such as the design of defect-tolerant devices [11,12], and programmable logic array folding [13].The balanced biclique problem is NP-complete for a general bipartite graph [14], and there are very few works dedicated to obtaining an exact maximum balanced biclique, aside from the work [15] where two exact algorithms are proposed to find a maximum balanced biclique for small dense and large sparse bipartite graphs, respectively.The majority of known techniques for determining a maximum balanced biclique are heuristic algorithms (see, for example, [16,17]).
We propose in this work an O n 3 time complexity algorithm to compute a maximum balanced biclique in a bipartite (P 6 , C 6 )-free graph G using its canonical decomposition binary tree T(G).The idea of our solution is to compute all possible bicliques in G that are maximal with respect to set inclusion, then find among them the one that contains a maximum balanced biclique.A biclique F is maximal with respect to set inclusion if no biclique in G contains F. The structure of T(G) when G is a bipartite (P 6 , C 6 )-free graph and the definition of K S operation allow us to achieve this computation by a post-order traversal of T(G), associating for each internal node α all possible maximal bicliques in G[α] (with respect to set inclusion) through the two sets of maximal bicliques associated with the left son α 1 and the right son α 2 of α.The set of maximal bicliques associated with α 1 denoted by L(α . ., r and the set of maximal bi-cliques associated with α 2 denoted by L(α . ., k .We suppose that for every biclique i is a set of black vertices and Y j i is a set of white vertices.In addition, we suppose that the members of L(α 1 ) are arranged from left to right according to their appearance in the sub-tree T(α 1 ).Likewise, we suppose that the members of L(α 2 ) are arranged from left to right according to their appearance in the sub-tree T(α 2 ).This supposition is performed directly according to the arrangement of sons for every K Snode in T(G).The reader can simply verify the truth of computation used in Algorithm 4 for the set of maximal bicliques L(α) according to the definition of a K S-node and the definition of a P-node.that the members of ( ) are arranged from left to right according to their appearance in the sub-tree ( ).This supposition is performed directly according to the arrangement of sons for every ⨁-node in ().The reader can simply verify the truth of computation used in Algorithm 4 for the set of maximal bicliques () according to the definition of a ⨁-node and the definition of a -node.

Maximum Independent Set Problem
A subset  of the vertex set () in a graph  is called an independent set if any two vertices in  are not adjacent.The maximum independent set problem is the task of  The number of bicliques computed for each internal node is at most O n 2 .Since T(G) contains an O(n) node, the algorithm Balanced Bi-clique has a time complexity of O n 3 .

Maximum Independent Set Problem
A subset S of the vertex set V(G) in a graph G is called an independent set if any two vertices in S are not adjacent.The maximum independent set problem is the task of computing an independent set in G of maximum size.This problem is NP-complete for general graphs [14], but it can be solved in O n 1.5 m/log n time complexity for a general bipartite graph [18].This time complexity can be improved to O(n) for a bipartite (P 6 , C 6 )-free graph using its canonical binary decomposition tree.The idea of our solution results from the structure of K S graph G as follows: Let (V 1 , V 2 ) be a K S partition of the vertex set V(G).By Property 1, every black vertex of V 1 is connected to every white vertex of V 2 , and every white vertex of V 1 is independent of every black vertex of V 2 .So, the maximum independent set in G is either the maximum independent set in G[V 1 ], the maximum independent set in G[V 2 ], or the independent set formed by the union of white vertices of G[V 1 ] and black vertices of G[V 2 ].This remark proves the correctness of Algorithm 5. Note that if G is not connected, then the maximum independent set in G is equal to the union of the maximum independent sets in its connected components.

Conclusions
We have shown in this paper that bipartite (P 6 , C 6 )-free graphs can be recognized in linear time.Using this result, we solved two optimization graph problems in this class of graphs: the first is the maximum balanced biclique problem, and the second is the maximum independent set problem.An additional potential use of the canonical decomposition tree of a bipartite (P 6 , C 6 )-free graph is to solve the problem P| prec.p j = 1| C max : Suppose there are n tasks with a unit execution time, and their order is constrained by a directed acyclic graph.Additionally, there are m machines of the same type.The goal is to discover a schedule that minimizes the makespan, which is the time when the final task in the graph finishes its execution.It is proved in [19] that this problem is NP-complete even if the precedence constraints form a bipartite graph of depth one.We conjecture that this problem can be solved in polynomial time for a bipartite (P 6 , C 6 )-free graph.

Figure 2 .
Figure 2.An example of bipartite graph  and the canonical decomposition tree ().

( 2 )Figure 2 .
Figure 2.An example of bipartite graph G and the canonical decomposition tree T(G).
nonempty.Let b 4 ∈ X 4 such that x is adjacent to b 4 .Now, X 4 contains two adjacent vertices b ′ 4 , w ′ 4 such that x is not adjacent to b ′ 4 ; otherwise, b 4 ∈ X (t)3 .Let b 2 and b 3 be two black vertices of X an internal node.Then δ is a P-node; thus, it contains a 2K 2 , say, b 1 w 1 , b 2 w 2 .Let b ∈ X () 2 , then the set {b, w 1 , b 1 , x, b 2 , w 2 } forms a C 6 , a contradiction.□

Figure 3 .
Figure 3. Building of ′ when there is no incompatible grandparent of .

Figure 3 .
Figure 3. Building of T ′ when there is no incompatible grandparent of α.

Figure 5 Algorithm 4
can help us to imagine this computation.Balanced Bi-clique Input: A binary canonical decomposition tree T(G) of a bipartite (P 6 , C 6 )−free graph G = (B ∪ W, E).Output: A maximal balanced biclique F = G[X ∪ Y] for G Let α be a node on a post − order traversal of T(G) If α is a black vertex node b (resp.a white vertex node w ), then L(α) = {G[{b} ∪ ∅]} (resp.L(α) = {G[∅ ∪ {w}]} Else let α 1 and α 2 be the left and right son of α, respectively, and let L

Figure 5 .
Figure 5.A node  and the sets of all maximal bicliques associated with its sons.

Figure 5 .
Figure 5.A node α and the sets of all maximal bicliques associated with its sons.

Author
Contributions: Conceptualization, R.Q. and A.A.-Q.; methodology, R.Q. and A.A.-Q.; investigation, R.Q. and A.A.-Q.; writing-original draft preparation, R.Q. and A.A.-Q.All authors have read and agreed to the published version of the manuscript.