郑州大学学报(理学版)  2022, Vol. 54 Issue (4): 34-41  DOI: 10.13705/j.issn.1671-6841.2021291

引用本文  

马占有, 李健祥, 李召恺, 等. 广义可能性计算树逻辑模型检测中的成本分析[J]. 郑州大学学报(理学版), 2022, 54(4): 34-41.
MA Zhanyou, LI Jianxiang, LI Zhaokai, et al. Cost Analysis of Generalized Possibilistic Computation Tree Logic Model Checking[J]. Journal of Zhengzhou University(Natural Science Edition), 2022, 54(4): 34-41.

基金项目

国家自然科学基金项目(61962001);宁夏自然科学基金项目(2018AAC03127);北方民族大学引进人员科研项目(2020KYQD14)

作者简介

马占有(1979—),男,副教授,主要从事模型检测研究,E-mail: mazhany@nmu.edu.cn

文章历史

收稿日期:2021-07-13
广义可能性计算树逻辑模型检测中的成本分析
马占有, 李健祥, 李召恺, 郭昊    
北方民族大学 计算机科学与工程学院 宁夏 银川 750021
摘要:为解决广义可能性计算树逻辑模型检测中的成本问题,提出了带成本的广义可能性计算树逻辑模型检测方法。首先,引入带成本的广义可能性决策过程模型,该模型不仅能刻画系统的非确定选择和可能性转移,还能定量刻画系统的能耗、开销等成本。其次,在带成本的广义可能性决策过程模型下,给出了带成本的广义可能性计算树逻辑的语法及语义。然后,在已有文献基础上给出了第k步瞬时期望成本算子、前k步累积期望成本算子以及可达期望成本算子的模型检测算法。最后,通过一个实例说明了该模型检测算法的实际应用。
关键词模型检测    带成本的广义可能性决策过程    广义可能性计算树逻辑    期望成本    
Cost Analysis of Generalized Possibilistic Computation Tree Logic Model Checking
MA Zhanyou, LI Jianxiang, LI Zhaokai, GUO Hao    
School of Computer Science and Engineering, North Minzu University, Yinchuan 750021, China
Abstract: In order to solve the cost problem in the generalized possibilistic computation tree logic model checking, a generalized possibilistic computation tree logic model checking method with cost estimated was proposed. Firstly, the CGPDP was introduced as system model.In addition to the non-deterministic choice and possibility transfer of the system, energy consumption and overhead in the system could also be described by the CGPDP. Next, under the CGPDP, the syntax and semantics of the generalized possibilistic computation tree logic with cost estimated were given. Then, as extention of the literature, the model checking algorithms of instantaneous expected cost operator at the k step, cumulated expected cost operator within k steps and expected cost operator for the reachability objective were given. Finally, an example was given to illustrate the practical application of the model checking algorithm.
Key words: model checking    CGPDP    generalized possibilistic computation tree logic    expected cost    
0 引言

模型检测(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的隶属度函数,对xX, A(x)称为x属于模糊集A的隶属度。

F(X)表示X上模糊集合的全体,即F(X)={A|A: X→[0, 1]}。

定义2[21]  设A, BF(X),AB的并AB、交AB、补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]是可能性转移分布,对于任意sS, αAct,存在状态tS,使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]是可能性转移分布,对于任意sS, αAct,存在状态tS,使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×ActN(N为自然数集)是成本函数,对于任意sS, αAct,产生成本C(s, α)。

若动作集与原子命题集均有穷,则称Mc为有穷CGPDP。若存在一状态tS,使得p(s, α, t)>0,则称α在状态s上是可激活的,Act(s)表示s所有可激活的动作集合。

$\hat{\pi}$=s0α0s1α1s2sn-1αn-1sn表示Mc中一条有穷路径,π=s0α0s1α1s2…∈(S×Act)ω表示Mc中的一条无穷路径。从状态s出发的路径集合用Paths(s)表示。Pathsfin(Mc)表示Mc中所有状态出发的有穷路径集合,Paths(Mc)表示Mc中所有状态出发的无穷路径集合。

