计算理论习题答案CHAP7new

合集下载

高中计算原理试题及答案

高中计算原理试题及答案

高中计算原理试题及答案一、选择题(每题3分,共30分)1. 计算机中,二进制数“1010”转换为十进制数是()。

A. 8B. 10C. 12D. 14答案:B2. 在计算机系统中,指令和数据均以()形式存储。

A. 二进制B. 十进制C. 八进制D. 十六进制答案:A3. 计算机中,一个字节由()个二进制位组成。

A. 4B. 8C. 16D. 32答案:B4. 计算机的存储容量通常以()为单位。

A. 字节B. 位C. 千字节D. 兆字节答案:A5. 在计算机中,浮点数的表示通常采用()。

A. 定点表示法B. 科学记数法C. 指数表示法D. 十进制表示法答案:C6. 计算机中,逻辑运算包括()。

A. 与、或、非B. 加、减、乘、除C. 取模、整除、求余D. 比较、排序、查找答案:A7. 计算机的中央处理器(CPU)主要负责()。

A. 数据存储B. 数据输入输出C. 程序控制D. 数据处理答案:D8. 计算机的输入设备不包括()。

A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C9. 计算机的输出设备不包括()。

A. 打印机B. 显示器C. 音箱D. 硬盘答案:D10. 在计算机中,操作系统的主要功能是()。

A. 数据处理B. 程序设计C. 资源管理D. 信息检索答案:C二、填空题(每题2分,共20分)11. 计算机的工作原理基于______原理,即存储程序和程序控制。

答案:冯·诺依曼12. 计算机中的二进制数“1101”转换为十进制数是______。

答案:1313. 计算机中的十六进制数“1A”转换为十进制数是______。

答案:2614. 计算机中的浮点数通常由______和尾数两部分组成。

答案:指数15. 计算机中的逻辑运算“与”操作,只有当两个操作数都为真时,结果才为真,否则为假,这可以用逻辑表达式______表示。

答案:A·B16. 计算机中的逻辑运算“或”操作,只要有一个操作数为真,结果就为真,这可以用逻辑表达式______表示。

计算机科学导论课本答案(完整版)

计算机科学导论课本答案(完整版)

第1章概述习题(答案)一.选择题1. D2. B3. CD4. C5. ABC6. A7. B8. B9. ABCD 10. ABCDE二.简答题1.什么是计算机系统?计算机系统是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存储的系统,由计算机硬件系统和计算机软件系统两大部分组成。

2.请解释冯•诺依曼所提出的“存储程序”概念。

把程序和数据都以二进制的形式统一存放在存储器中,由机器自动执行。

不同的程序解决不同的问题,实现了计算机通用计算的功能。

3.控制器的主要功能是什么?控制器基本功能就是从内存中取出指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。

另外,控制器在工作过程中,还要接受各部件反馈回来的信息。

4.简述CPU和主机的概念。

通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(Central Processing Unit)。

通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。

5.什么是计算机软件?计算机软件的分类有哪些?软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。

计算机软件系统分为系统软件和应用软件。

计算机系统软件由操作系统、语言处理系统、以及各种软件工具等组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。

应用软件是用户利用计算机软、硬件资源为解决各类应用问题而编写的软件,包括用户程序及其说明性文件资料。

6.计算机有哪些主要的特点?(1)运算速度快、精度高计算机的字长越长,其精度越高,现在世界上最快的计算机每秒可以运算几十万亿次以上。

一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。

计算理论习题答案CHAP2new

计算理论习题答案CHAP2new

计算理论习题答案CHAP2new2.2 a. 利⽤语⾔A={a m b n c n | m,n ≥0}和A={a n b n c m | m,n ≥0}以及例3.20,证明上下⽂⽆关语⾔在交的运算下不封闭。

b. 利⽤(a)和DeMorgan 律(定理1.10),证明上下⽂⽆关语⾔在补运算下不封闭。

证明:a.先说明A,B 均为上下⽂⽆关⽂法,对A 构造CFG C 1S →aS|T|ε T →bTc|ε对B,构造CFG C 2S →Sc|R|ε R →aRb由此知 A,B 均为上下⽂⽆关语⾔。

但是由例3.20, A ∩B={a nb nc n|n ≥0}不是上下⽂⽆关语⾔,所以上下⽂⽆关语⾔在交的运算下不封闭。

b.⽤反证法。

