《计算理论导引_6_可计算理论的高级专题.ppt》由会员分享,可在线阅读,更多相关《计算理论导引_6_可计算理论的高级专题.ppt(42页珍藏版)》请在金锄头文库上搜索。
1、1 康熠华 计算理论 第6章可计算性理论的高级专题 2 主要内容 6 1递归定理6 1 1自引用6 1 2递归定理的术语6 1 3应用6 2逻辑理论的可判定性6 2 1一个可判定的理论6 2 2一个不可判定的理论6 3图灵可归约性6 4信息的定义6 4 1极小长度的描述6 4 2定义的优化6 4 3不可压缩的串和随机性 3 逻辑理论的可判定性 数理逻辑是数学的一个分支 它研究数学本身 数理逻辑关心如下问题 什么是定理 什么是证明 什么是真 算法能判定哪些命题是真的 所有真命题都是可证的吗 关心的焦点 能否确定一个数学命题是真是假 以及这种问题的可判定性 4 逻辑理论的可判定性 命题1称 有无限
2、多个素数存在 在大约2300年以前的欧几里德时代 就已知道这个命题是真的 命题2称为费马大定理 这个命题几年前由安德鲁 威尔士 AndrewWiles 证明为真 命题3称 有无限多个素数对存在 这被称为孪生素数猜想 twinprimeconjecture 它到现在还未被解决 首先需要建立一个精确的语言来将这些问题形式化 我们的要求是能够考虑如下数学命题 5 符号 称为布尔运算 和 是括号 符号 和 是量词 符号x用来代表变元 符号R1 Rk称为关系 逻辑理论的可判定性 为了将之进一步精确化 现在描述这个语言的字母表 6 公式 公式是字母表上的良构串 形如Ri x1 x2 xj 的串是原子公式
3、值j是关系符号Ri的元数 一个良构公式中所有出现的相同关系符号必须有相同的元数 一个串 如满足一下条件 则是一个公式 1 是一个原子公式 2 具有形式 1 2或 1 2或 1 其中 1和 2是更小的公式 3 具有形式 1 2或 1 2或 1 其中 x 1 或 x 1 其中 1是更小的公式 7 公式 辖域 紧跟在量词化变元后的一对括号中的部分 前束范式 所有量词都出现在公式的前面 自由变元 没有被量词的辖域所约束的变元 句子或命题 没有自由变元的公式 1 x F x y G x z 2 x F x G y y H x L x y z 8 例6 7在下列公式中 只有最后一个是句子 逻辑理论的可判定
4、性 9 逻辑理论的可判定性 论域 覆盖变元可能的取值 将关系符号指定为确定的关系 而关系是从论域上的k元组到 TRUE FALSE 的函数 关系符号的元数必须和指派给它的关系和元数相同 论域连同关系到关系符号的指派一起称为模型 形式上 一个模型M是一个元组 U P1 Pk 其中U是论域 P1到Pk是指派给符号R1到Rk的关系 模型语言 在公式的集合中 只使用此模型指派的关系符号 且对每个关系符号 使用正确的元数 如果 是某个模型语言中的句子 则 在这个模型中不为真就为假 如果 在模型M中为真 则说M是 的一个模型 10 逻辑理论的可判定性 例6 8设 是句子 x y R1 x y R1 y x
5、 模型M1 N 是如下的模型 它的论域是自然数集 它将 小于或等于 关系分配给符号R1 显然 在M1中为真 因为对于任意两个自然数a和b a b和b a必有一个成立 但如果M1将 小于 关系 而不是 小于或等于 关系 指派给R1 则 将不真 因为当x和y相等时 它不再成立 如果事先知道什么关系将指派给Ri 就可以用这个关系的惯用记号来代替Ri 且按习惯 可用中缀记法 对于M1 可以将 写成 x y x y y x 11 例6 9设M2是如下的模型 它的论域是是实数集R 且讲关系PLUS指派给R1 其中 只要当a b c时PLUS a b c TURE 则M2是 y x R1 x x y 的一个
6、模型 但如果用N代替R作为M2的论域 则此句子为假 逻辑理论的可判定性 如果M是一个模型 这个模型语言中所有真句子的集合称为M的理论系统 简称为理论 记为Th M 12 一个可判定性的理论 设 3包含所有高度为3的0和1的列 3上的字符串给出三行0和1 把每一行看作一个二进制数 令B w 3 w最下面的一行等于上面两行的和 则B是正则的 13 Th N 是可判定的 考虑如下一个实例 构造有限自动机 x1 x2 x3 x1 x2 x1 x3 然后构造NFA x1 x2 x3x1 x2 x1 x3 同样 x1 x2 x3x1 x2 x1 x3 为真时 得到 为假时得到 14 一个可判定性的理论 思
7、路 对于输入为 N 的语言中的句子 检查其在模型中是否为真 Q1x1Q2x2 Qlxl 对于0 l的每一个i 令公式 i为 i Qi 1xi 1Qi 2xi 2 Qlxl 这样 0 且 l 对于从0到l的每个i 算法构造了一个有穷自动机Ai 它识别如下串的集合 这些串表示 i为真的数的i元组 算法先直接构造Ai 然后 对从l向下到1的每个i 它用Ai构造Ai 1 最后 一旦得到A0 算法就检查A0是否接受空串 如果接受 则 为真 算法也就接受 15 Th N 是可判定的 则 i 包含了所有0和1构成的i元列向量 i上的每个串表示i的二进制整数 沿行读 令 0 其中 是一个符号 现在介绍判定Th
8、 N 的算法 对于输入 其中 为句子 算法如下运行 写下 且对从0到l的每个i 如同在证明思路中介绍的那样定义 i 再对每个这样的i 由 i构造有穷自动机Ai 使得只要 i a1 ai 为真 它就接受 i 上对应于i元组a1 ai的串 Ai的构造如下 对i 0 定义字母表 16 为构造第一个机器Al 注意到 l 是原子公式的布尔组合 在Th N 的语言中 原子公式只有单个加法 对每个这样的单个加法 可以构造 个有穷自动机来计算这样的单个加法所对应的关系 然后将这些有穷自动机组合起来 就能给出自动机Al 这样做要涉及正则语言类对于交 并和补的封闭性 以计算原子公式的布尔组合 接下来说明怎么由Ai
9、 1来构造Ai 如果 i xi 1 i 1 则构造Ai使得它的运行几乎与Ai 1一样 区别在于Ai非确定地猜ai 1的值 而不是将它作为输入的一部分而接受 更精确地说 对于Ai 1的每个状态 Ai包含一个与之对应的状态 且Ai还包含一个新的起始状态 每当Ai读下列符号时 一个可判定性的理论 17 这里每个bi 0 1 是数ai的某一位 它非确定地猜z 0 1 且在下列输入符号上模拟Ai 1 一个可判定性的理论 最初 Ai非确定地猜测ai 1的引导位 这些引导位对应于a1到ai中隐藏的引导0 猜测的方法是 从它新的起始状态到所有状态非确定性地进行分叉 这些状态是Ai 1以 i 1中下列符号的串为
10、输入 从它的开始状态所能到达的状态 显然 如果存在ai 1 使得Ai 1接受 a1 ai 1 则Ai接受 a1 ai 如果 i xi 1 i 1 它等价于 xi 1 i 1 首先构造识别语言Ai 1的补的有穷自动机 然后应用上述对于 量词的构造 最后再一次应用补来得到Ai 有穷自动机A0接收某个输入 当且仅当 0为真 所以算法的最后步骤是检查A0是否接收 如果是 则 为真 且算法接受它 否则 就拒绝 18 一个不可判定性的理论 19 一个不可判定性的理论 证明 如果 是可证的 则下列算法P接受其输入 算法P使用在可证性性质1中所说的证明检查器 检查每个可能成为 的证明的候选串 如果发现一个侯选
11、串正是一个证明 则接受它 20 证明 用反证法 假设所有真命题都是可证的 利用这个假设来构造判定命题是否为真的算法D 与定理6 11矛盾 对于输入 算法D如下运行 在输入 和 上并行地运行定理6 13的证明中给出的算法P 这两个命题总有一个为真 根据假设 总有一个是可证的 因而P在其中一个输入上停机 根据可证性性质2 如果 是可证的 则 为真 如果 是可证的 则 为假 所以算法D能判定 的真假性 一个不可判定性的理论 21 一个不可判定性的理论 证明 设S是如下运行的TM S 对于任意的输入 1 出递归定理得到它自己的描述 2 用引理6 12构造句子 3 在输入上运行定理6 13给出的算法P
12、4 如果上一步接受 就接受 如果它停机且拒绝 则拒绝 设是算法S的第二步所描述的句子 为真 当是仅当S不接受0 串0是随意选择的 如果s能找到的一个证明 S就接受0 这个句子也就因之为假 一个假句子是不能被证明的 所以这种情形不可能发生 剩下的唯一可能性是S不能找到的证明 因而S不接受0 但我们已宣布过为真 22 主要内容 6 1递归定理6 1 1自引用6 1 2递归定理的术语6 1 3应用6 2逻辑理论的可判定性6 2 1一个可判定的理论6 2 2一个不可判定的理论6 3图灵可归约性6 4信息的定义6 4 1极小长度的描述6 4 2定义的优化6 4 3不可压缩的串和随机性 23 图灵可归约性
13、 考虑两个语言ATM和 ATM 直观上它们可以互相归约 实际上不能 24 图灵可归约性 例6 17考虑ATM的一个谕示 带ATM的谕示的一个谕示图灵机比普通的团灵机能判定更多的语言 这样的图灵机能够判定ATM自身 显然成立 它只要对输入询问它的谕示即可 它也能判定ETM 即TM的空性质检查问题 用的是下面称TATM的过程 TATM 对于输入 其中M是一个TM 1 构造下面TMN N 对任意输入 a 对 中的所有串并行运行M b 如果M接受它们中的任何一个串 则接受 2 询问谕示以确定 ATM是否成立3 如果谕示回答 不 则接受 如果回答 是 则拒绝 如果M的语言不空 则N将接受每个输入 特别地
14、 将接受0 从而谕示将回答 是 且TATM将拒绝 相反地 如果M的语言是空的 则TATM将接受 所以TATM判定ETM 我们说ETM是可判定归约到ATM 25 图灵可归约性 26 图灵可归约性 如果B是可判定的 则可以用判定B的实际过程来替换B的谕示 这样就用判定A的普通图灵机取代了判定A的谕示图灵机 图灵可归约性是映射可归约性的一个推广 如果A mB 则入A TB 因为此映射归约可以被用来给出一个相对于B 判定A的谕示图灵机 带ATM的谕示的谕示图灵机十分强大 它能解许多不能由普通图灵机解的问题 但即使是这样一个强大的图灵机 也不能判定所有语言 27 主要内容 6 1递归定理6 1 1自引用
15、6 1 2递归定理的术语6 1 3应用6 2逻辑理论的可判定性6 2 1一个可判定的理论6 2 2一个不可判定的理论6 3图灵可归约性6 4信息的定义6 4 1极小长度的描述6 4 2定义的优化6 4 3不可压缩的串和随机性 28 信息的定义 A 0101010101010101010101010101010101 B 0101110101001010001110001100011011 序列A有规律地重复01串17次 可压缩为01 17序列B比较复杂 短话说不清的 信息量较大直观感觉 表达语义的最短尺寸 可用来度量其信息量规律性使得描述较短 信息量较小 规律的描述和输入 重复17次01 TM
16、w 说明可用w的长度来描述信息量 29 信息的定义 TMM的描述和它的输入x能被描述为较长的二进制串 如何才能知道停止和开始 我们可以给编码 将0写成 00 将1写成 11 01 作为分界分界位置 M分隔符w 30 定义6 20 设x是二进制数的串 x的极小描述 记为d x 是最短的串 其中 TMM在输入w上停机时 x在带上 且如果有多个这样的串存在 则在其中选择字典序下的第一个串 X的描述复杂性记为K x 是K x d x 换句话说 K x 是x的极小描述的长度 K x 的定义是为了刻画串x中的信息量这个直观概念的 信息的定义 31 信息描述复杂性的基本结论 为证明此定理给出的K x 的上界 只需给出一个不长于这个上界的x的描述 x的极小描述可能比这个描述更短 但不会更长 考虑串x的下列描述 设M是这样一个图灵机 它一启动就停机 此图灵机计算恒等函数 输出与输入是一样的函数 x的一个描述是x 令c是的长度 就可完成证明 32 定理6 22 串重复的描述复杂性 考虑下列图灵机M 它要形如的输入 其中N是一个图灵机 w是它的一个输入 M 对于输入 其中N是一个图灵机 w是一个串 1 在w