PRISM 模型类型选择指南
引言
PRISM作为概率模型检测工具,支持四种核心模型类型:离散时间马尔可夫链(DTMC)、连续时间马尔可夫链(CTMC)、马尔可夫决策过程(MDP)和部分可观测马尔可夫决策过程(POMDP)。本指南将帮助初学者理解不同模型的适用场景,并通过实例演示选择方法。
模型类型概述
1. 离散时间马尔可夫链 (DTMC)
适用场景:离散时间步长的纯概率系统
- 无并发行为
- 状态转换仅由概率决定
// 简单的DTMC示例:硬币投掷
dtmc
module Coin
state : [0..1] init 0; // 0=头, 1=尾
[] state=0 -> 0.5 : (state'=0) + 0.5 : (state'=1);
[] state=1 -> 0.5 : (state'=0) + 0.5 : (state'=1);
endmodule
典型应用
- 协议错误概率分析
- 算法随机性验证
2. 连续时间马尔可夫链 (CTMC)
适用场景:时间连续且转移率可变的系统
- 使用指数分布模拟时间延迟
- 适合性能评估和实时系统
// 服务器请求处理的CTMC模型
ctmc
module Server
idle -> busy : 2.0; // 每秒2个请求
busy -> idle : 1.0; // 每秒处理1个请求
endmodule
3. 马尔可夫决策过程 (MDP)
适用场景:含非确定性选择的系统
- 多个可能的动作/策略
- 适用于控制器设计和规划问题
// 机器人导航MDP示例
mdp
module Robot
x : [0..2] init 0;
[move] x=0 -> 0.8:(x'=1) + 0.2:(x'=0);
[move] x=1 -> 0.7:(x'=2) + 0.3:(x'=0);
[stay] true -> (x'=x);
endmodule
决策技巧
使用<<...>>
运算符计算最优策略:
<< "move" >> Pmax=? [ F x=2 ]