可计算性理论 I
Part_4__图灵机及可计算理论

图灵机接受的语言
定义9-2 即时描述(instantaneous description, ID)
12∈ *,q∈Q, 1q2称为M的即时描述
q为M的当前状态, M正注视着2的最左符号。 当M的读头注视的符号右边还有非空白符时, 12为 M的输入带最左端到最右的非空白符号组成的符号串; 否则, 12是M的输入带最左端到M的读头注视的带
10
图灵机的形式定义
例 TM M1=({q0, q1, q2},{0, 1},{0, 1, B}, , q0 , B ,{q2}) 其中 的定义如下
(q0, 0)= (q0, 0, R) (q1, 0)= (q1, 0, R)
M1的移动函 数的另一种 表示: 状态 q0 q1 q2
(q0, 1)= (q1, 1, R) (q1, B)= (q2, B, R)
(4)00000 q000000 ├M 0q00000 ├M 00q0000 ├M 000q000 ├M 0000 q00 ├M 00000q0B
(1)000100 q0000100 ├M 0q000100 ├M 00q00100 ├M 000q0100 ├M 0001q100 ├M 00010q10 ├M 000100 q1 ├M 000100Bq2
9
图灵机的形式定义
TM M=(Q, ∑, Γ, , q0, B, F) 称为移动函数 :Q×Γ Q×Γ ×{R, L},为M的移动函数(transaction function)。 (q, X)=(p, Y, R)表示M在状态q读入符号X,将状态改为p, 并在这个X所在的带方格中印刷符号Y,然后将读头向右 移一格; (q, X)=(p, Y, L)表示M在状态q读入符号X,将状态改为p, 并在这个X所在的带方格中印刷符号Y,然后将读头向左 移一格。
论可计算数及其在判定问题中的应用(2010哈工)

论可计算数及其在判定问题中的应用A.M.Turing 1.计算机2.定义自动机器计算机可循环数与不可循环数可计算的数列和数3.计算机的例子4.微型桌面更有深度的例子5.列举可计算的数列6.一般计算机7.一般计算机的详细描述8.对角线方法的应用9.可计算数的数组的例子10.一个大的可计算的数组的例子11.可计算数在其判定问题中的应用附录Endnotes:可计算的数可以简要描述为那些十进制形式可通过有限步骤来计算是实数。
虽然这篇论文表面上讲的是可计算数,但它也研究了可计算方程,无论整数、实数或可计算变量,等等。
这篇论文简单给出了可计算数、方程等之间的关系。
这会包括函数理论的发展和实变量用可计算数表示。
一个数,如果它是十进制形式,还可以被机器识别,它就是可计算的。
在9.10中给出了一些关于所有数都是可计算的的讨论。
其实,作者给出了一定大的数组都是可计算的。
它们包括,算术数学中的实数部分,Bessel函数中是实数部分的零,如x,e 等。
然而可计算数不全包括可定义是数,其中一个例子就是能找到一个不可计算却可定义的数。
即使可计算数组如此大,在许多方面它与实数集很相似。
从正确讨论的应用中,结论与Godel<1>的很相似,着都是有价值的证明。
在Alonzo Church的最近的一篇论文中介绍了“有效计算”的思想,它与作者“计数”的思想很接近,不过又定义的十分不同。
Church还探求了有关判定问题的结果。
有关“计数”和“有效计算”本质相同的证据,列在了附录中。
1.计算机我们知道可计算数是那些十进制可以通过有限步骤计算的,不过我们需要更明确的定义。
而计算机的需求是因为人类的记忆是有限的。
我们可以设想一个人将一个个实数输入一个只能存有限数q1,q2……qr的机器,将被叫做“m—配置”,这个机器被纸带供应,被分为“方格”(也叫做square),每次能生成一个符号。
某时只有一个方格叫做“r—th”,生成S(r)的符号。
计算机科学数学理论

