Download - 計算の理論 I -CFL と PDA の等価性(つづき)-
計算の理論 計算の理論 II-CFL-CFL とと PDAPDA の等価性の等価性 (( つづつづ
きき )-)-
月曜 3 校時大月美佳
連絡事項
前回の解答に誤りが!以下が正解– δ ( q0, 0, 0 ) ={(q0, ε)}– δ ( q0, 1, 1 ) ={(q0, ε)}– δ ( q0, Φ, Φ ) ={(q0, ε)}– δ ( q0, +, + ) ={(q0, ε)}– δ ( q0, *, * ) ={(q0, ε)}– δ ( q0, (, ( ) ={(q0, ε)}– δ ( q0, ), ) ) ={(q0, ε)}
今日の講義内容
本講義の評価方法– 出席– レポート– 定期試験
CFL と PDA の等価性– CFL NPDA⊆– NPDA CFL⊆
ミニテストとアンケート
本講義の評価方法( 第 1 回目から改訂 )
出席 (20 点配点 )– 出席チェック兼用ミニテストを毎回実施。– 2/3 以上 (14 回中 9 回以上 ) 出席しない場合は放棄
とみなす。出席不足者について。– 遅刻は 20 分まで。
レポート (中 ×2 、各 20 点配点)– 4/22 出題 5/13 提出分、 6/24 出題 7/8 提出分– 提出しない場合には放棄とみなす。 30 までに出せ。
定期試験 ( 40 点配点)– 連絡の無い欠席は放棄とみなす。
2 番目のレポートについて
未提出者がいるためポイントのみ1. 状態数は 16 程度になるはず2. ε-CLOSURE がきちんと出てれば問題な
い3. 状態数は 6 個程度にまとまるはず
総当りでやるのはナンセンス
4. 3 が DFA になっているか確認してから
CFL と NPDA の等価性
等価性を以下の手順で示す1. CFL NPDA⊆
CFL である言語 L があるとき、最終状態と空ストアで受理するような NPDAを作れることを示す。
2. NPDA CFL⊆言語 L を最終状態と空ストアで受理するような NPDA があるとき、L を生成する文脈自由文法が作れることを示す。
NPDA CFL⊆ を示す
L NPDA∈ とし、 L を最終状態と空ストアで受理する NPDA を M=(Q, T, Γ, δ, q0, Z0, F) とする。
L T*⊆ を生成する文脈自由文法 G=(N, T, P, S) が作れる。
作られた CFL
CFL G=(N, T, P, S) を次のように定義する。1. N=Q×Γ×Q {S}∪2. P は次の生成規則よりなる。
(i) 各 p F∈ に対して、 S→[q0, Z0, p] は生成規則である。(ii) (p, Z1…Zk) δ(q, a, Z) (k 1, a T {ε})∈ ∈ ∪≧ のとき、任意の
q1, q2, …, qk Q∈ に対して[q, Z, qk]→a[p, Z1, q1][q1, Z2, q2]…[qk-1, Zk, qk]
は生成規則である。
(iii) (p, ε) δ(q, a, Z) (a T {ε})∈ ∈ ∪ のとき[q, Z, p] →a は生成規則である。
作られた CFL の構文木S
[q0, Z0, p]
[q1, Z1, q2]a1 [q2, Z2, q3] [qk, Zk, p]…
[r1, X1, r2]a2 [rk, Xk, q2]…
[si, Yi, si+1]
…
ai
N(M)=L(G) の証明
次の (a), (b) が同値であることを示せば良い。
(a) [q, Z, p]⇒ x
(b) (q, x, Z)├* (p, ε, ε)ここで、 [q, Z, p] は非終端記号、 x T*∈
*
(a) (⇒ b) の証明
導出の長さ( 1 以上)に関する帰納法1. 長さが 1 のとき
つまり [q, x, p]⇒ x のとき(iii) より、 x T {ε}∈ ∪ で (p, ε) δ(q, x, Z)∈ となる。したがって、 (q, x, Z)├ (p, ε, ε) となる。
2. 長さ n 以下の導出に対して成立することを仮定このとき、長さ n+1 2≧ の導出[q, Z, p]⇒ xをとる。導出の長さが 2 以上だから一番初めに適用される生成規
則は(ii) の形のものである。
n+1
(a) (⇒ b) の証明つづき 1
2 のつづきこのとき導出 [q, Z, p]⇒ x は以下のように書ける。[q, Z, p]⇒ a[q1, Z1, q2][q2, Z2, q3] …[qk, Zk, p]
⇒x
と書ける。ただし、 (q1, Z1…Zk) δ(q, a, Z)∈ 。すると、 x=ax1…xk と書けて、各 i(1 i k)≦ ≦ に対して長さ n 以下の導出で[qi, Zi, qi+1] x⇒ i
となる。ただし、 qk+1 p⇒ とする。
(a) (⇒ b) の証明つづき 2
2 のつづき帰納法の仮定より(qi, xi, Zi)├ (qi+1, ε, ε) (1 i k)≦ ≦となる。このとき、(q, ax1…xk, Z)├ (q1, x1…xk, Z1…Zk)
├ (q2, x2…xk, Z2…Zk)…├ (qk, xk, Zk)├ (p, ε, ε)
となる。1 と 2 より (a) (⇒ b) は成立する。
(b) (⇒ a) の証明
計算のステップ数についての帰納法1. ステップ数が 1 のとき
(q, x, Z) ├ (p, ε, ε) p F, x T {ε}∈ ∈ ∪ならば、 (p, ε) δ(q, x, Z)∈ であるので、(iii) より (q, Z, p)→x P∈ となるので成立。
2. ステップ数が n のとき成り立つと仮定n+1 2≧ として、(q, x, Z) ├n+1 (p, ε, ε) p F, x T*∈ ∈とする。
(b) (⇒ a) の証明つづき 1
2 のつづき(q, x, Z) ├n+1 (p, ε, ε) p F, x T*∈ ∈を最初の 1 ステップと残りの n ステップに分解す
る。n 1≧ であるので第 1 ステップで Z がポップされてε に置き換えられることはない。よって、(q, x, Z) ├ (r, y, Z1…Zk)
├n (p, ε, ε)
となる。ここで x=ay, a T {ε}∈ ∪ であり、(r, y, Z1…Zk) δ(q, a, Z)∈ である。
(b) (⇒ a) の証明つづき 2
2 のつづき(r, y, Z1…Zk) の各 Zi はいずれポップされるので、分解 y=y1…yk(yi T*, 1 i k)∈ ≦ ≦ と状態 q1, …, qk が存在して、各 i (1 i k)≦ ≦ に対して、 n 以下のステップ数で(qi, yi, Zi) ├ (qi+1, ε, ε)となる。ただし、 q1=r, qk+1=p とする。これは、帰納法の仮定より[qi, Zi, qi+1] ⇒ yi (1 i k)≦ ≦と同値である。
*
*
(b) (⇒ a) の証明つづき 3
2 のつづき(ii) より [q, Z, p] ⇒ a[q1, Z1, q2]…[qk, Zk, p] だから[q, Z, p] ⇒ a[q1, Z1, q2]…[qk, Zk, p]
⇒ ay1…yk
となる。よって[q, Z, p]⇒ x
となる。
1, 2 より (b) (⇒ a) が言えた。
*
*
N(M)=L(G) 証明結論
以下の (a) と (b) の同値性が言えた。(a) [q, Z, p]⇒ x
(b) (q, x, Z)├ (p, ε, ε)ここで、 (q, Z, p) は非終端記号、 x T*∈
x T*∈ に対して S⇒ x ならば、(i) によりある状態 p F∈ が存在してS [⇒ q0, Z0, p]⇒ x となる。したがって(q0, x, Z0)├ (p, ε, ε) となり、 x は M により受理される。逆に x が M によって受理されば、 S⇒ x となる。
*
*
*
*
*
*
NPDA を CFL に変換してみる
NPDA M=(Q, T, Γ, δ, q0, Z0, F) をQ={q0}, T={a, b}, Γ={A, a, b},
Z0 =A, F={q0}
δ(q0, ε, A)={(q0, ab), (q0, aAb)}
δ(q0, a, a)={(q0, ε)}
δ(q0, b, b)={(q0, ε)}
とする。
NPDA を CFL に変換してみる 2
N=Q×Γ×Q {S}∪={q0}×{A, a, b}×{q0} {S}∪
={[q0, A, q0], [q0, a, q0], [q0, b, q0], S}
生成規則(i) S→ [q0, A, q0]
(ii) [q0, A, q0]→ε[q0, a, q0][q0, b, q0]
[q0, A, q0]→ε[q0, a, q0][q0, A, q0][q0, b, q0]
(iii) [q0, a, q0]→a
[q0, b, q0]→b
変換結果
生成された CFL
G=(N, T, P, S)N={S, [q0, A, q0], [q0, a, q0], [q0, b, q0]}
T={a, b}
P={S→[q0, A, q0],
[q0, A, q0] →[q0, a, q0][q0, b, q0],
[q0, A, q0]→[q0, a, q0][q0, A, q0][q0, b, q0],
[q0, a, q0]→a,
[q0, b, q0]→ b}
S
[q0, A, q0]
[q0, a, q0][q0, A, q0][q0, b, q0]
[q0, a, q0][q0, b, q0]a
a b
b
今日のミニテスト
アンケート出席調査に替えるので必ず提出して帰るこ
と ミニテスト
教科書・資料を見ても良い交換採点後持ち帰る