1、集合
序列
元组
函数
关系 图
串:字母表中符号的有穷序列
语言:是字符串的集合
2、DFA、NFA、NFA到DFA的转换,DFA、NFA的形式化五元组表达
3、正则表达式、正则表达式和NFA之间的转换、利用泵引理证明不是正则语言 4、上下文无关文法
下推自动机
乔姆斯基范式(基本概念)
CFG到下推自动机的转换
从右至左压入栈中
5、利用泵引理证明不是上下文无关语言 6、图灵机、
图灵可识别语言:接受、拒绝、循环
判定器:对所有输入都停机的图灵机,永不循环。
图灵可判定语言:能让图灵机停机的语言,接受或者拒绝
要求可以做简单的判定性证明(例如:ADFA、ACFG、HALT-TM、ETM)
7、可归约性。要求可以利用规约,完成简单的定理证明。
计算理论练习题
1、画出识别下述语言的DFA状态图,其中,字母表为{0,1}。 1){w|w从1开始且以0结束};
2){w|w含有至少3个1};
3){w|w含有子串0101};
q1的0自循环处考虑00
4){w|w的长度不小于3,并且第3个符号为0};
5){w|w从0开始且长度为奇数};
6){w | w是除11和111以外的任何字符};
7){w | w不含子串110};
2、写出下述语言的正则表达式。 1){w|w不含子串110}; (0∪10)*1*
2){w|w的长度不超过5};
ε∪∑∪∑∑∪∑∑∑∪∑∑∑∑∪∑∑∑∑∑ 3){w|w是除11和111外的任意串};
ε∪0∑*∪10 ∑*∪110 ∑*∪ 111 ∑ ∑* 包含11或111的串仍属于题设
4){w|w的奇数位均为1}; (1Σ)*( 1)
前一个括号为串长为偶数,加后一个则奇偶都可以
5){w|w含有至少2个0,并且至多含1个1}。 0*(00010001100) 0* 确保两个0一定在,并且最多1个1,不能在外面,即有可能为空 3、利用泵引理证明下述语言不是正则的。 1)A1={0n1n2n|n0};
证明:假设A1是正则的。设p是泵引理给出的关于A1的泵长度。
令S=012,
∵S是A1的一个成员且S的长度大于p,所以泵引理保证S可被分成3段S=xyz且满足泵引理的3个条件。根据条件3,y中只含0,xyyz中,0比1、2多,xyyz不是A1的成员。违反泵引理的条件1,矛盾。 ∴A1不是正则的。
2)A2={www|w{a,b}*};
证明:假设A2是正则的。设p是泵引理给出的关于A2的泵长度。
令S=ababab,
∵S是A2的一个成员且S的长度大于p,所以泵引理保证S可被分成3段S=xyz且满足泵引理的3个条件。根据条件3,y中只含a,所以xyyz中第一个a的个数将比后两个a的个数多,故xyyz不是A2的成员。违反泵引理的条件1,矛盾。 ∴A2不是正则的。
4、给出产生下述语言的上下文无关文法。 1){w|w至少包含3个1}; S→A1A1A1A
p
p
p
ppp
A→0A|1A|ε
2){w|w以相同的符号开始和结束}; S→0A0|1A1 A→0A|1A|ε
3){w|w的长度为奇数}。 S→0A|1A A→0B|1B|ε B→0A|1A
5、利用泵引理证明下述语言不是上下文无关的。 1){w#t|w,t{a,b}*,且w是t的子串};
假设该语言上下文无关,设p为泵长度,取S=0p1p#0p1p, 由泵引理知,S可以划分为uvxyz且满足泵引理条件。显然,v,y中不包含#,不然抽取后的S=uxz中将不含#从而不在该语言中。
子串vxy不能落在#的左侧,否则uv2xy2z中#左侧的字符串长度将大于右边。
子串vxy不能落在#的右侧,否则uxz中#左侧的字符串长度也会大于右边。
现在假设#ϵx,则必存在不全为0的i,j,使得vy=1i0j,下面分两种情况考虑:
② j≠0, 则uxz=0p1p-i#0p-j1p不在该语言中
②j=0, 则uv2xy2z中#左侧的字符串长度大于右边,不在该语言中。0p 1p-i 1i # 0j 0p-j 1p=uvxyz; 0p 1p-i 12i # 02j 0p-j 1p=uv2xy2z;
2){t1#t2##tk|k2,ti{a,b}*,且存在ij是的ti=tj}。
假设该语言上下文无关,设p为泵长度,取S=apbp#apbp, 由泵引理知,S可以划分为uvxyz且满足泵引理条件。显然,v,y中不包含#,不然抽取后的S=uxz中将不含#从而不在该语言中。
子串vxy不能落在#的左侧,否则uv2xy2z中#左侧的字符串长度将大于右边。
子串vxy不能落在#的右侧,否则uxz中#左侧的字符串长度也会大于右边。
于是vxy跨越#两侧.此时,S经抽取成uxz后,具有apbi#ajbp的形式,其中,i,j不全为p。(亦可为ap bp-i #ap-j bp,只是符号的不同,传达的意思都是p-i不等于p-j,是因为i与j是相等的)
因此,uxz不在该语言中。 综上该语言不是上下文无关的。
6、给出识别语言(01001010)*的NFA,将该NFA转化为等价的DFA。
7、已知DFA G如下图所示, 写出CONVERT(G)的结果,要求步骤
8、把下述正则表达式转换成非确定型自动机(NFA)。
a) (0∪1)*000(0∪1)* b) (((00)*(11))∪01)*
9、已知CFG G,如下: E→E+T|T T→T×E|F F→(E)|a
给出下述字符串的语法分析树和派生。 a. a b. a+a c. a+a+a d. ((a))
10、在下列每个输入串上,给出M所进入的格局序列: a. 0
b. 00 c. 000 d. 000000
因篇幅问题不能全部显示,请点此查看更多更全内容