计算机自从其诞生之日起,它的主要任务就是进行各种各样的科学计算。
文档处理,数据处理,图像处理,硬件设计,软件设计等等,都可以抽象为两大类:数值计算与非数值计算。
作为研究计算机科学技术的人员,我们大都对计算数学对整个计算机科学的重要性有一些了解。
但是数学对我们这些专业的研究和应用人员究竟有多大的用处呢?我们先来看一下下面的一个流程图:上图揭示了利用计算机解决科学计算的步骤,实际问题转换为程序,要经过一个对问题抽象的过程,建立起完善的数学模型,只有这样,我们才能建立一个设计良好的程序。
从中我们不难看出计算数学理论对用计算机解决问题的重要性。
下面我们将逐步展开对这个问题的讨论。
计算机科学的数学理论体系是相当庞杂的,笔者不敢随意划分,参考计算机科学理论的学科体系,我们谈及的问题主要涉及:数值计算,离散数学,数论,计算理论四大方向。
[一]数值计算(Numerical Computation)主要包括数值分析学、数学分析学、线性代数、计算几何学、概率论与数理统计学。
数值分析学又常被称为计算方法学,是计算理论数学非常重要的一个分支,主要研究数值型计算。
研究的内容中首先要谈谈数值计算的误差分析,误差是衡量我们的计算有效与否的标准,我们的算法解决问题如果在误差允许的范围内,则算法是有效的,否则就是一个无效的问题求解。
另外就是数值逼近,它研究关于如何使用容易数值计算的函数来近似地代替任意函数的方法与过程。
感觉应用比较广的不得不提切雪比夫逼近和平方逼近了。
笔者曾经尝试过的就是通过最佳平方逼近进行曲线的拟合,开发工具可以选择VC++或者Matlab。
插值函数是另外一个非常重要的方面,现代的计算机程序控制加工机械零件,根据设计可给出零件外形曲线的某些型值点,加工时走刀方向及步数,就要通过插值函数计算零件外形曲线及其他点函数值。
至于方程求根、线性方程组求解,一般的计算性程序设计问题都会多多少少的涉及一些,我们这里就不赘述了。
可计算性理论 IV

IV . 可计算函数4.1 理想计算机URMURM ——unlimited register machine理想计算机M ,有无穷多个寄存器 ,,,321R R R ,每个可存储一个任意大小的自然数,并记i R 中为 i r ,全部存储积存器的内容构成M 的一个内部状态即格局。
具体计算有限,只考虑前面有限个寄存器(格局)。
M 所能完成的四种指令:1. 清零指令Z(n):将n R 的内容n r 清除掉,记为0:=n r2. 后继指令S(n):将n R 的内容n r 增加1,记为1:+=n n r r3. 传送指令T(m,n):把m R 的内容传送给n R ,其他单元不变,记为m n r r =:4. 条件转移指令(Jump )J(m,n,q):定义4.1 有穷指令的序列n I I I P 21=称为程序,程序中指令条数n 称为它的长度,指令编号称为它的编号。
若J(m,n,q)为第i 条指令,则n m r r =: M 执行指令q I n m r r ≠: M 执行指令1+i Iq > k (程序长度),m r = n r 时停机M 执行一条指令时完成两项工作: 1. 改变寄存器中某单元的内容; 2. 指出下一步执行哪一条指令记号: 1. ),,(21 a a P 程序P 在初始格局 ,,21a a 下的计算;2. ↓),,(21 a a P 计算最终停机;3.↑),,(21 a a P 计算不停机例4.1 程序1I :Z (1) 2I :S (1) 3I :J (1,1,1) 对任何a ,均有↑)(a P定义4.2 令Z Z f n →: 上部分函数,其中Z 为自然数集。
1. 假定P 是程序,Z b a a a n ∈,,,,21 ,(1)计算),,,(21n a a a P 收敛(converge )于b ,如果↓),,,(21n a a a P 并且在最终格局中b 在1R 中,记为b a a a P n ↓),,,(21(2)P URM-计算f :如果Z b a a a n ∈∀,,,,21 ,b a a a P n ↓),,,(21 ,iff)(),,,(21f Dom a a a n ∈ ,并且b a a a f n =),,,(21 (特别,f 有定义时停机)2. 函数f 是URM-可计算的,如果存在程序URM-计算f 。
停机问题的不可解性及基于归约法的相关问题不可解性证明

Ke r sc mp tbly no na t ywod :o ua it;u eu tl y;h ln rbe i  ̄ at gpo lm;rd c o ;i osbepolm ro i e ut n mp sil rbe pof i
O 引 言
停机问题(a i r l )它不 同于 N 类问题 , hl g o e , t p bm n P
Z U L —e g HU NG S u — u n Z U Mi HO i n , A h i a , HO n f y
( o pt et Cm u rCne e r,Nnhn nvrt, acag 302 , h a) acagU i sy N nhn 309 C i ei n
svrlmpr n o o ssc e ea i o t t t n uh岫 uc u tblya dhln rbe fs y tefc i poe yc nrdc o h tl t gpo lm i m— a ni n o na it n at gpolm i f ,h a ts rvd b o t it nta lln rbe si l i rl a i ai psil rbe osbepo lm,a dte ̄ret oh rr a v s e ncmp trspo e yrd c o . n h L o te e t ei usi o ue rvd b e u t n n li s i i
死循环的程序。在等待“ 足够的时间” 之后 , 你就会终 止它。如果你的编译器 能够查看这个程序 , 并且在你 运行它之前就告诉你这个程序可能会进入死循环 , 这
段非常有名的关于“x 问题” 3 +1 的代码 :
w i n> 1 hl e )
i(d ( ) f od n )
算法及算法复杂性

