归位与同步序列的复杂性及相关问题研究
1. 引言
在自动机理论中,归位序列和同步序列是重要的概念。归位序列能帮助我们根据输出确定自动机的最终状态,而同步序列则能将自动机从任意初始状态引导到同一个最终状态。在实际应用中,这些序列的长度和计算复杂度是关键问题。例如,在某些应用里,状态空间可能非常大,如 {0, 1}k ,这就需要更实用的算法来寻找归位和同步序列。
2. 计算最短归位和同步序列的复杂性
在实际应用中,我们通常希望归位或同步序列尽可能短。虽然对于最小化的机器,我们能找到长度至多为 n(n - 1)/2 的归位序列,对于一般机器也能找到长度为 O(n3) 的同步或归位序列,且这些算法的运行时间是多项式的,但计算最小长度的归位和同步序列的算法却是指数级的。
为了说明这一指数级运行时间的原因,我们来看相关问题的复杂性。由于只有决策问题才能是 NP 完全的,所以我们考虑问题的决策版本:是否存在长度至多为 k 的序列?
有如下定理:给定一个 Mealy 机 M 和一个正整数 k,以下问题是 NP 完全的:
1. M 是否有长度 ≤ k 的归位序列?
2. M 是否有长度 ≤ k 的同步序列?
证明过程如下:
- 属于 NP 的证明 :一个非确定性算法可以轻松猜测一个长度 ≤ k 的序列(k 是机器规模的多项式),并在多项式时间内验证它是否是归位或同步序列。
- NP 难的证明 :我们从 NP 完全问题 3SAT 进行归约。在 3SAT 中,给定一个关于 n 个变量 v1, …, vn 的布尔公式 ϕ,它是
超级会员免费看
订阅专栏 解锁全文
61

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