假设CFL 在补运算下封闭,则对于(a)中上下⽂⽆关语⾔A,B ,A ,B也为CFL ,且CFL 对并运算封闭,所以B A ?也为CFL ,进⽽知道BA ?为CFL ,由DeMorgan 定律B A ?=A ∩B ,由此A ∩B 是CFL,这与(a)的结论⽭盾,所以CFL 对补运算不封闭。

2.4和2.5 给出产⽣下述语⾔的上下⽂⽆关⽂法和PDA ,其中字母表∑={0,1}。

a. {w | w ⾄少含有3个1}S →A1A1A1A A →0A|1A|ε0, ε→εb. {w | w 以相同的符号开始和结束}S →0A0|1A1 A →0A|1A|εc. {w | w 的长度为奇数}S →0A|1A A →0B|1B|ε B →0A|1Ad. {w | w 的长度为奇数且正中间的符号为0}S →0S0|1S1|0S1|1S0|0e. {w | w 中1⽐0多}S →A1A0,ε→ε 0,ε→ε 1,ε→ε 0,ε→ε 0,ε→0 0,0→εA →0A1|1A0|1A|AA|εf. {w | w=w R }S →0S0|1S1|1|0g. 空集S →S2.6 给出产⽣下述语⾔的上下⽂⽆关⽂法:a .字母表{a,b}上a 的个数是b 的个数的两倍的所有字符串组成的集合。

计算理论课后题及答案2

计算理论课后题及答案2

第三章上下文没关语言略。

a. 利用语言 A={a m b n c n | m,n0} 和 A={a n b n c m | m,n0} 以及例,证明上下文没关语言在交的运算下不关闭。

