本文已参与「新人创作礼」活动,一起开启掘金创作之路。
计算树逻辑(Computation Tree Logic,简写CTL)
- 个人理解:说到树,我联想到最多的就是数据结构里面的树,一个结点对应着多个分支结点,而这个计算树逻辑,和数据结构里面的树有些类似。我们可以把当前时间看作是根节点,下面的不同分支,都是未来某一时刻的可能性,比如我要去学校,我会经过出门这个根节点,但我可能会骑自行车或乘坐大巴这两种方式去学校,也就是两个不同的子节点,根据选择的不同方式,引发更多的子节点。
- 定义:计算树逻辑是一种分支时间逻辑,即它的时间模型是一个树状结构,其中未来是不确定的。未来有不同的路径,其中的任何一个都可能是现实的“实际”路径。
CTL语法
- 和表示路径量词,表示所有的路,表示存在一条路
- 在CTL公式中,时态连接词前面必须要跟路径量词或
- 解释下列CTL公式:
- :路径上存在一个满足的可达状态
- :对于所有满足的状态出发,都有“一直保持直到满足”的状态出现(后一句也可以说是:都存在“一直保持直到满足”的状态)
- :只要满足的状态出现,就有系统能永远保持(也可以理解为:对于所有满足的状态也都存在满足的状态)
- :有一可达的状态使得从此状态出发的所有可达状态都满足
- 进程总可以请求进入它的界区:(也可以理解为:对于所有满足的状态都存在下一个状态满足)
- 对于任何状态,若一个请求出现则这个请求最终会被接受:
- 一部在 2 楼且处于上升的电梯,当有乘客在想到 5 楼时,电梯不会改变上升方向直到 5 楼:
- 从任何状态出发总能到达重启状态:
CTL语义
-
给定模型,是 CTL 公式。以的结构归纳定义如下:
-
-
-
当且仅当
-
当且仅当
-
当且仅当且
-
当且仅当或
-
当且仅当则
-
当且仅当对于所有的,有。
- 可以理解为:的所有下一个状态点都满足
- 可以理解为:的所有下一个状态点都满足
-
当且仅当对于某个使得的,有。
- 可以理解为:存在的下一个状态满足
- 可以理解为:存在的下一个状态满足
-
当且仅当对于从出发的所有路径(其中就是),对于这些路径上的所有,都有
- 可以理解为:所有从出发的路径上每一个状态都满足
- 可以理解为:所有从出发的路径上每一个状态都满足
-
当且仅当存在一条从出发的路径(其中就是),对于这些路径上的所有,都有
- 可以理解为:存在一条从出发的路径上所有状态满足
- 可以理解为:存在一条从出发的路径上所有状态满足
-
当且仅当对于从出发的所有路径(其中就是),对于每条路径,都存在,有
- 可以理解为:从出发的任意一条路径,路径上一定会经过一个满足的状态
- 可以理解为:从出发的任意一条路径,路径上一定会经过一个满足的状态
-
当且仅当存在一条从出发的路径(其中就是),该路径上存在,有
- 可以理解为:存在从出发的路径,一定会存在一个满足的状态
- 可以理解为:存在从出发的路径,一定会存在一个满足的状态
-
当且仅当对于从出发的所有路(其中就是),存在使得且对于所有的都有
-
当且仅当存在从出发的路(其中就是),存在使得且对于所有的都有
-
-
范例:
对于上面的Kripke结构,有如下结论:
- :在模型中,存在一个状态,使得且(我们可以看出存在的这个状态就是)
- :在模型中,对于从出发的所有路径或者等路径,都存在从开始的路径上的所有状态一直满足,直到遇到满足的状态
- :在模型中,对于从出发的所有路径,都不可能会经过同时满足状态和的结点
- :在模型中,对于从出发的所有路径,一定存在从某一个结点开始,以后的所有结点全部满足状态(只要到达之后,所有的路径均满足状态)
-
模型满足性:设是模型,是CTL公式。若对于任一都有,则称模型满足CTL公式 , 记作
-
语义等价:CTL公式称为语义等价,记作,若对于任何模型,都有 当且仅当
-
CTL扩展公式
-
CTL 连接词充分性:CTL 时态连接词集是充分的当且仅当它包含以及中一个元素以及中一个元素
-
CTL语义等价公式(可用于 CTL 模型检测算法):