多智能体系统的规范与验证方法
1. SAT求解器与命题公式可满足性检查
1.1 SAT求解器特性
SAT求解器虽不能在多项式时间内返回结果,只是一种启发式方法,但现代SAT求解器能在合理时间内判定由数十万个命题变量组成的公式。通常,SAT求解器接受合取范式(CNF)的公式,即子句的合取,子句是文字的析取。只要每个子句中至少有一个文字被满足,整个公式就被满足。
1.2 命题公式转换为CNF
每个命题公式ϕ可以通过两种方式转换为CNF公式:一种是仅保留ϕ的可满足性,另一种是与ϕ逻辑等价。前者转换更容易,常用于检查ϕ的可满足性;若需要对ϕ进行进一步操作,则需要进行等价保留的转换。
1.3 命题公式可满足性检查方法
检查命题公式可满足性的方法有多种,如基于St˚almarck方法、软计算方法(蒙特卡罗、进化算法)或归结理论。这里重点介绍Davis和Putnam提出并由Davis、Logemann和Loveland改进的DPLL算法,该算法基于回溯搜索,通过对CNF公式的可能赋值空间进行搜索,使用布尔约束传播(BCP)、基于冲突的学习(CBL)和变量选择(VS)方法。
2. 基于OBBD的CTLK模型检查
对于计算每个公式ϕ成立的状态集⟨ϕ⟩的算法,可以在状态的OBDD表示上操作。这需要用命题公式对模型M的状态和转换关系进行编码,然后用OBDD表示这些公式。模型检查问题M, s0 |= ϕ可转化为检查s0是否属于⟨ϕ⟩,即验证OBDD({s0}) ∧ OBDD(⟨ϕ⟩)是否不等于OBDD(∅)。
超级会员免费看
订阅专栏 解锁全文

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



