用户: Housefz房子/理论计算机科学基础 (信科) 讲义及作业
本页是 2021 秋季信息科学技术学院刘田老师所开理论计算机科学基础课程的知识梳理和作业解答
0引言
简单说下为什么写这玩意. 主要是这 TCS 的作业是真的难, 一道题做一天, 搜答案也搜不到, 所以我就在这里写一份解答, 方便需要学习 TCS 课的同学们.
由于我学习也比较忙, 所以这里会慢慢更新 (
1第一章习题
习题 1.1 (中译本 1.35). 设 . 证明若 是正则语言, 是任意语言, 则 是正则语言.
2第二章习题
习题 2.1 (中译本 2.33). 对于字母表 , 给出产生所有 的个数是 的两倍的字符串的语言的 CFG, 并证明其正确性.
习题 2.2 (中译本 2.35). 设 , 证明 是上下文无关语言.
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. 无穷图灵可识别语言是否一定有无穷图灵可判定语言子集?
4. 无穷图灵不可识别语言是否一定有无穷图灵可识别语言子集?
5. 是正则语言, 则 是正则语言.
6. 是上下文无关语言, 则 是上下文无关语言.
7. 是图灵可判定语言, 则 是图灵可判定语言.
8. 是图灵可识别语言, 则 是图灵可识别语言.
9. 是补图灵可识别语言, 则 是补图灵可识别语言.
10. 是任意语言, 则 是正则语言.
7第七章习题
习题 7.1 (中译本 7.20). 单带确定性图灵机在 时间内只能识别正则语言.
证明. 下文中的图灵机均指单带确定性图灵机.
定义 7.2 (穿越序列). 将带子写成其中 表示两个格子之间的边界. 记 左边的那个边界为第 k 个边界.
设 是图灵机第 次穿过第 个边界后的瞬间的状态, 则序列 称作图灵机在第 个边界上的穿越序列.
定义 7.3 (穿越数). 穿越数是穿越序列的长度, 记为 .
注 7.4. 图灵机在一个输入上运行的总时间是它所有穿越序列的长度之和.
引理 7.5 (Hennie). 如果一个图灵机在任意输入和边界上的穿越数是有界的, 则它识别正则语言.
引理的证明. 设图灵机 在任意输入和边界上的穿越数不超过 , 则长度不超过 的穿越序列是只有有限种. 从而所有穿越序列构成的集合的幂集有限. 设 由 Myhill–Nerode 定理, 只需要证明 的指数是有限的.
设 是 处的穿越序列 , 则 是有限集. 下证若 , 则 和 等价.
设 . 为 处的穿越序列, 使 且 为 处的穿越序列. 容易证明 . 故 和 等价.
定理 7.6 (Kobayashi). 如果一个图灵机运行时间为 , 则它在任何输入和边界上的穿越数是 的.
证明. 设 , 是一个有 个状态的图灵机. 在 时间内接受语言 . 定义 为: 我们有 , 从而可以选取 使对所有的 成立.
下面证明, 对 在任何满足 且 的输入 和任何边界上的穿越序列的长度不超过 .
假设存在 且 使得 在输入 和某个边界上的穿越序列的长度大于 . 取 是这样的 中最短的, 的长度是 , 是使 的一个位置.