九州大学 システム情報科学府 情報理工学専攻 2019年8月実施 オートマトンと言語
Author
Casablanca
Description
【問1】
決定性有限オートマトン M1=(P,Σ,δ1,p1,F1) を考える.
ただし,P, Σ, δ1, p1, F1 はそれぞれ M1 の状態集合,アルファベット,遷移関数,初期状態,最終状態の集合を表す.
P={p0,p1,p2,p3}, Σ={0,1,2,3}, F1={p0} であり,i=1,2,3,4 に対し δ1(pi,a)=p(i+n(a)) mod 4 である.
ここで n(a) は記号 a∈Σ に対応する整数であり,n(0)=0, n(1)=1, n(2)=2, n(3)=3 である.
非負の整数 x と正の整数 y に対し,x mod y は x を y で割ったときの余りを表す.
たとえば δ1(p1,3)=p0 となる.次の各問いに答えよ.
(1) M1 の状態遷移図を与えよ.
(2) 決定性有限オートマトン M2=(P,Σ,δ1,p1,F2) は,M1 と同じ状態集合,アルファベット,遷移関数,初期状態を持つ.
M2 と等価な決定性有限オートマトンの最小状態数が 2 であるとき,最終状態の集合 F2⊆P の例をひとつ与えよ.
(3) Σ 上の文字列 u に対して,
Y(u)={1Y(v)×n(a)if u is the empty string,if u=va,v∈Σ∗,a∈Σ.
とする.Y(u) mod 6=0 かつ Y(u)=0 となる u のみを受理する決定性有限オートマトン M3 を考える.
ただし,M3 の状態集合を {q0,q1,q2,q3,q6}, 初期状態を q1, 最終状態の集合を {q6} とする.
また,各状態は次のような文字列に対応する.
- q0 は Y(u)=0 を満たす文字列 u に対応.
- q1 は Y(u) mod 2=0 かつ Y(u) mod 3=0 を満たす文字列 u に対応.
- q2 は Y(u) mod 2=0 かつ Y(u) mod 6=0 を満たす文字列 u に対応.
- q3 は Y(u) mod 3=0 かつ Y(u) mod 6=0 を満たす文字列 u に対応.
- q6 は Y(u) mod 6=0 かつ Y(u)=0 を満たす文字列 u に対応.
M3 の状態遷移図を与えよ.
【問2】
アルファベット Σ={a,b} 上の文字列 w に対し,w の長さを ∣w∣ と表す.
また,1≤i≤∣w∣ に対して w[i] は w の i 番目の文字を表す.
w の逆文字列を wR と表す.
∣x∣=∣y∣≥1 を満たす Σ 上の文字列 x と y に対して,d(x,y)=∣{i∣1≤i≤∣x∣,x[i]=y[i]}∣ とする.
文字列 w に対し,w=xyz を満たす文字列 x,z∈Σ∗ が存在するとき,y を w の部分文字列という.
# は Σ に含まれない文字とする.
次の各言語を考える.
L0L1L2L3L4={w∣w∈Σ∗,w=wR}={wxwR∣w∈Σ∗,x∈Σ}={uxvw∣u,v,w∈Σ∗,uv=wR,x∈Σ}={uv∣u,v∈Σ∗,∣u∣=∣v∣≥1,d(uR,v)≤1}={x#w∣x,w∈Σ∗,xR is a substring of w}
これらの言語はすべて文脈自由言語である.例えば,言語 L0 は以下の生成規則を持つ文脈自由文法によって生成される.
S→aSa∣bSb∣a∣b∣ε
ただし,ε は空文字列を表す.
次の問いに答えよ.
(1) 言語 L1 を生成する文脈自由文法の生成規則を与えよ.ただし,非終端記号を S とし,開始記号を S とする.
(2) 言語 L2 を生成する文脈自由文法の生成規則を与えよ.ただし,非終端記号を S,T とし,開始記号を S とする.
(3) 言語 L3 を生成する文脈自由文法の生成規則を与えよ.ただし,非終端記号を S,T とし,開始記号を S とする.
(4) 言語 L4 を生成する文脈自由文法の生成規則を与えよ.ただし,非終端記号を S,T,X とし,開始記号を S とする.
Kai
【問1】
(1)
(2)
F2={p0,p2}
(3)
Y(u) mod 6≡0,Y(u)=0
【問2】
(1)
S→aSa∣bSb∣a∣b
(2)
ST→aSa∣bSb∣aT∣bT→aTa∣bTb∣ε
(3)
ST→aSa∣bSb∣ε∣aTb∣bTa→aTa∣bTb∣ε
(4)
STX→TX→aTa∣bTb∣#X→aX∣bX∣ε