多值逻辑网络的内同步

2023-09-04 14:52邓芸芸
计算机仿真 2023年7期
关键词:布尔时滞逻辑

邓芸芸,梁 义

(伊犁师范大学网络安全与信息技术学院,新疆 伊宁 835000)

1 引言

布尔网络是每个结点的状态只有两个值的离散系统。该网络模型的提出首次被用于模拟遗传调控网络,随后也被用来描述神经网络、蛋白质网络和生物进化系统等。在布尔网络模型中,逻辑值“1”和“0”被用来表示节点的状态值,其中逻辑值“1”代表节点是被表达的(或激活),而逻辑值“0”代表节点是不被表达的(或抑制),布尔网络的边表示其节点之间存在连接(关系)。一些学者对布尔网络的稳定性、可控性、可观性及节点状态的行为特征已进行了较为深入地研究[4-6]。然而,在分析一些实际问题时,网络节点的值为两个值是不够的,因此人们提出了更一般的多值逻辑网络模型,通常也称k值逻辑网络。而布尔网络是特殊的多值逻辑网络(k=2)。多值逻辑网络具有与布尔网络相似的结构,也是复杂网络中主要研究的内容之一,且有许多潜在的应用[7-9]。因此,对于多值逻辑网络的研究有着重要的意义。

系统中的两个或两个以上随时间变化的量,通过它们之间的相互作用逐渐趋于一致的现象是同步。例如,在一根横梁上的两个摆锤,经过一定时间之后两个摆锤总会趋于同步摆动的现象[10]。近年来,布尔网络的同步现象受到一些国内外学者研究兴趣。例如,LI等[11]利用矩阵半张量积理论研究了单向耦合布尔网络的完全同步问题,给出两个布尔网络实现同步的充分必要条件。在此理论基础上,探讨了主从配置下的布尔网络同步控制模型,通过具体的算法设置反馈控制器,研究了布尔网络部分同步和完全同步[12]。而对多值逻辑网络的同步,文献[13]考虑了驱动-响应配置下两个多值确定性逻辑网络的同步问题,给出了包括部分同步和完全同步的充要条件。在开环控制和反馈控制下,分析了两个主-从多值逻辑网络模型,证明了两个耦合多值逻辑网络实现同步的充要条件[14]。

时滞现象在一些复杂系统中是不可避免的。例如,在基因调控网络中,由于转录、翻译或易位的过程缓慢等因素所导致时间延迟。目前,已经有一些关于时滞布尔网络同步的研究。文献[15]研究了单向耦合时滞布尔网络的同步问题,发现节点固有状态时滞和单向耦合时滞之间满足不同的条件时可导致不同的同步现象。系统固有的状态时滞也很常见,而且其数值与耦合时滞不一定相同。针对网络节点具有状态时滞和耦合时滞的情况,研究了具有任意有限状态时滞且有耦合时滞的布尔网络同步,在状态时滞与耦合时滞不相等的情况下获得了耦合布尔网络同步的结论[16]。在上述布尔网络和时滞布尔网络同步问题探讨中,主要是研究两个布尔网络之间的同步问题。而在一个网络的各节点状态由节点之间的相互作用,其状态趋于一致的现象也是一类重要动力学行为,ZHANG[17]首先将这一现象定义为网络内同步,并利用矩阵半张量积分析了布尔网络实现内同步的充分必要条件。最近,文献[18]研究了具有状态时滞布尔网络的内同步问题。在上述研究工作的基础上,提出了n个节点的多值逻辑网络和时滞多值逻辑网络的内同步的模型,利用矩阵半张量积理论,得出了这两类逻辑网络实现内同步的充分必要条件,最后给出两个数值仿真示例,通过Matlab计算,验证了所得结论的有效性。

2 预备知识

2 预备知识

在这一部分,介绍矩阵半张量积的基本概念和多值逻辑网络的相关基础。下面定义、命题、引理及相关符号参考文献[1]。

