计算理论模拟试题及答案

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

《计算理论》复习题

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→2

3、删除状态2

3、设语言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的形式定义、状态图,并非形式地描述它的运行。

6、设语言A={0n1 n 0n1 n | n≧0},利用泵引理证明A不是上下文无关的。

证明:假设A是上下文无关的。设p是泵引理给出的关于A的泵长度。

令字符串S=0p1 p 0p1 p,

∵S是A的一个成员且S的长度大于p,所以泵引理保证S可被分成5段S=uvxyz且满足泵引理的3个条件。字串vxy一定横跨S的中点,否则,如果vxy位于S的前一半,把S抽成uv 2 xy 2 z时,1移到后一半的第一个位置,因此uv 2 xy 2 z不可能是A的成员。如果vxy 位于S的后一半,把S抽成uv 2 xy 2 z时,0移到后一半的最后一个位置,因此uv 2 xy 2 z不可能是A的成员。如果字串vxy横跨S的中点,把S抽成u x y,它形如0p1 i 0j1 p,其中i 和j不可能等于p。于是,S不能被抽取,从而A不是上下文无关的。

7、设语言A={w | w至少含有3个1},字母表为{0,1}

a. 给出产生语言A 的上下文无关文法。

b. 给出产生语言A 的下推自动机的非形式描述和状态图。

解: a. S →A1A1A1A

A →0A|1A|

读输入中的符号。每读一个1,把一个1推入栈,每读1个0,不读栈也不写栈。同时非确定性地转移,并把1个1弹出栈。如果能转移三次,共弹出三个1,则接受这个输入,并继续读输入符号直至结束。否则拒绝这个输入。

8、检查图灵机的形式定义,回答下列问题并解释你的推理:

a. 图灵机能在它的带子上写下空白字符吗?

b. 图灵机能只包含一个状态吗?

解:a. 能。因为空白符属于带字母表;

B. 不能。因为q accept ≠q reject ,至少应有两个状态。

9、证明正则语言类在并运算下封闭。

10、设INFINITE DFA ={|A 是一个DFA ,且L(A)是一个无限语言}。证明INFINITE DFA 是可判定的。

证明:设计一个判定INFINITE DFA 的TM M 即可。

M=“对于输入,其中A 是一个DFA :

1) 按照引理2.32 证明中的构造方法,把DFA A 转换成等价的正则表达式。

2) 扫描正则表达式,如果包含星号运算符*,则接受;否则拒绝。”。

11、设B 是{0,1}上所有无限序列的集合,用对角化方法证明B 是不可数的。 ε,1→ε 1, ε→1 0, ε→ε ε,1→ε ε,1→ε

1, ε→ε 0, ε→ε

相关文档
最新文档