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

形式语言与自动机 第四章 课后题答案

形式语言与自动机 第四章 课后题答案

在这里插入图片描述
考点:文法⇒推导树

解:(1)

在这里插入图片描述
(2)
在这里插入图片描述
(3)

在这里插入图片描述

在这里插入图片描述
考点:文法⇒最左/右推导

解:最左推导:E⇒lmE+T⇒lmT+T⇒lmF+T⇒lmb+T⇒lmb+T/F⇒lmb+F/F⇒lmb+b/F⇒lmb+b/bE⇒_{lm} E+T⇒_{lm} T+T⇒_{lm} F+T⇒_{lm} b+T⇒_{lm} b+T/F⇒_{lm} b+F/F⇒_{lm} b+b/F⇒_{lm} b+b/bElmE+TlmT+TlmF+Tlmb+Tlmb+T/Flmb+F/Flmb+b/Flmb+b/b

最右推导:E⇒rmE+T⇒rmE+T/F⇒rmE+T/b⇒rmE+F/b⇒rmE+b/b⇒rmT+b/b⇒rmF+b/b⇒rmb+b/bE⇒_{rm} E+T⇒_{rm} E+T/F⇒_{rm} E+T/b⇒_{rm} E+F/b⇒_{rm} E+b/b⇒_{rm} T+b/b⇒_{rm} F+b/b⇒_{rm} b+b/bErmE+TrmE+T/FrmE+T/brmE+F/brmE+b/brmT+b/brmF+b/brmb+b/b

在这里插入图片描述
考点:文法二义性证明
解:画出语言 aaabaaaabaaaaba 的2颗推导树如下:
在这里插入图片描述
在这里插入图片描述
同一文法可画出2个不同的推导树,因此该文法具有二义性。

在这里插入图片描述
考点:语言⇒上下文无关文法(设计上下文无关文法)

解:(1)考虑在产生相同数目的0,1后,再生成多余的1.
G=({S},{0,1},P,S)G=(\{S\},\{0,1\},P,S)G=({S},{0,1},P,S),其中P为:S→1S0∣1S∣10S→1S0|1S|10S1S01S10