算法的计算复杂性也称复杂度, 是衡量算法计算复杂度的尺度。 使用最普遍的评价标准是一个算法所需要耗费的计算时间和所占用 的空间(处理机台数或存储单元数)。 如果一个算法所需要的时间或空 间比另一个求解同一问题所需要的时间或空间少,就可以说这个算法 比另一个算法好。 时间和空间己成为评价算法好坏的两个重要方面, 也是算法设计者长期追求的目标。 这样,算法的计算复杂性有时间复 杂性和空间复杂性。人们常用这两种复杂性来描述一个算法的特殊需 要性能,宏观地评价该算法的质量。
科技信息
○高校讲坛○
SCIENCE & TECHNOLOGY INFORMATION
2012 年 第 33 期
浅析算法及算法复杂性
徐菲 (青岛科技大学数理学院 山东 青岛 266061)
【摘 要】本文对算法及算法复杂性进行了初步的探究,并以求解线性方程组的 LU 分解的递归算法为例分析算法的复杂性。 【关键词】算法;算法复杂性;线性方程组;LU 分解;递归算法
1 算法
算法的形式定义可以看作是任意一个良定义的计算过程,它以一 个或一些值作为输入,并产生一个或一组值作为输出。 因而,一个算法 也就是一系列的将输入转换为输出的计算步骤。
一个算法还可以被看作是用来解决一个良定义计算问题的工具。 对问题的描述是用一般的语言来规定输入和输出之间的关系,而对应 的算法则给出一个可以获得该输入输出关系的计算过程。
4 求解线性方程组的 LU 分解的递归算法及复杂性分析
对于线性方程组 Ax=b,其中 A= (aij),x= (x1,x2,… ,xn)T,b= (b1,b2,… bn)T. 当 A 非奇异时可进行 LUP 分解,其中 L 为单位下三角矩阵,U 为 上三角矩阵,P 为排列矩阵。 假定 P 缺省(或说 P=In),则对 A 进行 LU 分解。 实 际 上 ,执 行 LU 分 解 的 过 程 就 是 对 A 进 行 高 斯 消 去 ,即 分 别 用 处在主对角线上的元素 a11,a22, …,ann 消掉所在列的主对角线 以 下 的 元素从而将 A 变为一个上三角形矩阵(U)。
邬江兴-拟态计算与拟态安全

