Mcta:定时系统的启发式搜索技术解析
1. 模式数据库的计算
模式数据库(PDB)的计算主要分为三个步骤:
- 抽象系统构建 :对原系统 $M$ 进行抽象,得到 $M|P$。这一抽象过程是通过构建一个新的自动机 $A’$ 实现的,$A’$ 仅包含一个位置,并且为 $A$ 的所有边添加循环边,同时对保护条件进行抽象,保留效果和同步标签,以此获得原系统 $M$ 的过近似 $M|P$。
- 抽象状态空间计算 :对于得到的抽象系统 $M|P$,采用前向方式计算其整个可达状态空间,并将结果存储到文件中。在遍历抽象状态空间时,使用原搜索引擎的扩展版本。该扩展版本会处理重复遇到已在关闭列表中的状态 $s$ 的情况,将导致该状态的新转换额外存储起来。抽象状态和转换以序列化形式存储,抽象错误状态会带有特殊的错误标志。最终得到的文件包含所有抽象状态(特别标记了抽象错误状态)以及所有抽象转换。
- 抽象错误距离计算 :基于包含抽象状态空间的文件,使用外部工具 Pdbgen 生成最终的模式数据库。Pdbgen 采用 Dijkstra 算法的变体,以反向方式计算给定抽象状态空间的抽象错误距离。具体操作是,首先将所有抽象错误状态的错误距离设为零,其他状态设为无穷大,然后迭代检查前驱状态,若能以更低成本到达,则更新距离值。输出文件包含序列化的抽象状态及其抽象错误距离,这个文件就是可用于 Mcta 的模式数据库,可作为距离启发式方法使用。通过这三个步骤计算 PDB,避免了在区域图上进行昂贵的回归操作。
2. 扩展向下模式细化运行 Mcta
要使用扩展向下模式细化运
订阅专栏 解锁全文
12

被折叠的 条评论
为什么被折叠?



