布尔网络是研究生物系统和基因调控网络的一种重要模型。本文利用矩阵半张量积的方法,给出逻辑动态系统的代数状态空间表示和最小能耗问题目标泛函的一个新的表达形式,并应用动态规划法求解其最优控制问题,最后举例说明算法的有效性。 Boolean network is an important model to study biological systems and gene regulatory networks. In this paper, a new expression of the object functional of the algebraic state space representation and the minimum energy consumption problem of the logical dynamical system is given by using the matrix half tensor product method. Then the dynamic programming method is used to discuss the optimization problem. Finally, an example is given to illustrate the effectiveness of the proposed algorithm.
钱柳1,韦维1,符繁强1,周荧2
1贵州民族大学,数据科学与信息工程学院,贵州 贵阳
2贵州大学,数学与统计学院,贵州 贵阳
收稿日期:2017年12月22日;录用日期:2018年1月18日;发布日期:2018年1月26日
布尔网络是研究生物系统和基因调控网络的一种重要模型。本文利用矩阵半张量积的方法,给出逻辑动态系统的代数状态空间表示和最小能耗问题目标泛函的一个新的表达形式,并应用动态规划法求解其最优控制问题,最后举例说明算法的有效性。
关键词 :布尔网络,半张量积,动态规划,最优控制
Copyright © 2018 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
布尔网络是描述人工智能系统、神经网络系统、基因调控网络等的有效工具之一。早在上世纪60年代,Jacob和Monod发现任何细胞的调控基因像开关一样,能打开或关闭其他基因。1969年,Kauffman首次提出用布尔网络描述细胞和基因的调控网络,将基因的表达和不表达分别用逻辑值“1”和“0”表示,基因之间复杂的关系和作用通过简单的逻辑关系表达,这种理想化的模型不仅具有高度抽象性,而且反映了系统丰富的动力学行为。虽然基因的调控网络可用逻辑表达式表示其演化过程,但它不能融入基本数学运算框架,在系统分析及综合时也不方便。2011年,程代展教授提出了矩阵半张量积的概念 [
布尔网络的最优控制问题也是一个倍受关注的主题,应用半张量积的方法研究最优控制问题也有了一些结果,如文献 [
· N + 表示正整数集合。
· ℝ n 是实数域上 n 维向量空间。
· M n × m 为 n × m 实矩阵集合。
· Δ n : = { δ n i | i = 1 , 2 , ⋯ , n } ,其中 δ n i 为单位矩阵 I n 的第 i 列,特别地 Δ 2 = Δ 。
· 矩阵 L ∈ R n × m 称为逻辑矩阵,若它的列 C o l ( L ) ⊂ Δ n ,记 L n × m 为 n × m 阶逻辑矩阵集合。
· L = [ δ n i 1 , δ n i 2 , ⋯ , δ n i m ] ∈ L n × m ,记为 L = δ n [ i 1 , i 2 , ⋯ , i m ] 。
· 逻辑变量 x ∈ D : = { 0 , 1 } ,将逻辑值用二维向量表示为 1 ∼ δ 2 1 , 0 ∼ δ 2 2 ,即逻辑变量 x ∼ x ^ ∈ Δ = { δ 2 1 , δ 2 2 } 。
矩阵半张量积是一种新的矩阵乘法,它是普通矩阵乘法的推广,推广后的乘法不仅保持了普通矩阵乘法的主要性质,还具有伪交换性。
定义2.2.1 [
A ⋉ B : = ( A ⊗ I α / m ) ( B ⊗ I α / P ) .
注2.2:当 m = p 时,矩阵 A , B 满足等维条件,半张量积退化为普通矩阵乘法, ⊗ 是矩阵的Kronecker积(亦称张量积)。下文所说的半张量积均为左半张量积。
命题2.2.1 [
1) 分配律
( A + B ) ⋉ C = A ⋉ C + B ⋉ C
C ⋉ ( A + B ) = C ⋉ A + C ⋉ B .
2) 结合律
( A ⋉ B ) ⋉ C = A ⋉ ( B ⋉ C ) .
3) 转置
( A ⋉ B ) T = B T ⋉ A T .
为了进一步刻画和应用半张量积,定义如下换位矩阵。
定义2.2.2 [
w ( I , J ) , ( i , j ) = { 1 , I = i , J = j 0 , 其 他 .
当 n = m ,记 W [ n ] = W [ n , n ] 。
通过换位矩阵,引入半张量积的重要性质-伪交换性。
命题2.2.2 [
X ⋉ A = ( I t ⊗ A ) ⋉ X .
2) 设 Y ∈ ℝ t 为行向量, A 为矩阵,则
3) 设两个列向量 X ∈ ℝ n , Y ∈ ℝ m ,则
4) 设两个行向量 X ∈ ℝ n , Y ∈ ℝ m ,则
命题2.2.2使矩阵乘法有了一定的可交换性,称为伪交换性。
布尔网络是一种理想化的模型,用于研究基因调控和细胞分化过程,基因的状态分为表达和不表达,用1和0表示,其网络每个基因之间的相互作用通过布尔函数描述。对于含有 n 结点和 m 个控制输入的布尔网络,用 D : = { 0 , 1 } 表示取值集合。设 x i ( k ) ( i = 1 , 2 , ⋯ , n ) 表示第 i 个结点 k 时刻基因的状态,
u i ( k ) ( i = 1 , 2 , ⋯ , m ) 表示 m 个控制输入, k + 1 时刻的基因状态 x ( k + 1 ) = ( x 1 ( k + 1 ) , ⋯ , x n ( k + 1 ) ) T 完全由 k 时刻各结点的基因状态 x ( k ) = ( x 1 ( k ) , ⋯ , x n ( k ) ) T 按已知的传播机理传播,用布尔函数 f i ( x ( k ) , u ( k ) ) ( i = 1 , 2 , ⋯ , n ) 来描述,故控制状态方程可以描述为
{ x 1 ( k + 1 ) = f 1 ( x 1 ( k ) , ⋯ , x n ( k ) , u 1 ( k ) , ⋯ , u m ( k ) ) x 2 ( k + 1 ) = f 2 ( x 1 ( k ) , ⋯ , x n ( k ) , u 1 ( k ) , ⋯ , u m ( k ) ) ⋮ x n ( k + 1 ) = f n ( x 1 ( k ) , ⋯ , x n ( k ) , u 1 ( k ) , ⋯ , u m ( k ) ) k = 0 , 1 , ⋯ (1)
其中, x i ( k ) ∈ D ( i = 1 , 2 , ⋯ , n ) , u i ( k ) ∈ D ( i = 1 , 2 , ⋯ , m ) ; f i : D n + m → D 。令容许控制集为
最优控制问题(P):寻找最优控制 u * ∈ U a d , u * 满足使系统状态从给定的初始状态 x ( 0 ) = ( x 1 ( 0 ) , ⋯ , x n ( 0 ) ) T 在 s 时刻运行到给定的终端状态 x ( s ) = ( x 1 ( s ) , ⋯ , x n ( s ) ) T ,并使系统的能耗最小,即
J ( u ) = ∑ k = 0 s − 1 u T ( k ) Q u ( k ) → min (2)
其中, Q 为 m × m 维的正定对称矩阵,为简便,我们这里考虑 Q 为正定的对角矩阵,各对角元的大小表达控制分量的权重。
此最优控制问题既包含了状态系统的逻辑运算,又包含了性能指标中的代数运算。用单一的逻辑网络或一般状态系统的最优控制方法不能处理。为了求解此问题,我们考虑用矩阵半张量积的方法处理,因矩阵半张量积这一工具可以将逻辑动态网络转化为代数状态方程形式。
为了应用半张量积方法,引入如下定义及引理:
定义4.1.1 [
1) 如果 t 是 s 的因子,即 s = t × n ,则 n 维行向量
〈 X , Y 〉 L : = ∑ k = 1 t X k y k ∈ ℝ n
称为 X 和 Y 左半张量内积, X = ( X 1 , X 2 , ⋯ , X t ) , X i ∈ ℝ n , i = 1 , 2 , ⋯ , t 。
2) 如果 s 是 t 的因子,即 t = s × n ,则 n 维行向量
〈 X , Y 〉 L : = ( 〈 Y T , X T 〉 L ) T ∈ ℝ n
也称为 Y 和 X 左半张量内积。
引理4.1.1 [
f ( x 1 , ⋯ , x n ) = M f ⋉ i = 1 n x ^ i , x ^ i ∈ Δ
上式称为布尔函数 f 的代数形式。
根据引理4.1.1、定义4.1.1和半张量矩阵的运算性质,我们可以将问题(P)等价于如下问题:
设 p l j ( j = 1 , ⋯ , m ; l = 1 , 2 , ⋯ , 2 m − 1 ) 为 m 个指标按照 I d ( λ 1 , λ 2 , ⋯ , λ m ; n 1 = ⋯ = n m = 2 ) 的自然索引 λ j = 1 时的第 l 个元素对应的单指标索引。
状态方程
x ^ ( k + 1 ) = L ⋉ u ^ ( k ) ⋉ x ^ ( k ) . (3)
初始状态 x ^ ( 0 ) = x ^ 0 和终端 x ^ ( s ) = x ^ d 给定,
J ( u ^ ) = ∑ k = 0 s − 1 〈 ( d i a g Q ) T , ( ( ∑ l = 1 2 m − 1 δ 2 m p l 1 ) T ( ∑ l = 1 2 m − 1 δ 2 m p l 2 ) T ⋯ ( ∑ l = 1 2 m − 1 δ 2 m p l m ) T ) T 〉 L T u ^ ( k ) . (4)
最优控制问题( P ^ ):寻找 u ^ ∗ ∈ U ^ a d
s . t . J ( u ^ ∗ ) ≤ J ( u ^ ) , ∀ u ^ ∈ U ^ a d
其中 x ^ ( k ) = ⋉ i = 1 n x ^ i ( k ) ∈ Δ 2 n 是状态变量, u ^ ( k ) = ⋉ i = 1 m u ^ i ( k ) ∈ Δ 2 m 是控制变量, L ∈ L 2 n × 2 n + m 为结构矩阵。
最优控制问题求解常用的方法有变分法、动态规划法和庞特里亚金极大值原理。本文采用动态规划法求解最优控制问题(P)。根据最优性原理,针对半张量积表示的最优控制问题( P ^ ),我们得到如下定理。
定理4.2.1 [
下面我们将定理4.2.1的思想,转化为可计算的递归算法。对任意给定 t ∈ { 0 , 1 , ⋯ , s − 1 } 和 x ^ ∈ Δ 2 n ,考虑如下受控系统
{ x ^ ( k + 1 ) = L ⋉ u ^ ( k ) ⋉ x ^ ( k ) x ^ ( t ) = x ^ k = t , t + 1 , ⋯ , s − 1 (5)
其中 x ^ ( k ) ∈ Δ 2 n , u ^ ( k ) ∈ Δ 2 m ,设其性能指标为
J ^ ( u ^ ( · ) ; t , x ^ ) = ∑ k = t s − 1 〈 ( d i a g Q ) T , ( ( ∑ l = 1 2 m − 1 δ 2 m p l 1 ) T ( ∑ l = 1 2 m − 1 δ 2 m p l 2 ) T ⋯ ( ∑ l = 1 2 m − 1 δ 2 m p l m ) T ) T 〉 L T u ^ ( k ) = ∑ k = t s − 1 r T u ^ ( k ) (6)
其中, r = 〈 ( d i a g Q ) T , ( ( ∑ l = 1 2 m − 1 δ 2 m p l 1 ) T ( ∑ l = 1 2 m − 1 δ 2 m p l 2 ) T ⋯ ( ∑ l = 1 2 m − 1 δ 2 m p l m ) T ) T 〉 L 。
最优控制问题( P t x ^ )为:对于给定的 t ∈ { 0 , 1 , ⋯ , s − 1 } 和 x ^ ∈ Δ 2 n ,对应于系统(5),寻找序列 { u ^ * ( t ) , u ^ * ( t + 1 ) , ⋯ , u ^ * ( s − 1 ) } ,使得 x ^ * ( s ) 达到期待的终端值。即 x ^ * ( s ) = x ^ d ,且 J ^ ( u ^ * ( · ) ; t , x ^ * ) = min 。
显然, t = 0 且 x ^ ( 0 ) = x ^ 0 时,问题( P t x ^ )即为我们需求的最优控制问题( P ^ )。此处我们不考虑不可控问题,假设存在控制序列使状态从 x ^ 0 到 x ^ d ,我们定义如下值函数
{ V ( t , x ^ ) = min u ^ ( t ) , u ^ ( t + 1 ) , ⋯ , u ^ ( s − 1 ) J ^ ( u ^ ( · ) ; t , x ^ ) , ∀ t ∈ { 0 , 1 , ⋯ , s − 1 } , x ^ ∈ Δ 2 n V ( s , x ^ ) = 0 , ∀ x ^ ∈ Δ 2 n
则可以得到如下定理。
定理4.2.2:对任何的 t ∈ { 0 , 1 , ⋯ , s − 1 } 和 x ^ ∈ Δ 2 n ,有
{ V ( t , x ^ ) = min u ^ ( t ) { r T u ^ ( t ) + V ( t + 1 , x ^ ( t + 1 ; u ^ ( · ) ) ) } , t = s − 1 , s − 2 , ⋯ , 1 , 0 V ( s , x ^ ) = 0 , ∀ x ^ ∈ Δ 2 n
证明:由值函数 V ( t , x ^ ) 的定义知
V ( t , x ^ ) ≤ J ^ ( u ^ ( · ) ; t , x ^ ) = ∑ k = t s − 1 r T u ^ ( k ) = r T u ^ ( t ) + ∑ k = t + 1 s − 1 r T u ^ ( k ) , ∀ { u ^ ( t ) , u ^ ( t + 1 ) , ⋯ , u ^ ( s − 1 ) }
两端关于序列 { u ^ ( t ) , u ^ ( t + 1 ) , ⋯ , u ^ ( s − 1 ) } 取最小泛函
V ( t , x ^ ) ≤ min u ^ ( t ) , u ^ ( t + 1 ) , ⋯ , u ^ ( s − 1 ) { r T u ^ ( t ) + ∑ k = t + 1 s − 1 r T u ^ ( k ) } ≤ min u ^ ( t ) { r T u ^ ( t ) + V ( t + 1 , x ^ ( t + 1 ; u ^ ( · ) ) ) }
对任何序列 { u ^ ( t ) , u ^ ( t + 1 ) , ⋯ , u ^ ( s − 1 ) } ,有
J ^ ( u ^ ( · ) ; t , x ^ ) = ∑ k = t s − 1 r T u ^ ( k ) ≥ r T u ^ ( k ) + min u ^ ( t + 1 ) , ⋯ , u ^ ( s − 1 ) ∑ k = t + 1 s − 1 r T u ^ ( k )
故
V ( t , x ^ ) ≥ min u ^ ( t ) { r T u ^ ( k ) + min u ^ ( t + 1 ) , ⋯ , u ^ ( s − 1 ) ∑ k = t + 1 s − 1 r T u ^ ( k ) } = min u ^ ( t ) { r T u ^ ( k ) + V ( t + 1 , x ^ ( t + 1 ; u ^ ( · ) ) ) }
∴
V ( t , x ^ ) = min u ^ ( t ) { r T u ^ ( t ) + V ( t + 1 , x ^ ( t + 1 ; u ^ ( · ) ) ) }
证毕。
有了上述递归公式,我们可以使用计算机编程求其解。
例4.3.1设离散系统的状态方程为
给定初始状态 x 1 ( 0 ) = x 2 ( 0 ) = 0 ,终端状态 x 1 ( 3 ) = x 2 ( 3 ) = 1 ,性能指标为
J ( u ) = ∑ k = 0 2 3 u 1 ( k ) + 2 u 2 ( k ) = ∑ k = 0 2 u T ( k ) Q u ( k )
其中, x i ( k ) ∈ D , i = 1 , 2 逻辑变量, u i ( k ) ∈ D , i = 1 , 2 控制变量, u ( k ) = ( u 1 ( k ) u 2 ( k ) ) T , Q 为2阶的对角阵 Q = d i a g { 3 , 2 } ,求使性能指标最小的控制序列。
解:将逻辑最优控制问题转化为代数形式:
x ^ ( k + 1 ) = L ⋉ u ^ ( k ) ⋉ x ^ ( k ) , k = 0 , 1 , 2
初始条件 x ^ ( 0 ) = δ 4 4 ,终端 x ^ ( 3 ) = δ 4 1 ,性能指标为
J ( u ^ ) = ∑ k = 0 2 〈 ( d i a g Q ) T , ( ( ∑ l = 1 2 δ 4 p l 1 ) T ( ∑ l = 1 2 δ 4 p l 2 ) T ) T 〉 L T u ^ ( k )
其中, L = [ 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 ] , x ^ i ( k ) ∈ Δ 为状态变量, x ^ ( k ) = ⋉ i = 1 2 x ^ i ( k ) , u ^ i ( k ) ∈ Δ 为控制变量, u ^ ( k ) = ⋉ i = 1 2 u ^ i ( k ) 。求使性能指标最小的控制系列 u ^ ∗ ( 0 ) , u ^ ∗ ( 1 ) , u ^ ∗ ( 2 ) 。
应用动态规划求解
情形1:由状态方程
x ^ ( 3 ) = L ⋉ u ^ ( 2 ) ⋉ x ^ ( 2 )
有, J ∗ [ u ^ ( 2 ) ] = min u ^ ( 2 ) ∈ Δ { ( 5 3 2 0 ) u ^ ( 2 ) } = min u ^ ( 2 ) ∈ Δ { 3 , u ^ ( 2 ) = δ 4 2 2 , u ^ ( 2 ) = δ 4 3
于是, u ^ ∗ ( 2 ) = δ 4 3 , J ∗ [ u ^ ( 2 ) ] = 2 ,此时 x ^ ∗ ( 2 ) = δ 4 1 。
又由于 x ^ ∗ ( 2 ) = δ 4 1 ,则
J ∗ [ u ^ ( 1 ) ] = min u ^ ( 2 ) ∈ Δ { ( 5 3 2 0 ) u ^ ( 1 ) + J ∗ [ u ^ ( 2 ) ] } = min u ^ ( 2 ) ∈ Δ { 3 + 2 , u ^ ( 1 ) = δ 4 2 2 + 2 , u ^ ( 1 ) = δ 4 3
于是, u ^ ∗ ( 1 ) = δ 4 3 , J ∗ [ u ^ ( 1 ) ] = 4 ,此时 x ^ ∗ ( 1 ) = δ 4 1 。
由于 x ^ ∗ ( 1 ) = δ 4 1 ,则
J ∗ [ u ^ ( 0 ) ] = min u ^ ( 2 ) ∈ Δ { ( 5 3 2 0 ) u ^ ( 0 ) + J ∗ [ u ^ ( 1 ) ] } = min u ^ ( 2 ) ∈ Δ { 3 + 4 , u ^ ( 0 ) = δ 4 2 2 + 4 , u ^ ( 0 ) = δ 4 3
于是, u ^ ∗ ( 0 ) = δ 4 3 , J ∗ [ u ^ ( 0 ) ] = 6 , x ^ ( 0 ) = δ 4 1 ,由 x ^ ( 0 ) = δ 4 4 ,因此,此情形不是最优解。
情形2
u ^ ∗ ( 2 ) = δ 4 3 , J ∗ [ u ^ ( 2 ) ] = 2 ,此时 x ^ ∗ ( 2 ) = δ 4 1 。
u ^ ∗ ( 1 ) = δ 4 2 , J ∗ [ u ^ ( 1 ) ] = 5 ,此时 x ^ ∗ ( 1 ) = δ 4 2 。
J ∗ [ u ^ ( 0 ) ] = min u ^ ( 2 ) ∈ Δ { ( 5 3 2 0 ) u ^ ( 0 ) + J ∗ [ u ^ ( 1 ) ] } = min u ^ ( 2 ) ∈ Δ { 5 + 5 , u ^ ( 0 ) = δ 4 2 3 + 5 , u ^ ( 0 ) = δ 4 2 2 + 5 , u ^ ( 0 ) = δ 4 3 0 + 5 , u ^ ( 0 ) = δ 4 3
又由于 x ^ ( 0 ) = δ 4 4 ,因此,此情形也不是最优解。
情形3
u ^ ∗ ( 2 ) = δ 4 2 , J ∗ [ u ^ ( 2 ) ] = 3 ,此时 x ^ ∗ ( 2 ) = δ 4 2 。
u ^ ∗ ( 1 ) = δ 4 3 , J ∗ [ u ^ ( 1 ) ] = 5 ,此时 x ^ ∗ ( 1 ) = δ 4 3 。
u ^ ∗ ( 0 ) = δ 4 4 , J ∗ [ u ^ ( 0 ) ] = 5 , x ^ ( 0 ) = δ 4 4 。
又 x ^ ( 0 ) = δ 4 4 ,因此,所求的最优控制序列为 u ^ ∗ ( 0 ) = δ 4 4 , u ^ ∗ ( 1 ) = δ 4 3 , u ^ ∗ ( 2 ) = δ 4 2 ,最优轨线为 x ^ ∗ ( 1 ) = δ 4 3 , x ^ ∗ ( 2 ) = δ 4 2 , x ^ ∗ ( 3 ) = δ 4 1 ,性能指标 J ∗ [ u ^ ( 0 ) ] = 5 。
因为 u ^ ∗ ( k ) = ⋉ i = 1 2 u ^ i * ( k ) ,所以 u ^ 1 * ( 0 ) = δ 2 2 , u ^ 2 * ( 0 ) = δ 2 2 , u ^ 1 * ( 1 ) = δ 2 2 , u ^ 2 * ( 1 ) = δ 2 1 , u ^ 1 * ( 2 ) = δ 2 1 , u ^ 2 * ( 2 ) = δ 2 2 ,根据逻辑算子的向量表示,最优控制问题的最优控制序列为 u * ( 0 ) = ( 0 0 ) T , u * ( 1 ) = ( 0 1 ) T , u * ( 2 ) = ( 1 0 ) T ,同理得到最优轨线为 x * ( 1 ) = ( 0 1 ) T , x * ( 2 ) = ( 1 0 ) T , x * ( 3 ) = ( 1 1 ) T ,性能指标为 J ∗ [ u ( 0 ) ] = 5 。
注4.3:在工程实践中一般应用计算机编程求解。这一类问题的动态规划法采用”空间换时间”的办法,从后往前将每一步可能的值存储到相应单元中,然后根据初始条件确定其最优解。
本文利用半张量积的方法将逻辑控制系统的最小能耗问题转化为代数状态的表示方法,并给出了相应的能量指标泛函的表达式,进而对这一类问题推到了动态规划方程。
本文得到国家自然科学基金(NSFC)项目(11261011)的资助。
钱 柳,韦 维,符繁强,周 荧. 布尔控制网络最小能耗问题的半张量方法 Semi-Tensor Method for Minimum Energy Consumption Problem in Boolean Control Networks[J]. 应用数学进展, 2018, 07(01): 95-103. http://dx.doi.org/10.12677/AAM.2018.71012