大阪大学 情報科学研究科 情報工学 2026年8月実施 4. 【選択問題】計算理論
Author
xxxuuu
Description
配点:(1-1) 10,(1-2) 20,(1-3) 30,(2) 25,(3-1) 10,(3-2) 30
文脈自由文法(context-free grammar)を G=(V,T,R,S) で表す。V は変数(variable)の有限集合(finite set)を表し,T は終端記号(terminal symbol)の有限集合を表す。R は生成規則(production rule)の有限集合を表し,S は開始記号(start symbol)を表す。生成規則は頭部(head)A∈V および本体(body)B∈(V∪T)∗ からなり,A→B と表記する。∗ はスター(star)演算を表す。
最終状態による受理(acceptance by final state)を行う非決定性プッシュダウンオートマトン(non-deterministic pushdown automaton)を NPDA と呼ぶものとし,P=(Q,Σ,Γ,δ,q0,Z,F) で表す。Q は状態(state)の有限集合を表し,Σ は入力記号(input symbol)の有限集合を表す。Γ はスタック記号(stack symbol)の有限集合である。δ:Q×(Σ∪{ε})×Γ→P(Q×Γ∗) は遷移関数(transition function)を表す。ε は空文字列(empty string)であり,P(Q×Γ∗) は Q×Γ∗ のべき集合(power set)である。(q′,X)∈δ(q,s,γ) は,スタックの上端に γ があるとき,状態 q にある P が入力 s を読んで,スタックから γ を取り除き(pop),列 X の右側の記号から順にスタックに押し込んで(push),次状態 q′ に遷移できることを意味する。s=ε の場合は,P は入力を読まずにスタック操作と遷移を行える。X=ε ならば,P はスタックに記号を押し込まない。q0∈Q は初期状態(initial state)を表し,Z∈Γ はスタックの開始記号(initial pushdown symbol)を表す。F⊆Q は最終状態の集合である。
アルファベット(alphabet)A 上の文字列(string)w∈A∗ に対し,w に含まれる記号 a∈A の数を Na(w) とする。
以下の各問に答えよ。
(1)
以下に定義する文脈自由文法 G1 が生成する,アルファベット {0,1} 上の言語(language)を L1 とする。
G1=({S},{0,1},R1,S)
R1={S→0S1, S→SS, S→1S0, S→ε}
以下の各小問に答えよ。
(1-1)
L1 に属する長さ4以下の文字列を全て示せ。
(1-2)
L1 に属する任意の文字列 w について,N0(w)=N1(w) が成り立つことを帰納法(induction)で証明せよ。
(1-3)
L1 を受理する NPDA P1=({q0,q1},{0,1},{0,1,Z},δ1,q0,Z,{q1}) を構成したい。全ての (q,s,γ)∈{q0,q1}×{0,1,ε}×{0,1,Z} について δ1(q,s,γ) を列挙することで,δ1 を定義せよ。ただし,δ1(q0,0,Z)={(q0,0Z)},δ1(q0,0,0)={(q0,00)} とすること。δ1(q,s,γ) が空集合(empty set)となる場合は省略してよい。
(2)
k を1以上の整数とする。ある k に対して,アルファベット {0,1} 上の言語 L2 を以下のように定義する。abs(n) は,整数 n の絶対値を表す。
L2={w∈{0,1}∗∣abs(N0(w)−N1(w))=k}
L2 を受理する3状態の NPDA P2=({q0,q1,q2},{0,1},{0,1,Z},δ2,q0,Z,{q2}) を構成できるか。構成できる場合は,全ての (q,s,γ)∈{q0,q1,q2}×{0,1,ε}×{0,1,Z} について δ2(q,s,γ) を列挙することで,そのときの δ2 の定義を示せ。δ2(q,s,γ) が空集合となる場合は省略してよい。構成できない場合は理由を説明せよ。
(3)
正則(正規)表現(regular expression)0∗1(0+1)∗ が表す言語を L3 とする。ただし,+ は和集合(union)演算を表す。
以下の各小問に答えよ。
(3-1)
あいまい(ambiguous)でない文脈自由文法の定義を簡潔に示せ。
(3-2)
文脈自由文法 G2=({S,A},{0,1},R2,S) が,L3 を生成するあいまいでない文法となるよう,R2 を定義せよ。ただし,生成規則の個数は5以下とし,ε-規則は用いないこと。さらに,G2 があいまいでないことを数行で説明せよ。