Finding Cut-Edges and the Minimum Spanning Tree via Semi-Tensor Product Approach

Xujiao FAN, Yong XU, Xue SU, Jinhuan WANG

Journal of Systems Science and Information ›› 2018, Vol. 6 ›› Issue (5) : 459-472.

PDF(200 KB)
PDF(200 KB)
Journal of Systems Science and Information ›› 2018, Vol. 6 ›› Issue (5) : 459-472. DOI: 10.21078/JSSI-2018-459-14
 

Finding Cut-Edges and the Minimum Spanning Tree via Semi-Tensor Product Approach

Author information +
History +

Abstract

Using the semi-tensor product of matrices, this paper investigates cycles of graphs with application to cut-edges and the minimum spanning tree, and presents a number of new results and algorithms. 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 is established to find all cycles 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, respectively. Finally, the study of an illustrative example shows that the results/algorithms presented in this paper are effective.

Key words

semi-tensor product / cycle / cut-edge / minimum spanning tree

Cite this article

Download Citations
Xujiao FAN , Yong XU , Xue SU , Jinhuan WANG. Finding Cut-Edges and the Minimum Spanning Tree via Semi-Tensor Product Approach. Journal of Systems Science and Information, 2018, 6(5): 459-472 https://doi.org/10.21078/JSSI-2018-459-14

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 n×m matrix A and a p×q matrix B. Then the semi-tensor product of A and B is defined as follows:
AB=(AI/n)(BI/p),
where is the least common multiple of n and p, and is the Kronecker product.
Here, the semi-tensor product is consistent with the product of ordinary matrix, when n=p is called A,B to satisfy the condition of the equal dimension. Therefore, semi-tensor product of matrices is generalized to convention matrix product. A and B satisfies the condition of the multiple dimension, say, n=pt (or nt=p) and denote it as AtB (or AtB).
Definition 2 (see [21]) 1) Let X be a row vector of dimension np, and Y be a column vector with dimension p. Split X into p equal-size blocks as X1,X2,,Xp, which are 1×n row vectors. We define the (left) semi-tensor product, denoted by , as
{XY=i=1pXiyiRn,YTXT=i=1pyi(Xi)TRn,
(1)
where yiR is the ith component of Y.
2) Let AMm×n,BMp×q and AtB(AtB). We define the semi-tensor product of A and B, denoted by C=(Cij), as follow: C consists of blocks and each block is defined as
Cij=AiBj,i=1,2,,m,j=1,2,,q,
where Ai is the ith row of A and Bj is the jth column of B.
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 δni denotes the column of the identity matrix In and "" stands for "identity" or "equivalence". Set n:={δni|1in}, and for notational ease, let :=2 and D:={1,0}.
An n×t matrix M is called a logical matrix if M=[δni1δni2δnit], and for compactness, we express M briefly as M=δn[i1i2it]. The set of n×t logical matrices is denoted by Ln×t.
Definition 3 (see [21]) A swap matrix W[m,n] is an mn×mn matrix, defined as follows:
W[m,n]=δmn[1,m+1,2m+1,,(n1)m+1,2,m+2,2m+2,,(n1)m+2,m,2m,3m,,nm].
The swap matrix can be constructed according to the following steps: label its columns by the following sequence (I,J)=(11,12,,1n,,m1,m2,,mn) and similarly label its rows by the following sequence (i,j)=(11,21,,m1,,1n,2n,,mn). Then its element in the position [(i,j),(I,J)] is assigned as
w(i,j),(I,J)=δi,jI,J={1,I=iandJ=j,0,otherwise,
when m=n, we denote W[n,n] by W[n] or W[m].
By Definition 3 is easy to get:
W[m,n]XY=YX,XRm,  YRn.
(2)
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: T:=1δ21,F:=0δ22. Similarly, a k-valued logical variable ADk can be equivalently represented with the following vectors:
kik1δki,i=1,2,,k,
where
Dk={1,k2k1,,1k1,0}.
Lemma 1 (see [21]) Let f(x1,x2,,xs) be a Boolean function. Then, there exists a unique matrix MfL2×2ssuch that
f(x1,x2,,xs)=Mfi=1sxi,xi,
(3)
for every (x1,x2,,xs)(2)s. Mf is called the structure matrix of f(x).
The first row of the structural matrix Mf corresponds to the truth values of the logical function f(x1,x2,,xs).
Here, we show the structure matrices of some basic Boolean operators (Negation: ¬,Mn=δ2[21]; Conjunction: Λ,Mc=δ2[1222]; Dummy operator(σd):Ed=δ2[1212]), which has the following property: for any two logical variables u,v,Eduv=vorEdW[2,2]uv=u.
Definition 4 (see [22]) An n-ary pseudo-Boolean function f(x1,x2,,xn) is a mapping form Dn to R, where Dn:=D×D××Dn.
A graph G consists of a vertex set V={v1,v2,,vn} and an edge set EV×V, denoted by G={V,E}. For node vi its neighbor set, Ni, is defined as
Ni:={vj|eij=(vj,vi)E}.
(4)
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 e is the cut-edge of G 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 G with n nodes V={v1,v2,,vn}. Assume that the adjacency matrix A=[aij] of G is given as
aij={wij,vjNi,0,vjNi,
where wij is weight.
In this paper, we study simple weighted-undirected graphs. So, let aii=0,i=1,2,,n. Given a vertex subset SpV define a vector VSp=[x1,x2,,xn], called the characteristic logical vector of Sp as follows:
xi={1,viSp,0,viSp.
Theorem 1 For a graph G={V,E} the graph G exist cycles. Sp,p=1,2,,m are all permutation of the vertex of the same cycle in all cycles, if and only if the equation
i=1njiφ(bij)xixj=0
(5)
is solvable and exist solutions xi,i=1,2,,n of nonzero numbers greater than or equal to 3. Where
φ(x):={0,x2,1,otherwise
and B=[bij], the bij express the simple path numbers that i to j simple paths do not have the same edges. The simple paths satisfies: 1) aii1ai1i2ai2i3air1irairj0,l=(i,i1,i2,,ir,j), 2) the elements in l are different from each other, 3) any two paths do not have the same aqt,qt,q,tl. Because ij, let bii=2,i=1,2,,n.
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 vi,vj,vk, these vertices are one of all permutation of the vertex in the cycle. We have bij2,bik2. Then φ(bij)=0, thus φ(bij)xixj=0. Therefore, we can be advisable to xi=xj=1, similarly, xk=1. 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 xi=xj=1. Based on φ(bij)xixj=0, we can obtain φ(bij)=0, which implies that bij2 holds, that is, there is a simple path between vi and vj, and the number of the simple path and the simple path without the same edge is greater than or equal to 2. Therefore, vi and vj, are in the same cycle, similarly, vi and vk, are in the same cycle, so there is a cycle in the graph and Sp 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 Sp,p=1,2,,m, where Sp,p=1,2,,m are all permutation of the vertex of the same cycle in all cycles. Next, we combine the edges in each vertex set Sp to obtain the set of edges of all cycles in the graph. Therefore, the following theorem is made.
Theorem 2 For each vertex viV, design its characteristic vector by xiD and let yi=[xi,x¯i]T,YSp:=i=1nyi. Then there are cycles in the graph G, and the set of edges of all the cycles is
S=p=1,|Sp|3mE(Sp),
if and only if the kpth component of fist row of matrix H is zero, when YSp=δ2nkp,Sp is a solution of the equation
J1HYSp=0
(6)
and exists p such that |Sp|3, where
{H=i=1njiφ(bij)Hij,Hij=Hji=Mc(Ed)n2W[2j,2nj]W[2i,2ji1],i<j,
(7)
|Sp| is cardinality of Sp, and E(Sp) is edges of the set Sp of the vertex. Furthermore the number of zero components of J1H is just the number of solutions of the equation (6), that is, m.
Proof () If there are cycles in the graph, then Sp,p=1,2,,m are all permutation of the vertex of the same cycle in all cycles. By Theorem 1, the equation (5) holds. Since xixj=xjxi=(xixj), without loss of generality, we assume that i<j. Then, using (1), (2), and the dummy operator (Ed), we have
yiyj=(Ed)n2yj+1ynyi+1yj1y1yi1yiyj=(Ed)n2W[2j,2nj]yi+1yj1y1yiyjyj+1yn=(Ed)n2W[2j,2nj]W[2i,2ji1]y1yiyi+1yj1yjyn,
where the product is "". Thus, xixj=J1Hiji=1nyi, where J1=[1,0] and
Hij=Mc(Ed)n2W[2j,2nj]W[2i,2ji1].
So, the equation (5) can be expressed as
0=i=1njiφ(bij)xixj=J1i=1njiφ(bij)Hiji=1nyi=J1HYSp,
(8)
which implies that satisfies the equation (8). Noticing that YSp=δ2nkpΔ2n, the kpth component of J1H much be zero, that is, the kpth component of fist row of matrix H is zero. Because the graph is a simple graph, we can find p such that |Sp|3. So, the necessity is proved.
() If the kpth, p=1,2,,m component of fist row of matrix H are zero, then it can be seem form the assumption on YSp=δ2nkp, that J1HYSp=0. The equation (5) has solutions Sp,p=1,2,,m, and exist p such that |Sp|3. Noticing xiD and φ(bij)0, we know form the equation (5) that φ(bij)xixj=0. So, existing ijk such that φ(bij)0,φ(bik)0,φ(bjk)0, that is, bij<2,bik<2,bjk<2, which implies that there are simple paths for any two different vertices in the {vi,vj,vk}, 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
S=p=1,|Sp|3mE(Sp).
So, the sufficiency is proved.
By Theorem 2, the resulting set S contains the edges of all cycles in the graph. Structural matrices Hij and H 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 G={V,E} with n vertices. Assume that its adjacency matrix is A=[aij]. Let B=[bij], the bij express the simple path numbers that i to j simple paths do not have the same edges.. For each vertex vi with its characteristic logical vector xiD, then let yi=[xi,x¯i]T. To find all the cut edges of graph G, we can take the following steps.
1) Compute the matrix
H=i=1njiφ(bij)Hij,
where Hij=Mc(Ed)n2W[2j,2nj]W[2i,2ji1].
2) Take out the first row of H, and denote it by β=[b1,b2,,b2n]. If for all i,bi0, then graph G 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, bkp=0,p=1,2,,m.
3) For each index kp,p=1,2,,m, consider i=1nyi=δ2nkp. Let[24]
{S1n=δ2[112n1222n1],S2n=δ2[112n2222n2112n2222n2],Snn=δ2[122122]2n1,
(9)
then we have yi=Sini=1nyi=Sinδ2nkp,i=1,2,,n. Noticing that yi=[xi,x¯i]T, we need to check yi whether δ21 or xi. Let S(kp)={vi|yi=δ21,1in}.
4) If |S(kp)|<3 for all p,p=1,2,,m, then graph G 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 |S(kp)|3 to get the set S of edges of all cycles, that is to say, the set S contains edges of all cycles in the graph G corresponding to bkp=0 and exist solutions xi,i=1,2,,n of nonzero numbers greater than or equal to 3. Let
S={eij|aij=aji0,i<j,vi,vjSp,|Sp|3,p=1,2,,m}.
5) Delete all edges in S and update the adjacency matrix A. Form the definition of the cut-edge, we can see that all the cut-edges are η={eij|aij=aji0,i<j,i,j=1,2,,n}.
Similarly, we can obtain the following algorithm.
Algorithm 2 For a weighted-connected graph G={V,E} with n vertices. Assume that its adjacency matrix is A=[aij]. Let B=[bij], the bij express the simple path numbers that i to j simple paths do not have the same edges. For each vertex vi with its characteristic logical vector xiD, then let yi=[xi,x¯i]T. To find the minimum spanning tree of graph G, we can take the following steps.
1) Compute the matrix
H=i=1njiφ(bij)Hij,
where Hij=Mc(Ed)n2W[2j,2nj]W[2i,2ji1].
2) Take out the first row of H, and denote it by β=[b1,b2,,b2n]. If for all i,bi0, then graph G 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, bkp=0,p=1,2,,m.
3) For each index kp,p=1,2,,m, consider i=1nyi=δ2nkp. By the equation (9), then we have yi=Sini=1nyi=Sinδ2nkp,i=1,2,,n. Noticing that yi=[xi,x¯i]T, we need to check yi whether δ21 or xi. Let S(kp)={vi|yi=δ21,1in}.
4) If |S(kp)|<3 for all p,p=1,2,,m, then graph G 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 |S(kp)|3 to get the set S of edges of all cycles, that is to say, the set S contains edges of all cycles in the graph G corresponding to bkp=0 and exist solutions xi,i=1,2,,n of nonzero numbers greater than or equal to 3. Let
S={eij|aij=aji0,i<j,vi,vjSp,|Sp|3,p=1,2,,m}.
5) Delete the maximum weight of one edge in S (If the weights are equal, then the minimum spanning tree is not unique, delete arbitrary one edge) and update the adjacency matrix A and the matrix B, loop (1) (2) (3) (4) (5), where (3) is only counted once. Every time loop (3), we only need to find the corresponding S(kp) (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 G={V,E} 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:
A=[0000300605060540050235420].
(10)
B=[bij], the bij express the simple path numbers that i to j simple paths do not have the same edges. The simple paths satisfies: 1) aii1ai1i2ai2i3air1irairj0,l=(i,i1,i2,,ir,j), 2) the elements in l are different from each other, 3) any two paths do not have the same aqt,qt,q,tl. Just find two such paths in the adjacency matrix (10), we can obtain
φ(bij)=0
and
C=[φ(bij)ij]=[0111110000100001000010000].
For each vertex viV, we assign it a characteristic logical variable xiD and let yi=[xi,x¯i]T,i=1,2,,5.
By the equation (9) and using the MATLAB Toolbox, we can easily obtain
β=[b1,b2,,b32]=J1×(H12+H13+H14+H15+H21+H31+H41+H51)=[86646442644242200000000000000000].
Then, it is easy to see that the index is zero in β, with
k=[1617181920212223242526272829303132].
For each kpk, let i=15=δ32kp. Based on the equation (9), by computing yi=Si5i=15=Si5δ32kp,i=1,2,,5, we have
k1=16(x1,x2,x3,x4,x5)=(1,0,0,0,0),k2=17(x1,x2,x3,x4,x5)=(0,1,1,1,1),
k3=18(x1,x2,x3,x4,x5)=(0,1,1,1,0),k4=19(x1,x2,x3,x4,x5)=(0,1,1,0,1),
k5=20(x1,x2,x3,x4,x5)=(0,1,1,0,0),k6=21(x1,x2,x3,x4,x5)=(0,1,0,1,1),
k7=22(x1,x2,x3,x4,x5)=(0,1,0,1,0),k8=23(x1,x2,x3,x4,x5)=(0,1,0,0,1),
k9=24(x1,x2,x3,x4,x5)=(0,1,0,0,0),k10=25(x1,x2,x3,x4,x5)=(0,0,1,1,1),
k11=26(x1,x2,x3,x4,x5)=(0,0,1,1,0),k12=27(x1,x2,x3,x4,x5)=(0,0,1,0,1),
k13=28(x1,x2,x3,x4,x5)=(0,0,1,0,0),k14=29(x1,x2,x3,x4,x5)=(0,0,0,1,1),
k15=30(x1,x2,x3,x4,x5)=(0,0,0,1,0),k16=31(x1,x2,x3,x4,x5)=(0,0,0,0,1),
k17=32(x1,x2,x3,x4,x5)=(0,0,0,0,0).
(11)
Thus, we can obtain
S(k1)={v1},S(k2)={v2,v3,v4,v5},S(k3)={v2,v3,v4},S(k4)={v2,v3,v5},S(k5)={v2,v3},S(k6)={v2,v4,v5},S(k7)={v2,v4},S(k8)={v2,v5},S(k9)={v2},S(k10)={v3,v4,v5},S(k11)={v3,v4},S(k12)={v3,v5},S(k13)={v3},S(k14)={v4,v5},S(k15)={v4},S(k16)={v5},S(k17)={},
where all the sets of elements greater than or equal to three are as follows:
S(k2)={v2,v3,v4,v5},S(k3)={v2,v3,v4},(k4)={v2,v3,v5},
S(k6)={v2,v4,v5},S(k10)={v3,v4,v5},
combine the edges of all vertex sets |S(kp)|3 to get the set S of edges of all cycles. S is as follows:
S={eij|aij=aji0,i<j,vi,vjSp,p=2,3,4,6,10}={e23,e25,e34,e35,e45}.
(12)
All the cut edges of Figure 1 are calculated by Algorithm 1. We delete all edges in S and update the adjacency matrix (10). We can obtain
A=[0000300000000000000030000].
(13)
By the adjacency matrix (13), all the cut edges of Figure 1 are as follows:
η={eij|aij=aji0,i<j,i,j=1,2,,5}={e12}.
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 e23 in (12) and update the adjacency matrix (10) and the matrix B. We can obtain
A=[0000300005000540050235420]
(14)
and
C=[φ(bij)ij]=[0111110111110001100011000].
For each vertex viV, we assign it a characteristic logical variable xiD and let yi=[xi,x¯i]T,i=1,2,,5.
By the equation (9) and using the MATLAB Toolbox, we can easily obtain
β=[b1,b2,,b32]=J1×(H12+H13+H14+H15+H21+H31+H41+H51+H23+H24+H25+H32+H42+H52)=[141010610662644242206442422000000000].
Then, it is easy to see that the index is zero in β, with
k=[16242526272829303132].
For each kpk, let i=15=δ32kp. Based on the equation (11), we can obtain
k1=16(x1,x2,x3,x4,x5)=(1,0,0,0,0),k2=24(x1,x2,x3,x4,x5)=(0,1,0,0,0),
k3=25(x1,x2,x3,x4,x5)=(0,0,1,1,1),k4=26(x1,x2,x3,x4,x5)=(0,0,1,1,0),
k5=27(x1,x2,x3,x4,x5)=(0,0,1,0,1),k6=28(x1,x2,x3,x4,x5)=(0,0,1,0,0),
k7=29(x1,x2,x3,x4,x5)=(0,0,0,1,1),k8=30(x1,x2,x3,x4,x5)=(0,0,0,1,0),
k9=31(x1,x2,x3,x4,x5)=(0,0,0,0,1),k10=32(x1,x2,x3,x4,x5)=(0,0,0,0,0).
Thus, we can obtain
S(k1)={v1},S(k2)={v2},S(k3)={v3,v4,v5},S(k4)={v3,v4},S(k5)={v3,v5},
S(k6)={v3},S(k7)={v4,v5},S(k8)={v4},S(k9)={v5},S(k10)={},
where all the sets of elements greater than or equal to three are as follows:
S(k3)={v3,v4,v5},
combine the edges of all vertex sets |S(kp)|3 to get the set S of edges of all cycles. S is as follows:
S={eij|aij=aji0,i<j,vi,vjSp,p=3}={e34,e35,e45}.
(15)
We delete the maximum weight of one edge e34 in (14) and update the adjacency matrix (10) and the matrix B. We can obtain
A=[0000300005000040000235420]
(16)
and
C=[φ(bij)ij]=[0111110111110111110111110].
For each vertex viV, we assign it a characteristic logical variable xiD and let yi=[xi,xi¯]T,i=1,2,,5.
By the equation (9) and using the Matlab toolbox, we can easily obtain
β=[b1,b2,,b32]=J1×(H12+H13+H14+H15+H21+H31+H41+H51+H23+H24+H25+H32+H42+H52+H34+H35+H45+H43+H53+H54)=[20121261266212662622012662622062202000].
Then, it is easy to see that the index is zero in β, with
k=[162428303132].
For each kpk, let i=15=δ32kp. By the equation (11), we can obtain
k1=16(x1,x2,x3,x4,x5)=(1,0,0,0,0),k2=24(x1,x2,x3,x4,x5)=(0,1,0,0,0),
k3=28(x1,x2,x3,x4,x5)=(0,0,1,0,0),k4=30(x1,x2,x3,x4,x5)=(0,0,0,1,0),
k5=31(x1,x2,x3,x4,x5)=(0,0,0,0,1),k6=32(x1,x2,x3,x4,x5)=(0,0,0,0,0).
Thus, we can obtain
S(k1)={v1},S(k2)={v2},S(k3)={v3},S(k4)={v4},S(k5)={v5},S(k6)={}.
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 G

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.

