用户: Housefz房子/理论计算机科学基础 (信科) 讲义及作业

本页是 2021 秋季信息科学技术学院刘田老师所开理论计算机科学基础课程的知识梳理和作业解答

0引言

简单说下为什么写这玩意. 主要是这 TCS 的作业是真的难, 一道题做一天, 搜答案也搜不到, 所以我就在这里写一份解答, 方便需要学习 TCS 课的同学们.

由于我学习也比较忙, 所以这里会慢慢更新 (

1第一章习题

习题 1.1 (中译本 1.35).. 证明若 是正则语言, 是任意语言, 则 是正则语言.

证明. 是识别 的 DFA, 令 为识别 的 DFA.

2第二章习题

习题 2.1 (中译本 2.33). 对于字母表 , 给出产生所有 的个数是 的两倍的字符串的语言的 CFG, 并证明其正确性.

证明. 构造 CFG 如下容易发现, 这个 CFG 生成的字符串都满足 的个数是 的两倍. 下证其生成所有这样的字符串. 为此, 只需证明其生成所有 构成的 的个数是 的两倍的串. 设这样的串的长度是 , 对 归纳易证.

习题 2.2 (中译本 2.35)., 证明 是上下文无关语言.

证明. 构造 CFG 如下证明留作习题.

3第三章习题

习题 3.1 (中译本 3.13). 证明: 一个语言是可判定的, 当且仅当有枚举器以标准字符串顺序枚举这个语言.

证明. : 设图灵机 判定语言 , 将 按标准序排列: , 枚举器 按标准序打印 .

: 设枚举器 按标准序枚举语言 .

4第四章习题

习题 4.1 (中译本 4.23). 证明可判定的语言类在同态下不封闭.

证明. 将下题中的 同态到 即可.

习题 4.2 (中译本 4.24). 是一个语言. 证明 是图灵可识别的, 当且仅当存在一个可判定语言 , 使 .

证明.

5第五章习题

6期中考试

试题

一、名词解释

1. 正则运算 2. 乔姆斯基范式 3. 图灵可枚举 4. PCP 5. 歧义文法

二、判断题

1. 无穷上下文无关语言是否一定有无穷正则语言子集?

2. 无穷图灵可判定语言是否一定有无穷上下文无关语言子集?

3. 无穷图灵可识别语言是否一定有无穷图灵可判定语言子集?

4. 无穷图灵不可识别语言是否一定有无穷图灵可识别语言子集?

5. 是正则语言, 则 是正则语言.

6. 是上下文无关语言, 则 是上下文无关语言.

7. 是图灵可判定语言, 则 是图灵可判定语言.

8. 是图灵可识别语言, 则 是图灵可识别语言.

9. 是补图灵可识别语言, 则 是补图灵可识别语言.

10. 是任意语言, 则 是正则语言.

三、语言分类与证明

1. 将以下 10 个语言分入它所在的最小的语言类.

解答

一、名词解释

1. 正则运算 2. 乔姆斯基范式 3. 图灵可枚举 4. PCP 5. 歧义文法

解. 请自行查阅课本.

二、判断题

1. 无穷上下文无关语言是否一定有无穷正则语言子集?

解. 错. 反例 . 用泵引理即可证明.

2. 无穷图灵可判定语言是否一定有无穷上下文无关语言子集?

解. 错. 反例 . 用泵引理即可证明.

3. 无穷图灵可识别语言是否一定有无穷图灵可判定语言子集?

解. 对. 此为中译本课后习题 3.12, 证明略.

4. 无穷图灵不可识别语言是否一定有无穷图灵可识别语言子集?

解. 错. 反例 , 见中译本课后习题 6.2, 证明略.

5. 是正则语言, 则 是正则语言.

6. 是上下文无关语言, 则 是上下文无关语言.

7. 是图灵可判定语言, 则 是图灵可判定语言.

8. 是图灵可识别语言, 则 是图灵可识别语言.

9. 是补图灵可识别语言, 则 是补图灵可识别语言.

10. 是任意语言, 则 是正则语言.

解. 10 是对的, 从而 5 到 9 都是对的. 参见 Higman 定理.

7第七章习题

习题 7.1 (中译本 7.20). 单带确定性图灵机在 时间内只能识别正则语言.

证明. 下文中的图灵机均指单带确定性图灵机.

定义 7.2 (穿越序列). 将带子写成其中 表示两个格子之间的边界. 记 左边的那个边界为第 k 个边界.

是图灵机第 次穿过第 个边界的瞬间的状态, 则序列 称作图灵机在第 个边界上的穿越序列.

定义 7.3 (穿越数). 穿越数是穿越序列的长度, 记为 .

注 7.4. 图灵机在一个输入上运行的总时间是它所有穿越序列的长度之和.

引理 7.5 (Hennie). 如果一个图灵机在任意输入和边界上的穿越数是有界的, 则它识别正则语言.

引理的证明. 设图灵机 在任意输入和边界上的穿越数不超过 , 则长度不超过 的穿越序列是只有有限种. 从而所有穿越序列构成的集合的幂集有限. 设 由 Myhill–Nerode 定理, 只需要证明 指数是有限的.

处的穿越序列 , 则 是有限集. 下证若 , 则 等价.

. 处的穿越序列, 使 处的穿越序列. 容易证明 . 故 等价.

这说明 被分成有限个等价类, 即 指数有限, 故 是正则语言, 证毕.

定理 7.6 (Kobayashi). 如果一个图灵机运行时间为 , 则它在任何输入和边界上的穿越数是 的.

证明., 是一个有 个状态的图灵机. 时间内接受语言 . 定义 为: 我们有 , 从而可以选取 使对所有的 成立.

下面证明, 对 在任何满足 的输入 和任何边界上的穿越序列的长度不超过 .

假设存在 使得 在输入 和某个边界上的穿越序列的长度大于 . 取 是这样的 中最短的, 的长度是 , 是使 的一个位置.

在输入 上运行 . 记 是前 个位置中使穿越序列的长度小于 的位置的个数, 则从而有: 并且, 至多有 种长度小于 的穿越序列. 从而由抽屉原理, 中至少有四个位置的穿越序列完全一样. 它们中至少有两个和 不同且在 的同一侧, 设为 . 设 删除 之间的字串得到. 则 接受 , 且在某个边界上的穿越序列比 长, 且 . 这与 的最小性矛盾, 从而不可能存在这样的 .

结合引理 7.5 和定理, 我们就完成了习题的证明.