对于π=s0α0s1α1s2…∈(S×Act)ω,通过有穷路径$\hat{\pi}$n=s0α0s1α1s2sn-1αn-1sn表示以sn结尾的有穷前缀,以无穷路径πn=snαnsn+1αn+1sn+2αn+2…∈(S×Act)ω表示从sn开始的路径π的无穷后缀。

对于π=s0α0s1α1s2…∈(S×Act)ω,第k步的瞬时成本为cost[=k](π)=C(sk-1, αk-1),前k步累积成本为cost[≤k](π)=$\sum\limits_{i=1}^{k}$cost[=i](π)。

对于π=s0α0s1α1s2…∈(S×Act)ω,集合FS,当π能够最终访问F中所包含的任意状态时,该路径到达F的累积成本为

$ {cost}[\diamond F](\pi)={cost}[\leqslant n](\pi), $

其中:snFs0, …, sn-1F

注1  给定集合ABA×B表示集合AB的笛卡尔积。

注2  对任意αAct,可通过模糊矩阵表示其可能性转移pS×α×S→[0, 1],记为Pα。该矩阵的闭包记为Pα+,自反闭包记为Pα*

例1  图 1给出了一个4状态的有穷CGPDP模型Mc=(S, Act, p, I, AP, L, C),圆圈表示状态,带箭头的连接线表示转移,连接线上无下划线的数字表示转移的可能性,带下划线的数字表示转移的成本。如转移${{\mathit{{s}}}_{1}}\xrightarrow{\underline{\alpha, 130, 0.5}}{{\mathit{{s}}}_{2}}$表示状态s1在动作α作用下,到达状态s2的成本为130,可能性为0.5,即p(s1, α, s2)=0.5,C(s1, α)=130。而S={s0, s1, s2, s3},Act={α, β},初始分布Iαβ对应的转移矩阵分别为

$ \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: SActMc的调度。对任意sS,有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,对任意sS,有rAdv(s)=$\bigvee\limits_{t \in S}$(pAdv+(s, t)∧pAdv+(t, t))。

定义7  设Mc=(S, Act, p, I, AP, L, C)是一个有穷的CGPDP,给定一条有穷路径$\hat{\pi}$=s0α0s1α1s2sn-1αn-1snPathsAdvfin(Mc),对应柱集定义为

Cyl($\hat{\pi}$)={πPathsAdv(Mc)$\hat{\pi}$π的有穷前缀}。

定义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)。$

对于任意集合FPathsAdv(Mc),有GPo(F)=∨{GPo(π)|πF},即可扩展为函数GPo: 2PathsAdv(Mc)→[0, 1],称为集合2PathsAdv(Mc)上的广义可能性测度。

3 期望成本

引入调度Adv后,CGPDP中任意状态sAdv下的转移动作α得以确定。由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} $

对于集合FS,从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′={sS|GPo(s|=◇F)>0且sF}。

定义10  给定有穷CGPDP Mc,在调度Adv下,PathsAdv(s)中所有路径前k步累积成本cost[≤k]的期望值,称为从s出发前k步的期望累积成本,定义为ExsAdv(cost[≤k])=$\sum\limits_{i=1}^{k}$ExsAdv(cost[=i])。

对于集合FS,从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])=∞;

sF,则ExsAdv(cost[◇F])=0;

GPo(s|=◇F)>0且sF,则

$ 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基础上,增加了公式(=k)、(≤k)、(Φ)。下面给出带成本GPoCTL的语法和语义解释。

定义12(GPoCTL语法)  GPoCTL状态公式定义为

$ \varPhi::= { true }|a| \varPhi_{1} \wedge \varPhi_{2} \mid \neg \varPhi $