b.利用 (a) 和 DeMorgan律( 定理,证明上下文没关语言在补运算下不关闭。

证明: a. 先说明 A,B 均为上下文没关文法,对 A 结构 CFG C1S aS|T|T bTc|对 B, 结构 CFG C2S Sc|R|R aRb由此知 A,B 均为上下文没关语言。

0} 不是上下文没关语言,所以上下文无可是由例 , A ∩B={a n b n c n|n 关语言在交的运算下不关闭。

b. 用反证法。

假定 CFL在补运算下关闭,则对于 (a) 中上下文没关语言A,B,A , B也为 CFL,且 CFL对并运算关闭,所以A B也为 CFL,从而知道 A B 为CFL,由DeMorgan定律 A B =A∩B,由此A∩B是CFL,这与 (a) 的结论矛盾,所以 CFL对补运算不关闭。

略。

和给出产生下述语言的上下文没关文法和PDA,其中字母表={0,1} 。

a.{w | w起码含有3个1}0,1,1S→A1A1A1A,1,1,1 A→0A|1A|b.{w | w以同样的符号开始和结束}S→0A0|1A10,1,A→0A|1A|0,00,01,11,1c. {w | w的长度为奇数}0,1,0,1,S →0A|1AA →0B|1B|B →0A|1Ad. {w | w 的长度为奇数且正中间的符号为 0}S →0S0|1S1|0S1|1S0|00, 0 0,0 1,1,0,$ 0,,$e. {w | w 中 1 比 0 多}1,00,1 0S →A1A0, ,11,1 ,$,1,$A →0A1|1A0|1A|AA|f. {w | w=w R }S →0S0|1S1|1|00, 0 0,0 1, 1 1,1 ,1, ,$$ 0,,g. 空集S →S给出产生下述语言的上下文没关文法:a .字母表 {a,b} 上 a 的个数是b 的个数的两倍的全部字符串构成的会合。

计算理论课后题及答案2

计算理论课后题及答案2

第三章 上下文无关语言3.1 略。

3.2 a. 利用语言A={a m b n c n | m,n ≥0}和A={a n b n c m | m,n ≥0}以及例3.20,证明上下文无关语言在交的运算下不封闭。

b. 利用(a)和DeMorgan 律(定理1.10),证明上下文无关语言在补运算下不封闭。

证明:a.先说明A,B 均为上下文无关文法,对A 构造CFG C 1S →aS|T|εT →bTc|ε对B,构造CFG C 2S →Sc|R|εR →aRb由此知 A,B 均为上下文无关语言。

但是由例3.20, A ∩B={a n b n c n |n ≥0}不是上下文无关语言,所以上下文无关语言在交的运算下不封闭。

b.用反证法。

假设CFL 在补运算下封闭,则对于(a)中上下文无关语言A,B ,A ,B 也为CFL ,且CFL 对并运算封闭,所以B A ⋃也为CFL ,进而知道B A ⋃为CFL ,由DeMorgan 定律B A ⋃=A ∩B ,由此A ∩B 是CFL,这与(a)的结论矛盾,所以CFL 对补运算不封闭。

3.3 略。

3.4和3.5 给出产生下述语言的上下文无关文法和PDA ,其中字母表∑={0,1}。

a. {w | w 至少含有3个1} S →A1A1A1AA →0A|1A|εb. {w | w 以相同的符号开始和结束}S →0A0|1A1 A →0A|1A|εc. {w | w 的长度为奇数} S →0A|1A A →0B|1B|εB →0A|1A0, ε→ε0,ε→ε 0,ε→ε 1,ε→ε 0,ε→εd. {w | w 的长度为奇数且正中间的符号为0}S →0S0|1S1|0S1|1S0|0e. {w | wS →A1A A →0A1|1A0|1A|AA|εf. {w | w=w R }S →0S0|1S1|1|0g.空集S →S3.6 给出产生下述语言的上下文无关文法:a . 字母表{a,b}上a 的个数是b 的个数的两倍的所有字符串组成的集合。

计算理论习题答案CHAP2new

计算理论习题答案CHAP2new

2.2 a. 利用语言A={a m b n c n | m,n≥0}和A={a n b n c m | m,n≥0}以及例3.20,证明上下文无关语言在交的运算下不封闭。

b. 利用(a)和DeMorgan律(定理1.10),证明上下文无关语言在补运算下不封闭。

证明:a.先说明A,B均为上下文无关文法,对A构造CFG C1S→aS|T|εT→bTc|ε对B,构造CFG C2S→Sc|R|εR→aRb由此知 A,B均为上下文无关语言。

但是由例3.20, A∩B={a n b n c n|n≥0}不是上下文无关语言,所以上下文无关语言在交的运算下不封闭。

b.用反证法。

假设CFL在补运算下封闭,则对于(a)中上下文无关语言A,B,A⋃A,B也为CFL,且CFL对并运算封闭,所以BA⋃也为CFL,进而知道BA⋃=A∩B,由此A∩B是CFL,这与(a)的结论矛为CFL,由DeMorgan定律B盾,所以CFL对补运算不封闭。

2.4和2.5 给出产生下述语言的上下文无关文法和PDA,其中字母表∑={0,1}。

a.{w | w至少含有3个1}S→A1A1A1AA→0A|1A|ε0, ε→εb. {w | w 以相同的符号开始和结束}S →0A0|1A1A →0A|1A|εc. {w | w 的长度为奇数}S →0A|1AA →0B|1B|εB →0A|1Ad. {w | w 的长度为奇数且正中间的符号为0}S →0S0|1S1|0S1|1S0|0e. {w | w 中1比0多}S →A1A0,ε→ε 0,ε→ε 1,ε→ε 0,ε→ε 0,ε→0 0,0→ε。

计算理论答案

计算理论答案

计算理论答案计算理论答案第一套BCACC CBCBB BBABC ACDAC1.下列叙述中,正确的是()。

A)CPU能直接读取硬盘上的数据B)CPU能直接存取内存储器C)CPU由存储器、运算器和控制器组成D)CPU主要用来存储程序和数据2.1946年首台电子数字计算机ENIAC问世后,冯·诺依曼(Von Neumann)在研制EDVAC 计算机时,提出两个重要的改进,它们是()。

A)引入CPU和内存储器的概念B)采用机器语言和十六进制C)采用二进制和存储程序控制的概念D)采用ASCII编码系统3.汇编语言是一种()。

A)依赖于计算机的低级程序设计语言B)计算机能直接执行的程序设计语言C)独立于计算机的高级程序设计语言D)面向问题的程序设计语言4.假设某台式计算机的内存储器容量为128MB,硬盘容量为10GB。

硬盘的容量是内存容量的()。

A)40倍B)60倍C)80倍D)100倍5.计算机的硬件主要包括:中央处理器(CPU)、存储器、输出设备和()。

A)键盘B)鼠标C)输入设备D)显示器6.根据汉字国标GB2312-80的规定,二级次常用汉字个数是()。

A)3000个B)7445个C)3008个D)3755个7.在一个非零无符号二进制整数之后添加一个0,则此数的值为原数的()。

A)4倍B)2倍C)1/2倍D)1/4倍8.Pentium(奔腾)微机的字长是()。

A)8位B)16位C)32位D)64位9.下列关于ASCII编码的叙述中,正确的是()。

