离散数学(18) 陈斌 gischen@pku.edu.cn 2009.12.25.

Slides:



Advertisements
Similar presentations
质数和合数 2 的因数( ) 6 的因数( ) 10 的因数 ( ) 12 的因数 ( ) 14 的因数 ( ) 11 的因数 ( ) 4 的因数( ) 9 的因数( ) 8 的因数( ) 7 的因数( ) 1 、 2 、 3 、 4 、 6 、 12 1 、 11 1 、 2 、 5 、 10.
Advertisements

第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
目录 上页 下页 返回 结束 习题课 一、导数和微分的概念及应用 二、导数和微分的求法 导数与微分 第二章.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
第七节 函数的微分 一 、微分 概念 二、微分的几何意义 三、 基本初等函数的微分公 式与 微分运算法则 四 、小结.
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
全微分 教学目的:全微分的有关概念和意义 教学重点:全微分的计算和应用 教学难点:全微分应用于近似计算.
2 、 5 的倍数的特征. 目标 重点 难点 关键词 2 、 5 的倍数的特征 1 、发现 2 和 5 的倍数的特征。 2 、知道什么是奇数和偶数。 能判断一个数是不是 2 或 5 的倍数。 能判断一个数是奇数还是偶数。 奇数、偶数。 返回返回 目录目录 前进前进.
2 、 5 的倍数特征 集合 2 的倍数(要求) 在百数表上依次将 2 的倍数找出 并用红色的彩笔涂上颜色。
信号与系统 第三章 傅里叶变换 东北大学 2017/2/27.
《高等数学》(理学) 常数项级数的概念 袁安锋
四种命题 2 垂直.
简易逻辑.
1.1.3四种命题的相互关系 高二数学 选修2-1 第一章 常用逻辑用语.
常用逻辑用语复习课 李娟.
命题 高中数学选修1-1 第一章 常用逻辑用语 主讲:刘小苗.
第五节 微积分基本公式 、变速直线运动中位置函数与速度 函数的联系 二、积分上限函数及其导数 三、牛顿—莱布尼茨公式.
第二节 微积分基本公式 1、问题的提出 2、积分上限函数及其导数 3、牛顿—莱布尼茨公式 4、小结.
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
第二章 导数与微分 第二节 函数的微分法 一、导数的四则运算 二、复合函数的微分法.
全 微 分 欧阳顺湘 北京师范大学珠海分校
2-7、函数的微分 教学要求 教学要点.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
程序的形式验证 - 简介 中国科学院软件研究所 张文辉 1.
管理信息结构SMI.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
计算机数学基础 主讲老师: 邓辉文.
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
第一章 函数 函数 — 研究对象—第一章 分析基础 极限 — 研究方法—第二章 连续 — 研究桥梁—第二章.
What have we learned?.
动态规划(Dynamic Programming)
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第一章 函数与极限.
数列.
专题作业.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
§4 命题演算的形式证明 一个数学系统通常由一些描述系统特有性质的陈述句所确定,这些陈述句称为假设,
离散数学─归纳与递归 南京大学计算机科学与技术系
用计算器开方.
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
1.2 有理数 第1课时 有理数 伏家营中学 付宝华.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
定理21.9(可满足性定理)设A是P(Y)的协调子集,则存在P(Y)的解释域U和项解释,使得赋值函数v(A){1}。
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
3.16 枚举算法及其程序实现 ——数组的作用.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
第一节 不定积分的概念与性质 一、原函数与不定积分的概念 二、不定积分的几何意义 三、基本积分表 四、不定积分的性质 五、小结 思考题.
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
2019/5/20 第三节 高阶导数 1.
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
主讲教师 欧阳丹彤 吉林大学计算机科学与技术学院
定义21.17:设P1=P(Y1)和P2=P(Y2),其个体变元与个体常元分别为X1,C1和 X2,C2,并且或者C1=或者C2。一个半同态映射(,):(P1,X1∪C1)→(P2,X2∪C2)是一对映射: P1→P2; : X1∪C1→X2∪C2,它们联合实现了映射p(x,c)→(p)((x),
离散数学 计算机系 陈翌佳.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第十七讲 密码执行(1).
离散数学─归纳与递归 南京大学计算机科学与技术系
第二次课后作业答案 函数式编程和逻辑式编程
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

离散数学(18) 陈斌 gischen@pku.edu.cn 2009.12.25

目录 数理逻辑、集合论、图论、抽象代数 形式语言和自动机 语言和对语言的研究 形式语言的语法表示 有限状态自动机 机器化简和运算实现 停机问题与哥德尔不完全定理

图灵机Turing Machine si 基本结构 一条分格的无限长的纸带,每格可容纳一个字符 一个读写头,可以在纸带上移动,读出当前格子的字符,重写格子上的内容,改变自己的内部状态 一系列关于读写头动作的规则(程序) a3 a2 a1 B ai ai+1 a4 B a1 a0 si

图灵机 输入、计算和输出 纸带上的内容(包括空白B)是计算前的输入和计算完成后的输出 计算从读写头的初始状态s0、初始位置和输入的纸带格局开始 按照规则进行读写头的移动、纸带字符的修改,直到进入停机状态(SH/SY/SN) 在停机状态时纸带的内容就是输出

图灵机 计算规则 规则q={si,ak,al,sj,d},si,sj∈S(内部状态),ak,al∈A(纸带字符),d∈{L,R,N}(左移,右移,不动) 表示如果读写头当前状态为si,读到当前格子字符为ak,则: 改写格子内容为al 转变状态为sj 进行d指定的动作(读写头左移、右移或不动)

图灵机 计算规则的限制 形式语言与图灵机 有限条规则 任意两条规则前两项不能相同 没有规则第一项是SH/SY/SN 动作的确定性 没有规则第一项是SH/SY/SN 保证这三个状态是停机状态 形式语言与图灵机 当WA*,将W中的任意字符串w作为输入,M都停止在接受状态SY,A-W的字符串M停止在拒绝状态SN或者永不停机,称M接受/识别语言W=L(M) 形式语言L能被图灵机M识别,当且仅当L是一个0型形式语言

图灵机例子:ambm W={ambm|m>=0} 思路:将a和b一一对消,如果最后剩下空白则接受,否则拒绝 s0, a, B, s1, R:初始碰到a,消去,s1,右移 s1, a, a, s1, R:消去1个a的状态,继续右移,找最后一个b s1, b, b, s1, R:继续右移 s1, B, B, s2, L:右移到头状态s2,回移 s2, b, B, s3, L:如果有b,消去,进入左移状态s3 s3, b, b, s3, L:左移 s3, a, a, s3, L:左移

图灵机例子:ambm 识别规则 s3, B, B, s0, R:左移到头变初始状态,右移看下个字符 s0, B, B, sY, N:a,b都能一一消完,则接受 s0, b, b, sN, R:b多了,或者在a前,拒绝 s2, a, a, sN, R:a多了,或者在b后,拒绝 s2, B, B, sN, R:a多了,拒绝

识别与判定 识别: 枚举: 判定: 只有L和L的补语言都是图灵可识别的情况下,L才是图灵可判定的。 存在语言是图灵机可识别但不可判定的 属于语言的串在有限步被接受,不属于语言的串被拒绝或者永不停机 枚举: 枚举生成所有属于语言的串,对于无限集合语言,这个生成过程可能永不停止,可识别=可枚举 判定: 属于语言的串被接受,且不属于语言的串被拒绝 只有L和L的补语言都是图灵可识别的情况下,L才是图灵可判定的。 存在语言是图灵机可识别但不可判定的 和停机问题相关

图灵机例子:加法运算 表示自然数 表示二元参数 f(m,n)=m+n:即字符串的连接操作 f(m,n)=m*n:即将m重复copy n次 用n+1个连续的1表示自然数n 0=1,1=11,2=111,3=1111…… 表示二元参数 两个输入的自然数之间用B隔开 0,2=1B111 f(m,n)=m+n:即字符串的连接操作 f(m,n)=m*n:即将m重复copy n次

图灵机的变种 具有k条纸带的图灵机 双向无界的图灵机 非确定性图灵机 所有这些计算能力都相同,可以归结到等价的确定性单纸带图灵机 k条纸带,k个读写头 双向无界的图灵机 左边、右边都无限制增长 非确定性图灵机 计算规则的前两项可以相同,机器任意选择一个分支进行 规则必须一致,禁止一个分支导致接受而另一个分支导致拒绝 所有这些计算能力都相同,可以归结到等价的确定性单纸带图灵机

可计算函数 函数f:NN是可计算的,如果存在一个图灵机M使得对每个自然数n停机,输出为f(n) 可计算函数=递归函数 如果f,g都是可计算的,那么复合函数h=g°f也是可计算的 推广到多元函数 可计算函数=递归函数 保证能停机并得到结果 原始递归函数包括了多数可形式化的计算 从0函数、后继函数、投影函数进行有限次的复合、原始递归 h(0)=f(x), h(n+1)=g(h(n),n,x)

可计算函数与图灵可计算函数 存在非原始递归的可计算函数 可计算函数图灵可计算函数 简单但恐怖的递归函数Ackermann 存在图灵可计算但不是递归函数,和停机问题相关 不能判定是否一定停机的图灵机

Ackermann函数

哥德尔编码Gödel Numbering 将任何形式语言L编码为自然数的集合 哥德尔编码过程 将语言上的运算变换为自然数的运算 形式系统的问题变换为数论问题 还记得命题演算、谓词演算? 哥德尔编码过程 定义p(n)=第n个素数,n>0 我们知道素数有无限个 任何正整数都能唯一地写成素数的乘积 LA*,A={a1,a2,…an},任意w={am1am2..amk}∈L G(w)=i=1kp(i)mi

哥德尔编码 A={a,b,c,d} G(‘accdbdd’)=21*33*53*74*112*134*174 =4,677,894,230,215,956,750 重要结论:如果字母表A是可数的,则A上的所有形式语言L都是可数的

通用图灵机Universal TM 程序和通用计算机 通用图灵机 每个程序执行特定的计算 但我们的计算机可以执行所有的程序,并得到相同的结果 通用计算机是一种特别的程序,将程序和程序的输入作为其输入,输出程序的输出 通用图灵机 每个图灵机计算特定的函数,识别特定的语言 能否有一个通用图灵机,能模拟任意图灵机的执行,对相应的输入得到相应的结果呢?

通用图灵机 图灵机的编码 输入、输出的编码 图灵机的定义包含有限字符集A、有限状态集S和读写头的运动规则 对图灵机的描述就是一个A∪S∪{L,R,N}上的字符串 将这个字符串进行哥德尔编码,得到哥德尔数G(M) 输入、输出的编码 对图灵机的输入、输出是A上的字符串,也可以进行哥德尔编码

通用图灵机 通用图灵机U存在 有趣的是,U本身也可以进行哥德尔编码,作为输入参数在U中进行计算 接受两个输入整数a, k 计算结果是M(a)在输入I(k)下的输出结果的哥德尔数G(o) U所计算的函数是U(a,k)N 有趣的是,U本身也可以进行哥德尔编码,作为输入参数在U中进行计算 可以产生能够自我复制的图灵机

停机问题Halting Problem 一个实际问题: 对于特定的算法,我们大概是可以判定的,但是否存在对一般的算法进行判定的方法? 给定一个算法和相应的输入,判定这个算法是否能够完成?(还是进入死循环不能完成?) 由于算法都可以用图灵机描述,所以问题转变为,给定一个图灵机和相应的输入,判定是否停机? 对于特定的算法,我们大概是可以判定的,但是否存在对一般的算法进行判定的方法? 程序正确性证明:包括了给一段程序,判断这段程序是否会进入死循环 注意:这个方法本身也是一个算法,否则没有意义

停机问题 是否有算法能够判定某个图灵机M在输入I下是否停机? 即Halt(M,I)=True iif M在I处停机,False iif M在I处不停机 答案是否定的,不存在这样的算法 停机问题是不可计算问题

停机问题证明 假设存在这样的算法,对应的图灵机是Halt(a,k),a是要判定的图灵机编码,k是输入的编码 我们构造这么一个图灵机Trouble(a) function Trouble(a) if Halt(a, a) = False then return True else loop forever Trouble图灵机自然也可以编码,记为t,我们来看把t作为Trouble输入会怎么样? Trouble(t)=?

停机问题证明 矛盾?矛盾! 消除矛盾的唯一途径就是否定假设,即不存在能一般性地判定图灵机停机的算法 如果Trouble(t)停机返回了,也就是Halt(t,t)=False,但这样是说Trouble(t)不停机,矛盾 如果Trouble(t)不停机,也就是Halt(t,t)返回了True,但这样却是说Trouble(t)能停机,矛盾 消除矛盾的唯一途径就是否定假设,即不存在能一般性地判定图灵机停机的算法 人的智能就能解决停机问题么?至少目前还是否 对于太长的算法,或者输入太复杂的算法,不能 对于一些短而简单的算法,也不能(一些数论难题) 寻找大于给定N的孪生素数

哥德尔不完备定理 任何包含自然数定义的形式系统都是不完全的,也就是存在不能证明为真也不能证明为假的命题 证明和计算 重点是证明,一个开始于公理,结束于此命题的公理-定理有限序列 也就是,系统可能存在一些命题,它们是定理,却无法给出证明序列 证明和计算 可证明 v.s. 计算停机 不可判定的命题 v.s. 永不停机的计算

哥德尔不完备定理的证明 形式系统的哥德尔编码 将符号系统用自然数编号 所有的命题和谓词看成是符号系统上的字符串 得到所有命题和谓词的哥德尔数 命题序列也进行编码GN=2GN1*3GN2*5GN3 Statement 1 (GN1) Statement 2 (GN2) Statement 3 (GN3) 如果一个序列是一个命题的证明,我们可以写谓词R(v,x),x是序列的哥德尔数,v是命题的哥德尔数

哥德尔不完备定理的证明 我们来看: 不一致的系统完全不可以接受,所以我们只能接受系统不完备这个事实 xR(v,x):v不可证明 这个谓词对应的哥德尔数记做GN4 考察:xR(GN4,x):本命题不可证明 这是一个命题,具有确定的真值,但是否可证明呢? 如果可证明,那么就是证明了一个假命题,系统不一致了 如果不可证明,那就是一个真命题,是一个定理,却不能证明,系统不完备 不一致的系统完全不可以接受,所以我们只能接受系统不完备这个事实

停机问题和哥德尔不完备定理 两个不同领域的不可判定问题 得到相似的结论 形式化的缺陷?人类思维的局限? 数理逻辑 计算理论 没有一个“万能”的公理系统,在其中能够证明所有的数学真理,而排除谬误 没有一个“万能”的算法,能够判定所有的算法是可以完成,还是陷入无限循环 形式化的缺陷?人类思维的局限? 自我吞噬的怪圈才是产生智能的基础?

不可判定问题的意义? 人类推理和知识的极限? 终极理论的命运? 人工智能的极限? 如何研究复杂系统? 只通过形式系统不能达到所有的真理? 是否有统一描述宇宙的理论? 人工智能的极限? 机器的智能能否超越人类思维? 如何研究复杂系统? 元胞自动机:简单的规则,复杂的行为 生命? 自组织现象?

参考文献 离散数学,许蔓苓编著,北京航空航天大学出版社 离散数学,[美]S.利普舒尔茨 M.利普森著,科学出版社

END 特殊符号表 ∴,∵,╞═╡,╞═,∈,≠,∑,↓,∪,∩,╞,┠PC αΑ,βΒ,γΓ,δΔ,εΕ,ζΖ,ηΗ,θΘ,ιΙ,κΚ,λΛ,μΜ,νΝ,ξΞ,οΟ,πΠ,ρΡ,ς΢,σΣ,τΤ,υΥ,φΦ,χΧ,ψΨ,ωΩ {¬,∧,∨,→,↔} ≦≧≠≤ø 