Maximum Matchings of a Digraph Based on the Largest Geometric Multiplicity

.


Introduction
Matching theory is one of the fundamental branches of graph theory.Historically, matching not only can be used for us to understand the structure of a graph which plays a crucial role but also has been related to a wide range of important problems in theoretical aspects, such as combinatorial optimization, crystal physics, and theoretical computer science research.In addition, matching theory is also closely linked with practical problems in work arrangements, resource allocation, information transmission, network flow, transportation and postservice, and so forth.To solve these problems we need to seek the maximum matching which is one of the core issues in matching theory [1][2][3].Not only is it interesting by itself, but it can also be used to solve an army of other problems in combinatorial optimization [4][5][6].Therefore, the work of the maximum matching theory has profound theoretical significance and wide application background.
The maximum matching in an undirected graph is a maximum set of edges without common nodes.The book by Burkard et al. [7] reviewed thoroughly the bipartite matching problem.The popular classic method using the Hopcroft-Karp algorithm needs the determination of the bipartite equivalent graph.For arbitrary graphs, it is complicated to find a maximum matching and Edmonds and Karp [8] presented a polynomial algorithm.It was a major breakthrough and innovation to find a maximum matching.Additionally, on this basis, a multitude of algorithms are given in the literatures [9][10][11][12][13].Subsequently, the work [14] gave a few maximum matching problems such as the maximum-cardinality matching problem and the minimum cost perfect matching problem.Later, Dobson et al. [15] developed a new kind of maximum matching graphs.They pointed out maximum matchings of special graphs such as trees, cycles, or complete graphs.Reference [16] presented minimization of the Laplacian spectral radius of trees with given matching number.Moreover, Duarte et al. [17] established a method to maintain maximum matching under addition and deletion of edges in a graph.Even et al. [18] then proposed a method of computing rough estimate maximum-cardinality matchings and estimation maximum weight matchings based on deterministic distributed algorithms.The work in [19] introduced an algorithm to calculate maximum matchings in a bipartite graph.
However, the abovementioned study was focused on undirected graphs.Relatively speaking, for the maximum matching of digraphs only a little research has been conducted.Additionally, the solution of the matching is mainly based on the bipartite graph method, while the solution of the bipartite graph itself remains a tough issue.So we are still in lack of mature theories and algorithms.Therefore, we put forward a new method to identify maximum matchings in a digraph.The main idea of the method stems from two conditions of controllability of complex networks [20,21].
The process of the method is simple, yet effective.In a sense, the work of this paper has developed and enriched matching theory.
The rest of the paper is organized as follows.Section 2 introduces the basic notations and definitions used in this paper.In Section 3, the technique in the case of a digraph is presented.The first part of Section 3 describes the technical concept based on minimum input theorem [20] and the largest geometric multiplicity theorem [21], and the second part of it introduces the algorithm steps.Section 4 presents an example to validate the method and Section 5 gives the conclusion and future work.

Notations and Preliminaries
For integrity, we give a few notations and definitions in this section.
We first generalize the concepts of geometric multiplicity of an eigenvalue, matching, and maximum matching in an undirected graph (in a digraph) and its bipartite representation (see [20]).Definition 1.Given a matrix A with the eigenvalue , the dimension of the eigenspace of A corresponding to the eigenvalue  is called the geometric multiplicity of the eigenvalue .
Notice that the geometric multiplicity is the largest number of linearly independent eigenvectors associated with an eigenvalue.Definition 2. For an undirected graph, a matching  is an independent set of edges, where no two share a node.A node is matched if it is incident to an edge in the matching.Otherwise, the node is unmatched.Definition 3.For an undirected graph, a maximum matching  * is a matching of maximum-cardinality among all matchings.A maximum matching  * is a perfect matching if all nodes are matched.Similarly, we consider the cases in a digraph and give the definitions of a matching and maximum matching of a digraph and its bipartite representation.For the maximum matching of a digraph, a simple algorithm based on bipartite graph is described below.A bipartite graph is defined as () = ( + ∪  − , Γ).Here, . First, we split each node V into two nodes V +  and V −  to make a digraph   transform to its bipartite graph representation ().Then we connect an edge between nodes V +  and V −  in () if there is an edge   in   .In this way, we get a general bipartite graph.Afterwards, maximum matchings of the bipartite graph can be found using the classical Hopcroft-Karp algorithm as shown in Figure 2.
A maximum matching in   contains the maximum possible number of nodes in Γ.It is worth noting that, generally, a given digraph could include several different maximum matchings.In addition, as long as the digraph contains a cycle factor, its maximum matching is a perfect matching.
However, when the size of a digraph is large it is exceedingly arduous to find its maximum matchings by using bipartite graph method.Consequently, it is desirable to propose a practical method as mentioned below to solve this problem.