其中:φ是路径公式;aAP(=k)、(≤k)、(Φ)分别表示第k步瞬时期望成本公式、前k步累积期望成本公式和可达期望成本公式。

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(Φ)={sS| ||Φ||(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} $
5 带成本GPoCTL模型检测算法

带成本的GPoCTL模型检测问题描述为:给定CGPDP McMc中的状态s及GPoCTL状态公式Φ,计算||Φ||(s)的值。对于状态公式Φ=true, Φ=a, Φ=Φ1Φ2, Φ=┐Φ,可直接由语义给出相应的模型检测算法。对于GPo(φ)算子,引入文献[15]中的算法,包括算法1和算法2。对于第k步瞬时期望成本公式(=k),前k步累积期望成本公式(≤k),可达期望成本公式(Φ),将分别给出它们对应的模型检测算法。

算法1  不动点算法

Require: 不动点函数f

Ensure: 不动点x

procedure FixPoint(x, f)

        x′=f(x)

        while xx′ 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)sS, fΦ)

    end case

end procedure

定义6给出了瞬时期望成本的迭代计算形式,依此可得到瞬时期望成本算子(=k)的递归求解算法,具体步骤详见算法3。

算法3  计算(=k)的算法

Require: CGPDP Mc和步数k

Ensure: Mc中任意状态s(=k)的值

procedure ExKstep(s, k)

    if k=0 then

      return 0

    end if

    if k=1 then

        return ($\bigvee\limits_{t \in S}$pAdv(s, α, t))·CAdv(s, α)

    end if

    return ($\bigvee\limits_{t \in S}$pAdv(s, α, t))·ExKstep(t, k-1)

end procedure

下面我们给出公式(≤k)满足迭代计算形式的证明。

定理2  给定Mc=(S, Act, p, I, AP, L, C)是一个有穷的CGPDP,对任意sS,有

$ \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  计算(≤k)的算法

Require: CGPDP Mc和步数k

Ensure: Mc中任意状态s(≤k)的值

procedure ExKsteps(s, k)

        if k=0 then

          return 0

        end if

        return ($\bigvee\limits_{t \in S}$pAdv(s, α, t))·(CAdv(s, α)+ExKsteps(t, k-1))

end procedure

接下来,我们证明(Φ)满足迭代计算形式。

定理3  给定有穷的CGPDP Mc,对任意sS,若GPo(s|=◇Sat(Φ))>0且sSat(Φ),则有:

$ \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′={sSat(Φ)|GPo(s|=◇Sat(Φ))>0}。

依据定理3,算法5给出可达期望成本算法。

算法5  计算(Φ)的算法

Require: CPDP Mc和状态公式Φ

Ensure: Mc中任意状态s(Φ)的值