References

1
Chung F. Graph theory in the information age. Notices of AMS, 2010, 57(6): 726- 732.
2
Adolfo P M, Alkiviadis K, Victor M E, et al. Wikipedia information flow analysis reveals the scale-free architecture of the semantic space. PLoS One, 2011, 6(2): e17333.
3
Cheng D Z, Qi H S. Theory and application of matrix semi tensor product. Beijing: Science Press, 2007.
4
Cheng D Z, Qi H S, Li Z Q. Analysis and control of Boolean networks: A semi-tensor product Approach. London: Springer, 2011.
5
Cheng D Z, Qi H S. A linear representation of dynamics of Boolean networks. IEEE Transactions on Automatic Control, 2010, 55(10): 2251- 2258.
6
Li H T, Wang Y Z, Liu Z B. Existence and number of fixed points of Boolean transformations via the semi-tensor product method. Applied Mathematics Letters, 2012, 25(8): 1142- 1147.
7
Dmitriy L, Michael M, Guy E. Observability of Boolean networks: A graph theoretic approach. Automatica, 2013, 49(8): 2351- 2362.
8
Ettore F, Maria E V. Observability, reconstructibility and state observers of Boolean control networks. IEEE Transactions on Automatic Control, 2013, 58(6): 1390- 1401.
9
Liu Y, Chen H W, Lu J Q, et al. Controiiability of probabilistic Boolean control networks based on transition probability matrices. Automatica, 2015, 52, 340- 345.
10
Liu Y, Lu J Q, Wu B. Some necessary and sufficient conditions for the out put controllability of temporal Boolean control networks. ESAIM Control Optimisation and Calculus of Variation, 2014, 20(1): 158- 173.
11
Cheng D Z, Qi H S. Controllability and observability of Boolean control networks. Automatica, 2009, 45(7): 1659- 1667.
12
Zhong J, Lu J Q, Liu Y, et al. Synchronization in an array of outputcoupled Boolean networks with time delay. IEEE Transactions on Neural Networks and Learning Systems, 2014, 25(12): 2288- 2294.
13
Zhong J, Lu J Q, Huang T W, et al. Synchronization of master-slave Boolean networks with impulsive effects: Necessary and sufficient criteria. Neurocomputing, 2014, 143, 269- 274.
14
Lu J Q, Zhong J, Tang Y, et al. Synchronization in output-coupled temporal Boolean networks. Scientific Reports, 2014, 4, 6292.
15
Li R, Chu T G. Complete synchronization of Boolean networks. IEEE Transactions on Neural Networks and Learning Systems, 2012, 23(5): 840- 846.
16
Li F F. Synchronization of coupled large-scale Boolean networks. Chaos, 2014, 24(1): 013115.
17
Cheng D Z. Disturbance decoupling of Boolean control networks. IEEE Transactions on Automatic Control, 2010, 20(3): 561- 582.
18
Cheng D Z, Li Z Q, Qi H S. Realization of Boolean control networks. Automatica, 2010, 46(1): 62- 69.
19
Laschov D, Margaliot M. A maximum principle for single-input boolean control networks. IEEE Transactions on Automatic Control, 2011, 56(4): 913- 917.
20
Li F F, Sun J T. Controllability of Boolean control networks with time delays in states. Automatica, 2011, 47(3): 603- 607.
21
Cheng D Z, Qi H S, He F G. Mapping and dynamic process on finite set use matrix semi tensor product method. Beijing: Science Press, 2015.
22
Liu Y C, Zhang W. Boolean methodology. Shanghai: Shanghai Technology Literature Press, 1993.
23
Reinhard D. Graph Theory, Graduate Texts in Mathematics. Fourth Edition New York: Springer, 2010.
24
Wang Y Z, Zhang C G, Liu Z B. A matrix approach to graph maximum stable set and coloring problems with application to multi-agent systems. Automatica, 2012, 48(7): 1227- 1236.

Funding

the Natural Science Foundation of Hebei Province(61203142)
PDF(200 KB)

172

Accesses

0

Citation

Detail

Sections
Recommended

/