Maximum Matchings of a Digraph Based on Largest Geometric Multiplicity
Motivated by the relation between maximum matchings and controllability of directed networks, the method proposed in the paper is derived from two conditions of controllability of complex networks [20,21].In this section, the theoretical basis and its calculation steps are described in detail.
3.1.The Theoretical Basis.First, two conditions of controllability of complex networks are reviewed.Consider a linear time-invariant (LTI) dynamics (1) on a directed network or digraph   , where x = ( For large systems, using the above method is a formidable challenge.Recently, Liu et al. [20] studied network controllability revealing an interesting interplay between the structure and structural controllability of directed networks.In particular, they mapped the structural controllability of a directed network into the maximum matching problem as Lemma 6 mentioned below and pointed out that the unmatched nodes are needed to control to achieve full control of the entire network.Thus it can be seen that they have dealt with the problem of network controllability intensively and tactfully.Moreover, Yuan et al. [21], based on the maximum multiplicity, provided another interesting paradigm to identify driver nodes required to achieve full control of arbitrary network structures as described in Lemma 7. Lemma 6 (minimum input theorem [20]).The minimum number of inputs (  ) or identically the minimum number of driver nodes (  ) needed to fully control a network   is given by Lemma 7 (largest geometric multiplicity theorem [21]).
Assuming that B with  distinct eigenvalues has been determined, for a digraph, the minimum number of driver nodes   is determined by the largest geometric multiplicity (  ) of the eigenvalue   of B; that is, where (  ) = dim    = −rank(  I  −B),   ,  = 1, 2, . . ., , represent the distinct eigenvalues of B, and I  is the unit matrix with the same order as B.
A condition for finding maximum matchings of a digraph is now established.
Theorem 8 (maximum matchings of a digraph based on largest geometric multiplicity).Suppose that B has eigenvalues   with geometric multiplicity   (  ),  = 1, 2, . . ., , and   is the eigenvalue associated with the largest geometric multiplicity (  ).Let matrix B  be the column canonical form of matrix   I  − B. Then, the linearly dependent rows in B  are associated with the unmatched nodes, and the linearly independent rows are associated with the matched nodes.
Combining ( 9) and ( 12), it follows that That is,   is the number of the linearly dependent rows of the matrix   I  − B. These linearly dependent rows are associated with the driver nodes.
On the other hand, by Lemma 6 we conclude that   is the number of unmatched nodes with respect to any maximum matchings.These unmatched nodes are just the driver nodes.It is not difficult to see that these matched nodes are associated with the rows which are linearly independent on other rows in B  .
Thus, the rows of the matrix   I  − B, which are linearly dependent, are associated with the driver nodes needed to be controlled to maintain full control.It means that the number of the matched nodes is  − max  {(  )}.The proof is thus completed.
Obviously, the nodes corresponding to the linearly independent rows are matched nodes with numerical rank(  I  − B), which is the largest geometric multiplicity (  ).More precisely, the nodes corresponding to all the linearly independent rows are matched nodes of a maximum matching.In fact, we can perform fundamental column transformations on   I  −B and obtain its column canonical form B  , which reveals the linearly dependent rows.The linearly dependent rows in B  correspond to the unmatched nodes.And those linearly independent rows correspond to the matched nodes.Next, we proceed to a method for seeking maximum matchings in a digraph.

The Algorithm Steps.
A maximum matching of a digraph consists of matched nodes and matching edges.This section describes how to find the matched nodes and the matching edges, respectively.
First, for a given digraph   , the algorithm steps based on largest geometric multiplicity to identify matched nodes of a maximum matching are described as follows.

Algorithm for Identifying Matched Nodes of a Maximum Matching
Step 1. Compute the eigenvalues   of the matrix B and find their geometric multiplicity (  ),  = 1, 2, . . ., .
Step 2. Find the eigenvalue   associated with the largest geometric multiplicity (  ).
Step 3. Perform some fundamental column transformations on   I  − B and get its column canonical form B  .
Step 4. Find linearly independent rows in B  .
Step 5.The linearly independent rows correspond to the matched nodes of a maximum matching.
It should be noted that the set of matched nodes of maximum matchings is not unique, since it is related to the order of implementing the fundamental transformations.Generally speaking, there are some candidates of linearly independent rows.Nevertheless, the number of matched nodes of these maximum matchings is the same and it depends on the largest geometric multiplicity (  ).
Once the matched nodes are identified, the maximum matching edges can be obtained through the following steps.To describe for convenience, assume the maximum matched nodes to be nodes 1, 2, and 3, {1, 2, 3} for short.

Algorithm for Identifying Matching Edges of a Maximum Matching
Step 1. Construct a new matrix C × by the following expression: where   = [ 1  2 ⋅ ⋅ ⋅   ],  = 1, 2, 3, and  is the number of the matched nodes, with  = 3.These columns are extracted from the matrix B, which are maximum matched nodes corresponding to the columns of the matrix B.
Step 2. Find the column   which contains the least amount of 1.If it is more than one, we can arbitrarily choose one.For simplicity, assume   =  1 , where  1 = 1.The edge  = (, 1) is the matching edge corresponding to the matching node 1.
Step 4. In the matrix C1 × , consider the rest of the column   (  ̸ =   ) and repeat Steps 2 and 3.
Step 5.In the end, make the nonzero elements in different rows and columns.The edges corresponding to these nonzero elements are just matching edges.In this way, we can find all matching edges corresponding to the matched nodes.
To determine matched nodes by using the fundamental column transformations, we adopt the elimination method with the computation complexity ( 2 (log ) 2 ).

Example
To illustrate the method explicitly, we present a simple example, as shown in Figure 3.The digraph   is illustrated in Figure 3(a);  = {1, 2, 3, 4, 5, 6},  = {(1, 2), (1,3), (1,4), (1,5), (1,6), (4,3), (6,5)}.The transpose of the adjacency matrix, denoted by B, is as follows: It is not difficult to obtain eigenvalue   = 0 and (  ) = 3.Here,   is the eigenvalue associated with the largest geometric multiplicity (  ).Then compute the matrix   I  −B and perform some fundamental column transformations on it to obtain its column canonical form B  as follows: In the column canonical form B  , the 3rd row and 5th row must be chosen and another row should be chosen from the 2nd, 4th, and 6th rows.Thus we totally have three different combinations of matched nodes as indicated in Figures 3(b)-3(d).Each set of options results in a distinct configuration of the set of matched nodes.But the number of matched nodes is fixed.Here we have enumerated all possible combinations of maximum matchings, respectively, {2, 3, 5}, {3, 4, 5}, and {3, 5, 6}.These configurations of maximum matching are indeed exactly the same as the results by using the popular classic method.With {2, 3, 5}, for example, we find the maximum matching edges.Construct a new matrix C × and find the column  2 with  12 = 1 which contains the least amount of 1.The edge  = (1, 2) is the matching edge corresponding to the matched node 1. Set  13 = 0 and  15 = 0. Then we get the matrix C1 × .Similarly, for the rest of columns  3 and  5 , repeat Steps 2 and 3 in the matrix C1 × .Further, we get the matching edges  = (4, 3) and  = (6,5).So the matching edges are  = (1, 2),  = (4, 3), and  = (6, 5) corresponding to the matched nodes 2, 3, and 5.In the same way, the matching edges are  = (4, 3),  = (1, 4), and  = (6, 5) corresponding to the matched nodes 3, 4, and 5. Likewise, the matching edges are  = (4, 3),  = (6, 5), and  = (1, 6) corresponding to the matched nodes 3, 5, and 6.Consider Two observations are given here for special cases.When a digraph is a directed circle shown in Figure 4, the transpose of the adjacency matrix B 1 is shown in the following: In this case, each eigenvalue of B 1 has geometric multiplicity exactly 1, and each row in B 1 is linearly independent.Therefore, each node is matched.All nodes constitute a perfect matching.
For an arbitrary digraph, it is difficult to make a statement about the largest multiplicity and digraph structure.However, for sparse digraphs (weighted or unweighted), the eigenvalue 0 corresponds to the largest geometric multiplicity.In other words, the zero eigenvalue dominates the eigenvalue spectrum.In this case, the nodes corresponding to the linearly independent rows are matched nodes with numerical rank(  I  − B) = rank(−B) = rank(B).Thereby, the number of matched nodes can be obtained by solving the rank of B. For instance, the transpose of adjacency matrix of a sparse digraph is shown as follows: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 Its eigenvalue corresponding to the largest geometric multiplicity is zero.Thus the number of matched nodes | *  | = rank(B 2 ) = 6.To summarize, in a sparse digraph the number of matched nodes is closely associated with the rank of its structure matrix.It also reveals the underlying relationship between the structure of a digraph and its maximum matchings.

Conclusion and Future Work
The paper constructed and proved one sufficient condition of matched nodes in a digraph, together with a new and practical method to find maximum matchings of a digraph.Maximum matchings in a digraph problem with largest geometric multiplicity of the eigenvalues are also investigated.It has shown how to find the maximum matched nodes and matching edges in general digraphs.From the experimental results, we observe that the method is effective.The key in our approach lies in bridging the largest geometric multiplicity and the matching theory.
Developing and exploring other matching theory algorithms in a digraph would be a challenging job in further research.In the future, we will address this problem more systematically.In addition, the extension of this study to the case of undirected graphs is also an interesting problem.

Figure 1 :
Figure 1: A digraph with six nodes and six edges.

Figure 2 :
Figure 2: Matching in a digraph and its bipartite representation.(a) A simple digraph is composed of five nodes and five edges.(b) The bipartite representation of the digraph shown in (a).Its maximum matching is displayed in green.Matched (or unmatched) nodes are displayed in green (or red), respectively.

Figure 3 :
Figure 3: A digraph and its maximum matchings.(a) A digraph with six nodes and seven edges.The digraph has three kinds of maximum matchings shown by (b)-(d).In (b)-(d), matched (unmatched) nodes are shown in green (black), respectively.Similarly, matching (unmatching) edges are shown in red (black), respectively.

Figure 4 :
Figure 4: A directed circle and its maximum matching (perfect matching).(a) is the original directed cycle.The directed cycle has perfect matching as shown in (b).In (b), all nodes are matched.Matched nodes are displayed in green.Similarly, matching edges are displayed in red.
Definition 4. For a digraph, matching   is a subset of edges with no common starting-nodes or no common endingnodes.That is to say, no two edges in   share a common starting-node or a common ending-node.A node is matched if it is an ending-node of a matching edge.Otherwise, it is unmatched.
*  .A maximum matching  *  is called perfect if all nodes in the digraph are matched.Denote | *  | as the size of the maximum matching  *  in   .It is found that if maximum matching  *  is perfect, then | *  | = , where  means the number of nodes in   .
1 ,  2 , . . .,   )  ∈ R  is called the state vector, the state matrix B = (  ) × is the transpose of the adjacency matrix of the network, and means the weight of a directed edge from node  to node .Q ∈ R × is the input matrix (control matrix), and u = ( 1 ,  2 , ...,   )  ∈ R  ( ⩽ ) is the input or control vector.Based on Kalman's controllability rank condition[22], linear system (1) can be controlled from any initial state to any desired state in finite time if and only if it meets the following condition: