Physics Letters A 377 (2013) 3112–3118
Contents lists available at ScienceDirect
Physics Letters A www.elsevier.com/locate/pla
Minimum energy control and optimal-satisfactory control of Boolean control network Fangfei Li ∗ , Xiwen Lu Department of Mathematics, East China University of Science and Technology, Shanghai, China
a r t i c l e
i n f o
Article history: Received 6 April 2013 Received in revised form 23 September 2013 Accepted 2 October 2013 Available online 7 October 2013 Communicated by A.R. Bishop
a b s t r a c t In the literatures, to transfer the Boolean control network from the initial state to the desired state, the expenditure of energy has been rarely considered. Motivated by this, this Letter investigates the minimum energy control and optimal-satisfactory control of Boolean control network. Based on the semi-tensor product of matrices and Floyd’s algorithm, minimum energy, constrained minimum energy and optimalsatisfactory control design for Boolean control network are given respectively. A numerical example is presented to illustrate the efficiency of the obtained results. © 2013 Elsevier B.V. All rights reserved.
Keywords: Boolean control network Minimum energy control Optimal-satisfactory control Semi-tensor product
1. Introduction Boolean network was first proposed by Kauffman to describe genetic regulatory networks. In a Boolean network, the states of Boolean variables correspond to the activities of genes. The state of each Boolean variable is described by a binary variable, where the value 1 (or 0) represents the Boolean variable is on (or off). Moreover, every Boolean variable updates its value according to a logical relationship, given in the form of a Boolean function. As Boolean network is a powerful tool in describing, analyzing and simulating the cellular network, it has received much attention. Up to now, many results on the topological structure of a Boolean network have been presented, see e.g. [1–3]. There is also a huge amount about Boolean networks in literature, for example, see [4]. Recently, a new matrix product called semi-tensor product is emerging, which has a wide range of application in many fields, for example, see [5–8]. The semi-tensor product of matrices has been successfully applied to express and analyze Boolean networks. A set of useful formulas for calculating fixed points and cycles of Boolean networks was given by [5]. Many fundamental and landmark results about Boolean control networks have been obtained by this method. For example, the controllability and observability of BCN have been studied by [9], and the synchronization has been investigated by [10].
*
Corresponding author. Tel.: +86 021 64252839. E-mail address:
[email protected] (F. Li).
0375-9601/$ – see front matter © 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.physleta.2013.10.002
Optimal control theory is a mathematical optimization method for deriving control polices, see e.g. [11–13]. The optimal control of Boolean networks has attracted attention too. For example, by using a maximum principle, [14] has discussed the Mayer-type optimal control for single-input Boolean networks, that is fix a final time N > 0, maximize the cost-functional J (u ) = r T x( N ; u ). [15] has studied the of minimizing the cost functional Mproblem −1 1 J (u ) = lim M →∞ M P ( x ( t ), u (t )) of k-valued logical system t =0 (when k = 2, k-valued logical system degenerates into a Boolean network), that is the average-cost per-stage infinite-horizon problem. Time-optimal control problem of Boolean networks has been studied too, [16]. Though the optimal control of Boolean networks has been studied, and some research results have been reported in the literature, we can note that the minimum energy control of minimum energy control and satisfactory control of Boolean networks are still lacking in the literature. The minimum energy control and satisfactory control are meaningful. Optimal control deals with the problem of finding a control law for a given system such that a certain optimality criterion is achieved. Energy constraints are also encountered naturally in practical systems, because any physical system can only be powered with finite energy [17]. In optimal control theory, the minimum energy control is one of the most fundamental and important problems in modern control, for example, see [18,19]. The minimum energy control is the control u (t ) that steers a system to a desired state with a minimum expenditure of energy. Satisfactory control was proposed aiming at the optimal control of sophisticated industry process. Its primary principle is that the solving of optimal control of sophisticated industry process can be considered as a procedure of obtaining the
F. Li, X. Lu / Physics Letters A 377 (2013) 3112–3118
satisfactory solution with the adjustment of the operator [20]. Satisfactory control has been widely discussed in the literature, see e.g. [21]. But there have been no results on the minimum energy control and satisfactory control of Boolean network to the best of our knowledge. Motivated by the above, in this Letter, we study the minimum energy control and satisfactory control of a Boolean network. We want to find a control sequence that transfers a Boolean network from the initial state x(0) = x0 to the desired xd = x(s) s−state 1 and minimizes the energy consumption P (u ) = t =0 u T (t ) Q u (t ). Moreover, we want to solve the satisfactory control problem of a Boolean network. That is, we will choose s−1a control sequence to ensure the performance index P (u ) = t =0 u T (t ) Q u (t ) is not more than a prescribed value a. In general, it is possible to superimpose other requirements like the requirement of the minimum time from the initial state to the desired state, i.e. the optimalsatisfactory control problem [22]. Hence, weconsider the minis−1 mum time optimization problem, and P (u ) = t =0 u T (t ) Q u (t ) a as an inequality constraint. That is, we will find the minimum time s fromthe initial state x0 to the desired state xd = x(s), s−1 s.t. P (u ) = t =0 u T (t ) Q u (t ) a. The main tools in this Letter are semi-tensor product of matrices and Floyd’s algorithm. Floyd’s algorithm is a famous algorithm for finding shortest paths in a weighted graph. Although there are some other algorithms for finding the shortest paths, such as Dijkstra’s algorithm and Johnson’s algorithm, Floyd’s algorithm has its own advantages. For example, Dijkstra’s algorithm needs the graph to have a single source and the edge weights to be nonnegative, Johnson’s algorithm can only be applied to sparse directed graphs, Floyd’s algorithm has no such limitations [15,23]. The main contributions of this Letter are as follows. (i) The minimum energy control of Boolean network is studied for the first time by using the semi-tensor product, to the best of our knowledge. (ii) Algorithms are provided to transfer the system from the initial state to the desired state while avoiding unfavorable states with minimum energy. (iii) The concepts of optimal satisfactory is given in this Letter, and an algorithm is presented to solve this problem. The rest of this Letter is organized as follows. Section 2 gives the preliminaries. In Section 3, we first solve the minimum energy control problem of the BCN. Algorithms are given to transfer the BCN from the initial state to the desired state with the minimum expenditure of energy. Next, the constrained minimum energy control design is given. That is to solve the minimum energy control problem of the BCN while avoiding a set of forbidden states. Section 4 studies the optimal-satisfactory problem of the BCN, that is to study the minimum time optimization problem and the expenditure of energy is not more than a prescribed value. Section 5 gives the illustrative example, which is followed by the conclusion in Section 6. 2. Preliminaries In this section, we will review the semi-tensor product (STP) and Floyd’s algorithm.
3113
Table 1 Some notations. Notation
Explanation
Mm×n Δk
The set of all m × n matrices Δk := {δki |i = 1, 2, . . . , k}, where δki is the ith column of the identity matrix I k A matrix A ∈ Mm×n is called a logical matrix, if the columns of A are elements of Δm . The set of n × s logical matrices is defined by Ln×s The ith n × n square block of a matrix A ∈ Mn×mn , i = 1, 2, . . . , m The ith element of the jth column of a matrix A
Ln×s
Blki ( A ) A i, j
where s is the least common multiple of n and p, and ⊗ is the Kronecker product. Remark 2.1. The matrix product we use in this Letter is the semitensor product (STP). Since STP is a generalization of conventional matrix product, we omit the symbol “”, if no confusion raises. Next, we give some other notations, which are collected in Table 1. Letting D := {1, 0}. By identifying T = 1 ∼ δ21 , F = 0 ∼ δ22 , then the logical variable A (t ) takes value from these two vectors, i.e. A (t ) ∈ Δ := Δ2 = {δ21 , δ22 }. The following lemma is fundamental for the matrix expression of the logical function. Lemma 2.1. (See [24].) Any logical function L ( A 1 , . . . A n ) with logical arguments A 1 , . . . , A n ∈ Δ can be expressed in a multi-linear form as
L ( A 1 , . . . An ) = M L A 1 A 2 · · · An , where M L ∈ L2×2n is unique, called the structure matrix of L. 2.2. Floyd’s algorithm In this subsection, we will review Floyd’s algorithm [25,26], which will be used in the following discussion. A graph G is a pair G = ( V , E ), where V is a finite set of nodes or vertices, and E has as elements subset of V of cardinality two called edges. A directed graph is a graph with directions assigned to its edges. A weighted directed graph is G = ( V , E ) together with a function w from E to Z (usually just Z + ; it can also be R + when, for example the weights are Euclidean distances). In certain cases, we shall use more mnemonic name for weights, such as c (for cost) or d (for distances). For a weighted directed graph G = ( V , E ), where the vertices V = {1, 2, . . . , N }, denote by c i j the weight of the edge (i , j ). Set
di j (0) =
(i , j ) ∈ E and i = j , ∞, otherwise.
ci j ,
The Floyd’s algorithm is: For α = 1, . . . , N, i = 1, . . . , N, i = α , j = 1, . . . , N, j = α , iteratively calculate
di j (α ) = min di j (α − 1), di α (α − 1) + dα j (α − 1) . 2.1. Semi-tensor product In this subsection, we will introduce the semi-tensor product and some concerning results. Definition 2.1. (See [24].) For M ∈ Rm×n and N ∈ R p ×q , their STP (also called Cheng product), denoted by M N, is defined as follows:
M N := ( M ⊗ I s/n )( N ⊗ I s/ p ),
Assume there are no negative cycles, that is, there are no cycles of negative length, then di j ( N ) is the sum of weights through the shortest path from vertex i to vertex j. di j (α ) is the sum of weights through the shortest path from vertex i to vertex j which only passes some nodes contained in {1, 2, . . . , α }. 3. Main results A Boolean control network with n variables and m inputs is described as
3114
F. Li, X. Lu / Physics Letters A 377 (2013) 3112–3118
Fig. 1. A graphical representation for Boolean network (3). We will take u 1 (t ) = u 2 (t ) = 1, and A (0) = B (0) = C (0) = 1 for example. The light grey node means the state is off (0), else, it is on (1).
⎧ A 1 (t + 1) = f 1 u 1 (t ), . . . , um (t ), A 1 (t ), . . . , A n (t ), ⎪ ⎪ ⎪ ⎨ A 2 (t + 1) = f 2 u 1 (t ), . . . , um (t ), A 1 (t ), . . . , An (t ) , .. ⎪ ⎪ . ⎪
⎩ A n (t + 1) = f n u 1 (t ), . . . , um (t ), A 1 (t ), . . . , A n (t ) ,
A (t + 1) = M c ( I 2 ⊗ M ) W [2] E d2 W [2,4] u 1 (t )u 2 (t ) A (t ) B (t )C (t )
M 1 u (t )x(t ),
(1)
B (t + 1) = M n E d4 W [8,4] u 1 (t )u 2 (t ) A (t ) B (t )C (t ) M 2 u (t )x(t ),
where A i , u j ∈ D , i = 1, 2, . . . , n, j = 1, 2, . . . , m; f i : Dn+m → D , i = 1, 2, . . . , n, are logical functions. By letting x(t ) = ni=1 A i (t ), u (t ) = m u (t ), using Lemma 2.1, i =1 i from [5], we can convert (1) into
C (t + 1) = M E d I 4 ⊗ E d2 W [4,2] u 1 (t )u 2 (t ) A (t ) B (t )C (t )
M 3 u (t )x(t ). It leads to x(t + 1) = Lu (t )x(t ), where Coli ( L ) = 3j =1 Coli ( M j ), and
L = δ8 [8, 4, 7, 7, 6, 2, 5, 5, 7, 3, 8, 8, 5, 1, 6, 6, x(t + 1) = Lu (t )x(t ),
(2)
where L ∈ L2n ×2n+m is the transition matrix of (1).
4, 8, 7, 7, 2, 6, 5, 5, 3, 7, 8, 8, 1, 5, 6, 6]. 3.1. Minimum energy control of Boolean control network
Remark 3.1. In this Letter, for notational compactness, we simply i i i denote the logical matrix M = [δn1 , δn2 , . . . , δns ] as M = δn [i 1 , i 2 , . . . , i s ].
In this subsection, we will study the minimum energy control of Boolean control network (1). We will find a control sequence that transfers the system (2) from the initial state x(0) = x0 to the desired state xd = x(s) and minimizes the energy consumption
Example 3.1. Consider the following Boolean control network:
⎧
⎨ A (t + 1) = B (t ) ∧ u 1 (t ) C (t ) , B (t + 1) = ¬ A (t ), ⎩ C (t + 1) = u 2 (t ) B (t ),
P (u ) = (3)
where u 1 (t ), u 2 (t ) ∈ Δ. Moreover, “∧”, “¬” and “” are the logical functions “conjunction”, “negation” and “exclusive or (XQR)” respectively, and their structure matrices are M c , M n and M respectively. A graphical representation for A (0) = B (0) = C (0) = 1 and u 1 (t ) = u 2 (t ) = 1 is shown in Fig. 1. By letting x(t ) = A (t ) B (t )C (t ), u (t ) = u 1 (t )u 2 (t ), through calculating, we have
s −1
u T (t ) Q u (t ),
(4)
t =0
where Q is a weighting matrix. To consider the minimum energy control problem, Q is always a positive definite weighting matrix in the literatures, see e.g. [19]. Note that, u (t ) ∈ Δ2m , hence, in this Letter, Q is diagonal, where the diagonal elements are positive. Eq. (4) can be viewed as the cost of control. Hence, to minimize (4) can be viewed as to transfer the system from the initial state to the desired state with the minimum cost of control. Before giving the minimum energy control design, we define two kinds of matrices calculation.
F. Li, X. Lu / Physics Letters A 377 (2013) 3112–3118
If Ddi, j = Ddi ,−j 1 < ∞, set R di, j = i ∗ , or there exists (6) and Ddi, j < ∞, set R di, j = α ; else R di, j = 0.
Definition 3.1. 1. Assume that matrices A = (ai j )m×l , B = (b i j )l×n , then define matrix C = A B = (c i j )m×n , where c i j = min(ai1 + b1 j , ai2 + b2 j , . . . , ail + blj ). 2. Assume that matrices A = (ai j )m×n , B = (b i j )m×n , then define matrix C = A ⊕ B = (c i j )m×n , where c i j = min(ai j , b i j ). We construct a matrix D based on the transition matrix L and the weighting matrix Q . Split L as L = [Blk1 ( L ), . . . , Blk2m ( L )]. We construct matrices D r , r = 1, 2, . . . , 2m , as follows: for Blkr ( L ), if j j there is an edge from δ2i n to δ2n (i.e. δ2n can be reached from δ2i n at one step), then we denote D ri, j as Q r ,r ; else we add a pseudo-edge with ∞, where and hereafter D ri, j represents the (i , j )-th element of matrix D r . Let D = D 1 ⊕ D 2 ⊕ · · · ⊕ D 2m .
3115
α satisfying j
3. By doing this, we can find a path from δ2i n to δ2n and the corresponding control, which minimizes the energy consumpn tion (4). The minimum cost is D2i , j . The path can be constructed as follows: (1) If D2i , j = D2i , j−1 < ∞, i.e. R 2i , j = i ∗ , then go to R 2i , j−1 . If R 2i , j−1 = n
n
n
n
n
i ∗ , i.e. D2i , j−1 = D2i , j−2 , go to R 2i , j−2 ; else the previous state of n
n
n R 2i , j −1 n 2
n
. Set R 2i , j−1 = α , go to R 2i ,α−2 . Continuing this process, we can find the path and the corresponding control. n n j (2) If D2i , j = D2i ,α−1 + Dα , j < ∞, the previous state of δ2n is δ2αn . If j
n
δ2n is δ
n
R 2i ,α−1 = i ∗ , then go to R 2i ,α−2 ; else the previous state of δ2αn n
Remark 3.2. We can note that, for u (t ) = δ2r m , it leads to u T (t ) Q u (t ) = Q r ,r . Hence, the construction of D r is reasonable. Moreover, from the definition of D, we can see that Di , j represents the minimum
n
n R 2i ,α−1 n 2
is δ . Continue this process, we can find the path and the corresponding control.
j
energy needed to steer the system from δ2i n to δ2n in one step. Example 3.2. Reconsider Example 3.1. Assume that the energy consumption is
P (u ) =
s −1
(5)
where Q = diag(2, 1, 1, 0). We now show that how to construct matrix D. It is noted that (5) is equivalent to minimize s−1 t =0 d H (u 0 , u t ), where u 0 = (u 1 (0), u 2 (0)) = (0, 0), d H is the Hamming distances. That is, we want the control to be off. Since Blk1 ( L ) = δ8 [8, 4, 7, 7, 6, 2, 5, 5], Blk2 ( L ) = δ8 [7, 3, 8, 8, 5, 1, 6, 6], Blk3 ( L ) = δ8 [4, 8, 7, 7, 2, 6, 5, 5], Blk4 ( L ) = δ8 [3, 7, 8, 8, 1, 5, 6, 6], then for Blk1 ( L ), there is an edge from δ81 to δ88 . Hence, we denote D 11,8 as Q 1,1 , that is 2. For Blk2 ( L ), Blk3 ( L ) and Blk4 ( L ), there are no edges from δ81 to δ88 , then we denote D 21,8 = D 31,8 = D 41,8 = ∞. Hence,
By doing this, we can construct matrix D,
∞ 0 1 ∞ 1 2 ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
1 0 1 1
2 1 0 0
1 0 1 1
∞ ∞ ∞ ∞
2 1 0 0
δ2n and the value of the energy consumption (4) is minimum. Moreover, n
D2i , j represents the minimum cost.
Proof. We first prove that the trajectory found in Algorithm 3.1 is j a path from δ2i n to δ2n . When l = 1, if D1i , j < ∞, then there exists a path from δ2i n j
to δ2n from the definition of D. Assume that it is true for l − 1,
1 l−1 l−1 l = minα {Dli− , j , Di ,α + Dα , j } < ∞, then Di , j = Di , j < ∞ or 1 Dli , j = Dli− ,α + Dα , j < ∞.
if
Dli , j
1 (1) If Dli , j = Dli− , j < ∞, we can draw the conclusion that there exj ists a path from δ2i n to δ2n from the assumption.
1 i (2) If Dli , j = Dli− ,α + Dα , j < ∞, then there exists a path from δ2n to j j δ2αn and an edge from δ2αn to δ2n , i.e. a path from δ2i n to δ2n .
D1,8 = D 11,8 ⊕ D 21,8 ⊕ D 31,8 ⊕ D 41,8 = 2.
∞ ⎢∞ ⎢ ⎢∞ ⎢ ⎢∞ D=⎢ ⎢ 0 ⎢ ⎢ 1 ⎣∞ ∞
Theorem 3.1. The trajectory found in Algorithm 3.1 is a path from δ2i n to j
u (t ) T Q u (t ),
t =0
⎡
Remark 3.3. In Algorithm 3.1 and the following discussion, R li , j represents the (i , j )-th element of the lth power of matrix R.
⎤
Next, we prove that the value of the energy consumption (4) is minimum. When l = 1, from the definition of D, we can notice that j D1i , j < ∞ represents the minimum cost from δ2i n to δ2n in one step.
⎥ ⎥ ⎥ ⎥ ⎥ ⎥. ∞⎥ ⎥ ∞⎥ ∞⎦ ∞
Then D2i , j = minα {Di , j , Di ,α + Dα , j } < ∞ represents the minimum j
cost from δ2i n to δ2n in one and two steps.
1 Assume it is true for l − 1. Then Dli− , j represents the minimum j 1 cost from δ2i n to δ2n in 1, . . . , l − 1 steps. Dli− ,α , Dα , j represent the
We give an algorithm to solve the minimum energy control of Boolean control network (1) based on the Floyd’s algorithm. That j is, we will find a path from δ2i n to δ2n , and the value of the energy consumption (4) is minimum. j In this Letter, we assume that δ2n can be reachable from δ2i n .
minimum cost from δ2i n to δ2αn in 1, . . . , l − 1 steps and from δ2αn
1 to δ2n in one step respectively. Hence, Dli− ,α + Dα , j represents the n j minimum cost from δ2i n to δ2n in 2, . . . , l steps. So, D2i , j is the minj
j
imum cost from δ2i n to δ2n in 1, 2, . . . , 2n steps.
Since the matrices R l record the route of the trajectory with the minimum cost, we can draw the conclusion. 2
Algorithm 3.1.
1. Set D1 = D, R 1i , j =
Next, we give another algorithm based on [27]. i, 0,
Di , j < ∞, otherwise.
Algorithm 3.2.
2. For d = 2, . . . , 2 , construct D as n
Ddi, j
= min α
1 Ddi ,−j 1 , Ddi ,− α
d
+ Dα , j .
(6)
1. Set D1 = D, R 1i , j =
i, 0,
Di , j < ∞, otherwise.
3116
F. Li, X. Lu / Physics Letters A 377 (2013) 3112–3118
2. For d ∈ {2, . . . , 2n }, construct Dd = (D · · · D) D as
d−1
If there exists
R di, j = 0.
1 Ddi, j = min Ddi ,− α + Dα , j .
(7)
α
If there exists
α satisfying (7) and Ddi, j < ∞, set R di, j = α ; else
R di, j = 0.
¯ = D1 ⊕ D2 ⊕ · · · ⊕ D2 , and find an l such that Dl = D¯ i , j . 3. Let D i, j j By doing this, we can find a path from δ2i n to δ2n and the value of the energy consumption (4) is minimum. The minimum cost ¯ i , j . The path can be constructed as follows: is D
d−1
lows: δ2i n → · · · → δ2n
Remark 3.5. From the proof of Theorem 3.2, we have Dli , j reprej
j
→ δ2αn → δ2n .
Remark 3.4. In this Letter, Algorithm 3.1 and Algorithm 3.2 can solve the minimum energy problem. They have their own advantages. For example, we can see that, the sequence D1i , j , D2i , j , . . . , Ddi, j ,
. . . , in Algorithm 3.1 is monotonic decreasing. Hence, it will converge to the optimal solution more quickly. If we need to know the minimum energy from one state to another in a fixed time, we can use Algorithm 3.2. Theorem 3.2. The trajectory found in Algorithm 3.2 is a length-d path d−1 j from δ2i n to δ2n , and the value of the cost function t =0 u T (t ) Q u (t ) is minimum. Moreover, Ddij represents the minimum cost.
Proof. First, we prove that the trajectory is a length-d path from j
δ2i n to δ2n . When d = 1, the conclusion follows from the definition
of D1 . Now assume that Ddi ,−j 1 < ∞ represents the case that there j exists a length-(d − 1) path from δ2i n to δ2n . Note that, if there exists α , such that
j
δ2i n → · · · → δ2ni,α → δ2αn → δ2n .
T
the corresponding control, which minimizes t =0 u (t ) Q u (t ). The minimum cost is Ddi, j . The path can be constructed as fol-
n
R l −1
j
3. By doing this, we can find a length-d path from δ2i n to δ2n and
1 R di ,− α
α satisfying (8) and Ddi, j < ∞, set R di, j = α ; else
1 Ddi, j = min Ddi ,− α + Dα , j < ∞, α j
then there exists a length-d path from δ2i n to δ2n (that is a
sents the minimum cost from δ2i n to δ2n at the lth step. Hence, ¯ we have D¯ i , j represents the minimum from the definition of D, j cost from δ2i n to δ2n . Similar to the proof of Theorem 3.2, we have Theorem 3.3. The trajectory found in Algorithm 3.3 is a path from δ2i n to j
δ2n , and the value of the energy consumption (4) is minimum. Moreover, ¯ i , j represents the minimum cost. D 3.2. Constrained minimum energy control problem In this subsection, we investigate the constrained minimum energy control problem of the BCN (1). We can note that for some biological systems, there are some states, which may correspond to unfavorable or dangerous situations. Hence, we may need the system to avoid these states [28]. Motivated by this, we will find a control policy, which minimizes the cost function (4), s.t. x(i ) ∈ / C, i = 1, 2, . . . , 2n , where C is a set of undesirable states. First, we construct matrix D as it is introduced in Section 3.1. Then substitute ∞ in the rows and columns correspond to the states in C . For example, if δ2i n ∈ C , then substitute ∞ in the ith
˜ row and ith column. Denote this matrix as D. Similar to Algorithm 3.1 (Algorithm 3.3), the following algorithms are given.
j
length-(d − 1) path from δ2i n to δ2αn and an edge from δ2αn to δ2n ).
Next, we prove that the cost is minimum. Denote P id, j as the j cost of a length-d path from δ2i n to δ2n . We prove it by mathematical induction. When d = 1, the conclusion follows from the definition of D1 . Assume it is true for d − 1, then P id,−j 1 D di ,−j 1 . Since a path from
δ2i n δ2i n
to
j δ2n
can always be considered as a length-(d − 1) path from
Algorithm 3.4.
˜ R˜ 1 = ˜ 1 = D, 1. Set D i, j
i, 0,
˜ i , j < ∞, D otherwise.
˜ d as 2. For d = 2, . . . , 2n , construct D
˜ d = min D˜ d−1 , D˜ d−1 + D˜ α , j . D i, j i, j i ,α α
(9)
˜ d = D˜ d−1 < ∞, set R˜ d = i ∗ , or there exists If D i, j i, j i, j ˜ d < ∞, set R˜ d = α ; else R˜ d = 0. (9) and D i, j i, j i, j
j to δ2αn and an edge from δ2αn to δ2n . Then
1 d −1 d P id, j = P id,− α + P α , j D i ,α + D α , j D i , j .
α satisfying j
l
Since the matrices R record the route of the trajectory with the minimum cost. We can draw the conclusion. 2 Finally, from Algorithm 3.2 and Theorem 3.2, we can give the following algorithm to solve the minimum energy control problem of Boolean control network (1). Algorithm 3.3.
3. By doing this, we can find a path from δ2i n to δ2n and the corresponding control, which minimizes the energy consumption (4). The path can be constructed as follows:
˜ 2 = D˜ 2 −1 < ∞, i.e. R˜ 2 = i ∗ , then go to R˜ 2 −1 . If (1) If D i, j i, j i, j i, j n ˜ 2n −1 = D˜ 2n −2 , go to R˜ 2n −2 ; else the previous R˜ 2i , j−1 = i ∗ , i.e. D i, j i, j i, j n
n
n
n
n
1. Set D1 = D, R 1i , j =
j
i, 0,
Di , j < ∞, otherwise.
2. For d = 2, . . . , 2n , construct Dd = (D · · · D) D as
1 Ddi, j = min Ddi ,− α + Dα , j . α
d−1
R˜ 2i , j −1
state of δ2n is δ2n . Set R˜ 2i , j−1 = α , go to R˜ 2i ,α−2 . Continue this process, we can find the path and the corresponding control. ˜ 2n = D˜ 2n −1 + D˜ α , j < ∞, the previous state of δ jn is δ αn . If (2) If D 2 2 i ,α i, j n
n
n n R˜ 2i ,α−1 = i ∗ , then go to R˜ 2i ,α−2 ; else the previous state of δ2αn
n
R˜ 2i ,α−1
(8)
is δ2n . Continue this process, we can find the path and the corresponding control.
F. Li, X. Lu / Physics Letters A 377 (2013) 3112–3118
3117
Step 2. For d ∈ {2, . . . , 2n }, construct Dd = (D · · · D) D as
Algorithm 3.5.
˜ R˜ 1 = ˜ 1 = D, 1. Set D i, j
˜ i , j < ∞, D
i, 0,
otherwise.
d−1
1 Ddi, j = min Ddi ,− α + Dα , j .
˜ d = (D˜ · · · D˜ ) D˜ as 2. For d = 2, . . . , 2n , construct D
d−1
(12)
α
If there exists
˜ d = min D˜ d−1 + D˜ α , j . D i, j i ,α α
(10)
R di, j
α satisfying (12) and Ddi, j < ∞, set R di, j = α ; else
= 0.
α satisfying (10) and D˜ di, j < ∞, set R˜ di, j = α ; else
Step 3. If d − 1 = 1, and Ddi, j a, then the minimum time from δ2i n
= 0. ˜ 1 ⊕ D˜ 2 ⊕ · · · ⊕ D˜ 2n and find an l such that D˜ l = Dˆ i , j . ˆ 3. Let D = D i, j
to δ2n is 2, and the corresponding trajectory is δ2i n → δ2αn → δ2n , stop; else set d = d + 1 (that is replace d by d + 1) and go back to Step 2.
If there exists R˜ di, j
j
By doing this, we can find a path from δ2i n to δ2n and the corresponding control, which minimizes the energy consumption ˆ i , j . The path can be constructed as (4). The minimum cost is D 1 R˜ li− ,α
follows: δ2i n → · · · → δ2n
j
→ δ2αn → δ2n .
Theorem 3.4. The trajectory found in Algorithm 3.4 (Algorithm 3.5) is j a path from δ2i n to δ2n while avoiding C , and the value of the energy consumption (4) is minimum. Proof. (I) We first prove that the trajectory found in Algorithm 3.4 is a j path from δ2i n to δ2n while avoiding C . We prove it by mathematical induction. ˜ i , j < ∞, then there exists a path from δ i n When d = 1 and D 2 j
j
to δ2n . We only have to prove it avoids C . If δ2i n ∈ C or δ2n ∈ C ,
˜ we have D˜ i ,α = ∞ or D˜ α , j = ∞, for then from the definition of D, n α = 1, 2, . . . , 2 . This is a contradiction with D˜ i, j < ∞. ˜ l = minα {D˜ l−1 , D˜ l−1 + D˜ α , j } < Assume it is true for l − 1. If D i, j i ,α i, j l − 1 < ∞ or there exists α such that D˜ l−1 + D˜ α , j < ∞. ∞, then D˜ i ,α
i, j
˜ l = D˜ l−1 < ∞, then there exists a path from δ i n to δ jn while If D 2 2 i, j i, j ˜ l = D˜ l−1 + D˜ α , j < ∞, then avoiding C from the assumption. If D i ,α i, j j
there exists a path from δ2i n to δ2αn and a path from δ2αn to δ2n
δ2i n
j δ2n
while avoiding C , i.e. a path from to while avoiding C . Similar to the proof of Theorem 3.1, we can draw the conclusion that the cost is minimum. (II) Similarly, we have the trajectory found in Algorithm 3.5 is a j path from δ2i n to δ2n while avoiding C , and the value of the energy consumption (4) is minimum. 2
In this section, we will find the minimum time s from the initial state x0 to the desired state xd = x(s), s −1
u T (t ) Q u (t ) a,
(11)
t =0
where a ∈ R + is a given satisfactory value. Inequality (11) means that the cost of control is not more that value a. From Theorem 3.3 and Algorithm 3.3, we give the following algorithm to solve this problem. We construct matrix D as it is introduced in Section 3.1. Algorithm 4.1. Step 1. Set D1 = D, R 1i , j =
i, 0,
j
Remark 4.1. In this Letter, the update schedule is synchronous. In principle, a network could be organized such that the time interval between subsequent updates is so large that the update sequence is not affected by a small level of noise in the update times. In this case, an asynchronous deterministic updating scheme would be appropriate [29]. When the update schedule is asynchronous deterministic, studying “reliable trajectory” is of theoretical interest. A reliable trajectory is defined as a sequence of states, which is independent of the order in which the nodes are updated, for details, see [30,31]. The minimum energy control for Boolean networks is still necessary for further study by using the concept of “reliable trajectory”. Remark 4.2. The major drawback of our approach lies in the computational complexity since the state-space grows by 2n . Hence, our method is applicable to small Boolean networks in practice. Further study is still necessary. 5. Example Recall Example 3.1. (1) Assume that the initial state is δ83 , we want to find a control sequence that transfers the Boolean network (3) from the initial state x(0) = δ83 to the desired state x(s) = δ84 and minimizes the energy consumption (5), where Q = diag(2, 1, 1, 0). (2) We want to find the minimum time s from the initial state x(0) = δ83 to the desired state x(s) = δ84 , s.t. P (u ) =
s−1
u (t ) T Q u (t ) 2. By using Algorithm 3.3, through calculation, we have
t =0
⎡
4. Optimal-satisfactory control of Boolean control network
s.t.
j
Di , j < ∞, otherwise.
∞ ⎢∞ ⎢ ⎢∞ ⎢ ⎢∞ 2 D =⎢ ⎢ 1 ⎢ ⎢ 0 ⎣ 1
j δ2n
If Di , j a, stop, the minimum time from to is 1 and the inequality constraint (11) is satisfied; else go to the next step.
2 1 2 2
1
⎡
0
⎢0 ⎢ ⎢0 ⎢ ⎢0 R2 = ⎢ ⎢5 ⎢ ⎢5 ⎣5 5
δ2i n
∞ ∞ ∞ ∞
.. .
0 0 0 0 5 5 5 5
0 0 0 0 1 1 0 0
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
2 1 1 1 0 1 2 1 2 1 ∞ ∞ 0 ∞ ∞ 0 0 0 0 0 1 1 0 0
7 7 8 8 5 5 6 6
7 7 8 8 5 5 6 6
1 0 0 0 3 2 1 1 3 3 0 0 1 1 0 0
1 2
⎤
0 1 ⎥
⎥ ∞ ∞⎥ ⎥ ∞ ∞⎥ ⎥, 1 2 ⎥ ⎥ 2 3 ⎥ ∞ ∞⎦ ∞ ∞ ⎤
3 3⎥ ⎥ 0⎥ ⎥ 0⎥ ⎥, 1⎥ ⎥ 1⎥ 0⎦ 0
3118
F. Li, X. Lu / Physics Letters A 377 (2013) 3112–3118
⎡
⎤
2 ⎢1 ⎢ ⎢1 ⎢ ⎢1 8 D =⎢ ⎢2 ⎢ ⎢1 ⎣0 0
3 2 3 2 2 3 2 2 3 2 2 3 3 1 2 2 0 1 1 1 2 1 1 2
1 0 0 0 2 2 1 1
0 1 1 1 1 2 2 2
2 3 3 3 1 1 2 2
1 2⎥ ⎥ 2⎥ ⎥ 2⎥ ⎥, 0⎥ ⎥ 1⎥ 2⎦ 2
5 ⎢5 ⎢ ⎢5 ⎢ ⎢5 8 R =⎢ ⎢5 ⎢ ⎢5 ⎣5 5
5 5 5 5 5 5 5 5
8 6 6 6 8 5 6 6
8 8 8 8 8 8 8 8
3 1 1 1 3 1 1 1
3 3⎥ ⎥ 3⎥ ⎥ 3⎥ ⎥. 3⎥ ⎥ 3⎥ 3⎦ 3
⎡
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
Acknowledgements This work is supported by the National Natural Science Foundation of China under Grants 61174039, 11371137, the China Postdoctoral Science Foundation funded project 2012M520849 and the Fundamental Research Funds for the Central Universities 222201314009. The authors would like to thank the editor and the reviewers for their constructive comments and suggestions which improved the quality of the Letter.
⎤
References
¯ = D1 ⊕ · · · ⊕ D8 . We can see that D¯ 3,4 = D5 = 1, hence Let D 3, 4 the trajectory from δ83 to δ84 with the minimum energy is u 1 =0 u =0
u 1 =0 u =0
u 1 =0 u =0
u 1 =0 u =0
u 1 =0 u =1
2 2 2 2 2 δ83 −− −→ δ88 −− −→ δ86 −− −→ δ85 −− −→ δ81 −− −→ δ84 .
(3) We can find that D13,4 = D23,4 = D33,4 = ∞, D43,4 = 2. Hence s−1 the minimum time from δ83 to δ84 , s.t. P (u ) = t =0 u (t ) T Q u (t ) 2 is 4, the trajectory is u 1 =0 u =0
u 1 =0 u =1
u 1 =0 u =0
u 1 =0 u =1
2 2 2 2 δ83 −− −→ δ88 −− −→ δ85 −− −→ δ81 −− −→ δ84 .
6. Conclusion The minimum energy control and optimal-satisfactory control of BCN have been investigated in this Letter. First, algorithms have been given to transfer the BCN from the initial state to the desired state with the minimum expenditure of energy to solve the minimum energy control problem of BCN. Second, an algorithm has been presented for the constrained minimum energy control design. Next, optimal-satisfactory control of BCN has been studied. Finally, an illustrative example has been given.
[1] B. Drossel, T. Mihaljev, F. Greil, Phys. Rev. Lett. 94 (2005) 88701. [2] B. Samuelsson, C. Troein, Phys. Rev. Lett. 90 (2003) 98701. [3] J. Heidel, J. Maloney, C. Farrow, J. Rogers, Int. J. Bifurc. Chaos Appl. Sci. Eng. 13 (2003) 535. [4] B. Drossel, Rev. Nonlin. Dyn. Complex. 1 (2008) 69–110. [5] D. Cheng, H. Qi, IEEE Trans. Autom. Control 55 (2010) 2251. [6] H. Li, Y. Wang, Automatica 48 (2012) 688. [7] Y. Wang, C. Zhang, Z. Liu, Automatica 48 (2012) 1227. [8] F. Li, J. Sun, Automatica 47 (2011) 2765. [9] D. Cheng, H. Qi, Automatica 45 (2009) 1659. [10] R. Li, T. Chu, Phys. Lett. A 375 (2012) 3071. [11] B. Liu, Automatica 47 (2011) 748. [12] I. Petersen, H. Pota, Control Eng. Pract. 11 (2003) 1273. [13] L. Mauch, Dynamic Programming: A Computational Tool, Springer, 2007. [14] D. Laschov, M. Margaliot, IEEE Trans. Autom. Control 56 (2011) 913. [15] Y. Zhao, Z. Li, D. Cheng, IEEE Trans. Autom. Control 56 (2011) 1766. [16] Y. Zhao, H. Qi, D. Cheng, Syst. Control Lett. 59 (2010) 767. [17] B. Zhou, Z. Lin, J. Lam, Automatica 48 (2012) 694. [18] O. Cârj˘a, Syst. Control Lett. 55 (2006) 543. [19] J. Klamka, Appl. Math. Comput. 206 (2008) 704. [20] Y. Xi, Inf. Control 24 (1995) 14. [21] D. Zhang, Z. Wang, S. Hu, Int. J. Syst. Sci. 38 (2007) 151. [22] W. Findeisen, IEEE Trans. Autom. Control 12 (1967) 612. [23] T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, MIT Press, 2001. [24] D. Cheng, H. Qi, Z. Li, Analysis and Control of Boolean Networks: A Semi-tensor Product Approach, Springer Verlag, 2011. [25] R. Floyd, Commun. ACM 5 (1962) 345. [26] C. Papadimitriou, K. Steiglitz, Combinatorial Optimization, Prentice Hall, 1982. [27] Y. Zhao, in: The 30th Chinese Control Conference (CCC), p. 1972. [28] D. Laschov, M. Margaliota, Automatica 48 (2012) 1218. [29] F. Greil, B. Drossel, J. Sattler, New J. Phys. 9 (2007) 373. [30] R. Albert, A.-L. Barabasi, Phys. Rev. Lett. 84 (2000) 5660–5663. [31] T. Peixoto, B. Drossel, Phys. Rev. E 80 (2009) 056102.