Abstract

Matching theory is one of the most forefront issues of graph theory. Based on the largest geometric multiplicity, we develop an efficient approach to identify maximum matchings in a digraph. For a given digraph, it has been proved that the number of maximum matched nodes has close relationship with the largest geometric multiplicity of the transpose of the adjacency matrix. Moreover, through fundamental column transformations, we can obtain the matched nodes and related matching edges. In particular, when a digraph contains a cycle factor, the largest geometric multiplicity is equal to one. In this case, the maximum matching is a perfect matching and each node in the digraph is a matched node. The method is validated by an example.

1. 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 [13]. Not only is it interesting by itself, but it can also be used to solve an army of other problems in combinatorial optimization [46]. 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 [913]. 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.

2. Notations and Preliminaries

For integrity, we give a few notations and definitions in this section.

Let be a digraph which consists of a nonempty finite set of elements called nodes and a finite set of ordered pairs of different nodes called edges. We write . The size of is the number of nodes in , denoted by . In Figure 1, for instance, , .

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 with the eigenvalue , the dimension of the eigenspace of 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.

Definition 4. For a digraph, matching is a subset of edges with no common starting-nodes or no common ending-nodes. 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.

Definition 5. For a digraph, a matching of maximum-cardinality is called a maximum matching, symbolized by . 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 .

For the maximum matching of a digraph, a simple algorithm based on bipartite graph is described below. A bipartite graph is defined as . Here, and are the sets of nodes corresponding to the nodes in , respectively. Edge set . See Figure 2. First, we split each node into two nodes and to make a digraph transform to its bipartite graph representation . Then we connect an edge between nodes and 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.

3. 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 is called the state vector, the state matrix is the transpose of the adjacency matrix of the network, and means the weight of a directed edge from node to node . is the input matrix (control matrix), and 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:

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 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 ; that is, where , , , represent the distinct eigenvalues of , and is the unit matrix with the same order as .

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 has eigenvalues with geometric multiplicity , , and is the eigenvalue associated with the largest geometric multiplicity . Let matrix be the column canonical form of matrix . Then, the linearly dependent rows in are associated with the unmatched nodes, and the linearly independent rows are associated with the matched nodes.

Proof. If LTI dynamics (1) is controllable, then according to the PBH (Popov-Belevitch-Hautus) theorem [23], we can obtain By the property of rank inequalities, it is easy to obtain Then When the equality holds, LTI dynamics (1) is controllable. It implies that Also, . ThenLet and , according to nonsingular transformation; then LTI dynamics (1) is equivalently changed to the following:where is the Jordan matrix. Systems (1) and (10) have the same controllability properties, that is, for arbitrarily eigenvalues of matrix , and rank is the same as , and . To facilitate explanation, set . Suppose we take the Jordan block matrix aswhere each missing entry is zero. Here, , , and . For , in matrix there is one zero column which is column 1. For , in matrix there are two zero columns which are columns 2 and 4. Similar to the case of , for , matrix has three zero columns which are columns 5, 8, and 9. Therefore, we can draw the conclusion that the number of zero columns for an eigenvalue is exactly the geometric multiplicity . Hence, has zero columns and linearly independent columns. This implies thatCombining (9) and (12), it follows that That is, is the number of the linearly dependent rows of the matrix . 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 .
Thus, the rows of the matrix , 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 . The proof is thus completed.

Obviously, the nodes corresponding to the linearly independent rows are matched nodes with numerical , 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 and obtain its column canonical form , which reveals the linearly dependent rows. The linearly dependent rows in 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.

3.2. 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 and find their geometric multiplicity , .

Step 2. Find the eigenvalue associated with the largest geometric multiplicity .

Step 3. Perform some fundamental column transformations on and get its column canonical form .

Step 4. Find linearly independent rows in .

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, for short.

Algorithm for Identifying Matching Edges of a Maximum Matching

Step 1. Construct a new matrix by the following expression: where , , and is the number of the matched nodes, with . These columns are extracted from the matrix , which are maximum matched nodes corresponding to the columns of the matrix .

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 , where . The edge is the matching edge corresponding to the matching node .

Step 3. Let , , and get a matrix .

Step 4. In the matrix , consider the rest of the column and repeat Steps and .

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 .

4. Example

To illustrate the method explicitly, we present a simple example, as shown in Figure 3. The digraph is illustrated in Figure 3(a); , . The transpose of the adjacency matrix, denoted by , is as follows:

It is not difficult to obtain eigenvalue and . Here, is the eigenvalue associated with the largest geometric multiplicity . Then compute the matrix and perform some fundamental column transformations on it to obtain its column canonical form as follows:In the column canonical form , 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, , , and . These configurations of maximum matching are indeed exactly the same as the results by using the popular classic method.

With , for example, we find the maximum matching edges. Construct a new matrix and find the column with which contains the least amount of 1. The edge is the matching edge corresponding to the matched node . Set and . Then we get the matrix . Similarly, for the rest of columns and , repeat Steps and in the matrix . Further, we get the matching edges and . So the matching edges are , , and corresponding to the matched nodes 2, 3, and 5. In the same way, the matching edges are , , and corresponding to the matched nodes 3, 4, and 5. Likewise, the matching edges are , , and 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 is shown in the following:

In this case, each eigenvalue of has geometric multiplicity exactly 1, and each row in 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 . Thereby, the number of matched nodes can be obtained by solving the rank of . For instance, the transpose of adjacency matrix of a sparse digraph is shown as follows: Its eigenvalue corresponding to the largest geometric multiplicity is zero. Thus the number of matched nodes . 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.

5. 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.

Competing Interests

The authors declare that they have no competing interests.

Acknowledgments

This work was supported by Innovation Foundations of Education for Graduate Students of Shanxi Province (Grant no. 2016BY83), the Fund Project of Taiyuan City Science and Technology Special Talents (Grant no. 120247-28), and the National Natural Science Foundation of China (Grant no. 61402319). The authors thank Z. M. Gao for his valuable comments and useful feedback on the paper. Finally, they particularly thank Y. P. Liang with expertise in technical English editing for the English of this paper being improved.