定义1:设M∈Mm×n,N∈Mp×q,M×|N表示M和n的半张量积,被定义为M×|N= (M⊗Il/n)(N⊗Il/p),其中l=lcm[n,p],是n和p的最小公倍数。该定义是矩阵半张量积最一般的定义。而当n=p时,矩阵半张量积就转化为一般矩阵乘法。

下面给出一些常用的符号:

1) 多值逻辑的定义域:Dk={1=T,(k-2)/(k-1),…,1/(k-1),0=F},k>1的整数。

5)Coli(A)表示矩阵A的第i列,Col(A)表示矩阵A的列集合。

8) ⊗:矩阵的张量积运算符;×|:矩阵的左半张量积运算符,如没有特别说明,半张量积符号将被省略。

命题1:设A∈Mm,n,当Z∈Rt为一列向量时,Z×|A=(It⊗A)×|Z,当Z∈Rt为一行向量时,A×|Z=Z×| (It⊗A)。

引理1

1) 如果σ∈Δk,A∈Δm,则σ×|A=σ⊗A,

2) 如果σ∈Δk,则σ×|A=Ik(⊗A)×|σ,

3) 如果σ∈Δk,则σ×|σ=Mr,kσ。

定义2:(交换矩阵)

W[m,n]=δmn[1,m+1,2m+1,…,(n-1)m+1,2,m+2,2m+2,…,(n-1)m+2…m,m+m,2m+m,…,(n-1)m+m]。显然,W[m,n]∈Lmn×mn,交换矩阵是应用于半张量积中两个列向量的交换,见如下命题。

命题2:

设X=(x1,x2,…,xm)T,Y=(y1,y2,…,yn)T均为列向量,则Y×|X=W[m,n]X×|Y,X×|Y=W[n,m]Y×|X。

3 主要结果

3.1 无时滞多值逻辑网络内同步

n个节点的多值逻辑网络逻辑动态方程为

(1)

利用矩阵半张量积,将上述n个方程相乘,得系统的等价代数表达式为

x(t+1)=Fx(t)

(2)

下面给出多值逻辑网络内同步的定义。

定义3:如果对于多值逻辑网络(1)中的所有节点xi∈Dk,i=1,2,…,n,存在一个正整数a使得当t≥a时,有x1(t)=x2(t)=…=xn(t),则称多值逻辑网络(1)实现内同步。

结论1:多值逻辑网络(1)实现内同步,当且仅当存在一正整数a使得

m=1,2,…,k

(3)

其中F为(2)式所定义。

3.2 时滞多值逻辑网络内同步

n个节点的时滞多值逻辑网络内同步模型如下

(4)

其中τ为正整数,代表节点状态时滞。

对于时滞多值逻辑网络(4),下面给出时滞多值逻辑网络内同步的定义。

现对时滞多值逻辑网络内同步进行分析,并给出其实现内同步的充要条件。设x(t)=x1(t)×|x2(t)…×|xn(t),令Mi为fi的结构矩阵,则(4)式可写成

(5)

再设y(t)=x(t)x(t-1)…x(t-τ),将(5)式转变成如下形式

(6)

而x(t+1)=x1(t+1)×|x2(t+1)…×|xn(t+1)

=M1y(t)M2y(t)…Mny(t)

=M1(Ikn(τ+1)⊗M2)Mr,k(kn(τ+1))…(Ikn(τ+1)⊗Mn)Mr,k(kn(τ+1))y(t),即x(t+1)=M1(Ikn(τ+1)⊗M2)Mr,k(kn(τ+1))…(Ikn(τ+1)⊗Mn)Mr,k(kn(τ+1))y(t),设F1=M1(Ikn(τ+1)⊗M2)Mr,k(kn(τ+1))…(Ikn(τ+1)⊗Mn)Mr,k(kn(τ+1))y(t),则x(t+1)=F1y(t),而y(t+1)=x(t+1)x(t)…x(t+1-τ)

=F1y(t)x(t)…x(t+1-τ)

