计算理论复习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算理论复习题

1、 什么是图灵机,图灵机的构造技术以及三种描述方式是什么?

(1)图灵机:一个图灵机是一个7元组(Q ,∑,,Γ,δ,0q ,accept q ,reject q ),其中

,,Q ∑Γ都是有穷集合,并且○

1Q 是状态集;○2∑是输入字母表,不包括特殊空白符号︼;○3 Γ是字母表,其中:︼∈Γ∑⊆Γ,;○4:{,}Q Q L R δ⨯Γ→⨯Γ⨯;○50

q Q ∈是起始状态;○6accept q Q ∈是接受状态;○7reject q Q ∈是拒绝状态,且reject accept q q ≠。

(2)构造技术:○

1有限控制器的存储构造TM ,检查第一个输入是不是出现在输入的其他地方;○2多道;○3查询符号(打标记);○4移动:如把一个字符串整体后移; ○5调用子程序。

(3)描述方式:○

1形式描述,即详尽地写出图灵机的状态、转移函数等,这是最低、最详细程度的描述;○

2实现描述,这种方法使用日常语言来描述图灵机的运行,如怎么移动读写头,怎么在带上存储数据等,没有给出 状态和转移函数的细节;○

3高水平描述,它也是使用日常语言来描述算法,但忽略了实现的模型,不再需要提及机器是怎么管理它的带子或读写头。

2、什么是图灵机的格局,图灵可识别,图灵可判定?

(1)图灵机计算过程中,当前状态、当前带内容和读写头当前位置组合在一起,称为图灵机的格局,也即是瞬间状态。

(2)如果一个语言能被某一图灵机识别,则称该语言是图灵可识别的。

(3) 如果一个语言能被某一图灵机判定,则称它是图灵可判定的。

3、什么是多带图灵机,非确定型图灵机,枚举器,递归可枚举语言?

(1)多带图灵机很像普通图灵机,只是有多个带子,每个带子都有自己的读写头,用于读和写。开始时,输入出现在第一个带子上,其它的带子都是空白。转移函数改为允许同时进行读、写和移动读写头,其形式为:δ:Q ⨯Γ

k →Q ⨯Γk ⨯},{R L k 此处k 是带子的个数。表达式δ(

q i ,a 1, ,a k )=(q j ,b 1, ,b k ,L ,R , ,L )指的是:若机器处于状态

q i ,读写头1到k 所读的符号分别是a 1, ,a k ,则转移到状态q j ,写下符号b 1, 。,b k

,且按此式所指示的那样移动每个读写头。 推论1:每个多带图灵机都有一个与之等价的单带图灵机。

推论2:一个语言是图灵可识别的,当且仅当有多带图灵机识别它。

(2)非确定型图灵机:非确定型图灵机在计算的任何时刻,机器可以在多种可能性中选择一种继续进行。它的转移函数具有如下形式:δ:Q ⨯Г→P 3

(Q ⨯Г⨯{L ,R ,S}) 其计算是一棵树,不同分枝对应着机器不同的可能性。如果计算的某个分枝导致接受状态,

则接受该输入。

推论1:每个非确定型图灵机都有一个与之等价的确定型图灵机。

推论2:一个语言的是图灵可识别的,当且仅当有非确定型的图灵机识别它。

推论3:一个语言是可判定的,当且仅当存在非确定型图灵机判定它。

(2)枚举器:它是图灵机的一种变形,是带有打印机的图灵机。每当图灵机想在打印序列中增加一个串时,就把串送到打印机。

推论:一个语言是图灵可识别的,当且仅当有枚举器枚举它。

(3)递归可枚举语言:能够被图灵机识别的语言称为递归可枚举语言。

4、什么是丘奇-图灵论题,可判定语言,接受计算历史?

(1)丘奇-图灵论题:丘奇使用λ-演算的记号系统定义算法,图灵使用机器定义算法,这两个定义是等价的,算法的非形式概念和精确定义的联系被称为丘奇-图灵论题,即算法的直接概念等于图灵机算法。

(2)可判定语言:如果一个语言,存在某图灵机判定它,则称这个语言是图灵可判定的或可判定的。

(3)接受计算历史:设M 是一个图灵机,ω是一个串。M 在ω上的一个接受计算历史是一个格局序列1c , ,l c ,其中:c 是M 在ω上的起始格局,l c 是M 的一个接受格局,且每个i c 都是1i c -的合法结果。

5、判断下列语言是否可判定,证明其中一个?

注:(i)TM A 有时称为停机问题真正的停机问题是TM HALT (ii)TM A 不是图灵可识别的。

(1){,|}DFA A B B DFA B ωωω=<>是,是串,接受 可判定

(2){,|}CFG A G G CFG G ωωω=<>是,是串,派生 可判定

(3) TM HALT ,{|}TM A M M TM M ωωω=<>,是,是串,接受, 不可判定

(4){|()}DFA E A A DFA L A =<>=Φ是,且 可判定

(5){|}TM E M M =<>Φ是一个TM,且L(M)= 不可判定

(6){|}PCP P P =<>是波斯特对应问题的一个实例,且P 有匹配 不可判定

(7) E TM ,REGULAR TM ,TM EQ ,都是不可判定的。

(8){,|}NAF A B B NFA B ωωω=<>是,是串,接受 可判定

(9){,|}REX A R R R ωωω=<>是正则表达示,是串,派生 可判定

(10){,|()()}DFA EQ A B A B DFA L A L B =<>=和都是且 可判定

(11){,|}CFG A G G CFG G ωωω=<>是,是串,派生 可判定

(12){|()}CFG E G G L L A =<>∅=Φ是一个CFG,且(G)=,且 可判定

(13){,|()()}CFG EQ G H G H L G L H =<>=和是CFG,且 不可判定

(14) LBA LBA A CFG 可判定,E 和ALL 不可判定

证明 {|}TM A M M TM M ωωω=<>,是,是串,接受是不可判定的。

证明:假设A TM 是可判定的。设H 是A TM 的判定器。令M 是一个TM ,ω是一个串。在

输入上,如果M 接受ω,则H 就停机且接受ω;如果M 不接受ω,则H 也会停机,但拒绝ω。即H 是一个TM 使得:

H()=⎩⎨⎧ωω

不接受拒绝,如果接受接受,如果M M

现在来构造一个新的图灵机D ,它以H 作为子程序。当M 被输入它自己的描述时,TM D 就调用H ,以了解M 作什么。一旦得到这个消息,D 就反着做,即:如果M 接受,它就拒绝;如果M 不接受,它就接受。下面是D 的描述:

D=“对于输入,其中M 是一个TM :

1)在输入>上运行H 。

2)输入H 输出的相反结论,即,如果H 接受,就拒绝;如果H 拒绝,就接受。” 得出:

D()=⎩⎨⎧><>

当以D 的描述作为输入来运行D 自身时,得到:

D()=⎩⎨⎧><>

不论D 做什么,它都被迫相反地做,这显然是一个矛盾。

6、证明一个语言是可判定的,当且仅当它既是图灵可识别的,也是补图灵可识别的。 证明:

(i) 必要性:如果A 是可判定的,任何可判定语言都是图灵可识别的,且任何可判定语 言的补也是可判定的,所以A 和它的补A 都是图灵可识别的

(ii)充分性:令1M 是A 的识别器,2M 是A 的识别器。下列图灵机M 是A 的判定器: M=“对于输入ω:

1) 在输入ω上并行运行M 1和M 2。

2) 如果M 1接受,就接受;如果M 2接受,就拒绝。”

相关文档
最新文档