(2)考虑将0和1的部分拆开G=({S,A},{0,1},P,S)G=(\{S,A\},\{0,1\},P,S)G=({S,A},{0,1},P,S),其中P为:
S→1A1∣1S1S→1A1|1S1S1A11S1
A→00A∣00A→00A|00A00A00(服务 02m0^{2m}02m

(3)考虑将语言拆为2部分G=({S,A,B},{0,1},P,S)G=(\{S,A,B\},\{0,1\},P,S)G=({S,A,B},{0,1},P,S),其中P为:
S→ABS→ABSAB(拆为2部分)
A→1A0∣10A→1A0|10A1A010
B→1B0∣10B→1B0|10B1B010

在这里插入图片描述
考点:消除无用符号

解:(1)首先使用算法1,得到非生成符号C,删去C及其生成式有:
S→EDS→EDSED

D→aD→aDa

E→bE→bEb

使用算法2,发现没有不可达符号,因此等价文法为:G=({S,D,E},{a,b},P,S)G=(\{S,D,E\},\{a,b\},P,S)G=({S,D,E},{a,b},P,S),其中P:
S→EDS→EDSED

D→aD→aDa

E→bE→bEb

(2)首先使用算法1,得到非生成符号C,删去C及其生成式有:
S→DS→DSD

D→bS∣bD→bS|bDbSb

E→DS∣bE→DS|bEDSb

使用算法2,发现不可达符号E,删去E及其生成式。因此等价文法为:G=({S,D}.{b},P,S)G=(\{S,D\}.\{b\},P,S)G=({S,D}.{b},P,S),其中P:
S→DS→DSD

D→bS∣bD→bS|bDbSb

在这里插入图片描述
考点:消空产生式

解:根据算法得,可得致空符号有:D、E、C、SD、E、C、SDECSSSS 也为致空符号,因此加入 S1→S∣εS_1→S|εS1Sε,对于 S→DCES→DCESDCE 有:S→DCE∣CE∣DE∣DC∣D∣C∣ES→DCE|CE|DE|DC|D|C|ESDCECEDEDCDCE。因此消空后的等价文法为:G1=({S1,S,C,D,E},{a,b},P,S1)G_1=(\{S_1,S,C,D,E\},\{a,b\},P,S_1)G1=({S1,S,C,D,E},{a,b},P,S1),其中 PPP
S1→S∣εS_1→S|εS1Sε

S→DCE∣CE∣DE∣DC∣D∣C∣ES→DCE|CE|DE|DC|D|C|ESDCECEDEDCDCE

D→CC∣CD→CC|CDCCC

C→EE∣E∣bC→EE|E|bCEEEb

E→DD∣D∣aE→DD|D|aEDDDa

在这里插入图片描述
考点:简化CFG(消无用→消空→消单→消无用 )

解:首先消无用符号,利用算法1发现没有非生成符号,再利用算法2也没有发现不可达符号。

再消致空符号,利用算法发现所有符号都为致空符号。SSS 为致空符号,因此将 S1→S∣εS_1→S|εS1Sε 加入P,P变为:
S1→S∣εS_1→S|εS1Sε

S→A1∣A2S→A_1 |A_2SA1A2

A1→A3∣A4A_1→A_3 |A_4A1A3A4

A2→A4∣A5A_2→A_4 |A_5A2A4A5

A3→S∣bA_3→S|bA3Sb

A4→S∣aA_4→S|aA4Sa

A5→S∣dA_5→S|dA5Sd

再消除单产生式,构造 NS,NAi,i=1,2,3,4,5N_S,N_{A_i},i=1,2,3,4,5NS,NAi,i=1,2,3,4,5,产生式的关系如下图:
在这里插入图片描述
因此P为:
S1→a∣b∣d∣εS_1→a|b|d|εS1abdε

S→a∣b∣dS→a|b|dSabd

A1→a∣b∣dA_1→a|b|dA1abd

A2→a∣b∣dA_2→a|b|dA2abd

A3→a∣b∣dA_3→a|b|dA3abd

A4→a∣b∣dA_4→a|b|dA4abd

A5→a∣b∣dA_5→a|b|dA5abd

最后消去无用符号,利用算法1发现没有非生成符号;再用算法2发现只有 S1S_1S1 为可达符号,删去其他符号及其产生式得到文法 G1=({S1},{a,b,d},P,S1)G_1=(\{S_1 \},\{a,b,d\},P,S_1)G1=({S1},{a,b,d},P,S1),其中P为 S1→a∣b∣d∣εS_1→a|b|d|εS1abdε

在这里插入图片描述
考点:转换为CNF(Chomsky范式)

解:首先删除无用符号,利用算法1发现没有非生成符号,再利用算法2发现没有不可达符号;
再删除致空符号,利用算法发现S为致空符号,将 S1→ε∣SS_1→ε|SS1εS加入到P中,此时P为:
S1→ε∣SS_1→ε|SS1εS

S→ASB∣ABS→ASB|ABSASBAB

A→aAS∣aA∣aA→aAS|aA|aAaASaAa

B→SBS∣SB∣BS∣A∣bbB→SBS|SB|BS|A|bbBSBSSBBSAbb

再消单产生式,单产生式有:S1→S,B→AS_1→S,B→AS1S,BA,因此此时P变为:
S1→ε∣ASB∣ABS_1→ε|ASB|ABS1εASBAB

S→ASB∣ABS→ASB|ABSASBAB

A→aAS∣aA∣aA→aAS|aA|aAaASaAa

B→SBS∣BS∣SB∣bb∣aAS∣aA∣aB→SBS|BS|SB|bb|aAS|aA|aBSBSBSSBbbaASaAa

再消去无用符号,利用算法1、2发现没有无用符号。
最后转换为CNF:对 S1→ε∣AB,S→AB,A→a,B→BS∣SB∣aS_1→ε|AB,S→AB,A→a,B→BS|SB|aS1εAB,SAB,Aa,BBSSBa 为CNF,加入到P中。
S1→ASBS_1→ASBS1ASB 变换为 S1→AC,C→SBS_1→AC,C→SBS1AC,CSB
S→ASBS→ASBSASB 变换为 S→ACS→ACSAC
A→aAS∣aAA→aAS|aAAaASaA 变换为 A→ED,A→EA,D→AS,E→aA→ED,A→EA,D→AS,E→aAEDAEADASEa
B→SBS∣aAS∣aA∣bbB→SBS|aAS|aA|bbBSBSaASaAbb 变换为 B→CS,B→ED,B→EA,B→FF,F→bB→CS,B→ED,B→EA,B→FF,F→bBCSBEDBEABFFFb

由此得到文法 G1=({S1,S,A,B,C,D,E,F},{a,b},P1,S1)G1=(\{S_1,S,A,B,C,D,E,F\},\{a,b\},P_1,S_1)G1=({S1,S,A,B,C,D,E,F},{a,b},P1,S1),其中 P1P_1P1 为:
S1→AB∣ε∣ACS_1→AB|ε|ACS1ABεAC

S→AB∣ACS→AB|ACSABAC

A→ED∣EA∣aA→ED|EA|aAEDEAa

B→BS∣SB∣a∣CS∣ED∣EA∣FFB→BS|SB|a|CS|ED|EA|FFBBSSBaCSEDEAFF

C→SBC→SBCSB

D→ASD→ASDAS

E→aE→aEa

F→bF→bFb
在这里插入图片描述
考点:转换为CNF(Chomsky范式)

解:先消除无用符号,利用算法1、2发现没有无用符号;再消致空符号,利用算法发现致空符号为A,B,因此P变为:
S→0BB∣0B∣1AA∣1A∣0∣1S→0BB|0B|1AA|1A|0|1S0BB0B1AA1A01

B→0B0∣00B→0B0|00B0B000

A→11A∣11A→11A|11A11A11

此时没有单产生式和无用符号,转换为CNF:S→0∣1S→0|1S01为CNF,加入到P中
S→0BBS→0BBS0BB 变换为 S→CB,C→DB,D→0S→CB,C→DB,D→0SCBCDBD0
S→0BS→0BS0B 变换为 S→DBS→DBSDB
S→1AAS→1AAS1AA 变换为 S→EAS→EASEAE→FAE→FAEFAF→1F→1F1
S→1AS→1AS1A 变换为 S→FAS→FASFA
B→0B0B→0B0B0B0 变换为 B→CDB→CDBCD
B→00B→00B00 变换为 B→DDB→DDBDD
A→11AA→11AA11A 变换为 A→FEA→FEAFE
A→11A→11A11 变换为 A→FFA→FFAFF

由此得到的文法为:G1=({S,A,B,C,D,E,F,G},{0,1},P1,S)G1=(\{S,A,B,C,D,E,F,G\},\{0,1\},P_1,S)G1=({S,A,B,C,D,E,F,G},{0,1},P1,S),其中 P1P_1P1 如下:
S→CB∣DB∣EA∣FA∣0∣1S→CB|DB|EA|FA|0|1SCBDBEAFA01

A→FE∣FFA→FE|FFAFEFF

B→CD∣DDB→CD|DDBCDDD

C→DBC→DBCDB

D→0D→0D0

E→FAE→FAEFA

F→1F→1F1

在这里插入图片描述
考点:转换为GNF(Greibach范式)

解:题给产生式为CNF,N排序为 S,DS,DS,D,其中D为高位,第2个式子右边首符序号>左边的N,需要变换,将1式代入2式中有:D→DDS∣aS∣bD→DDS|aS|bDDDSaSb

消除直接左递归,D→aS∣b∣asD′∣bD′,D′→DS∣DSD′D→aS|b|asD'|bD',D'→DS|DSD'DaSbasDbD,DDSDSD

进行回代,此时N排序为 D′,S,DD',S,DD,S,D,其中D为高位:
D’D’D 回代入SSSS→aSD∣bD∣aSD′D∣bD′D∣aS→aSD|bD|aSD'D|bD'D|aSaSDbDaSDDbDDa
DDD 回代入D’D’DD′→aSS∣bS∣asD′S∣bD′S∣aSSD′∣bSD′∣asD′SD′∣bD′SD′D'→aSS|bS|asD'S|bD'S|aSSD'|bSD'|asD' SD'|bD'SD'DaSSbSasDSbDSaSSDbSDasDSDbDSD

在这里插入图片描述
考点:2 型文法⇒PDA

解:(1)
在这里插入图片描述
(2)
在这里插入图片描述
在这里插入图片描述
考点:语言⇒文法(设计文法);文法的二义性

解:G=({S,A,B,C,D},a,b,c,P,S)G=(\{S,A,B,C,D\},{a,b,c},P,S)G=({S,A,B,C,D},a,b,c,P,S)
S→AD∣BCS→AD|BCSADBC

A→aA∣εA→aA|εAaAε

B→aBb∣εB→aBb|εBaBbε

C→cC∣εC→cC|εCcCε

D→bDc∣εD→bDc|εDbDcε
有二义性,当 i=j=ki=j=ki=j=k 时,存在 2 颗推导树,如 abc∈Labc∈LabcL
在这里插入图片描述
在这里插入图片描述
考点:泵浦引理

解:(1)假设是 CFL。利用泵浦引理,取常数 p,ω=0p21p,∣ω∣=p2+p≥pω=0^{p^2}1^p,|ω|=p^2+p≥pω=0p21pω=p2+pp,将 ω 写为 ω1ω2ω0ω3ω4ω_1ω_2ω_0ω_3ω_4ω1ω2ω0ω3ω4,其中 ω2ω3≠εω_2ω_3≠εω2ω3=ε∣ω2ω0ω3∣≤p|ω_2ω_0ω_3|≤pω2ω0ω3p,下面考虑 ω2ω0ω3ω_2ω_0ω_3ω2ω0ω3ωωω 中所处的位置:
①当 ω2,ω3ω_2,ω_3ω2,ω3 都只包含 0 (1 同理) 时,ω1ω20ω0ω30ω4ω_1ω_2^0 ω_0ω_3^0ω_4ω1ω20ω0ω30ω4 的 0 部分长度减少,1 部分长度不变,明显不属于 L,与 CFL 的假设矛盾。
②当 ω2,ω3ω_2,ω_3ω2,ω3 自身不能横跨 0p21p0^{p^2}1^p0p21p时,否则 01 顺序会乱,因此只能是 ω2ω_2ω2 在0 部分,ω3ω_3ω3在 1 部分。假设 |ω2∣=k1≥1,∣ω3∣=k2≥1ω_2|=k_1≥1,|ω_3|=k_2≥1ω2=k11,ω3=k21,则取 ω1ω20ω0ω30ω4,(p−k2)2≤(p−1)2=p2−2p+1<p2−k1ω_1ω_2^0 ω_0ω_3^0ω_4, (p-k_2)^2≤(p-1)^2=p^2-2p+1<p^2-k_1ω1ω20ω0ω30ω4(pk2)2(p1)2=p22p+1<p2k1。因此 ω∉Lω∉Lω/L,与 CFL 的假设矛盾。
综上所述,不是 CFL。

(5)假设是 CFL,利用泵浦引理。取常数 p,ω=xxω=xxω=xx ω=0p1p0p1p,∣ω∣=4p≥pω=0^p 1^p 0^p 1^p,|ω|=4p≥pω=0p1p0p1pω=4pp,将 ωωω 写为 ω1ω2ω0ω3ω4ω_1ω_2ω_0ω_3ω_4ω1ω2ω0ω3ω4,其中 ω2ω3≠εω_2ω_3≠εω2ω3=ε∣ω2ω0ω3∣≤p|ω_2ω_0ω_3|≤pω2ω0ω3p。下面考虑 ω2ω0ω3ω_2ω_0ω_3ω2ω0ω3ωωω 中所处的位置:
①当 ω2,ω3ω_2,ω_3ω2,ω3 位于同一 0(1 同理)时,ω1ω20ω0ω30ω4ω_1ω_2^0 ω_0ω_3^0ω_4ω1ω20ω0ω30ω4ω2,ω3ω_2,ω_3ω2,ω3 部分长度减少,明显不属于L,与 CFL 的假设矛盾;
②当 ω2ω0ω3ω_2ω_0ω_3ω2ω0ω3 横跨0和1时,ω1ω20ω0ω30ω4ω_1ω_2^0 ω_0ω_3^0ω_4ω1ω20ω0ω30ω4ω2,ω3ω_2,ω_3ω2,ω3 所在部分长度改变 ≠p≠p=p,明显不属于L,与 CFL 的假设矛盾;
综上所述,不是 CFL。

在这里插入图片描述
考点:设计 PDA

解:(1)
在这里插入图片描述
(2)
在这里插入图片描述
(3)
在这里插入图片描述
(4)容易写出文法:S→0S1∣0S11∣εS→0S1|0S11|εS0S10S11ε,将文法转换为 PDA:
在这里插入图片描述

(5)
在这里插入图片描述
q1q_1q1 表示 1 的个数>0 的个数,q2q_2q2 表示 0 的个数>1 的个数


https://www.fengoutiyan.com/post/14836.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尋找肇事司機