形式语言中复杂度的现代方面
在处理形式语言中的计算问题时,会涉及到诸多复杂度相关的内容。下面通过几个案例研究来深入探讨这些问题。
1. 复杂度相关概念
在复杂度研究领域,需要引入归约的概念,但由于篇幅和其并非本文核心内容,这里不详细介绍,可参考相关综述论文。在这部分复杂度世界里,运行时间中的多对数因子常被忽略,例如用 (O(n^2)) 表示二次运行时间,忽略诸如 ((log(n))^3) 这样的项。Vassilevska Williams 在即将发表的综述中提出了精细粒度复杂度的核心问题:对于每个具有教科书式运行时间 (O(t(n))) 且没有更好已知算法的感兴趣问题,是否存在障碍使得无法获得 (O(t(n)^{1 - \epsilon})) 时间复杂度的算法((\epsilon > 0))?这个表述忽略了多对数因子,同时,强指数时间假设(SETH)也完全符合这一系列问题。
2. 案例研究
2.1 字符串到字符串修正(S2S)
编辑距离用于衡量两个字符串 (S) 和 (T) 之间的距离,通过计算将 (S) 转换为 (T) 所需的基本编辑操作数量。该问题的复杂度取决于允许的操作。设 (O) 为允许的操作集合,(O \subseteq {C, D, I, S}),其中:
- (C):更改(替换一个字母)
- (D):删除一个字母
- (I):插入一个字母
- (S):交换(转置相邻字母)
对于每个 (O),定义 (O) - 字符串到字符串修正问题((O) - S2S),输入为字母表 (\Sigma)、字符串 (S, T \in \Sigma^*) 和整数 (k \in N),问题是:是否
超级会员免费看
订阅专栏 解锁全文
7629

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



