1 Introduction
Spanning tree constitutes a skeleton of connected network, which has important influence on topological property and dynamic behavior of a network
[1]. A spanning tree of an undirected graph is a subgraph that includes all of the vertices of the original graph. The concept of spanning tree can be directly extended to weighted-undirected graphs. Although the number of edges of each spanning tree remains the same, the weights of each spanning tree may not be the same, and the spanning tree with the sum of the minimum weights is called the minimum spanning tree. The minimum spanning tree is not necessarily unique. If the weights of all edges are different from each other in a connected graph, then the graph must have the unique minimum spanning tree
[2]. Cut-edges are closely related to spanning tree. Although many of algorithms work well on certain classes of graphs in cut-edges and the minimum spanning tree, none of them is demonstrated to perform well for a general graph. Thus, it is necessary for us to establish a new formulation and algorithm to solve or approximate the cut-edge and the minimum spanning tree problems for general graphs.
Recently, a new powerful matrix product, called semi-tensor product of matrices was proposed by [
3,
4]. This new matrix product has been successfully applied to express and analyze Boolean control networks, and up to now many fundamental and landmark results have been presented on calculating fixed points and cycles of Boolean networks
[5, 6], on the controllability and observability of Boolean network
[7-10], on their control design problems
[11], on the synchronization of Boolean networks
[12-18], on the maximum principle for single-input Boolean control networks
[19], on the controllability of Boolean control networks with time delays in states
[20], and so on. Thus, semi-tensor product is a powerful mathematical tool, and it is quite mature in the application of Boolean networks.
This paper is mainly based on Boolean network framework to study cycles of graphs with application to cut-edges and the minimum spanning tree problems by using the semi-tensor product of matrices, and presents a new formulation to deal with cycles problems. Firstly, by defining a characteristic logical vector and using the matrix expression of logical functions, an algebraic description is obtained for cycles of graph, based on which a new necessary and sufficient condition to find all cycles is established for any graph. Secondly, using the necessary and sufficient condition of cycles, two algorithms are established to find all cut-edges and the minimum spanning tree. Finally, the study of illustrative an example shows that the results/algorithms presented in this paper are effective.
The main contributions of this paper are as follows. (i) A new mathematical formulation has been established to deal with cycles, and a set of new theoretical results has been presented under this formulation. (ii) The new theoretical result have been used to find all cut-edges and the minimum spanning tree. According to our method, to check whether an edge subset is part of a cycles, one only needs to compute a kind of structural matrix, with which the conclusion can be easily obtained. Our method expresses cycles in such a clear way that it is very helpful to study of the cut-edge and the minimum spanning tree problems for general graphs. Moreover, for a given graph with the number of cycles not too large, one can easily use our algorithms to find all cut-edges and the minimum spanning tree. It should be pointed out that the advantage of our approach lies in the mathematical formulation and exact results.
The rest of the paper is framed as follow. In Section 2, we give some preliminaries on the semi-tensor product, the pseudo-Boolean function and graph theory. In Section 3, we present a new necessary and sufficient condition to find all cycles of a graph, based on which two new algorithms to find all cut-edges and the minimum spanning tree is designed for any graph. In Section 4, we give an illustrative example to show our new results. The conclusion is given in Section 5.
2 Preliminaries
In this section, we give an outline of semi-tensor product of matrices, pseudo-Boolean function and graph theory, which will be used in the following sections.
Definition 1 (see [
21]) For a
matrix
and a
matrix
. Then the semi-tensor product of
and
is defined as follows:
where is the least common multiple of and , and is the Kronecker product.
Here, the semi-tensor product is consistent with the product of ordinary matrix, when is called to satisfy the condition of the equal dimension. Therefore, semi-tensor product of matrices is generalized to convention matrix product. and satisfies the condition of the multiple dimension, say, (or and denote it as (or .
Definition 2 (see [
21]) 1) Let
be a row vector of dimension
, and
be a column vector with dimension
. Split
into
equal-size blocks as
, which are
row vectors. We define the (left) semi-tensor product, denoted by
as
where is the th component of
2) Let and We define the semi-tensor product of and , denoted by , as follow: consists of blocks and each block is defined as
where is the th row of and is the th column of
In fact, the properties of the traditional matrix product are maintained when it is generalized to semi-tensor product. Thus, we can omit the symbol "", if no confusion arises in the following discussion.
Suppose denotes the column of the identity matrix and "" stands for "identity" or "equivalence". Set , and for notational ease, let and
An matrix is called a logical matrix if and for compactness, we express briefly as The set of logical matrices is denoted by .
Definition 3 (see [
21]) A swap matrix
is an
matrix, defined as follows:
The swap matrix can be constructed according to the following steps: label its columns by the following sequence and similarly label its rows by the following sequence Then its element in the position is assigned as
when , we denote by or
By Definition 3 is easy to get:
Let "1" and "0" represent the logical "True" and "False", respectively. In this paper, we can use the following two logical vectors to represent then: Similarly, a -valued logical variable can be equivalently represented with the following vectors:
where
Lemma 1 (see [
21])
Let be a Boolean function. Then, there exists a unique matrix such that
for every is called the structure matrix of .
The first row of the structural matrix corresponds to the truth values of the logical function
Here, we show the structure matrices of some basic Boolean operators (Negation: Conjunction: Dummy operator), which has the following property: for any two logical variables
Definition 4 (see [
22]) An
-ary pseudo-Boolean function
is a mapping form
to
where
A graph consists of a vertex set and an edge set denoted by For node its neighbor set, is defined as
Definition 5 (see [
23]) If a path has the same starting point and end point, and the starting point and the internal vertex are different from each other, this path is called cycle.
The edge is the cut-edge of if and only if it is not included in a cycle. Graph that do not contain cycle is called acyclic graph, and connected acyclic graph are called trees. The spanning tree is called the minimum spanning tree when the sum of its weights is least.
3 Main Results
In this section, we investigate cut-edges and the minimum spanning trees of the weighted-connected graph by the semi-tensor product method, and present the main results of this paper. First, we consider whether a simple weighted-connected graph has cycles.
Consider a graph with nodes Assume that the adjacency matrix of is given as
where is weight.
In this paper, we study simple weighted-undirected graphs. So, let Given a vertex subset define a vector called the characteristic logical vector of as follows:
Theorem 1 For a graph the graph exist cycles. are all permutation of the vertex of the same cycle in all cycles, if and only if the equation
is solvable and exist solutions of nonzero numbers greater than or equal to . Where
and the express the simple path numbers that to simple paths do not have the same edges. The simple paths satisfies: the elements in are different from each other, any two paths do not have the same Because let
Proof () There are cycles, no rings and heavy edges in the graph, so each cycle contains at least three vertices. In a cycle, taking different vertices these vertices are one of all permutation of the vertex in the cycle. We have Then thus Therefore, we can be advisable to similarly, Namely, there is a solution whose nonzero number is greater than or equal to 3.
() Suppose the equation (5) has a solution and that the nonzero number is greater than or equal to 3. Might as well be Based on we can obtain which implies that holds, that is, there is a simple path between and and the number of the simple path and the simple path without the same edge is greater than or equal to 2. Therefore, and are in the same cycle, similarly, and are in the same cycle, so there is a cycle in the graph and is not empty.
In fact, finding the cut-edges and the minimal spanning of connected graphs, we can find the set of edges in all cycles first. First, we find the sets whose cardinality is greater than or equal to 3 in the where are all permutation of the vertex of the same cycle in all cycles. Next, we combine the edges in each vertex set to obtain the set of edges of all cycles in the graph. Therefore, the following theorem is made.
Theorem 2 For each vertex design its characteristic vector by and let Then there are cycles in the graph and the set of edges of all the cycles is
if and only if the component of fist row of matrix is zero, when is a solution of the equation
and exists such that where
is cardinality of and is edges of the set of the vertex. Furthermore the number of zero components of is just the number of solutions of the equation , that is,
Proof () If there are cycles in the graph, then are all permutation of the vertex of the same cycle in all cycles. By Theorem 1, the equation (5) holds. Since without loss of generality, we assume that Then, using (1), (2), and the dummy operator we have
where the product is Thus, where and
So, the equation (5) can be expressed as
which implies that satisfies the equation (8). Noticing that the th component of much be zero, that is, the th component of fist row of matrix is zero. Because the graph is a simple graph, we can find such that So, the necessity is proved.
() If the th, component of fist row of matrix are zero, then it can be seem form the assumption on that The equation (5) has solutions and exist such that Noticing and we know form the equation (5) that So, existing such that that is, which implies that there are simple paths for any two different vertices in the and the number of the simple path and the simple path without the same edge is greater than or equal to 2. According to the definition of the cycles, there are cycles in the graph and the collection of edges of all cycles is
So, the sufficiency is proved.
By Theorem 2, the resulting set contains the edges of all cycles in the graph. Structural matrices and are easily computed using a computer. On the basis of finding the edge set of all cycles in the graph, the Algorithm 1 and Algorithm 2 are designed to find all the cut edges and the minimum spanning tree in the weighted-connected graph.
Algorithm 1 For a weighted-connected graph with vertices. Assume that its adjacency matrix is Let the express the simple path numbers that to simple paths do not have the same edges.. For each vertex with its characteristic logical vector then let To find all the cut edges of graph we can take the following steps.
1) Compute the matrix
where
2) Take out the first row of and denote it by If for all then graph has no the cycle and the algorithm is stopped, that is, all edges are cut-edges in the graph. Otherwise, find all the zero components of that is to say,
3) For each index
consider
Let
[24]
then we have Noticing that we need to check whether or Let
4) If for all then graph has no the cycle and the algorithm is stopped, that is, all edges are cut-edges in the graph. Otherwise, combine the edges of all vertex sets to get the set of edges of all cycles, that is to say, the set contains edges of all cycles in the graph corresponding to and exist solutions of nonzero numbers greater than or equal to 3. Let
5) Delete all edges in and update the adjacency matrix Form the definition of the cut-edge, we can see that all the cut-edges are
Similarly, we can obtain the following algorithm.
Algorithm 2 For a weighted-connected graph with vertices. Assume that its adjacency matrix is Let the express the simple path numbers that to simple paths do not have the same edges. For each vertex with its characteristic logical vector then let To find the minimum spanning tree of graph we can take the following steps.
1) Compute the matrix
where
2) Take out the first row of and denote it by If for all then graph has no the cycle and the algorithm is stopped, that is, the graph itself is the minimum spanning tree. Otherwise, find all the zero components of that is to say,
3) For each index consider By the equation (9), then we have Noticing that we need to check whether or Let
4) If for all then graph has no the cycle and the algorithm is stopped, that is, the graph itself is the minimum spanning tree. Otherwise, combine the edges of all vertex sets to get the set of edges of all cycles, that is to say, the set contains edges of all cycles in the graph corresponding to and exist solutions of nonzero numbers greater than or equal to 3. Let
5) Delete the maximum weight of one edge in (If the weights are equal, then the minimum spanning tree is not unique, delete arbitrary one edge) and update the adjacency matrix and the matrix loop (1) (2) (3) (4) (5), where (3) is only counted once. Every time loop (3), we only need to find the corresponding (5) in the result of the first calculation.
Algorithm 1 and Algorithm 2 respectively find all cut edges and the minimum spanning tree of weighted-connected graph. A weighted connected graph with 5 vertices is given, and the feasibility of Algorithm 1 and Algorithm 2 are illustrated by computing all cut edges and the minimum spanning tree.
4 Illustrative Example
In the section, we give one example to illustrate the feasibility of the Algorithm 1 and the Algorithm 2 obtained in this paper.
Example: Consider the weighted-connected graph shown in Figure 1. We use Algorithm 1 and Algorithm 2 to find all cut edges and the minimum spanning tree of the graph.
Figure 1 The weighted-connected graph |
Full size|PPT slide
The adjacency matrix of this graph is as follows:
the express the simple path numbers that to simple paths do not have the same edges. The simple paths satisfies: 1) 2) the elements in are different from each other, 3) any two paths do not have the same Just find two such paths in the adjacency matrix (10), we can obtain
and
For each vertex we assign it a characteristic logical variable and let
By the equation (9) and using the MATLAB Toolbox, we can easily obtain
Then, it is easy to see that the index is zero in with
For each let Based on the equation (9), by computing we have
Thus, we can obtain
where all the sets of elements greater than or equal to three are as follows:
combine the edges of all vertex sets to get the set of edges of all cycles. is as follows:
All the cut edges of Figure 1 are calculated by Algorithm 1. We delete all edges in and update the adjacency matrix (10). We can obtain
By the adjacency matrix (13), all the cut edges of Figure 1 are as follows:
By Algorithm 1, all edges in Figure 1 are successfully found.
Next, finding the minimum spanning tree in Figure 1, according to Algorithm 2. We delete the maximum weight of one edge in (12) and update the adjacency matrix (10) and the matrix We can obtain
and
For each vertex we assign it a characteristic logical variable and let
By the equation (9) and using the MATLAB Toolbox, we can easily obtain
Then, it is easy to see that the index is zero in with
For each let Based on the equation (11), we can obtain
Thus, we can obtain
where all the sets of elements greater than or equal to three are as follows:
combine the edges of all vertex sets to get the set of edges of all cycles. is as follows:
We delete the maximum weight of one edge in (14) and update the adjacency matrix (10) and the matrix We can obtain
and
For each vertex we assign it a characteristic logical variable and let
By the equation (9) and using the Matlab toolbox, we can easily obtain
Then, it is easy to see that the index is zero in with
For each let By the equation (11), we can obtain
Thus, we can obtain
There is no set of elements greater than or equal to three, and the adjacency matrix of the calculation is a minimum spanning tree's adjacency matrix. Its image is shown as Figure 2.
Figure 2 The minimum spanning tree of graph |
Full size|PPT slide
Using Algorithm 2, we successfully find the minimum spanning tree of Figure 1.
5 Conclusion
In this paper, we have studied how to use semi-tensor product algebra formula all the cycles of the weighted-connected graph, further designed two algorithms to find all the cut edges and the minimum spanning tree in the graph. The traditional construction method of cutting property and cycle properties of graphs based on these two properties are given. This algorithm is based on the split cycles, to determine whether there are the cycles design. Our method expresses cycles in such a clear way that it was very helpful to study of the cut-edge and the minimum spanning tree problems for general graphs. Moreover, for a given graph with the number of cycles not too large, one can easily use our algorithms to find all cut-edges and the minimum spanning tree. It should be pointed out that the advantage of our approach lies in the mathematical formulation and exact decision results.
{{custom_sec.title}}
{{custom_sec.title}}
{{custom_sec.content}}