![](https://csdnimg.cn/release/download_crawler_static/88748995/bg4.jpg)
M.- Y.
钟湾,澳
-
地
Ciardo/Electronic Notes in Theoretical Computer Science 135
(
2006
)
f y
ing
(
i
K
,
.
,
i
1
)
∈
S
^
,
N
e
(
i
K
,
.
,
i
1
)
=
N
K
,
e
(
i
K
)
×
···×
N
1
,
e
(
i
1
).
通过
定义
K
·|
E
|
矩阵
s
N
k
,
e
∈
{
0
,
1
}
n
k
×
n
k
,
w
i
t
h
N
k
,
e
[
i
k
,
j
k
]=1
惠
j
k
∈
N
k
,
e
(
i
k
),
w
e
其中,矩阵表示为
S
中
的
混合矩阵,
并且
注意,Nk
,
e
矩阵是非常
稀疏:对于标准Petri网,每行最多包含一个非零条目。
2.2
基于饱和度的迭代策略
除了有效地表示
N
之外,Kronecker编码还允许我们识别和利用
事件局部性
[5]并使用
饱和度
[6]。我们说事件e与水平k
无关
,如果
N
k
,
e
=
I
,单位矩阵。
LetTop(e)
并且
Bot
(e)表示最高和最低水平,对于所述最高和最低水平,
Nk
,
ei
=
1
。节
点p
在水平k被称为是
饱和的
,如果它是一个关于所有N
e
的固定点,
则
Top
(e)
≤
k,即,
B
(p)=
B
(p)
<$N
≤
k
(
B
(p)),其
中N
≤
k
=
为了在
节点
p的所有后代都饱和时使节点p饱和,我们
在适当的位置更新
,
使得它也对Nk
,
e
× ··· ×
N1
,
e
(B(p))中的任何状态进行编码,对于任何事
件e,使得Top(e)=k。这可以在低于k的级别上创建新节点,
其在完成P的饱和之前立即饱和。
如果我们从编码初始状态s
init
并自底向上饱和其节点的MDD开始,则根r
将在最后编码S=N(s
init
),因为:
(1)
N
<$
(
s
init
)
<$
B
(r)
<$
{s
init
}
,因为我们只添加状态,并且只通过合
法的事件触发,以及(2)
B
(r)
<$
N
≤
K
(
B
(r))=
N
(
B
(r)),因
为r是饱和的。
换句话说,饱和度由许多“轻量级”嵌套的“局部”定点图像计算组成[6,
7,8]中的结果一致表明,饱和
度
在记忆和时间上都大大优于呼吸第一次符
号探索,使其成为
全局异步局部同步
离散事件系统的最有效状态空间因此,
尝试并行化是有意义的,而并行化效率较低的广度优先方法不会带来巨大的
加速和饱和内存减少。
2.3
饱和的例子
图1显示了一个三位Petri网的可达图。每个全局状态由位置x、y和z的局部
状态按此顺序描述,我们通过相应位置的标记数索引局部状态可达性图显示
三个全局状态(0,1,1)、(0,0,2)和(0,2,0)从初始状态(1,
0,0)可达Kronecker描述