=F1x(t)x(t-1)…x(t+1-τ)x(t-τ)x(t)x(t-1)…x(t+1-τ)

=F1x(t)x(t-1)…x(t+1-τ)W[knτ,kn]x(t)x(t-1)…x(t+1-τ)x(t-τ)

=F1(Iknτ⊗W[knτ,kn])[x(t)x(t-1)…x(t+1-τ)]2x(t-τ)

=F1(Iknτ⊗W[knτ,kn])Mr,k(knτ)x(t)x(t-1)…x(t+1-τ)x(t-τ)

=F1(Iknτ⊗W[knτ,kn])Mr,k(knτ)y(t),

即y(t+1)=F1(Iknτ⊗W[knτ,kn])Mr,k(knτ)y(t)。

令F=F1(Iknτ⊗W[knτ,kn])Mr,k(knτ),则

y(t+1)=Fy(t)

(7)

其中F∈Lk(τ+1)n×k(τ+1)n,显然有y(t+1)=Fty(1),t=1,2,3,…。

从上述的数学推导过程中可知(4)式和(7)式是等价的。接下来,给出时滞多值逻辑网络(4)实现内同步的充分必要条件。

结论 2 时滞多值逻辑网络(4)实现内同步,当且仅当存在一正整数a使得以下关系成立

(8)

其中F为(7)式所定义。

证明

4 数值仿真

为了验证所提多值逻辑网络的内同步方案的有效性,分别给出无时滞多值逻辑网络和时滞多值逻辑网络仿真示例。

4.1 无时滞三值逻辑网络如下:

(9)

将上式转换成如下代数方程

(10)

x(t+1)=x1(T+1)x2(t+1)x3(t+1)

=Mcx2(t)x3(t)x3(t)Mcx1(t)Mex2(t)x3(t)

=Mc(I27⊗Mc)(I81⊗Me)x2(t)x3(t)x3(t)x1(t)x2(t)x3(t)

=Mc(I27⊗Mc)(I81⊗Me)(I3⊗Mr,3)x2(t)x3(t)x1(t)x2(t)x3(t)

=Mc(I27⊗Mc)(I81⊗Me)(I3⊗Mr,3)W[3,9](I3⊗W[3,9])(I3⊗Mr,3)(I9⊗Mr,3)x1(t)x2(t)x3(t)

=Fx(t)

三值逻辑网络(9)共有27种不同的初值组合,下面对每一个处置组合给出实现内同步过程的演化过程如下:

1) (x1(0),x2(0),x3(0))=(0,0,0)→(x1(1),x2(1),x3(1))=(0,0,0)→…

2) (x1(0),x2(0),x3(0))=(0,0,0.5)→(x1(1),x2(1),x3(1))=(0,0.5,0)→(x1(2),x2(2)x3(2))=(0,0,0)→(x1(3),x2(3),x3(3))=(0,0,0)→…

3) (x1(0),x2(0),x3(0))=(0,0,1)→(x1(1),x2(1),x3(1))=(0,1,0)→(x1(2),x2(2),x3(2))=(0,0,0)→(x1(3),x2(3),x3(3))=(0,0,0)→…

4) (x1(0),x2(0),x3(0))=(0,0.5,0)→(x1(1),x2(1),x3(1))=(0,0,0)→(x1(2),x2(2),x3(2))=(0,0,0)→…

5) (x1(0),x2(0),x3(0))=(0,0.5,0.5)→(x1(1),x2(1), (0.5,0.5,0)→(x1(2),x2(2),x3(2))=(0,0,0.5)→ (x1(3),x2(3),x3(3))=(0,0.5,0)→(x1(4),x2(4),x3(4))=(0,0,0)→…

6) (x1(0),x2(0),x3(0))=(0,0.5,1)→(x1(1),x2(1),x3(1))=(0.5,1,0)→(x1(2),x2(2),x3(2))=(0,0,0)→…

7) (x1(0),x2(0),x3(0))=(0,1,0)→(x1(1),x2(1),x3(1))=(0,0,0)→(x1(2),x2(2),x3(2))=(0,0,0)→…

