跳到主要内容

九州大学 システム情報科学府 情報理工学専攻 2017年8月実施 オートマトンと言語

Author

Zero

Description

【問1】

以下の遷移図を持つ非決定性有限オートマトン M=(K,Σ,δ,q0,F)M = (K,\Sigma,\delta,q_0,F) に対し, 次の各問いに答えよ。ただし, K={q0,q1,q2,q3,q4}K = \{q_0,q_1,q_2,q_3,q_4\}, Σ={a,b}\Sigma = \{a,b\}, δ\delta, q0q_0, F={q1,q2,q4}F = \{q_1,q_2,q_4\} は, それぞれ状態の集合, アルファベット, 遷移関数, 初期状態, 最終状態の集合を表す。MM によって受理される言語を LL とする。

(1) LL に含まれる長さ 44 の文字列をすべて列挙せよ。

(2) LL に含まれる任意の文字列を, 正規表現 (α+β)(α+β)(\alpha + \beta)(\alpha + \beta)^* を用いて表すことができる。ただし, α\alphaβ\beta はともに Σ\Sigma 上の文字列である。これらの文字列 α\alphaβ\beta を与えよ。

(3) wwΣ\Sigma 上の文字列とする。以下の 22 つの命題はそれぞれ真であるか偽であるか。真ならば理由を説明し, 偽ならば反例を与えよ。

  • (a) 「 wLw \in L ならば, bbbbww の部分文字列ではない。」

  • (b) 「 bbbbww の部分文字列でないならば, wLw \in L である。」

(4) LL を受理する状態数最小の決定性有限オートマトンの遷移図を与えよ。

【問2】

文脈自由文法 G1=(N,Σ,P1,S)G_1 = (N, \Sigma, P_1, S), G2=(N,Σ,P2,S)G_2 = (N, \Sigma, P_2, S) を考える. ただし,N={S,A,B}N = \{S, A, B\}, Σ={a,b,c}\Sigma = \{a, b, c\}, Pi (i=1,2)P_i \ (i = 1, 2), SS はそれぞれ非終端記号の集合,終端記号の集合,生成規則の集合,開始記号とする. ここで, P1={SAB,AabaAb,BcBc}P_1 = \{S \to AB, A \to ab \mid aAb, B \to c \mid Bc\}, P2={SAB,AaaA,BbBcbc}P_2 = \{S \to AB, A \to a \mid aA, B \to bBc \mid bc\} とする.

(1) G1G_1 による文字列 aabbcaabbc の導出過程を与えよ.

(2) G1G_1 が生成する言語 L(G1)L(G_1) に含まれる文字列を説明せよ.

(3) G2G_2 が生成する言語 L(G2)L(G_2) に含まれる文字列を説明せよ.

(4) 言語 L(G1)L(G2)L(G_1) \cup L(G_2) を生成する文脈自由文法 G3=(N3,Σ,P3,S)G_3 = (N_3, \Sigma, P_3, S) の生成規則の集合 P3P_3 を与えよ.ただし, N3={S,A,B,C,D}N_3 = \{S, A, B, C, D\}.

题目描述

【问题 1】给定非确定性有限自动机 M=(K,Σ,δ,q0,F)M=(K,\Sigma,\delta,q_0,F),其中 K={q0,q1,q2,q3,q4}K=\{q_0,q_1,q_2,q_3,q_4\}Σ={a,b}\Sigma=\{a,b\}、初始状态为 q0q_0、终态集合 F={q1,q2,q4}F=\{q_1,q_2,q_4\}δ\delta 及其余转移关系见原题迁移图。记 MM 接受的语言为 LL。回答:

  1. 枚举 LL 中所有长度为 44 的字符串。
  2. LL 中任意字符串都可用正则表达式 (α+β)(α+β)(\alpha+\beta)(\alpha+\beta)^* 表示,其中 α,β\alpha,\beta 均为 Σ\Sigma 上的字符串;求 α\alphaβ\beta
  3. 对任意 Σ\Sigma 上的字符串 ww,分别判断下列命题真假;若为真须说明理由,若为假须给出反例:
    • (a) 若 wLw\in L,则 bbbb 不是 ww 的子串;
    • (b) 若 bbbb 不是 ww 的子串,则 wLw\in L
  4. 画出接受 LL 且状态数最少的确定性有限自动机的迁移图。

【问题 2】考虑上下文无关文法 G1=(N,Σ,P1,S)G_1=(N,\Sigma,P_1,S)G2=(N,Σ,P2,S)G_2=(N,\Sigma,P_2,S),其中 N={S,A,B}N=\{S,A,B\}Σ={a,b,c}\Sigma=\{a,b,c\}SS 为开始符号,且

P1={SAB, AabaAb, BcBc},P_1=\{S\to AB,\ A\to ab\mid aAb,\ B\to c\mid Bc\},
P2={SAB, AaaA, BbBcbc}.P_2=\{S\to AB,\ A\to a\mid aA,\ B\to bBc\mid bc\}.

回答:

  1. 给出 G1G_1 推导字符串 aabbcaabbc 的过程。
  2. 描述 G1G_1 生成的语言 L(G1)L(G_1) 中的字符串。
  3. 描述 G2G_2 生成的语言 L(G2)L(G_2) 中的字符串。
  4. 构造生成并集语言 L(G1)L(G2)L(G_1)\cup L(G_2) 的上下文无关文法 G3=(N3,Σ,P3,S)G_3=(N_3,\Sigma,P_3,S):已知 N3={S,A,B,C,D}N_3=\{S,A,B,C,D\},求产生式集合 P3P_3

Kai

【問1】

(1)

bb で終わることがない、かつ bb を連続で含まないことが条件になっているので

aaaa,aaba,abaa,baaa,babaaaaa,aaba,abaa,baaa,baba

(2)

(1) を基に考えると

α=a,β=ba\alpha = a,\beta = ba

(3)

(a)

真;

理由:(2) より Σ\Sigma 上の文字列 ww は, (a+ba)(a+ba)(a + ba)(a + ba)^* と表せるので、bb の後に連続して bb がくることがないから。

(b)

偽;

反例:abab

(4)

ab
\rightarrowq0q_0q1q_1q3q_3
*q1q_1q1q_1q3q_3
*q2q_2q1q_1q3q_3
q3q_3{q1,q4}\{q_1,q_4\}\emptyset
*q4q_4q1q_1q3q_3
\emptyset\emptyset\emptyset

上の表から q1,q2,{q1,q4}q_1,q_2,\{q_1,q_4\} が等しいことがわかる。また、q4q_4 はどの状態からも遷移先になっていないことが。

よって、遷移表は以下のようになる。

ab
\rightarrowq0q_0q1q_1q3q_3
*q1q_1q1q_1q3q_3
q3q_3q1q_1\emptyset
\emptyset\emptyset\emptyset

ゆえに、求める状態数最小の決定性有限オートマトン aa 遷移図は

【問2】

(1)

SABaAbcaabbcS \to AB \to aAbc \to aabbc

(2)

L(G1)={anbncmn1,m1}L(G_1) = \{a^n b^n c^m \mid n \geq 1, m \geq 1\}

(3)

L(G2)={ambncnm1,n1}L(G_2) = \{a^m b^n c^n \mid m \geq 1, n \geq 1\}

(4)

P3={SABCDAabaAbBcBcCaaCDbDcbc}\begin{aligned} P_3 = \{&S \to AB \mid CD \\ &A \to ab \mid aAb \\ &B \to c \mid Bc \\ &C \to a \mid aC \\ &D \to bDc \mid bc \} \end{aligned}