procedure ExPhi(s)

        return ($\bigvee\limits_{u \in {Sat}({\mathit{\Phi}})}$pAdv(s, α, u))·CAdv(s, α)+($\bigvee\limits_{t \in S'}$pAdv(s, α, t))·ExPhi(t)

end procedure

依据算法1~5,算法6给出了带成本的GPoCTL模型检测算法。

算法6  带成本的GPoCTL模型检测算法

Require: CGPDP Mc和状态公式Φ

Ensure: Mc中任意状态s,||Φ||(s)的值

procedure GPoCTLCheck(Φ)

        case Φ

        true return (1)sS

        aAP return (||a||(s))sS

        Φ1Φ2 return (||Φ1||(s)∧||Φ2||(s))sS

        ┐Φ return (1-||Φ||(s))sS

        GPo(φ)return GPoCal(φ)

        (=k) return (ExKstep(s, k))sS

        (≤k) return (ExKsteps(s, k))sS

        (Φ) return (ExPhi(s))sS

    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的大小和公式Φ的长度有关,公式Φ=(=k)(≤k)计算||Φ||(s)的时间只与CPDP Mc的大小、公式Φ的长度和k的大小有关。而计算公式Φ=GPo(Φ1Φ2)|GPo(◇Φ)的时间主要取决于计算PAdv的转移闭包PAdv*的时间。采用文献[24]的算法来计算PAdv*,其时间复杂度为O(n2logn),其中n=|S|。公式Φ=GPo(□Φ)|(◇Φ)的时间主要取决于迭代时间和矩阵合成运算时间,参照文献[15]的迭代分析,可知迭代计算时间是O(|S|3)。综上所述,通过定理4给定GPoCTL模型检测算法的时间复杂度。

定理4(带成本的GPoCTL模型检测算法的时间复杂度) 给定有穷的CGPDP Mc和带成本的GPoCTL公式Φ、步数kMc|=Φ的时间复杂度为O(size(Mfpoly(S)·|Φk),其中:size(Mf)是模型的大小;poly(S)是n的多项式函数;|Φ|是公式的长度;k是步数。

6 实例应用

本文在文献[15]患者诊疗的专家系统的基础上增加了成本回馈,用以说明带成本GPoCTL模型检测算法的实际应用。通过CGPDP Mc=(S, Act, p, I, AP, L, C)来对整个诊疗过程进行建模。s0s1s2表示患者的健康状态,原子命题集合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步的最大可能性瞬时期望成本||(=6)||max(s2)=230。再令Adv取最小值,调用ExKstep(s2, 6)迭代计算6次,最终计算得到最小可能性瞬时期望成本||(=6)||min(s2)=11.76。说明在状态Adv,医生采用3种治疗方案治疗6次后,第6次治疗的最大可能性期望费用为230,最小可能性期望费用为11.76。

2) Adv取最大值,调用ExKsteps(s0, 6)迭代计算6次,最终得到从s0出发前6步的最大可能性累积期望成本||(≤6)||max(s0)=1 082.4。再令Adv取最小值,调用ExKsteps(s0, 6)迭代计算6次,最终计算得到从s0出发前6步的最小可能性累积期望成本||(≤6)||min(s0)=111.3。说明在状态||E||(s0)=0,医生采用3种治疗方案治疗6次后,6次治疗的累积最大可能性期望费用为1 082.4,最小可能性期望费用为111.3。

3) 由||E||(s0)=0,||E||(s1)=0.6,||E||(s2)=0.9,得Sat(E)={s1, s2}。Adv取最大值,迭代调用ExPhi(s0),得到从s0出发,最终到达Sat(E)的最大可能性可达期望成本||(E)||max(s0)=432。再令Adv取最小值,迭代调用ExPhi(s0),计算得到从状态s0出发,最终到达Sat(E)的最小可能性可达期望成本||(E)||min(s0)=101.4。说明在状态s0,医生采用3种治疗方案治疗多次后,病人最终健康状况为“好”的最大可能性期望费用为432,最小可能性期望费用为101.4。

7 结束语

为解决GPoCTL模型检测中的成本问题,本文提出了带成本的GPoCTL模型检测方法。引入了带成本的广义可能性决策过程模型并在此基础上给出了期望成本,进而扩展得到带成本GPoCTL,增强了原有逻辑的表达能力。接着通过证明期望算子满足迭代计算形式,从而扩展了带成本的GPoCTL模型检测算法,最后通过实例说明其实际应用。

参考文献
[1]
CLARKE E M, GRUMBERG O, KROENING D, et al. Model checking[M]. Cambridge: MIT press, 2018. (0)
[2]
BAIER C, KATOEN J P. Principles of model checking[M]. Cambridge: MIT Press, 2008. (0)
[3]
CLARKE E M, HENZINGER T A, VEITH H, et al. Handbook of model checking[M]. Cham: Springer International Publishing, 2018. (0)
[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. (0)
[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. (0)
[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 (0)
[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 (0)
[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 (0)
[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 (0)
[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 (0)
[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. (0)
[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. (0)
[13]
DUBOIS D. Possibility theory and statistical reasoning[J]. Computational statistics & data analysis, 2006, 51(1): 47-69. (0)
[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 (0)
[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. (0)
[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 (0)
[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 (0)
[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 (0)
[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. (0)
[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 (0)
[21]
ZADEH L A. Fuzzy sets[J]. Information and control, 1965, 8(3): 338-353. DOI:10.1016/S0019-9958(65)90241-X (0)
[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. (0)
[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. (0)