8) (x1(0),x2(0),x3(0))=(0,1,0.5)→(x1(1),x2(1),x3(1))=(0.5,0.5,0)→(x1(2),x2(2),x3(2))=(0,0,0.5)→(x1(3),x2(3),x3(3))=(0,0.5,0)→(x1(4),x2(4),x3(4))=(0,0,0)→(x1(5),x2(5),x3(5))=(0,0,0)→…

9) (x1(0),x2(0),x3(0))=(0,1,1)→(x1(1),x2(1),x3(1))=(1,1,0)→(x1(2),x2(2),x3(2))=(0,0,0)→(x1(3),x2(3),x3(3))=(0,0,0)→…

10) (x1(0),x2(0),x3(0))=(0.5,0,0)→(x1(1),x2(1),x3(1))=(0,0,0.5)→(x1(2),x2(2),x3(2))=(0,0.5, 0)→(x1(3),x2(3),x3(3))=(0,0,0)→(x1(4),x2(4),x3(4))=(0,0,0)→…

11) (x1(0),x2(0),x3(0))=(0.5,0,0.5)→(x1(1),x2(1),x3(1))=(0,0.5,0.5)→(x1(2),x2(2),x3(2))=(0.5,0.5,0)→(x1(3),x2(3),x3(3))=(0,0,0.5)→(x1(4),x2(4),x3(4)=(0,0.5,0)→(x1(5),x2(5),x3(5))=(0,0,0)→(x1(6),x2(6),x3(6)=(0,0,0)→…

12) (x1(0),x2(0),x3(0))=(0.5,0,1)→(x1(1),x2(1),x3(1))=(0,1,0)→(x1(2),x2(2),x3(2))=(0,0,0)→(x1(3),x2(3),x3(3))=(0,0,0)→…

13) (x1(0),x2(0),x3(0))=(0.5,0.5,0)→(x1(1),x2(1),x3(1))=(0,0,0.5)→(x1(2),x2(2),x3(2))=(0,0.5,0)→(x1(3),x2(3),x3(3))=(0,0,0)=(x1(4),x2(4),x3(4))=(0,0,0)→…

14) (x1(0),x2(0),x3(0))=(0.5,0.5,0.5)→(x1(1),x2(1),x3(1))=(0.5,0.5,0.5)→…

15) (x1(0),x2(0),x3(0))=(0.5,0.5,1)→(x1(1),x2(1) ,x3(1))=(0.5,1,0.5)→(x1(2),x2(2),x3(2))=(x1(3),x2(3),x3(3))=(0.5,0.5,0.5)→…

16) (x1(0),x2(0),x3(0))=(0.5,1,0)→(x1(1),x2(1),x3(1))=(0,0,0)→(x1(2),x2(2),x3(2))=(0,0,0)→…

17) (x1(0),x2(0),x3(0))=(0.5,1,0.5)→(x1(1),x2(1) ,x3(1))=(0.5,0.5,0.5)=(x1(2),x2(2),x3(2))=(0.5,0.5,0.5)→…

18) (x1(0),x2(0),x3(0))=(0.5,1,1)→(x1(1),x2(1) ,x3(1))=(1,1,0.5)→(x1(2),x2(2),x3(2))=(0.5,0.5,0.5)=x1(2),x2(2),x3(2))=(0.5,0.5,0.5)→…

19) (x1(0),x2(0),x3(0))=(1,1,0)→(x1(1),x2(1),x3(1))=(0,0,1)→(x1(2),x2(2),x3(2))=(0,1,0) →(x1(3),x2(3),x3(3))=(0,0,0)→(x1(4),x2(4),x3(4))=(0,0,0)→…

20) (x1(0),x2(0),x3(0))=(1,0,0.5)→(x1(1),x2(1),x3(1))=(0,0.5,0.5)→(x1(2),x2(2),x3(2))=(0.5,0.5,0)→(x1(3),x2(3),x3(3))=(0,0,0.5)→(x1(4),x2(4),x3(4))=(0,0.5,0)→(x1(5),x2(5),x3(5))=(0,0,0)=(x1(6),x2(6),x3(6))=(0,0,0)→…