拟态计算与拟态安全Mimic Computing & Mimic Security邬江兴国家数字交换系统工程技术研究中心NDSC1传统计算机体系架构面临挑战图灵-哥德尔可计算性理论冯诺依曼体系结构当今计算机科学与工程的基础可计算性理论只揭示出图灵机可描述的东西是可计算的,不涉及计算速度和效率问题冯诺依曼结构导入存储程序方法解决了可计算理论中的自动化实现问题,并未关心计算速度和计算效率问题冯诺依曼哈佛流水线并行分布式计算机发展历程表明计算速度和效能的提高不仅可仰仗新型器件发明或性能的提升,更可以通过系统结构的创新改进获得速度竞赛CPU芯片架构发展正失去多样性活力Linpack-Game HPC体系架构发展趋向同质化计算能耗持续攀升困境TOP500/2014年(前三名)红杉Sequoi: 17.17PFlops 7.8MW 泰坦Titan:17.759Flops 8.2MW 天河2号TianHe-2:33.86Flops 17.8MW 预计E 级系统功耗可能达到TianHe-2:运转电费›1亿元/年天河2全速运转电费›1.5亿元/年超大规模并行化困境计算任务如何才能高度并行化?…when we start talking aboutparallelism and ease of use of trulyparallel computers, we're talking abouta problem that's as hard as any thatcomputer science has faced. …I would be panicked if I were in industry.Cited:“A Conversation with Hennessy &Patterson,”ACM Queue Magazine, 4:10, 1/07当我们谈论并行性和轻松地使用真正的并行计算机时,我们是在谈论一个计算机科学家面对的最困难的问题,如果我在计算机企业,我会感到恐慌…规模剧增陷入可用性骤降困境Sequoia 红杉:17.17PFlops Titan 泰坦: 17.59PFlopsTianHe-2天河2号: 33.68PFlops通用服务器集群构建的云计算/数据中心实际运行效率<35%计算效能提升的天花板计算速度与数据移动速率之间的矛盾(存储墙)用低阶计算模型、深度流水和超高主频的处理架构已逼近物理极限(Risc魔咒)计算资源颗粒度与高效使用的矛盾(功耗墙)并行算法的进步远远滞后并行处理核数增加速度(算法墙)创新计算架构发展“颠覆性”的结构技术开发新型器件忆阻器件、量子器件、深纳米、碳纳米管、石墨烯…功能等价条件下动态变结构计算愿景一个计算任务在不同阶段、不同时段、不同资源条件、不同服务质量要求等因素影响下,根据计算效能动态的生成(选择)合适的计算结构与环境为之服务结构适应应用2拟态计算Mimic Computing条纹章鱼(拟态章鱼)通过皮肤色素和头、腕、足、体的变化而改变色彩、纹理、外形和行为,从而获得摄食和防护的好处能拟态15种以上海洋生物,可在沙质海底和珊瑚礁环境完全隐身生物界拟态高手中国863计划十一五、十二五重大项目(2008—2013)“新概念高效能计算机体系结构及系统研究开发“拟态计算的实现特点 有一个包含N个异构计算环境模板的构造方案集合 能够根据运行参数实时选取构造方案集合 中合适的计算环境模板 有一个在结构粒度、结构层次、时间维度上 可重构的元结构多维动态重构(拟态化结构) 元结构按照环境模板动态生成实体计算环境拟态计算基本理念期望:计算、存储、互联等基础结构和 环境可变,逼近不同问题不同阶段 最优效能解 通用计算:MD-R追求不同服务、不同负载等状态下的 综合效能高的提升,构建最合适的处 理部件,形成最合适的体系结构结构确定、算法可变,能 够计算任何可计算问题CPU+ CPU+ Accelerator Accelerato r专用计算:MD-RMD-RHardware Hardware + + Embedde Embedded d CPU CPU结构确定,算法确定, 处理负荷确定,高效解 决确定的应用问题CPU CPUHardwar Hardware e多维动态重构拟态化结构P: 粒度可变处理器级拟态重构P: 数量可变P:结构可变B1 B9 B2SHA1SHA1B32BC BC BC SHA1 BC SHA1BC B4 3 B5 4 35 2 4 2 BC 5 3 BC BC1 2 BC BC B5 3 2 3 5 BC 5 3 B5 BC 3 5 3 BC B6 22 BC 23 3 B7 BC 5 3BC1 B2B5 BC 3 BC1 2 B3 3BC BC BC BC 52 4 3 5 BC BC 5 5 3 BC 3 B7 B7 5 3 5 BC 5 BC 6 2 2 6 BC BC B8 B8 BC BC 5 2BC 3 3 5 2 7 7 BC 5 3 AESMD5 BC 5 3 5 BC 6 2 BC 7MD5B3MD5 B5B7 B8B7 B85 B1B BC1 2BC BC B3 B5 B B 5 2 3 C BC1 C BC1 BC 2 2 B5 5 3 3 B5B53BC MD5BC BC BC BC BC 5 23 5 2 3 5 2 2 3 BC BC BC B6 BC 2 BC 6 BC 2 BC 6 2 6 2 B 23 5 2 BC 3 5 2BC BC B8 BC7 B7 B7 B8 BC7 C B8 BC7 7 7 7 4 4 4 4 BC BC 2 BC BC BC 5 3 5 3 B9 9 9 9 BC BC BC BC BC BC BC BC BC B4 B9 5 4 59 4 59 4 9SHA1SHA1B3 2SHA1 BC B4 B5 3 2BC 4BC BC 35 2 B5 BC 3 5 3 B6 2BC 4BC 5 BC 5 B7 5 BC 6 2 BC 5 B7 5 BC 6 2 B8 BC 7 B8B8 B5 3 B1 BC1 B2 BC1 BC2 B3 B5 3 2 BC 5 BC2 BC 333 B7 53BC9 B5 BC2 5BC9 BC5 B12 BC2 5B5BC9 4 BC1 BC5 B12 5 3 4 BC2BC AES BC 5 4 5 4 BC1 BC1 BC5 B9BC5 B5 BC 2 5 BC 2 16 16 13 4 13 4BC 5 4 B9BC5 BC 16 13 4AES B9BC5 16AES B2 B9BC 2BC 2 B CBC 19 0 B5 B C 1 1BC 2 BCB1 BCB1BC BC BC BCBCBC BCBC B8 B8 B7 5 0 7 1 5 10 7 11 5 10 7 11 B B B B C BC C C C RC RC 1 9 1 1 1 4 4 0 1 0 1 BC 10 BC B8 11 RC 4 B8 B5 RC 43BC BC 5 3 2 3 B7BC B8 5 2 BC 7B9B B BC 1 1 9 0 13BC 53BC 53多维动态重构拟态化结构M: 种类和容量可变SRAM DDR存储器级拟态重构SSD Disk Array Net StorageDISKTapeM:结构可变 /内容可计算Stack FIFORAM0 1 2 3 4 51 1 1 1 1 10 0 0 0 0 01 1 1 0 1 1 1 1 1 1 1 0 CAM0 0 0 1 0 01 1 1 0 * *1 0 1 0 * 11 1 * 0 * 1M:编址、访存方式可变1 1 111 分段编址、统一编址2 1233多维动态重构(拟态化结构)互连网络级拟态重构C:互连拓扑可变 C:互连协议可变C:互连带宽可变 C:传输内容可处理(变速箱)通用构件 专用构件 可重构构件结构动态生成(数控加工中心)用三种典型应用进行了原理验证 Web服务(输入输出密集)N-body(计算密集)图像识别(存储密集)三种典型应用500余种场景第三方权威测试:(参照IBM 2013年款高端服务器)三种典型应用效能比提升倍数在13.6-315倍3拟态安全防御Mimic Security Defense现行的基于威胁防范的防御体系CPU 自主可控硬件自主操作系统服务与应用BLP WPDRRCP 2DR Chine se Wall PDRR Biba 安全模型密码技术入侵检测技术防火墙技术入侵防护技术网络诱骗技术应急响应技术安全技术量子混沌DNA神经网络分组序列公钥哈希特征匹配状态分析机器学习数据挖掘包过滤代理防火墙HIPS 主机行为分析与阻断NIPS 网络流量与异蜜罐密网,攻击信息采集分析CERT PDCERF威胁防御体系不能提供风险控制能力CPU 自主可控硬件自主操作系统服务与应用BLP WPDRRCP 2DR Chine se Wall PDRR Biba 安全模型密码技术入侵检测技术防火墙技术入侵防护技术网络诱骗技术应急响应技术安全技术量子混沌DNA神经网络分组序列公钥哈希特征匹配状态分析机器学习数据挖掘包过滤代理防火墙HIPS 主机行为分析与阻断NIPS 网络流量与异蜜罐密网,攻击信息采集分析CERT PDCERF实现威胁防范到风险控制的转变未知漏洞和后门主动开放的商业环境下系统架构技术生物免疫学1 : 10人体细胞:细菌病毒八卦阵八卦阵靠散布成八,复而合一,分合变化,可以组成六十四阵。
计算理论计算复杂性ppt课件

