2024.5.20更新 发现有其他同学整理出来了一版更清晰的http://t.csdnimg.cn/mmYSN
由于距离考试已经过了几天,所以回忆的可能不是很准确,会有些出入,不过题型大致是这样。有些题干挺长的,我就直接按我的理解简述,同学们谨慎参考,同时由于本门课对我们专业是考查课,所以我的思路未必正确,不必受我误导。
1.构造DFA 字母表为{0,1,2} ,给出一些连续的串,例如w1=0212,那么他们的和f(w1)就为5。请构造一个DFA能够接受L={w|f(w) mod 5 == 0}
我的思路是仿照老师PPT上求mod3的那个DFA
原谅,有点记不清右边集合的具体n标在什么位置了,不过印象中这道题不难
3.构造正则表达式 字母表为{a,b}。连续的相同字符组合在一起称为游程,例如abbbaab 中只包含两个游程,分别为长度为3的b游程和长度为2的a游程(题干是简述)
(1)语言中包含不多于两个长度为3的a游程
(2)没有超过2的a游程出现
我的思路是用(b+ba+baa+baaaaa*)*隔离
5.一道很简单的由NFA转化为DFA的题目,只有两个状态,所以基本上只要了解这个知识点就能做出来
6.构造文法表示 L={xayb||x|==|y|}
我的思路是分为两边S->Ab,然后A对称生成即可
注意是DPDA哈,需要对空串,只有a,只有b三种情况做特殊讨论,不能直接甩过去,只有a的时候注意是偶数次
8.一道文法化简题目,第一问去掉ε-产生式,第二问去掉单元产生式,第三问转化成乔姆斯基范式(难度跟老师PPT上举得例子差不多,文法总共好像只有三行)
9.设形如A->ε,A->a,A->aBc这三种情况的文法是对称线性文法,请证明正则语言可以转化为对称线性文法(题干后面附提示:仿照PDA转化为文法的过程,将正则语言转化为DFA,之后考虑转化为文法,只需要提供方法即可,不必证明正确性)
我的方法感觉不对,所以不提了......
这道倒是比较常规,我的思路是在1后面把0复制一遍,然后倒回去把1也转化为0