21) (x1(0),x2(0),x3(0))=(1,0,1)→(x1(1),x2(1),x3(1))=(0,1,0)→(x1(2),x2(2),x3(2))=(0,0,0)→(x1(3),x2(3),x3(3))=(0,0,0)→…

22) (x1(0),x2(0),x3(0))=(1,0.5,0)→(x1(1),x2(1),x3(1))=(0,0,0.5)→(x1(2),x2(2),x3(2))=(0,0.5,0)→(x1(3),x2(3),x3(3))=(0,0,0)→(x1(4),x2(4),x3(4))=(0,0,0)→…

23) (x1(0),x2(0),x3(0))=(1,0.5,0.5)→(x1(1),x2(1) ,x3(1))=(0.5,0.5,0.5)→(x1(2),x2(2),x3(2))=(0.5,0.5,0.5)→…

24) (x1(0),x2(0),x3(0))=(1,0.5,1)→(x1(1),x2(1),x3(1))=(0.5,1,0.5)→(x1(2),x2(2),x3(2))=(0.5,0.5,0.5)→(x1(2),x2(2),x3(2))=(0.5,0.5,0.5)→…

25) (x1(0),x2(0),x3(0))=(1,1,0)→(x1(1),x2(1), ,x3(1))=(0,0,0)→(x1(2),x2(2),x3(2))=(0,0,0)→…

26) (x1(0),x2(0),x3(0))=(1,1,0.5)→(x1(1),x2(1),x3(1))=(0.5,0.5,0.5)→(x1(2),x2(2),x3(2))=(0.5,0.5,0.5)→…

27) (x1(0),x2(0),x3(0))=(1,1,1)→(x1(1),x2(1),x3(1))=(1,1,1)→…

下面给出三值逻辑网络(9)三个不同初始值对应同步到三个不同值的仿真图如图1、图2和图3所示。

图1 初值为(0.5,0,1)时内同步到0

图2 初值为(0.5,0.5,1)时内同步到0.5

图3 初值为(1,1,1)时内同步到1

显然,对于三值逻辑网络任意的初值,最多经过5次演化可实现内同步。从上述的分析看出,而只有当初值全为1时,所有节点同步到1,而其余的初值组合三值逻辑网络同步到0或0.5。

时滞多值逻辑网络是否能实现内同步主要取决于每个节点的动态演化规则和网络的拓扑结构。为验证所提时滞多值逻辑网络内同步的结论,下面给出了一个实例来进行验证。

4.2 时滞三值逻辑网络

(11)

将其改写为如下等价的形式

(12)

(13)

其中x(t)=x1(t)x2(t)x3(t),y(t)=x(t)x(t-1),通过矩阵半张量积计算可得:

x1(t+1)=McEdW[3](I3⊗Ed)(I27⊗Ed)(I81⊗Ed)(I3⊗W[9,3])y(t),

x2(t+1)=Ed(I3⊗Ed)(I9⊗Ed)W[27,3](I27⊗Ed)(I81⊗Ed)(I27⊗W[9,3])y(t),

x3(t+1)=Mc(I3⊗Ed)(I3⊗Ed)(I27⊗Ed)(I81⊗Ed) (I27⊗W[9,3])y(t),

因此

M1=McEdW[3](I3⊗Ed)(I27⊗Ed)(I81⊗Ed)(I3⊗W[9,3]),

M2=Ed(I3⊗Ed)(I9⊗Ed)W[27,3](I27⊗Ed)(I81⊗Ed) (I27⊗W[9,3]),

M3=Mc(I3⊗Ed)(I3⊗Ed)(I27⊗Ed)(I81⊗Ed)(I27⊗W[9,3])。

当x3(0)=0时:

