模型检测(model checking)[1]作为一种高效的形式化验证方法,由于其自动验证的优点,广泛应用于计算机软硬件的正确性与安全性验证[2-5]。模型检测技术的基本思想是将现实中的系统抽象为状态迁移系统模型,通过特定的时序逻辑[6-7]描述系统的性质,例如计算树逻辑(computation tree logic, CTL)[8-10],并采用对应的模型检测算法验证系统模型是否满足相应的性质。若满足,验证通过;若不满足,则给出反例。传统的模型检测方法起初是为了验证系统中定性属性而设计的,例如安全性与活性。然而,许多复杂的系统具有随机性、非可加性等定量特征[11-12],无法通过经典模型检测方法验证。因此,定量的模型检测方法引起了学术界与工业界的重视。
在模糊理论基础上,将可能性测度理论[13]与模型检测方法结合,文献[14-18]提出了可能性计算树逻辑模型检测方法。该方法以可能性Kripke结构或广义可能性Kripke结构作为系统模型,两种模型的主要区别是可能性Kripke结构要求状态转移关系中必须存在可能性为1的转移,而广义可能性Kripke结构则不要求。在此基础上,我们提出了基于决策过程的广义可能性计算树逻辑模型检测方法[15],主要用于具有非确定性与信息不完备性系统的验证。该方法的主要特点是引入了决策过程,以广义可能性决策过程作为模型(generalized possibilistic decision processes, GPDP)[16],广义可能性计算树逻辑(generalized possibilistic CTL, GPoCTL)[17-18]描述系统的性质,最终通过算法将模型检测问题[19-21]转换为复杂度较低的模糊矩阵合成运算。
在实际的系统设计中,系统产生的成本开销、能耗[22]等也是我们需要重视的问题。例如,在医疗专家系统中,除治疗效果外,我们还关心每种治疗方案所产生的费用,从而能够选取性价比最高的诊疗方案。在工程管理中,要考虑到花费的人力资源、财力、时间成本等诸多因素,并综合分析出最优方案[23]。广义可能性决策过程模型虽然能够对具有不完备信息的非确定性系统进行建模,但无法刻画这类系统所产生的成本开销、能耗等量化特征。为解决此类问题,我们在广义可能性决策过程模型的基础上增加了成本约束,在进行动作的非确定选择时会产生相应的成本开销,从而能够对系统的实际成本进行分析,丰富了GPoCTL模型检测的应用场景。
针对需要考虑成本开销的非确定系统,本文首先引入带成本的广义可能性决策过程模型,接着给出此模型下GPoCTL的语法及语义,最后研究带成本的GPoCTL模型检测算法。此外,我们还将给出此模型在病人诊疗专家系统中的应用。
1 预备知识本文用到了一些模糊数学的运算符号,下面给出其定义。
定义1[21] 设X为普通集合,集合X上模糊集合满足映射A: X→[0, 1], A也称为模糊集合A的隶属度函数,对x∈X, A(x)称为x属于模糊集A的隶属度。
用F(X)表示X上模糊集合的全体,即F(X)={A|A: X→[0, 1]}。
定义2[21] 设A, B∈F(X),A与B的并A∪B、交A∩B、补Ac的隶属函数定义为
$ (A \cup B)(x)=A(x) \vee B(x)=\max \{A(x), B(x)\}, $ |
$ (A \cap B)(x)=A(x) \wedge B(x)=\min \{A(x), B(x)\}, $ |
$ A^{c}(x)=1-A(x) 。$ |
本文是对广义可能性决策过程进行扩展得到带成本的广义可能性决策过程,下面给出广义可能性决策过程的定义。
定义3[15] 广义可能性决策过程(generalized possibilistic decision processes, GPDPs)由六元组M=(S, Act, p, I, AP, L)定义,其中:
1) S是可数非空状态集合;
2) Act是动作集;
3) p: S×Act×S→[0, 1]是可能性转移分布,对于任意s∈S, α∈Act,存在状态t∈S,使P(s, α, t)>0;
4) I: S→[0, 1]是可能性初始分布函数;
5) AP是原子命题集合;
6) L: S×AP→[0, 1]是标签函数,L(s, a)表示原子命题a在状态s上成立的真值。
2 带成本的广义可能性决策过程对GPDP六元组进行扩展,增加成本函数,从而得到带成本的广义可能性决策过程,其形式化定义如下。
定义4 带成本的广义可能性决策过程(generalized possibilistic decision processes with costs, CGPDP)是一个七元组Mc=(S, Act, p, I, AP, L, C),其中:
1) S是可数非空状态集合;
2) Act是动作集;
3) p: S×Act×S→[0, 1]是可能性转移分布,对于任意s∈S, α∈Act,存在状态t∈S,使P(s, α, t)>0;
4) I: S→[0, 1]是可能性初始分布函数;
5) AP是原子命题集合;
6) L: S×AP→[0, 1]是标签函数,L(s, a)表示原子命题a在状态s上成立的真值。
7) C: S×Act→N(N为自然数集)是成本函数,对于任意s∈S, α∈Act,产生成本C(s, α)。
若动作集与原子命题集均有穷,则称Mc为有穷CGPDP。若存在一状态t∈S,使得p(s, α, t)>0,则称α在状态s上是可激活的,Act(s)表示s所有可激活的动作集合。
用
对于π=s0α0s1α1s2…∈(S×Act)ω,通过有穷路径
对于π=s0α0s1α1s2…∈(S×Act)ω,第k步的瞬时成本为cost[=k](π)=C(sk-1, αk-1),前k步累积成本为cost[≤k](π)=
对于π=s0α0s1α1s2…∈(S×Act)ω,集合F⊆S,当π能够最终访问F中所包含的任意状态时,该路径到达F的累积成本为
$ {cost}[\diamond F](\pi)={cost}[\leqslant n](\pi), $ |
其中:sn∈F且s0, …, sn-1∉F。
注1 给定集合A、B,A×B表示集合A与B的笛卡尔积。
注2 对任意α∈Act,可通过模糊矩阵表示其可能性转移p:S×α×S→[0, 1],记为Pα。该矩阵的闭包记为Pα+,自反闭包记为Pα*。
例1 图 1给出了一个4状态的有穷CGPDP模型Mc=(S, Act, p, I, AP, L, C),圆圈表示状态,带箭头的连接线表示转移,连接线上无下划线的数字表示转移的可能性,带下划线的数字表示转移的成本。如转移
$ \boldsymbol{P}_{I}=\left(\begin{array}{l} 1 \\ 0 \\ 0 \\ 0 \end{array}\right), \boldsymbol{P}_{\alpha}=\left(\begin{array}{cccc} 0 & 1 & 0 & 0 \\ 0 & 0.3 & 0.5 & 0 \\ 0 & 0 & 0.8 & 0 \\ 0 & 0 & 0 & 0.4 \end{array}\right), $ |
$ \boldsymbol{P}_{\beta}=\left(\begin{array}{cccc} 0 & 0 & 0 & 0 \\ 0.1 & 0 & 0.3 & 0.6 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{array}\right)。$ |
![]() |
图 1 CGPDP模型实例(4状态) Fig. 1 CGPDP model example (4 states) |
对于路径π=s0αs1βs2αs2…,第3步的瞬时成本C(s2, α)=120,前3步累积成本为
$ \begin{aligned} &{cost}[\leqslant 3](\pi)=C\left(s_{0}, \alpha\right)+C\left(s_{1}, \beta\right)+ \\ &C\left(s_{2}, \alpha\right)=420。\end{aligned} $ |
对于集合F={s2, s3},π到达F的累积成本为cost[◇F](π)=C(s0, α)+C(s1, β)=300。
由例1可以看出,CGPDP中的状态可以选择多个动作。如s1在转移时可选择动作α或β,这种选择是非确定的。为消除CGPDP中状态对动作的非确定性选择,我们引入调度。
定义5 给定一个有穷的CGPDP Mc=(S, Act, p, I, AP, L, C),定义函数Adv: S→Act为Mc的调度。对任意s∈S,有Adv(s)∈Act(s)。
在调度Adv下,从状态s出发的路径集合用PathsAdv(s)表示,PathsAdvfin(Mc)表示Mc中所有状态出发的有穷路径集合,PathsAdv(Mc)表示Mc中所有状态出发的无穷路径集合。
定义6 设Mc=(S, Act, p, I, AP, L, C)是有穷的CGPDP,定义函数rAdv: S→[0, 1]为
$ \begin{aligned} &r_{A d v}(s)=\bigvee\left\{\bigwedge_{i \geqslant 0} p_{A d v}\left(s_{i}, \alpha_{i+1}, s_{i+1}\right) \mid s_{0}=s,\right. \\ &\left.s_{i} \in S, \alpha_{i} \in A c t\right\}, \end{aligned} $ |
rAdv(s)是在调度Adv下,从状态s出发的最大可能性。文献[15]的定理1已经给出了rAdv(s)的计算过程,此处直接引用。
定理1[15] 给定有穷的CGPDP Mc,对任意s∈S,有rAdv(s)=
定义7 设Mc=(S, Act, p, I, AP, L, C)是一个有穷的CGPDP,给定一条有穷路径
Cyl(
定义8 给定有穷的CGPDPMc,则函数GPo: PathsAdv(Mc)→[0, 1]定义为
$ G P o(\pi)=I\left(s_{0}\right) \bigwedge \bigwedge_{i \geqslant 0} p_{A d v}\left(s_{i}, \alpha_{i}, s_{i+1}\right)。$ |
对于任意集合F⊆PathsAdv(Mc),有GPo(F)=∨{GPo(π)|π∈F},即可扩展为函数GPo: 2PathsAdv(Mc)→[0, 1],称为集合2PathsAdv(Mc)上的广义可能性测度。
3 期望成本引入调度Adv后,CGPDP中任意状态s在Adv下的转移动作α得以确定。由s出发不断通过Adv确定的动作发生转移,从而产生路径集合PathsAdv(s)。为定量刻画这些路径所产生的成本,结合广义可能性模型检测中的理论,我们引入了期望成本这一概念。CGPDP中的期望成本主要包括瞬时期望成本、累积期望成本与可达期望成本。
定义9 给定有穷CGPDP Mc,在调度Adv下,PathsAdv(s)中所有路径在第k步瞬时成本cost[=k]的期望值,称为从s出发第k步的期望成本,递归定义为
若k=1,则
$ E x_{s}^{A d v}({cost}[=1])=\left(\bigvee_{t \in S} p_{A d v}(s, \alpha, t)\right) \cdot C_{A d v}(s, \alpha) ; $ |
若k>1,则
$ \begin{aligned} &E x_{s}^{A d v}({cost}[=k])=\left(\bigvee_{t \in S} p_{A d v}(s, \alpha, t)\right)\cdot \\ &E x_{t}^{A d v}(cost [=k-1])。\end{aligned} $ |
对于集合F⊆S,从s出发第k步到达F的期望成本,是ExsAdv(cost[=k])的扩展,
若k=1,则
$ \begin{aligned} &E x_{s}^{A d v}({cost}[=1(\diamond F)])= \\ &\left(\bigvee_{u \in F} p_{A d v}(s, \alpha, u)\right) \cdot C_{A d v}(s, \alpha); \end{aligned} $ |
若k>1,则
$ \begin{aligned} &E x_{s}^{A d v}({cost}[=k](\diamond F))= \\ &\left(\bigvee_{t \in S^{\prime}} p_{A d v}(s, \alpha, t)\right) \cdot E x_{t}^{A d v}({cost}[=k-1(\diamond F)]), \end{aligned} $ |
其中:S′={s∈S|GPo(s|=◇F)>0且s∉F}。
定义10 给定有穷CGPDP Mc,在调度Adv下,PathsAdv(s)中所有路径前k步累积成本cost[≤k]的期望值,称为从s出发前k步的期望累积成本,定义为ExsAdv(cost[≤k])=
对于集合F⊆S,从s出发前k步到达F的期望累积成本,是ExsAdv(cost[≤k])的扩展,定义为
$ \begin{aligned} &E x_{s}^{A d v}({cost}[\leqslant k(\diamond F)])= \\ &\sum\limits_{i=1}^{k} E x_{s}^{A d v}({cost}[=i(\diamond F)])。\end{aligned} $ |
定义11 给定有穷CGPDP Mc,在调度Adv下,从s出发到达F的所有路径的期望累积成本ExsAdv(cost[◇F])定义为
若GPo(s|=◇F)=0,则ExsAdv(cost[◇F])=∞;
若s∈F,则ExsAdv(cost[◇F])=0;
若GPo(s|=◇F)>0且s∉F,则
$ E x_{s}^{A d v}({cost}[\diamond F])=E x_{s}^{A d v}({cost}[\leqslant n(\diamond F)])。$ |
n是到达F的所有路径长度的最大值。带成本的广义可能性决策过程计算树逻辑模型检测问题首先考虑的是满足公式的可能性,然后再计算期望成本。在计算可能性时,本文使用有穷路径的可能性来计算无穷路径的可能性,故考虑成本时,也只考虑有穷路径的期望成本,即只考虑一次或有限次的自环。
4 带成本广义可能性计算树逻辑在文献[15]中提出的GPoCTL基础上,增加了公式
定义12(GPoCTL语法) GPoCTL状态公式定义为
$ \varPhi::= { true }|a| \varPhi_{1} \wedge \varPhi_{2} \mid \neg \varPhi $ |
![]() |
其中:φ是路径公式;a∈AP。
GPoCTL路径公式
$ \varphi::=O \varPhi\left|\varPhi_{1} \cup \varPhi_{2}\right| \diamond \varPhi \mid \square \varPhi, $ |
其中:Φ、Φ1、Φ2是状态公式;O、∪、◇、□分别表示“下一个”、“直到”、“最终”、“总是”。
定义13(GPoCTL语义)
设Mc=(S, Act, p, I, AP, L, C)是一个有穷的CGPDP,||Φ||: S→[0, 1]是S的模糊子集,对于带成本的GPoCTL,其状态公式Φ的语义定义为
$ \| { true } \|(s)=1, $ |
$ \|a\|(s)=L(s, a), $ |
$ \left\|\varPhi_{1} \wedge \varPhi_{2}\right\|(s)=\left\|\varPhi_{1}\right\|(s) \wedge\left\|\varPhi_{2}\right\|(s), $ |
$ \|\neg \varPhi\|(s)=1-\|\varPhi\|(s), $ |
$ \|G P o(\varphi)\|(s)=G P o(s \mid=\varphi), $ |
![]() |
![]() |
![]() |
其中:Sat(Φ)={s∈S| ||Φ||(s)>0}。
对于路径公式φ,对应于Mc上语义为||φ||: PathsAdv(Mc)→[0, 1],归纳定义为
$ \begin{aligned} &\|\mathrm{O} \varPhi\|(\pi)=p_{A d v}\left(\pi[0], \alpha_{0}, \pi[1]\right) \wedge \\ &\|\varPhi\|(\pi[1]), \end{aligned} $ |
$ \begin{aligned} &\left\|\varPhi_{1} \cup \varPhi_{2}\right\|(\pi)=\left\|\varPhi_{2}\right\|(\pi[0]) \vee \\ &\bigvee_{j>0}\left(\left\|\varPhi_{1}\right\|(\pi[0]) \wedge\right. \\ &\bigwedge_{k<j} p_{A d v}\left(\pi[k-1], \alpha_{k-1}, \pi[k]\right) \wedge\left\|\varPhi_{1}\right\|(\pi[k]) \wedge \\ &\left.p_{A d v}\left(\pi[j-1], \alpha_{j-1}, \pi[j]\right) \wedge\left\|\varPhi_{2}\right\|(\pi[j])\right), \end{aligned} $ |
$ \begin{aligned} &\|\diamond \varPhi\|(\pi)=\bigvee_{i=0}^{\infty} \bigwedge_{j=0}^{i-1} p_{A d v}\left(\pi[j], \alpha_{j}, \pi[j+1]\right) \wedge \\ &\|\varPhi\|(\pi[i]), \end{aligned} $ |
$ \begin{aligned} &\|\square \varPhi\|(\pi)=\bigwedge_{i=0}^{\infty} \bigwedge_{j=0}^{i-1} p_{A d v}\left(\pi[j], \alpha_{j}, \pi[j+1]\right) \wedge \\ &\|\varPhi\|(\pi[i]) 。\end{aligned} $ |
带成本的GPoCTL模型检测问题描述为:给定CGPDP Mc、Mc中的状态s及GPoCTL状态公式Φ,计算||Φ||(s)的值。对于状态公式Φ=true, Φ=a, Φ=Φ1∧Φ2, Φ=┐Φ,可直接由语义给出相应的模型检测算法。对于GPo(φ)算子,引入文献[15]中的算法,包括算法1和算法2。对于第k步瞬时期望成本公式
算法1 不动点算法
Require: 不动点函数f
Ensure: 不动点x
procedure FixPoint(x, f)
x′=f(x)
while x≠x′ do
x=x′
x′=f(x)
end while
return x
end procedure
算法2主要采用模糊矩阵合成运算方式来计算路径公式的广义可能性。
算法2 计算GPo(φ)的算法
Require: 路径公式φ和CGPDP Mc
Ensure: GPo(φ)的值
procedure GPoCTl(φ)
case φ
OΦ return PAdv°DΦ°RAdv
Φ1∪Φ2 return (DΦ1°PAdv)*DΦ2°RAdv
◇Φ return PAdv*°DΦ2°RAdv
□Φ return FixPoint((1)s∈S, fΦ)
end case
end procedure
定义6给出了瞬时期望成本的迭代计算形式,依此可得到瞬时期望成本算子
算法3 计算
Require: CGPDP Mc和步数k
Ensure: Mc中任意状态s,
procedure ExKstep(s, k)
if k=0 then
return 0
end if
if k=1 then
return (
end if
return (
end procedure
下面我们给出公式
定理2 给定Mc=(S, Act, p, I, AP, L, C)是一个有穷的CGPDP,对任意s∈S,有
$ \begin{aligned} &E x_{s}^{A d v}({cost}[\leqslant k])=\left(\bigvee_{t \in S} p_{A d v}(s, \alpha, t)\right) \cdot\\ &\left(C_{A d v}(s, \alpha)+E x_{t}^{A d v}({cost}[\leqslant k-1])\right)。\end{aligned} $ |
证明
$ \begin{aligned} &{Ex}_{s}^{A d v}({cost}[\leqslant k])=\sum\limits_{i=1}^{k} E x_{s}^{A d v}(cost[=i])= \\ &\left(\bigvee_{t \in S} p_{A d v}(s, \alpha, t)\right) \cdot C_{A d v}(s, \alpha)+ \\ &\sum\limits_{i=2}^{k}\left(\bigvee_{t \in S} p_{A d v}(s, \alpha, t)\right) \cdot E x_{t}^{A d v}(cost [=i-1])= \\ &\left(\bigvee_{t \in S} p_{A d v}(s, \alpha, t)\right) \cdot\left(C_{A d v}(s, \alpha)+\right.\\ &\left.\sum\limits_{i=2}^{k} E x_{t}^{A d v}({cost}[=i-1])\right)=\left(\bigvee_{t \in S} p_{A d v}(s, \alpha, t)\right) \cdot\\ &\left(C_{A d v}(s, \alpha)+\sum\limits_{i=1}^{k-1} E x_{t}^{A d v}(cos t[=i])\right)= \\ &\left(\bigvee_{t \in S} p_{A d v}(s, \alpha, t)\right) \cdot\left(C_{A d v}(s, \alpha)+\right. \\ &\left.{Ex}_{t}^{A d v}({cost}[\leqslant k-1])\right)。\end{aligned} $ |
依据定理2,算法4给出累积期望成本算法。
算法4 计算
Require: CGPDP Mc和步数k
Ensure: Mc中任意状态s,
procedure ExKsteps(s, k)
if k=0 then
return 0
end if
return (
end procedure
接下来,我们证明
定理3 给定有穷的CGPDP Mc,对任意s∈S,若GPo(s|=◇Sat(Φ))>0且s∉Sat(Φ),则有:
$ \begin{aligned} &E x_{s}^{A d v}({cost}[\diamond S a t(\varPhi)])= \\ &\left(\bigvee_{u \in S a t(\varPhi)} p_{A d v}(s, \alpha, u)\right) \cdot C_{A d v}(s, \alpha)+ \\ &\left(\bigvee_{t \in S^{\prime}} p_{A d v}(s, \alpha, t)\right) \cdot E x_{t}^{A d v}({cost}[\diamond {Sat}(\varPhi)])。\end{aligned} $ |
证明
$ \begin{aligned} &{Ex}_{s}^{A d v}({cost}[\diamond {Sat}(\varPhi)])= \\ &{Ex}_{s}^{A d v}({cost}[\leqslant n(\diamond S a t(\varPhi))])= \\ &\sum\limits_{k=1}^{n} E x_{s}^{A d v}({cost}[=k(\diamond {Sat}(\varPhi))])= \\ &\left(\bigvee_{u \in S a t(\varPhi)} p_{A d v}(s, \alpha, u)\right) \cdot C_{A d v}(s, \alpha)+ \\ &\sum\limits_{k=2}^{n}\left(\bigvee_{t \in S^{\prime}} p_{A d v}(s, \alpha, t)\right) \cdot\\ &E x_{t}^{A d v}({cost}[=k-1(\diamond {Sat}(\varPhi))])= \\ &\left(\bigvee_{u \in S a t(\varPhi)} p_{A d v}(s, \alpha, u)\right) \cdot C_{A d v}(s, \alpha)+\left(\bigvee_{t \in S^{\prime}} p_{A d v}(s, \alpha, t)\right) \cdot \\ &\sum\limits_{i=1}^{n-1} E x_{t}^{A d v}({cost}[=k(\diamond {Sat}(\varPhi))])= \\ &\left(\bigvee_{u \in {Sat}(\varPhi)} p_{A d v}(s, \alpha, u)\right) \cdot C_{A d v}(s, \alpha)+ \\ &\left(\bigvee_{t \in S^{\prime}} p_{A d v}(s, \alpha, t)\right) \cdot\\ &E x_{t}^{A d v}({cost}[\leqslant n-1(\diamond S a t(\varPhi))])= \\ &\left(\bigvee_{u \in S a t(\varPhi)} p_{A d v}(s, \alpha, u)\right) \cdot C_{A d v}(s, \alpha)+ \\ &\left(\bigvee_{t \in S^{\prime}} p_{A d v}(s, \alpha, t)\right) \cdot E x_{t}^{A d v}({cost}[\diamond {Sat}(\varPhi)]) 。\end{aligned} $ |
其中:S′={s∉Sat(Φ)|GPo(s|=◇Sat(Φ))>0}。
依据定理3,算法5给出可达期望成本算法。
算法5 计算
Require: CPDP Mc和状态公式Φ
Ensure: Mc中任意状态s,
procedure ExPhi(s)
return (
end procedure
依据算法1~5,算法6给出了带成本的GPoCTL模型检测算法。
算法6 带成本的GPoCTL模型检测算法
Require: CGPDP Mc和状态公式Φ
Ensure: Mc中任意状态s,||Φ||(s)的值
procedure GPoCTLCheck(Φ)
case Φ
true return (1)s∈S
a∈AP return (||a||(s))s∈S
Φ1∧Φ2 return (||Φ1||(s)∧||Φ2||(s))s∈S
┐Φ return (1-||Φ||(s))s∈S
GPo(φ)return GPoCal(φ)
end case
end procedure
上述算法的时间复杂度与文献[15]中的计算方法相同,下面进行算法的时间复杂度分析。
在所有调度Adv下,可以在|Φ|步递归计算出||Φ||(s)的值,这里|Φ|表示公式Φ的子公式数,其递归定义如下。
若Φ=a或Φ=true,则|Φ|=1。
$ \left|\varPhi_{1} \wedge \varPhi_{2}\right|=\left|\varPhi_{1}\right|+\left|\varPhi_{2}\right|+1, $ |
$ |\neg \varPhi|=|\varPhi|+1,|G {Po}(\mathrm{O} \varPhi)|=|\varPhi|+1, $ |
$ |{GPo}(\diamond \varPhi)|=|\varPhi|+1,|{GPo}(\square \varPhi)|=|\varPhi|+1, $ |
$ \left|\operatorname{GPo}\left(\varPhi_{1} \cup \varPhi_{2}\right)\right|=\left|\varPhi_{1}\right|+\left|\varPhi_{2}\right|+1, $ |
![]() |
![]() |
在GPoCTL模型检测算法中,公式Φ=a|Φ1∧Φ2|┐Φ|GPo(OΦ)计算||Φ||(s)的时间只与CPDP Mc的大小和公式Φ的长度有关,公式Φ=
定理4(带成本的GPoCTL模型检测算法的时间复杂度) 给定有穷的CGPDP Mc和带成本的GPoCTL公式Φ、步数k、Mc|=Φ的时间复杂度为O(size(Mf)·poly(S)·|Φ|·k),其中:size(Mf)是模型的大小;poly(S)是n的多项式函数;|Φ|是公式的长度;k是步数。
6 实例应用本文在文献[15]患者诊疗的专家系统的基础上增加了成本回馈,用以说明带成本GPoCTL模型检测算法的实际应用。通过CGPDP Mc=(S, Act, p, I, AP, L, C)来对整个诊疗过程进行建模。s0、s1、s2表示患者的健康状态,原子命题集合AP={P, G, E}表示患者的健康状况为P(差)、G(一般)、E(好)。专家对于患者健康状况的判断是主观的,因此通过给三者赋予模糊值,表示患者的健康程度。三位专家的专业背景与经验存在差异,他们针对患者状况采取的诊疗方案也不尽相同,分别用动作α、β、γ表示。当状态si激活某个动作αi时,会产生成本回馈C(si, αi),表示该方案的治疗费用。Mc可通过图 2描述。初始分布I及α、β、γ的可能性转移矩阵为
$ \boldsymbol{P}_{I}=\left(\begin{array}{l} 1 \\ 0 \\ 0 \end{array}\right), \boldsymbol{P}_{\alpha}=\left(\begin{array}{lll} 0.8 & 0.8 & 0.1 \\ 0.3 & 0.9 & 0.8 \\ 0.3 & 0.7 & 0.3 \end{array}\right), $ |
$ \boldsymbol{P}_{\beta}=\left(\begin{array}{ccc} 0.5 & 0.6 & 0.1 \\ 0.5 & 0.5 & 0.4 \\ 0.1 & 0.8 & 1 \end{array}\right), \boldsymbol{P}_{\gamma}=\left(\begin{array}{lll} 0.3 & 0.2 & 0.3 \\ 0.2 & 0.7 & 0.9 \\ 0.2 & 0.8 & 0.8 \end{array}\right) 。$ |
![]() |
图 2 患者诊疗过程CGPDP模型 Fig. 2 Treatment process of patients modeled by CGPDP |
根据算法6,调度Adv取最大值,其过程是优先考虑治愈病人的最大可能性,在此基础上计算期望成本。同理,Adv取最小值则是考虑在治愈的最小可能性基础上计算期望成本。
1) Adv取最大值,调用ExKstep(s2, 6)迭代计算6次,最终计算得到从s2出发第6步的最大可能性瞬时期望成本||
2) Adv取最大值,调用ExKsteps(s0, 6)迭代计算6次,最终得到从s0出发前6步的最大可能性累积期望成本||
3) 由||E||(s0)=0,||E||(s1)=0.6,||E||(s2)=0.9,得Sat(E)={s1, s2}。Adv取最大值,迭代调用ExPhi(s0),得到从s0出发,最终到达Sat(E)的最大可能性可达期望成本||
为解决GPoCTL模型检测中的成本问题,本文提出了带成本的GPoCTL模型检测方法。引入了带成本的广义可能性决策过程模型并在此基础上给出了期望成本,进而扩展得到带成本GPoCTL,增强了原有逻辑的表达能力。接着通过证明期望算子满足迭代计算形式,从而扩展了带成本的GPoCTL模型检测算法,最后通过实例说明其实际应用。
[1] |
CLARKE E M, GRUMBERG O, KROENING D, et al. Model checking[M]. Cambridge: MIT press, 2018.
( ![]() |
[2] |
BAIER C, KATOEN J P. Principles of model checking[M]. Cambridge: MIT Press, 2008.
( ![]() |
[3] |
CLARKE E M, HENZINGER T A, VEITH H, et al. Handbook of model checking[M]. Cham: Springer International Publishing, 2018.
( ![]() |
[4] |
林惠民, 张文辉. 模型检测: 理论、方法与应用[J]. 电子学报, 2002, 30(S1): 1907-1912. LIN H M, ZHANG W H. Model checking: theories, techniques and applications[J]. Acta electronica sinica, 2002, 30(S1): 1907-1912. ( ![]() |
[5] |
KLEIN J, BAIER C, CHRSZON P, et al. Advances in symbolic probabilistic model checking with PRISM[C]//International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Berlin: Springer Press, 2016: 349-366.
( ![]() |
[6] |
CLARKE E M, EMERSON E A, SISTLA A P. Automatic verification of finite-state concurrent systems using temporal logic specifications[J]. ACM transactions on programming languages and systems, 1986, 8(2): 244-263. DOI:10.1145/5397.5399 ( ![]() |
[7] |
MANNA Z, WOLPER P. Synthesis of communicating processes from temporal logic specifications[J]. ACM transactions on programming languages and systems, 1984, 6(1): 68-93. DOI:10.1145/357233.357237 ( ![]() |
[8] |
LI Y M, LI Y L, MA Z Y. Computation tree logic model checking based on possibility measures[J]. Fuzzy sets and systems, 2015, 262: 44-59. DOI:10.1016/j.fss.2014.03.009 ( ![]() |
[9] |
PAN H Y, LI Y M, CAO Y Z, et al. Model checking computation tree logic over finite lattices[J]. Theoretical computer science, 2016, 612: 45-62. DOI:10.1016/j.tcs.2015.10.014 ( ![]() |
[10] |
LI Y M, LEI L H, LI S J. Computation tree logic model checking based on multi-valued possibility measures[J]. Information sciences, 2019, 485: 87-113. DOI:10.1016/j.ins.2019.02.003 ( ![]() |
[11] |
檀超, 张静宣, 王铁鑫, 等. 复杂软件系统的不确定性[J]. 软件学报, 2021, 32(7): 1926-1956. TAN C, ZHANG J X, WANG T X, et al. Uncertainty-wise software engineering of complex systems: a systematic mapping study[J]. Journal of software, 2021, 32(7): 1926-1956. ( ![]() |
[12] |
张利亭, 冯涛, 李欢. 不完备信息系统的直觉模糊决策粗糙集[J]. 郑州大学学报(理学版), 2021, 53(2): 57-65. ZHANG L T, FENG T, LI H. Intuitionistic fuzzy decision rough sets for incomplete information systems[J]. Journal of Zhengzhou university (natural science edition), 2021, 53(2): 57-65. ( ![]() |
[13] |
DUBOIS D. Possibility theory and statistical reasoning[J]. Computational statistics & data analysis, 2006, 51(1): 47-69. ( ![]() |
[14] |
LI Y M, MA Z Y. Quantitative computation tree logic model checking based on generalized possibility measures[J]. IEEE transactions on fuzzy systems, 2015, 23(6): 2034-2047. DOI:10.1109/TFUZZ.2015.2396537 ( ![]() |
[15] |
马占有, 李永明. 基于决策过程的广义可能性计算树逻辑模型检测[J]. 中国科学: 信息科学, 2016, 46(11): 1591-1607. MA Z Y, LI Y M. Model checking generalized possibilistic computation tree logic based on decision processes[J]. Scientia sinica (informationis), 2016, 46(11): 1591-1607. ( ![]() |
[16] |
马占有, 李永明. 广义可能性决策过程的计算树逻辑模型检测[J]. 计算机工程与科学, 2015, 37(11): 2162-2168. MA Z Y, LI Y M. Computation tree logic model checking for generalized possibilistic decision processes[J]. Computer engineering & science, 2015, 37(11): 2162-2168. DOI:10.3969/j.issn.1007-130X.2015.11.025 ( ![]() |
[17] |
LI Y M, LI L J. Model checking of linear-time properties based on possibility measure[J]. IEEE transactions on fuzzy systems, 2013, 21(5): 842-854. DOI:10.1109/TFUZZ.2012.2232298 ( ![]() |
[18] |
梁常建, 李永明. 广义可能性计算树逻辑的模型检测问题[J]. 电子学报, 2017, 45(11): 2641-2648. LIANG C J, LI Y M. The model checking problem of computing tree logic based on generalized possibility measures[J]. Acta electronica sinica, 2017, 45(11): 2641-2648. DOI:10.3969/j.issn.0372-2112.2017.11.010 ( ![]() |
[19] |
BACCI G, HANSEN M, LARSEN K G. On the verification of weighted kripke structures under uncertainty[M]. Cham: Springer International Publishing, 2018: 71-86.
( ![]() |
[20] |
PAN H Y, LI Y M, CAO Y Z, et al. Model checking fuzzy computation tree logic[J]. Fuzzy sets and systems, 2015, 262: 60-77. DOI:10.1016/j.fss.2014.07.008 ( ![]() |
[21] |
ZADEH L A. Fuzzy sets[J]. Information and control, 1965, 8(3): 338-353. DOI:10.1016/S0019-9958(65)90241-X ( ![]() |
[22] |
杜伊, 何洋, 洪玫. 概率模型检测在动态能耗管理中的应用[J]. 计算机科学, 2018, 45(1): 261-266. DU Y, HE Y, HONG M. Application of probabilistic model checking in dynamic power management[J]. Computer science, 2018, 45(1): 261-266. ( ![]() |
[23] |
李召妮, 马占有, 李永明. 基于可能性测度的工程管理决策的研究[J]. 计算机科学, 2014, 41(8): 118-121. LI Z N, MA Z Y, LI Y M. Research on management decision of project based on possibility measure[J]. Computer science, 2014, 41(8): 118-121. ( ![]() |