3cnf: 每个子句文字数不大于3, 2cnf: 每个子句文字数不大于2
可满足问题SAT
• 可满足性问题: SAT = { <> | 是可满足的布尔公式 }
• 思想: 将字符串对应到布尔公式 利用接受的形式定义.
• 过程: 任取ANP, 设N是A的nk时间NTM. w(|w|=n), N接受w
N有长度小于nk的接受格局序列 能填好N在w上的画面(一个nknk表格) f(w)可满足 • 结论: SAT是NP完全的
N接受w能填好N在w上的画面
# q0 w0 w1 … wn #
2)若0,1都在带上,重复以下步骤. O(n)
3) 检查带上0,1总数的奇偶性,
若是奇数,就拒绝.
O(n) log n
4) 再次扫描带,
第1个0开始,隔1个0删除1个0; O(n)
第1个1开始,隔1个1删除1个1.
总时间:
5)若带上同时没有0和1,则接受. O(n) O(nlogn)
否则拒绝.”
{0k1k|k0}TIME(nlogn)
快速验证
HP = {<G,s,t>|G是包含从s到t的 哈密顿路径的有向图}
CLIQUE={<G,k>|G是有k团的无向图} 目前没有快速算法,但其成员是可以快速验证的. 注意:HP的补可能不是可以快速验证的. 快速验证的特点: 1. 只需要对语言中的串能快速验证. 2. 验证需要借助额外的信息:证书,身份证.
• 二元可满足性问题: 2SAT = { <> | 是可满足的2cnf }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可计算函数
计算复杂度理论
分层
不可计算函数 不可解度
计算机
Turing 机( 1936) 程序存储思想(通用 Turing 机)
内容: 有限自动机 下推自动机 正规语言 上下文无关语言
上下文相关语言 Turing 机 递归论 可计算函数 原始递归函数和部分递归函数 递归理论 短语结构文法
F Q :终结状态集合
: Q 2 Q :状态转移函数
对前述的 记号也进行推广:
*
* (q, ) {q} * (q, wa) { p | 对于在 * (q, w)中的某个状态r , p (r , a)}
再推广: : 2 2
Q * Q
q1
b
q0
b
a
q2
b
q3
a, b
F={ q3 } L(M)={ a n b m | n, m>0}
描述 M 在一个字串上的动作:
a b
q0
* ( q, ) q * (q, wa) ( * (q, w), a)
由于 和 不冲突,故仍记为
*
a
q1
b
q2
定义 2:有限状态自动机 M 接受字符串 x,如果 (q0 , x) p F ;称集合
参考书: [1.] M.D.Davis, E.J.Weyuker Computability,Complexity and Languages
Academic Press, 1983 , 1994( 2nd eds) [2.] J.E.Hopcroft, J.D.Ullman Computation [3.] J.D.Monk [4.] Yu.I.Manin 侧重集合论 [5.] M.R.Garey, D.S.Johnson NP-完全性 [6.] R.I.Soare 不可解度 [7.] N.Cutland Computability: An introduction to recursive function theory Recursively Enumerable Sets and Degrees, 1987 Computers and Intractability, 1978 Introduction to Automate Theory,Language and
~ ~ ~ } q F q ~ F } {q0 , q F F {q0 0 0 0 F ~ otherwise F F
状态转移函数
{ (q, s)} (q, s) ~ { (q, s)}
q Q {q0 } ~ ~ q Q {q }
, xa) ( (q0 , x), a) (q0
根据归纳假设,
, x) [ p1 , p 2 ,, p j ] (q0
iff
(q0 , x) { p1 , p 2 ,, p j }
iff
([ p1 , p2 ,, p j ], a) [r1 , r2 ,, rk ]
0
~ , s)} , s) { (q0 , s)} { (q (q0 0
~
于是: L( M ) L L
*
~
定理:令 L 为一正规语言,则 * L 也是正规的。 证 明 : 假定 M (Q, , , q0 , F ) 接 受 语 言 L , 即 L( M ) L , 则 M (Q, , , q0 , Q F ) 接 受
定义:有穷自动机 M (Q, , , q0 , F ) ,其中: Q 为一有穷状态集合; Σ 有穷输入字母表;
q0 Q :初始状态;
F Q :终结状态集合
: Q Q :状态转移函数
例 1.
输入 状态 a b
q0 q1 q2
q3
q1
q1
q3
q2
q2
q3 q3
q3
a
a
{ } : M ({q0 , q1},{a}, , q0 ,{q0 }) ,其转移函数
(q0 , a) (q1 , a) q1
则 M 仅接受 。 定理:令 u ,则 {u} 为正规语言。
*
证明:若 u ,成立;否则, u a0 a1 al 1 ,其中 ai ,定义自动机: M (Q, , , q0 , F ) , 其中 Q {q0 , q1 ,, ql } ,转移函数
* ( P, w) (q, w)
qP
例 2. 输入 状态 a { q 0 , q1 } { q3 } b { q0 , q 2 }
q0 q1 q2
{ q3 }
q3
{ q3 }
{ q3 }
q1
a a, b
a
a, b
q0
b b
q3
q2
定理:设 L 是被一个非确定的有限状态机接受的集合,则存在一个确定的有限状态自动机接受同一 集合。
, F ) 如下: 证明:设 M (Q, , , q0 , F ) 是一个接受 L 的 NFA,则定义 M (Q, , , q0 Q 2 Q [q0 ] q0
F 是 中 所 有 包 含 M 的 一 个 终 结 状 态 的 那 些 状 态 所 组 成 的 集 合 , 并 将 Q 中 元 素 记 为
2
2
2
2 2
2 2 为有理
2
Cohen( 1963)
ZFC 中连续统假设不能被证明,也不能被否证。
Church_Turing 论题:任何能行可计算的模型与 Turing 机等价。 Gö del 不完备性定理( 1931) :如果一个形式理论 T 足以容纳数论并且无矛盾,则 T 必定是不完
L(M ) {x * | (q0 , x) F} 为 M 接受的语言。
定义:一个语言是正规的,如果它是某个有限状态自动机接受的语言。 定义:非确定的有穷自动机 M (Q, , , q0 , F ) ,其中: Q 为一有穷状态集合; Σ 有穷输入字母表;
q0 Q :初始状态;
, F ) 如下: M (Q, , , q0
~ Q Q Q
q0 q0
~ F F
状态转移函数
q Q F { (q, s)} ~ ~ (q, s) { (q, s)} { (q0 , s)} q F ~ ~ q Q { (q, s)}
(qi , ai ) {qi 1} i 0,1,, l 1
(qi , a) a {ai }
于是, L( M ) {u} 推论: 的任意有限集是正规的。
*
证明: 是正规的;对 u1 ,, u n ,
*
L {u1 ,, u n } 亦是正规的:
, xa) [r1 , r2 ,, rk ] iff 故 (q0 , x) F 而 (q0 iff
({ p1 , p 2 ,, p j }, a) {r1 , r2 ,, rk }
(q0 , xa) {r1 , r2 ,, rk }
(q0 , x) F ,从而 L(M ) L(M )
~
~
q0 F ~ F F q0 F F {q n }
除去 M 重新进入 q 0 而 M 进入 q n 外,M 与 M 状态转移完全相同,上面的构造保证了重始时两者的 等价性。
~
~
定理:若 L 和 L 为正规语言,则 L L 亦为正规语言。 证 明 : 不 失 一 般 性 , 假 定 存 在 同 一 字 符 集 上 的 非 重 始 的 DFA M (Q, , , q0 , F ) 和
~
~
~
~
~
~
~ Q Q {qn } ,并定义:
(q, s) ~ ( q, s ) q n
及
q Q ( q, s ) q 0 q Q ( q, s ) q 0
(q n , s ) (q0 , s )
则 M 无转移函数进入状态 q 0 。再定义终结状态集合为:
~
~
~ ~ ~ ~ ~ ~ ~ ~ M (Q, , , q 0 , F ) 使得 L L( M ) 及 L L( M ) 。不妨设 Q Q ,则构造
, F ) 如下: M (Q, , , q0
~ ~} } {q0 , q Q Q Q {q0 0
Addison-Wesley, 1979 Mathematical Logic, GTM 37 Springer-Verlay
A Course in Mathematical Logic, GTM 53
Cambridge Univ. Press, 1980
I 有穷自动机和正规文法
1.1 有穷自动机
1. 2 闭包性质
定义:一个 DFA 称为非重始的(nonrestarting)的,如果不存在状态 q 使得
(q, s) q0
其中 q0 Q 为初始状态。
定理:存在一个将给定 DFA M 化为非重始的 DFA M 的算法使得 L( M ) L( M ) 证 明 : 令 M (Q, , , q0 , F ) , 其 中 Q {q0 , q1 ,, qn1} 。 构 造 M (Q, , , q0 , F ) , 其 中
, x) [q1 , q 2 ,, qi ] (q0 iff (q0 , x) {q1 , q 2 ,, qi }
[q0 ] 基始:对于 | x | 0 即 x , q0