浙江大学+计算机+考博试题+计算理论及答案.docx
《浙江大学+计算机+考博试题+计算理论及答案.docx》由会员分享,可在线阅读,更多相关《浙江大学+计算机+考博试题+计算理论及答案.docx(16页珍藏版)》请在冰豆网上搜索。
浙江大学+计算机+考博试题+计算理论及答案
计算理论
字母表:
一个有穷的符号集合。
字母表上的字符串是该字母表中的符号的有穷序列。
一个字符串的长度是它作为序列的长度。
连接反转Kleene星号L*,连接L中0个或多个字符串得到的所有字符串的集合。
有穷自动机:
描述能力和资源极其有限的计算机模型。
有穷自动机是一个5元组M=(K,∑,
s,F),其中
1)K是一个有穷的集合,称为状态集
2)∑是一个有穷的集合,称为字母表
3)
是从KX∑→K的函数,称为转移函数
4)s∈K是初始状态
5)F
K是接收状态集
M接收的语言是M接收的所有字符串的集合,记作L(M).
对于每一台非确定型有穷自动机,有一台等价的确定型有穷自动机
有穷自动机接受的语言在并、连接、Kleene星号、补、交运算下是封闭的。
每一台非确定型有穷自动机都等价于某一台确定型有穷自动机。
一个语言是正则的当且仅当它被有穷自动机接受。
正则表达式:
称R是一个正则表达式,如果R是
1)a,这里a是字母表∑中的一个元素。
2)
,只包含一个字符串空串的语言
3)
,不包含任何字符串的语言
4)(R1∪R2),这里R1和R2是正则表达式
5)(R10R2),这里R1和R2是正则表达式
6)(R1*),这里R1*是正则表达式
一个语言是正则的当且仅当可以用正则表达式描述。
2000年4月
1、根据图灵机理论,说明现代计算机系统的理论基础。
1936年,图灵向伦敦权威的数学杂志投了一篇论文,题为《论数字计算在决断难题中的应用》。
在这篇开创性的论文中,图灵给“可计算性”下了一个严格的数学定义,并提出著名的“图灵机”(TuringMachine)的设想。
“图灵机”不是一种具体的机器,而是一种思想模型,可制造一种十分简单但运算能力极强的计算机装置,用来计算所有能想像得到的可计算函数。
这个装置由下面几个部分组成:
一个无限长的纸带,一个读写头。
(中间那个大盒子),内部状态(盒子上的方块,比如A,B,E,H),另外,还有一个程序对这个盒子进行控制。
这个装置就是根据程序的命令以及它的内部状态进行磁带的读写、移动。
工作带被划分为大小相同的方格,每一格上可书写一个给定字母表上的符号。
控制器可以在带上左右移动,它带有一个读写出一个你期待的结果。
这一理论奠定了整个现代计算机的理论基础。
“图灵机”更在电脑史上与“冯·诺依曼机”齐名,被永远载入计算机的发展史中。
图灵机在理论上能模拟现代数字计算机的一切运算,可视为现代数字计算机的数学模型。
实际上,一切"可计算"函数都等价于图灵机可计算函数,而图灵机可计算函数类又等价于一般递归函数类。
2、说明按乔姆斯基分类,语言、文法、自动机的关系
乔姆斯基将语言定义为,按一定规律构成的句子或符号串string的有限的或无限的集合,记为L。
数目有限的规则叫文法,记为G。
刻画某类语言的有效手段是文法和自动机。
文法与自动机的关系:
形式文法是从生成的角度来描述语言的,而自动机是从识别的角度来描述语言的.文法和自动机是形式语言理论的基本内容。
对某种语言来说,如果存在一个该语言的生成过程,就一定存在一个对于它的识别过程.就描述语言来讲,形式语言和自动机是统一的.文法在形式上定义为四元组:
G=(VN,VT,S,P),VN是非终极符号,VT是终极符号,S是VN中的初始符号,P是重写规则。
⏹文法是定义语言的一个数学模型,而自动机可看作是语言的识别系统。
⏹对于一个文法产生的语言,可以构造相应自动机接受该语言:
一个自动机接受的语言,可以构造对应的文法产生该语言。
一定类型的自动机和某种类型的文法具有等价性。
2、乔姆斯基根据转换规则将文法分作4类。
每类文法的生成能力与相应的语言自动机(识别语言的装置)的识别能力等价,即4类文法分别与4种语言自动机对应:
类型
文法
自动机
0型
无限制文法
图灵机
1型
上下文有关文法
线性有界自动机
2型
上下文无关文法
后进先出自动机
3型
有限状态的正则文法
有限自动机
最常见文法的分类系统是诺姆·乔姆斯基于1956年发展的乔姆斯基谱系,这个分类谱系把所有的文法分成四类型:
无限制文法、上下文相关文法、上下文无关文法和正规文法。
四类文法对应的语言类分别是递归可枚举语言、上下文相关语言、上下文无关语言和正规语言。
这四种文法类型依次拥有越来越严的产生式规则,同时文法所能表达的言也越来越少。
尽管表达能力比无限文法和上下文相关文法要弱,但由于高效率的实现,四类文法中最重要的上下文无关文法和正规文法。
例如对下文无关语言存在算法可以生成高效的LL分析器和LR分析器。
3、证明HALT(XR,X)不是可计算的。
4、
(1)、证明递归集都是递归可枚举集。
(2)、举例属于递归可枚举集但不是递归集的集合,并证明之。
5、
(1)、证明L={(a,b)*|a,b的个数相同}为上下文无关语言。
(2)、并证明其不是正则的。
P56
假设L是正则的,则根据在交下的封闭性,L∩a*b*也是封闭的,而后者正好是L1={aibi:
i≧0},假设L1是正则的,则存在满足泵引理的整数n。
考虑字符串w=anbn∈L。
根据定理可以写成w=xyz使得|xy|≦n,且y≠e,即y=ai,其中i>0.但是xz=an-ibn
L,与定理矛盾。
2000年10月
1、
(1)给出图灵机的格局、计算及图灵机μ计算函数f的精确定义。
(2)对图灵机模型而言,church论题是什么?
(3)当x是完全平方时值为3x,否则为3x+1证明其是原始递归函数。
2、证明φ(X,X)是不可计算的。
3、证明L={ambn|m,n>0,m≠n}是上下文无关的,但不是正则的。
利用上下文无关语言在并、连接、Kleene星号下是封闭的。
正则语言在交运算下封闭。
4、A为有穷字母表,L是A*的无穷子集,
(1)证明存在无穷序列ω0,ω1,ω2…,它由L的所有字组成,每个字恰好在其中只出现一次。
(2)是否存在从L构造序列ω0,ω1,ω2…,的算法(即i由计算ωi),为什么?
2001年4月
1、
(1)当x是完全平方时值为2x,否则为2x+1证明其是原始递归函数。
(2)对图灵机模型而言,church论题是什么?
(3)通用图灵机的描述。
2、
(1)用有穷自动机构造正则语言,以a2b结尾的字符串组成的正则语言L
(2)L={a3nbn |n>0}为上下文无关,但不是正则。
3、A为字母表,L为A*上任意的语言。
阐述其乔姆斯基层次及用可计算性表述它们的关系。
4、证明不存在可计算函数h(x),使φ(x,x)↓时h(x,x)=φ(x,x)+a,a∈N,φ(x,y)是编号为y输入为x时的程序。
2001年10月
1、{a,b}上递归枚举语言是否可数?
证明
2、L={a,b,c数目相同的语言}是否CFL(上下文无关)?
证明p95
证:
不是上下文无关的。
假设L是上下文无关的,则它与正则语言a*b*c* 的交也是上下文无关的。
令L1={anbncn:
n≧0}
假设L1是上下文无关语言。
取常数p,ω=apbpcp,∣ω∣=3p≥p
将ω写成ω=uvxyz使得v或y不是空串且uvixyiz∈L1
I=0,1,2……其中∣xy∣≥1且∣xuy∣≤p.
有两种可能他们都导致矛盾。
如果vy中a、b、c三个符号都出现,则v和y中必有一个至少含有abc中的两个符号。
于是uv2xy2z中abc的排列顺序不对,有的b在a前或c在a或b前。
如果vy中只出现a、b、c中的一个或两个符号,则uv2xy2z中a、b、c的个数不相等。
∴与L1是上下文无关语言假设矛盾。
综上,L不是2型语言。
3、被2,3整除的非负整数的十进制表示的集合是否正则。
∑={1,2,……9},L
∑*,令L1是非负整数十进制表示的集合,容易看到
L1=0∪{1,2,……9}∑*,由于L1是用正则表达式表示的,故它是一个正则语言。
令L2是可以被2整除的非负整数的十进制表示的集合。
L2正好是以0,2,4,6,8结尾的L1的成员组成的集合,即L2=L1∩∑*{0,2,4,6,8},根据正则语言在交运算下封闭原则,故L2也是一个正则语言。
令是可以被3整除的非负整数的十进制表示的集合.一个数可以被3整除当且仅当它的数字之和可以被3整除。
构造一台有穷自动机,用它的有穷控制器保存输入数字的模3和。
L3是这台有穷自动机接受的语言与L1的交。
最后L=L2∪L3,它一定是个正则语言。
4、NonSelfAccepting是否递归集合
2002年4月
1. 能被5整除的字符串是正则集吗
2. 用图灵机表示下列字符串。
Φ,e,{a},{a}*
3. s->ss,s->asb,s->abs,证明由s推得的字符串不可能以abb开头。
(可能记忆有误,具体形式就是这样)。
4证明不是所有的递归可枚举集都是递归的。
定理:
语言
不是递归的;所以,递归语言类是递归可枚举语言类的真子集。
2002年10月
1、 什么是计算?
计算理论研究的内容和意义是什么?
为什么要使用计算的抽象模型?
2、 请写出一个正则表达式,描述下面的语言:
在字母表{0,1}上,不包含00子串且以1结尾。
4、语言L={an:
n是素数}是不是正则语言,是不是上下文无关的?
5、一个succ(n+1)的组合Turing机描述,说出它的作用。
P127
6、什么是Turing机的停机问题?
它是可判定的么?
为什么?
H={“M”“w”:
Turing机M在输入w上停机},
ATM={|M是一个TM,且M接受ω}
证明:
假设ATM是可判定的,下面将由之导出矛盾。
设H是ATM的判定器。
令M是一个TM,ω是一个串。
在输入上,如果M接受ω,则H就停机且接受ω;如果M不接受ω,则H也会停机,但拒绝ω。
换句话说,H是一个TM使得:
接受如果M接受ω
H()=
拒绝如果M不接受ω
现在来构造一个新的图灵机D,它以H作为子程序。
当M被输入
它自己的描述是,TMD就调用H,以了解M将做什么。
一旦
得到这个信息,D就反着做,即:
如果M接受,它就拒绝;如果M
不接受,它就接受。
下面是D的描述。
D=”对于输入,其中M是一个TM:
1)在输入>上运行H。
2)输出H输出的相反结论,即,如果H接受,就拒绝;
如果H拒绝,就接受。
”
总而言之,接受如果M不接受
D()=
拒绝如果M接受
当以D的描述作为输入来运行D自身时,结果会怎样呢?
我们得到:
接受如果D不接受
D()=
拒绝如果D接受
不论D做什么,它都被迫相反地做,这显然是一个矛盾。
所以,TMD和
TMH都不存在。
它是不可判定的。
假设H是递归的,那么H1={“M”:
Turing机M在输入字符串“M”上停机}也是递归的。
H1表示对角化程序的halts(X,X)部分。
假设存在判定H的Turing机M0,那么判定H1的TuringM1只需要把输入字符串
检查一个图灵机是否接受一个给定的串问题。
在证明之前,先来证明ATM是图灵可识别的。
这样,定理5.9表面识别器
确实比判定器更强大。
要求TM在所以输入上都停机限制了它能够识别
的语言种类。
下面的图灵机U识别ATM.
U=“对于输入,其中M是一个TM,ω是一个串:
1)在输入ω上模拟M;
2)如果M进入接受状态,则接受;如果M进入拒绝状态,则拒绝。
”
注意,如果M在ω上循环,则机器U在输入上循环,这就是U不判定
ATM的原因。
假如M知道自己在ω上不停机,它能拒绝ω,但事实上,它不
知道。
所以ATM有时被称为停机问题。
7、证明这个问题不可判定:
一个Turing机半判定的语言等于这样的一个语言,这个语言是w和w的转置的连接。
定理:
任何递归或递归可枚举语言,以及任何递归函数,分别可用随机存取Turing判定、半可判定和计算。
1、判定下述语言是否正则:
包含aaaaa子串的语言L。
2、画出判定下述语言的图灵机:
空集,e,a。
3、用数学归纳法证明一个上下文无关语言不包含ab子串,语言的描述忘记啦。
4、证明H是非递归的。
2003年4月
1、判断题目,好像有二十分左右,都是书上的概念,譬如:
递归语言是递归可枚举语言(错),一个语言如果是正则的,那么它一定是上下文无关语言(对),如果一个语言是图灵可识别的,那么、、、.()。
后面的记不住了。
2、证明题,第1个是要证某种语言是正则语言,第2个是证该语言是上下文无关语言,中间还有一个是要证明某种语言是非上下文无关语言(有可能是非正则语言)。
最后一个是证明该语言是图灵可判语言。
该题在上几届的考题中都曾变换个样式出现过。
3、识图题,画了一个图,让写出该图所识别的语言是什么。
我记得它是英文参考书上的一个例题,所识别的是:
不全包含{a,b,c}中所有字符的字符串。
该题6分。
4、我没做,给出了一个式子,好像是y=a+b,让构造出计算该式的图灵机。
这个题目好像也是6分。
2003年10月
1、5个判断,比如
例如:
1. 也为正则语言。
2.对于两个任意的正则表达式R1和R2,判断L(R1)=L(R2)为不可判定问题。
3、{xy|x属于正则语言L,y属于其补}是正则语言;
4、存在非递归的递归可枚举语言。
2、{(a^m)(b^m)c(a^2n)(b^2n),m,n∈N∩m、n≧1},写出产生它的上下文无关文法和识别它的确定下推自动机。
3、判断谓词是否递归;设P(x,y)为原始递归谓词,请证明也是原始递归谓词。
4、写出识别{(0^n)(1^n)(2^n)n≧0}的图灵机,和a^nb^nc^n类似,参考书的答案有问题!
5)L={a2n+1|n>=0} 不是上下文无关语言,用泵引理证明(其中,2为平方)
⏹在字母表T={a}上,L={a2n+1|n>=0}
⏹表示任意一对aa(包括0对)后跟一个a的字符串。
(即含有奇数个a的字符串。
)
6)L是一上下文无关文法,任给一正规文法R,L∈R可以判定吗,说明理由。
2004年4月
1、8个判断题
2、证明
(1)L1是正则语言,L2是非正则语言,若L1和L2的交为有限语言,则L1与L2的并为非正则语言。
(2)L1是正则语言,L2是非正则语言,若L1和L2的交为无限语言,则L1与L2的并为正则语言。
举例说明符合条件的L1和L2
3、有n个自然数x1,x2,...,xn,问是否存在素数p
使得[x(p)]^p=x
(1)+x
(2)+...+x(p-1)+x(p+1)+...+x(n)(式子类似这样的)
给出算法的描述,复杂度,并证明属于P类
4、给出图灵机的符号表示:
该图灵机计算函数f(x);x为偶数f(x)=x/2,x为奇数f(x)=x+1
5、用泵定理证明语言L不是上下文无关的L={w∈(a,b)*:
w不同于WR}
2004年10月
1、构造上下文无关文法来生成语言
L1={ambncp:
m不等于n,且m、n、p>1}
L2={ambncp:
n不等于p,且m、n、p>1},并证明{{a,b,c}*-(L1∪L2)}不是上下文无关的
2、给出一个Turing包括转移关系等
根据给定的Turing的计算过程求出它所接受的语言L(M);并构造一个文法来生成L(M)
3、一个有关递归的判断题,并说出理由,有3句话。
4、一个根据语言描述来判定两个语言之间关系的选择题。
如1是2的真子集,2是1的真子集,1=2,1、2无任何关系。
2005年4月
1、判断题
2、判定下列语言是否为正则语言,请具体说出理由
L1={w1|w∈{a,b}*,Na(w)-Nb(w)mod3≠0}
L2={w1|w∈{a,b}*,Na(w)-Nb(w)≠0}这里Na(w)、Nb(w)分别表示字符串w中a,b的个数
3、给出上下文无关文法生成语言 L3={xcy|2|x|=|y|,x,y∈{a,b}*}
证明L4={aibjcidj:
i,j∈N,i,j≧1}不是上下文无关语言。
4、证明语言L5={“M”|Turing在空串e上停机}是非递归的,其中M表示TuringM的编码。
5、给定n个数,x1,x2,……xn,判定是否存在不同的i1,i2……ik,使满足下列两个条件:
(1)Xi1+Xi2+……Xik=(X1+X2+……Xn)/2
(2)Xi1+Xi2+……Xik不是素数,给出一个算法,并估计其计算时间,说明这个问题属于NP类,是给算法描述即可。
2006年4月
1、设上下文无关语言L={a}*
(1)假设L为无限语言,且上下文无关文法G生成该语言,即L=L(G)。
设K〉1为相对于文法G的泵定理常数,设r=k。
证明下列结论:
对于任意w∈L,如果|w|≧k,则{wam|n≧0}
L
(2)对于每个i(0≦i(3)证明如果L
{a}*为上下文无关语言,则L为正则语言
2、设语言L1={u
v},u、v∈{a,b}*则,|v|≦|u|≦2|v|
(1)给出一个上下文无关的文法生成语言L1
(2)给出一个下推自动机产生语言L1
3、分别给出满足条件的语言的例子,或说明其不存在
(1)该语言是递归的,但是它的补语言非递归
(2)该语言是递归可枚举的,但是它的补语言是递归
(3)该语言是递归可枚举的,它的补语言也是递归可枚举不存在
(4)该语言是递归可枚举的,它的补语言却非递归可枚举
若语言是递归的,则它是递归可枚举的。
如:
L={anbncn:
n≧0}
若L是递归语言则它的补也是递归的。
若L是递归可枚举语言,则它的补是非递归可枚举的。
4、语言L称为前缀封闭(Prefixclosed)定义如下:
对于任意w∈L都有w的所有前缀均属于L。
利用停机问题的规约证明下列语言。
H={“M”|L(M)为前缀封闭的}
5、说明如下问题:
ISO={|无向图Gi=(Vi,Ei)(i=1,2)同构}是NP的。
(只需要给出一个非形式化的描述)
下面是ISO的验证机V
V=“对输入
”
2007年4月
1、判断题(简单)
如:
字母表E上的语言是递归可枚举语言()
2、证明题
给定关系u~v的定义
(1)证明uv当且仅当vu
(2)证明具有这个关系的语言是正规的。
3、给出一个语言,(ww*,其中w*和w的转置至少有一个字母不一样)
(1)证明该语言是CFL
(2)给出PDA
4、给出一个问题()
(1)给出该问题的图灵算法
(2)证明该问题是NPC(规约到顶点覆盖问题)
2008年4月
1、L1和L2如果L1交L2正则,L1和L2是否均正则
2、设M是上下文无关语言,N为正则语言,M属于N是否可判定
3、存在能被图灵机计算的非原始递归函数
4、NP类问题 L={aibjck|i+k≧j},写出该语言的上下文无关文法和下推自动机
5、判断下列语言是否是正则的
(1)语言L=(a,b),其中a至少出现K次
(2)语言L=(a,b),其中a至多出现K次
6、判断一些语言是否是递归语言,还是递归可枚举
7、一个图的问题SAT多项式时间规约
图灵机 TuringMachine
图灵机的模型
掌握TM机器的构造方法:
识别语言的装置,用上下文无关语言表示不了的语言,可以用图灵机来表示;用有限自动机和下推自动机表示的语言,可以改造成用图灵机表示
递归&递归可枚举
判定&半判定
通用图灵机UTM
文法及分类
不可判定性,可判定,不可判定,停机问题,证明方法,关于TM的不可判定问题,
关于文法的不可判定问题,Rice定理
19、用归约说明{L(M)=e}不是递归的。
20、
21、找到一个数Pn;满足PnXn(Xn的M次方,不会表达)=P0X0+P1X1+…+
P(n-1)X(n-1)+P(n+1)X(n+1)+…+PmXm;
a) 计算时间复杂度;
b) 证明这是个P问题。
注:
括号里表示下标。