A)一个字符的标准ASCII码占一个字节,其最高二进制位总为1B)所有大写英文字母的ASCII码值都小于小写英文字母'a'的ASCII 码值C)所有大写英文字母的ASCII码值都大于小写英文字母'a'的ASCII 码值D)标准ASCII码表有256个不同的字符编码10.在CD光盘上标记有"CD-RW"字样,此标记表明这光盘()。

计算理论模拟试题及答案

计算理论模拟试题及答案

《计算理论》复习题1、设语言A={w | w 含有子串0101,即对某个x 和y ,w=x 0101y },字母表为{0,1} a 。

画出识别A 的DFA 的状态图.b. 画出识别A 的NFA 的状态图(规定状态数为5).解: a .b .2、把下图的有穷自动机转换成正则表达式。

解:1、加新的开始状态和新的结束状态2、删除状态1,通过状态1的转换有s →1→2、2→1→23、删除状态23、设语言A={www | w ∈{a ,b}*},利用泵引理证明A 不是正则语言.*证明:假设A是正则的.设p是泵引理给出的关于A的泵长度。

令S=a p ba p ba p b,∵S是A的一个成员且S的长度大于p,所以泵引理保证S可被分成3段S=xyz且满足泵引理的3个条件.根据条件3,y中只含a,所以xyyz中第一个a的个数将比后两个a的个数多,故xyyz不是A2的成员。

违反泵引理的条件1,矛盾。

∴A不是正则的.4、证明在3。

1节开始部分给出的文法G2中,字符串the girl touches the boy with the flower 有两个不同的最左派生,叙述这句话的两个不同的意思。

解: G2如下:<句子>→<名词短语><动词短语><名词短语>→<复合名词>|<复合名词><介词短语><动词短语>→<复合动词>|<复合动词><介词短语><介词短语>→<介词><复合名词><复合名词>→<冠词><名词><复合动词>→<动词>|<动词><名词短语><冠词>→a_|the_<名词>→boy_|girl_|flower_<动词>→touch_|1ikes_|Sees_<介词>→with_答:1.第一种最左派生<句子>⇒<名词短语>〈动词短语>⇒<复合名词〉〈动词短语>⇒〈冠词〉<名词>〈动词短语> ⇒a_<名词〉〈动词短语〉⇒a_girl_〈动词短语>⇒a_girl_〈复合动词〉⇒a_girl_〈动词〉< 名词短语〉⇒a_girl_touches_〈名词短语>⇒ a_girl_touches_<复合名词>〈介词短语〉⇒a_girl_touches_<冠词><名词>〈介词短语>⇒a_girl_touches_the_<名词〉〈介词名词〉⇒a_girl_touches_the_boy_〈介词短语〉⇒a_girl_touches_the_boy_<介词><复合名词>⇒a_girl_touches_the_boy_with_〈复合名词〉⇒a_girl_touches_the_boy_with_<冠词>〈名词>⇒a_girl_touches_the_boy_with_the_<名词〉⇒a_girl_touches_the_boy_with_the_flower含义是:女孩碰这个带着花的男孩2.第二种最左派生<句子〉⇒〈名词短语>〈动词短语〉⇒〈复合名词〉<动词短语>⇒〈冠词><名词〉〈动词短语〉⇒a_<名词>〈动词短语>⇒a_girl_〈动词短语>⇒a_girl_〈复合动词〉<介词短语〉⇒a_girl_〈动词>< 名词短语><介词短语〉⇒a_girl_touches_< 名词短语〉<介词短语>⇒a_girl_touches_<冠词>〈名词><介词短语〉⇒a_girl_touches_the_〈名词〉<介词短语〉⇒a_girl_touches_the_boy_〈介词短语>⇒a_girl_touches_the_boy_<介词><复合名词〉⇒a_girl_touches_the_boy_with_〈复合名词>⇒a_girl_touches_the_boy_with_<冠词〉<名词〉⇒a_girl_touches_the_boy_with_the_<名词〉⇒a_girl_touches_the_boy_with_the_flower含义是: 女孩用花碰这个男孩5、有自动机M,接受语言L={WcW R | W∈{a,b}*∪c},请给出这台PDA的形式定义、状态图,并非形式地描述它的运行。

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

$7.3 a.X mod Y XX YX mod Y X*X YX mod Y XX YX mod Y XX YX mod Y XX YX mod Y X》X YX mod Y XX Y当Y=0时,输出X=1,所以1274和10505是互素的。

对于字符串w=baba 和下面的文法CFG G,试填写定理中识别上下文无关语言的多项式时间算法中所描述的表。

