跳到主要内容

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

Author

Zero, 祭音Myyura

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) より wLw \in L ならば、ww(a+ba)(a+ba)(a + ba)(a + ba)^* と表せるので、bb の後に連続して bb がくることがないから。

(b)

偽;

反例:abab

(4)

部分集合構成により、到達可能な状態だけを列挙する。原図では δ(q3,a)={q2,q4}\delta(q_3,a)=\{q_2,q_4\}δ(q4,a)={q2}\delta(q_4,a)=\{q_2\}δ(q4,b)=\delta(q_4,b)=\emptyset である。

状態aabb
開始{q0}\{q_0\}{q1}\{q_1\}{q3}\{q_3\}
受理{q1}\{q_1\}{q1}\{q_1\}{q3}\{q_3\}
{q3}\{q_3\}{q2,q4}\{q_2,q_4\}\emptyset
受理{q2,q4}\{q_2,q_4\}{q1,q2}\{q_1,q_2\}{q3}\{q_3\}
受理{q1,q2}\{q_1,q_2\}{q1}\{q_1\}{q3}\{q_3\}
\emptyset\emptyset\emptyset

三つの受理状態は同値なので一つの状態 AA にまとめられる。

状態aabb
開始q0q_0AAq3q_3
受理AAAAq3q_3
q3q_3AA\emptyset
\emptyset\emptyset\emptyset

受理状態と他の状態は空語で区別できる。q0q_0q3q_3 は接尾語 baba で、これらと \emptyset は接尾語 aa で区別できる。したがって四状態が最小である。以下の図では AAq1q_1 と表記している。

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

【問2】

(1)

SABaAbBaAbcaabbcS \to AB \to aAbB \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}