1)(x1(1),x2(1),x3(1))=(0.5,0,0.5)→(x1(2),x2(2),x3(2))=(0,0,0.5)→(x1(3),x2(3),x3(3))=(0,0.5,0) →(x1(4),x2(4),x3(4))=(0.5,0.5,0)→(x1(5),x2(5),x3(5))=(0,0,0.5)→(x1(6),x2(6),x3(6))=(0,0,0)→(x1(7),x2(7),x3(7))=(0,0.5,0)→(x1(8),x2(8),x3(8))=(0,0,0)→(x1(9),x2(9),x3(9))=(0,0,0)→…

2)(x1(1),x2(1),x3(1))=(1,0.5,0.5)→(x1(2),x2(2),x3(2))=(0,0,0.5)→(x1(3),x2(3),x3(3))=(0,0.5,0)→(x1(4),x2(4),x3(4))=(0.5,0.5,0)→→x1(5),x2(5),x3(5))=(0,0,0.5)→(x1(6),x2(6),x3(6))=(0,0,0)→(x1(7),x2(7),x3(7))=(0,0.5,0)→(x1(8),x2(8),x3(8))=(0,0,0)→(x1(9),x2(9),x3(9))=(0,0,0)→…

当x3(0)=0.5时

1)(x1(1),x2(1),x3(1))=(0.5,0,1)→(x1(2),x2(2),x3(2))=(0,0.5,0.5)→(x1(3),x2(3),x3(3))=(0.5,1,0)→(x1(4),x2(4),x3(4))=(0.5,0.5,0.5)→(x1(5),x2(5),x3(5))=(0,0,0.5)→(x1(6),x2(6),x3(6))=(0,0.5,0)→(x1(7),x2(7),x3(7))=(0.5,0.5,0)→(x1(8),x2(8),x3(8))=(0,0,0.5)→(x1(9),x2(9),x3(9))=(0,0,0)→(x1(10),x2(10),x3(10))=(0,0.5,0)→(x1(11)x2(11),x3(11))=(0,0,0)→(x1(12)x2(12),x3(12))=(0,0,0)→…

2) (x1(1),x2(1),x3(1))=(0.5,1,1)→(x1(2),x2(2),x3(2))=(0.5,0.5,0.5)→(x1(3),x2(3),x3(3))=(0.5,1,0.5)→(x1(4),x2(4),x3(4))=(0.5,0.5,0.5)→(x1(5),

x2(5),x3(5))=(0.5,0.5,0.5)→…

当x3(0)=1时:

1)(x1(1),x2(1),x3(1))=(0.5,1,1)→(x1(2),x2(2),x3(2))=(1,1,0.5)→(x1(3),x2(3),x3(3))=(1,1,1)→(x1(4),x2(4),x3(4))=(0.5,0.5,0.5)→(x1(5),x2(5),x3(5))=(0.5,1,0.5)→(x1(6),x2(6),x3(6))=(0.5,0.5,0.5)→(x1(7),x2(7),x3(7))=(0.5,0.5,0.5)→…

2) (x1(1),x2(1),x3(1))=(0.5,1,1)→(x1(2),x2(2), ,x3(2))=(1,1,1)→(x1(3),x2(3),x3(3))=(1,1,1)→…

类似地,通过同样的方法,可以得出其余的情况也可实现内同步。

5 总结

本文主要讨论了无时滞多值逻辑网络和时滞多值逻辑网络的内同步问题。提出了无时滞多值逻辑网络和时滞多值逻辑网络的内同步模型;利用矩阵半张量积理论将逻辑网络转换成其代数表达形式;分别获得了实现内同步的充分必要条件。最后,给出两个仿真示例进一步验证了所得结果的正确性。

猜你喜欢
布尔时滞逻辑
刑事印证证明准确达成的逻辑反思
逻辑
创新的逻辑
带有时滞项的复Ginzburg-Landau方程的拉回吸引子
布尔和比利
布尔和比利
布尔和比利
布尔和比利
女人买买买的神逻辑
一阶非线性时滞微分方程正周期解的存在性