S RTR TR|aT RT|b解:R,T S R,T,S|TR S S- T R,TR。

下面的公式是可满足得吗=(x y)(x y)(x y)( x y)解:(x,y)共有四种取值:(true, true),(true, false),(false, true),(false, false).分别将其带入公式得:若(x,y)=(true, true),=(true true) (true false) (false true) (false false)=false若(x,y)=(true, false),=(true false) (true true) (false false) (false true)=false若(x,y)=(false, true),=(false true) (false false)(true true) (true false)=false:若(x,y)=(false, false),=(false false) (false true) (true false) (true true)=false所以原公式不可满足。

证明P在并、连接和补运算下封闭。

(1) 并:对任意 L1, L2P,设有n a时间图灵机M1和n b时间图灵机M2判定它们,且c=max{a,b}。

对L1L2构造判定器M:M=“对于输入字符串w :1)在w上运行M1,在w上运行M2。

2)|3)若有一个接受则接受,否则拒绝。

”时间复杂度:设M1为O(n a),M2为O(n b)。

令c=max{a,b}。

第一步用时O(n a+n b) ,因此总时间为O(n a+ n b)=O(n c),所以L1L2属于P类,即 P在并的运算下封闭。

(2) 连接:对任意 L1, L2属于P 类,设有n a时间图灵机M1和n b时间图灵机M2判定它们,且c=max{a,b}。

对L1 L2构造判定器M:M=“对于输入字符串w=w1,w2,…,wn,1)对k=0,1,2,…,n重复下列步骤。

2):3)在w1w2…w k上运行M1,在w k+1w k+2…w n上运行M2。

4)若都接受,则接受。

否则继续。

5)若对所有分法都不接受则拒绝。

“时间复杂度:(n+1)×(O(n a)+O(n b))=O(n a+1)+O(n b+1)=O(n c+1),所以L1 L2属于P类,即 P在连接的运算下封闭。

(3)补:对任意 L1属于P 类,设有时间O(n a)判定器M1判定它,对1L构造判定器M:M=“对于输入字符串w :(1)在w上运行M1。

(2)"(3)若M1接受则拒绝,若M1拒绝则接受。

”时间复杂度为:O(n a)。

所以1L属于P类,即 P在补的运算下封闭。

证明NP在并和连接运算下封闭。

(1) 并:对任意 L1, L2NP,设分别有n a时间非确定图灵机M1和n b时间非确定图灵机M2判定它们,且c=max{a,b}。

构造判定L1L2的非确定图灵机M:M=“对于输入字符串w :1)在w上运行M1,在w上运行M2。

2)"3)若有一个接受则接受,否则拒绝。

”对于每一个非确定计算分支,第一步用时为O(n a)+O(n b),因此总时间为O(n a+n b)=O(n c)。

所以L1L2NP,即 NP在并的运算下封闭。

(2) 连接:对任意 L1, L2NP,设分别有n a时间非确定图灵机M1和n b时间非确定图灵机M2判定它们,且c=max{a,b}。

构造判定L1 L2的非确定图灵机M:M=“对于输入字符串w :1)非确定地将分成两段x,y,使得w=xy。

2)在x上运行M1,在y上运行M2。

3)]4)若都接受则接受,否则拒绝。

”对于每一个非确定计算分支,第一步用时O(n),第二步用时为O(n a)+O(n b),因此总时间为O(n a+ n b)=O(n c)。

所以L1 L2NP,即NP在连接运算下封闭。

8.8证明如果对数采用一进制编码而不是二进制编码,则素数判定是多项式时间可解的.换句话说,证明语言UNARY-PRIME={1n|n是素数}属于P.证明:设x为被判定的数. 构造判定器M.M=“输入1n,n为正整数,1)对k=2,3,…,n-1重复下列步骤。

2)对于1n,每次消去k个1。

若刚好可以消完,则拒绝。

3)若都不能刚好消完,则接受。

”…时间分析:1)最多执行n-2次,每次1步;2)对于每个k的值,执行步数小于n;3)需要一步整个判定过程需要时间小于 (n-2)(1+n)=n2-n-2。

运行时间为O(n2)。

所以UNARY-PRIME P。

令CONNECTED={<G>|G是连通的无向图}。

分析4.3.2节给出的算法,证明此语言属于P。

证明:判定CONNECTED的TM M的一个高水平描述:M=“输入是图G的编码<G>:"1)选择G的第一个顶点,并作标记。

2)重复步骤(3),直到没有新的顶点可以作标记。

