《理论计算机科学基础》第7讲_第1页
《理论计算机科学基础》第7讲_第2页
《理论计算机科学基础》第7讲_第3页
《理论计算机科学基础》第7讲_第4页
《理论计算机科学基础》第7讲_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《理论计算机科学基础》第7讲1第6周(不)可计算问题第4章丘奇-图灵论题第5章可判定性第6章可归约性第7章可计算性理论的高级专题《理论计算机科学基础》第7讲2第5章可判定性可判定语言关于正则语言的可判定问题关于上下文无关语言的可判定问题停机问题对角化方法停机问题是不可判定的非图灵可识别语言《理论计算机科学基础》第8讲3第6章可归约性语言理论中的不可判定问题利用计算历史的归约线性界限自动机波斯特对应问题映射归约(多一归约,m归约)《理论计算机科学基础》第7讲4算法可解性的局限算法可解存在处处停机的算法按照算法可解性给问题分类证明有些问题能用算法求解证明另一些问题不能用算法求解研究不可解性的意义避免做无用功激发想象力,全面透彻地理解

什么是计算《理论计算机科学基础》第7讲5可判定语言问题与语言编码可判定性存在处处停机的TM程序关于正则语言的

可计算问题《理论计算机科学基础》第7讲6《理论计算机科学基础》第7讲7关于正则语言的可判定问题DFA接受性问题NFA接受性问题正则表达式派生性问题DFA空性问题DFA等价性问题《理论计算机科学基础》第7讲8DFA接受性问题DFA接受性问题检测一个给定的确定型有穷自动机是否接受一个给定的串语言

ADFA={<B,w>|DFAB接受串w}

DFAB接受串w

<B,w>ADFA.《理论计算机科学基础》第7讲9定理5.1定理5.1:ADFA是可判定语言证明思路:设计一个判定ADFA的TMM.M模拟B在w上的计算想象一下写上述程序所需要的细节《理论计算机科学基础》第7讲10定理5.1证明证明:设计一个判定ADFA的TMM.

M=“对输入<B,w>,

其中B是DFA,w是串:1)在输入w上模拟B.2)若模拟以接受状态结束,

则接受;

若模拟以非接受状态结束,

则拒绝.”《理论计算机科学基础》第7讲11定理5.1证明证明:(续)TMM首先检查输入<B,w>,

若w不是字符串,或B不是

(Q,,,q0,F)形式,则拒绝.然后M执行模拟.

M通过在带上写下信息,来跟踪B

在w上运行时当前状态和当前位置.

状态和位置的更新

由B的转移函数确定.

当M处理完w最后一个符号时,如果B

处于接受状态,则M接受,否则拒绝.#《理论计算机科学基础》第7讲12NFA接受性问题NFA接受性问题检测一个给定的非确定型有穷自动机是否接受一个给定的串语言

ANFA={<B,w>|NFAB接受串w}《理论计算机科学基础》第7讲13定理5.2定理5.2:ANFA是可判定语言证明思路:证法一:用NTMN模拟NFAB在w上计算证法二:先把NFAB转化为等价的DFAC,

再用TMM模拟C在w上计算《理论计算机科学基础》第7讲14定理5.2证明证明:构造判定ANFA的TMN.N=“对于输入<B,w>,

B是NFA,w是串:

1)把NFAB转化成等价DFAC

(定理2.19).

2)在输入<C,w>上运行TMM

(定理5.1).

3)如果M接受,则接受,

否则拒绝.”#《理论计算机科学基础》第7讲15正则表达式派生性问题正则表达式派生性问题一个正则表达式是否派生

一个给定的串语言AREX={<R,w>|正则表达式R派生串w}《理论计算机科学基础》第7讲16定理5.3证明证明:下面的TMP判定AREX.P=“对于输入<R,w>,R是RE,w是串:1)把REXR转化成等价DFAA(定理2.28).2)在输入<A,w>上运行TMM

(定理5.1).3)如果M接受,则接受,

否则拒绝.”#《理论计算机科学基础》第7讲17说明对于可判定性问题,

把DFA,NFA,REX

提供给TM都是等价的,

因为TM能在这三种编码

之间进行互相转换.《理论计算机科学基础》第7讲18DFA空性问题DFA空性问题一个DFA是否根本不接受

任何串?语言

EDFA={<A>|A是DFA且

L(A)=

}《理论计算机科学基础》第7讲19定理5.4定理5.4:EDFA是可判定语言证明思路:逐个检查所有的串有无穷多个串DFA接受一个串当且仅当:从初始状态出发,

沿着此DFA的箭头方向,能够到达一个接受状态采用例4.14的标记算法《理论计算机科学基础》第7讲20定理5.4证明证明:TMT=“对于输入<A>,

A是DFA:1)标记初始状态.2)重复下列步骤,直到所有状态

都被标记.3)对于一个状态,如果有一个到达

它的转移是从某个已经标记

过的状态出发的,则将它标记.4)如果没有接受状态被标记,

则接受,否则拒绝.”#《理论计算机科学基础》第7讲21DFA等价性问题DFA等价性问题检查两个DFA是否识别

同一个语言语言

EQDFA={<A,B>|A和B是DFA且

L(A)=L(B)}《理论计算机科学基础》第7讲22定理5.5定理5.5:EQDFA是可判定语言证明思路:正则语言对于布尔运算封闭,

因此对于对称差运算封闭两个语言相等当且仅当其对称差为空语言正则语言是否为空,

这是可判定的(定理5.4)L(A)L(B)《理论计算机科学基础》第7讲23定理5.5证明证明:

TMF=“对于输入<A,B>,

A和B都是DFA:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论