单词自动机与时间粒度:优化表示及计算方法
1. 等价问题判定
判定两个给定的非确定性字符序列自动机(NCSSA)A1 和 A2 是否识别不同的无限(最终周期性)单词 w1 和 w2,可按以下步骤进行:
1. 猜测一个位置 1 ≤ i ≤ NA1NA2,其中 NA1 = O(|A1| 2|A1|) 且 NA2 = O(|A2| 2|A2|)。此猜测可在非确定性多项式时间 O(|A1| log |A1| + |A2| log |A2|) 内完成。
2. 检查 w1(i) ≠ w2(i) 是否成立。该检查可在确定性多项式时间 O(|A1|2 + |A2|2) 内完成,例如使用 GetSymbol 过程。
上述论证表明,NCSSA 的等价问题属于 co - NP 问题。目前,是否存在解决 NCSSA 等价问题的确定性多项式时间算法仍是一个开放问题。
2. 优化表示问题
2.1 优化问题定义
- 复杂度优化问题 :尽可能降低给定 NCSSA A 的复杂度 ∥A∥。
- 状态优化问题 :最小化给定 NCSSA A 的状态数量。
虽然 NCSSA 的复杂度和状态数量相关(前者至多是后者的二次函数),但复杂度最优和状态最优的自动机可能外观差异较大。例如,图 2.8 中的三个 NCSSA A1、A2 和 A3 识别相同的有限单词 ■■□■■□■■□。A1 和 A2 是状态最优的(n(A1) = n(A2) = 4,而 n(A3) = 6),A1 和 A3 是复杂度最优的(∥A1∥ = ∥A3∥
超级会员免费看
订阅专栏 解锁全文
14

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