3)对于G的每一个顶点,如果存在一条边,将其连到一个已作标记的顶点,则标记该顶点。

4)扫描G的所有顶点,确定它们是否都已作了标记,如果是,则接受,否则拒绝。

”分析该算法的执行,步骤1)执行一次。

一个n个顶点连通的无向图最多有n(n-1)/2条边,所以每次执行步骤3,运行时间是O(n2)。

为标记所有的n个顶点,步骤3至多需要执行n次。

所以用于标记的总的运行时间是O(n3)。

步骤4需要执行n步。

该算法的总步数1+ O(n3)+n即为O(n3),从而有该语言属于P。

无向图中的三角形是一个3-团。

证明TRIANGLE P。

其中TRIANGLE={<G>|G包含3-团}^证明思路:采用相邻矩阵的形式存储图,有n个结点的无向图G存储在矩阵R中,并且满足:R[i,i]=0, R[i,j]=1(当结点i和结点j之间有一n×n条边),R[i,j]=∞(当结点i和结点j之间不存在边)。

从矩阵的第一行开始逐行扫描矩阵各行,在每一行中找两个为1的元素,假设当前扫描到第i行,若R[i,j]=1且 R[i,k]=1,则检查矩阵中 R[j,k]是否为1,若成立则接受,否则继续搜索。

证明:以算法D实现这一思路。

D=“对输入<R>1)计算R的结点数n。

若n≤2,则拒绝。

否则转2)2)For i=1 to n3)For j=i+1 to n4)若R[i,j]=1 则5)For k=j+1 to n6){7)若R[i,k]=1 则检查矩阵中R[j,k]是否为1,若是则接受8)若i,j,k同时为n,则拒绝。

”分析D,每一步都是在多项式时间内运行,步骤2最多运行n次,步骤2每运行一次步骤3最多运行n-i次,步骤3每运行一次步骤4最多运行n-j 次。

所以总计D执行O(n3)步。

证明:构造NTM如下:N=“对于输入<G,H>,1)比较G与H节点数,若不相同,则拒绝。

2)非确定地对G的节点进行重排。

3)若G和H完全相同,则接受。

否则拒绝”】N有n!个计算分支,每个长度为n,则此NTM有多项式时间,所以ISO∈NP。

证明MODEXP P。

设二进制整数b= km km-1…k1k,则b=k20+k121+k222+…+km2m(ki=0,1)。

构造判定MODEXP的图灵机如下:M=“对于输入<a,b,c,p>,a,b,c,p为二进制整数,(1)以k0,k1,…,kn记b的从低位到高位的1至n+1位。

(2)令d0=a,对于i=1,2,…,n计算di=di-1×di-1mod p。

(3)对于i=0,1,…,n,若ki =1,则令ci=di;若ki=0,则令ci=1。

(4)计算e=c0×c1×…×cnmod p。

(5)·(6)若e=c mod p,则接受,否则拒绝。

”设对于两个n位二进制整数,相乘再模一个至多n位的二进制整数,需要运行的时间为T。

则第二步的时间为nT,第四步为nT,所以总的运行时间为O(nT)。

这意味着MODEXP∈P。

证明P在星号运算下封闭。

证明:设M为判定A的时间f(n)图灵机,不妨设f(n)n。

设计如下TM:D=“对于输入y=y1y2…yn,1)若y=ε,则接受;2)对于i,j=1,2,…,n重复(3)。

3)在yi yi+1…yj上运行M。

若接受,则令T(i, j)=“yes”。

4)重复下面步骤直到表T不再改变。

5)对于i,j=1,2,…,n重复下面步骤。

6)若T(i,j)=“yes”,转(5)。

否则继续。

7)对于k = i,i+1,…,j-1,若T(i,k)=T(k+1,j)=“yes”,则令T(i,j)=“yes”。

8)若T(1, n)=yes,则接受;否则拒绝。

运行时间:设O(n2f(n))+O(n3)=O(n2f(n))。

证明NP在星号运算下封闭。

证明:设M为判定A的时间f(n)非确定图灵机,不妨设f(n)n。

设计如下NTM:D=“对于输入y=y1y2…yn,1)若y=ε,则接受;2)非确定地选择y的一个划分y=x1x2…xk,其中是x1,x2,…,xk字符串。

3)对于i=1,2,…,k,重复下一步骤:4)在xi上运行M,若M拒绝,则拒绝。

5)若都接受,则接受。

”以下略。

若有兴趣讨论,可与刘庆晖)联系。

相关文档
最新文档