“若对象是无限运行,则需Büchi 自动机等 $\omega$ 自动机,用“无限次访问接受状态”取代读完整个有限字后的终态接受;有限字 DFA 的定义与判定不能原样承担这一任务。”
无限字上的接受条件 ​
非确定性 Büchi 自动机写作
其中
输入是无限字
令
自动机接受
为什么到达一次不够 ​
若接受条件只要求曾经到达
构造识别“字母
只要持续出现
相反,“最终永远只有
与有限自动机的差异 ​
NFA在有限字末端查看当前状态是否接受;Büchi 输入没有末端,只能用运行中无限重复的集合定义接受。把 NFA 的“读完后位于
两者都只有有限状态,却有不同的确定化性质。每个 NFA 可无指数以外障碍地确定化为 DFA;并非每个 nondeterministic Büchi automaton 都有等价 deterministic Büchi automaton。确定化需要更强的 Rabin、Muller 或 parity 接受条件。
补集也因此更微妙。把
lasso 与非空性 ​
有限 Büchi 自动机若语言非空,就存在最终周期字
因此非空性可归约为:是否存在从初态可达、且包含接受状态和循环的强连通区域。一个接受状态若可达却没有返回自身的路径,不足以形成无限接受运行。
on-the-fly 搜索不必预先生成全图;可以在探索转移的同时寻找接受环。但算法仍须区分“看见接受节点”和“证明从它可回到接受区域”。
自动机论验证接口 ​
LTL 模型检查常把否定规格转换为 Büchi 自动机,再与系统取同步积。积中的接受运行代表系统存在一条违反规格的无限路径。
系统公平性、generalized Büchi 多接受集合和 transition-based acceptance 会改变判空条件。generalized Büchi 要求每个接受集合都无限访问,不能只命中其中任意一个。
Büchi 自动机只表达
运行非确定性还会影响“拒绝”的证明:一个字被拒绝,必须说明所有可能运行都没有无限访问接受集,而不是展示一条失败运行。实现判空时通常在自动机状态图上整体搜索接受 SCC,避免逐一枚举无限多运行;把某次启发式选择走入死路当作拒绝结论,会混淆存在接受运行的量词。
参考资料
- J. Richard Büchi, “On a Decision Method in Restricted Second Order Arithmetic,” Proceedings of the International Congress on Logic, Methodology and Philosophy of Science, Stanford University Press, 1962, pp. 1–11。
- Wolfgang Thomas, “Automata on Infinite Objects,” in Handbook of Theoretical Computer Science, Vol. B, Elsevier, 1990, Ch. 4。
- Christel Baier and Joost-Pieter Katoen, Principles of Model Checking, MIT Press, 2008, Ch. 4。