当前位置: 首页>編程日記>正文

【非官方】哈工大2022 形式语言与自动机试题解析

【非官方】哈工大2022 形式语言与自动机试题解析

写在前面:

1. 笔者给出的答案仅供参考,不完全正确,不代表官方答案。欢迎同学们纠错,看到之后会第一时间更新。

2. 感谢同学提供的期末试题回忆版,同学也在博客最后总结了一些比较容易被忽略的易错点,很值得学习借鉴。原文链接附在下方:哈工大本部2022形式语言与自动机期末试题_weixin_52027058的博客-CSDN博客_哈工大 形式语言与自动机https://blog.csdn.net/weixin_52027058/article/details/124738005?spm=1001.2014.3001.55013. 由于笔者在复习时没有找到往年试题的解析,不希望学弟学妹们也遇到这种情况;再加上期末发挥得也算不错,所以博主在这里提供一份解题思路与作答结果,以供参考。

正文部分:

第一题:

(因为当时备考时只有19,20两年的期末试题,而这两套卷子的DFA, NFA题都很简单,所以博主低估了这两题的难度,在刚作答试卷的时候有一点被前两题弄得束手无策,后来先去做了第三题···)

解题思路:

        既包含00,又包含11的串,无非是两种可能:先出现00,后出现11;先出现11,后出现00.而第一个字符不是0就是1,故在开始时即可分支处理。注意在匹配一个字符后匹配第二个字符失败时的  “转移”(对应作答结果里q1读入1,q4读入0的情况)以及  “回退”(q3读入0,q6读入1的情况)。最后的接受状态为了简洁可以合并。

作答结果:

第二题:

解题思路:

        01,10出现的次数相等乍一听有点难以统计,但是考虑一些满足这个条件的字符串:010,0100010,1111110001,我们会发现:首末字符一样的字符串均满足这个条件。举个例子:你可以自由地在河的两岸走动,但只有当你的起点和终点在一侧时,去的次数和回的次数才相等。有了这个等价转化之后,题目就变得简单了,设计NFA即可。

        注意一点:e, 0, 1以及0^n, 1^n也满足上述情况,千万不要忽略。

作答结果:

第三题:

解题思路:

(回忆版的期末试题第1小问符号集应该是给错了,换为a, b即可,不影响做题)

        1)有两种情况:含有两对aa以及含有一个aaa。都是很简单的正则表达式,无须赘述。在考试时因为保证绝对正确,没有进行化简。

        2)不以aa, bb结尾,那就写出以ab, ba结尾的字符串。注意一点:e, a, b也满足条件。

作答结果: 

第四题:

解题思路:

        利用泵引理证明语言非正则的题目,套用泵引理的步骤即可,对于N,选用0^N1^N进行泵引理即可。(0^n1^n也是一个很典型的非正则的例子,课上也提到过)

作答结果:

        具体步骤略,按步骤操作即可。

第五题:

解题思路:

        本质是利用DFA证明正则语言同态的封闭性(老师说上课讲过的定理的证明不考?)要熟记DFA的五元组(NFA, PDA, TM也是一样,即用符号语言描述自动机,这里容易被忽视)。

        使用定理:正则语言与DFA的等价性,即任意正则语言都有其对应的DFA,设接受L的DFA D,再设计接受h(L)的DFA Dh,证明充要性即可。

作答结果:

        (笔者考试时描述Dh的转移函数时符号表达很模糊,并且个人认为自己对于充要性的证明也是非常“象征性”,再加上距离考试已经过去了近两个月(写于6.28 夜),所以本题答案不保证准确,欢迎同级同学和学弟学妹提供更好的作答)

第六题:

(温馨提示:书写产生式时,“|” 符号和字符 “1” 要有区分度,这样对大家都好···)

解题思路:

        利用CFG构造语言,构造出两串相等长度的0,在中间用含1的串隔离开,再在左右添加其他的串即可,故分为ABCBD五部分,B是构造的两串相等的0,C是隔离的串,可以为1或1x···x1,总之接触到相等0串的字符都为1,A&D是两旁添加的串,同样与相等0串接触的部分都要为1,或者直接空串。

作答结果:

第七题:

解题思路:

        给定语言构造DPDA,构造的难度远小于在考试之前熟记DPDA的难度(),如果复习到PDA定义或者做过DPDA的题就好说,没有的话···

        目标语言为a^nb^2n+1,自然想到用一个a入栈生成两倍的a,然后用b来消栈达到二倍的目的,最后多出来的b用来消除栈底符号S0/Z0,再结合DPDA的概念设计即可。

作答结果:

第八题:

(不用担心这种题后一问是基于前一问基础还是基于题目,考试会给出说明(甚至还会加粗注明···))

解题思路:

        没有技术性,只是单纯的体力劳动,按上课教的方法操作即可。

作答结果:

第九题:

(回忆版没有具体题目,但好在又是一道体力劳动的题目,按上课教的方法操作即可,考试的PDA也很简单,笔者甚至还手撕了PDA验证了一下··· 另外博主记得考试时要求转换为CFG,但是前面有一个c开头的单词修饰,博主考试时不知道这个单词的意思,以防万一直接把产生的CFG也给化简了)

ps. 这个流程有那么一些难背,建议熟记或者考试在发演草纸后赶紧写一遍(

解题思路:无

作答结果:无 

第十题:

(图灵机的题目比较复杂,强烈建议作答完成后细致地检查一下)

解题思路:

        分次处理,识别到一个a后,先将a替换为终止符B,而后分j次识别,每次识别1对b, c,其中每一次都是寻找最左边的b和最右边的c,并将其分别替换为Y, B(b不替换为B是为了重复使用)。在j次识别结束后,将Y重新替换为b,准备下一轮识别。最后会出现三种情况:① i*j=k 时,此时的字符串为BBB···Bbb···bbBBB···BB,此时将所有的b替换为B后进入终态即可。② i*j<k 时,此时的字符串为BB···Bbb···bbcc···cBB···B的形式,和①采取相同的方法,但会发现在识别到多余的c的时候,图灵机卡死,所以不接收。③ i*j>k 时,图灵机在遍历的时候就会卡死,所以也不会接收。 

作答结果:


https://www.fengoutiyan.com/post/14829.html

相关文章:

  • 自动机和形式语言
  • 形式语言与自动机理论考试
  • 自动控制理论考研真题
  • 自动化考研真题
  • 哈尔滨工业大学自动化考研科目
  • 形式语言与自动机理论
  • 形式语言与自动机学啥的
  • 西安工业大学自动控制原理真题
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機