計算の理論 i -cfl と pda の等価性(つづき)-

22
計計計計計 計計計計計 I I -CFL -CFL PDA PDA 計計計計 計計計計 ( ( 計計計 計計計 )- )- 計計 3 計計 計計計計

Upload: xanto

Post on 14-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

計算の理論 I -CFL と PDA の等価性(つづき)-. 月曜3校時 大月美佳. 連絡事項. 前回の解答に誤りが! 以下が正解 δ(q0, 0, 0)={(q0, ε)} δ(q0, 1, 1)={(q0, ε)} δ(q0, Φ, Φ)={(q0, ε)} δ(q0, +, +)={(q0, ε)} δ(q0, *, *)={(q0, ε)} δ(q0, (, ()={(q0, ε)} δ(q0, ), ))={(q0, ε)}. 今日の講義内容. 本講義の評価方法 出席 レポート 定期試験 CFL と PDA の等価性 CFL⊆NPDA - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 計算の理論  I -CFL と PDA の等価性(つづき)-

計算の理論 計算の理論 II-CFL-CFL とと PDAPDA の等価性の等価性 (( つづつづ

きき )-)-

月曜 3 校時大月美佳

Page 2: 計算の理論  I -CFL と PDA の等価性(つづき)-

連絡事項

前回の解答に誤りが!以下が正解– δ ( q0, 0, 0 ) ={(q0, ε)}– δ ( q0, 1, 1 ) ={(q0, ε)}– δ ( q0, Φ, Φ ) ={(q0, ε)}– δ ( q0, +, + ) ={(q0, ε)}– δ ( q0, *, * ) ={(q0, ε)}– δ ( q0, (, ( ) ={(q0, ε)}– δ ( q0, ), ) ) ={(q0, ε)}

Page 3: 計算の理論  I -CFL と PDA の等価性(つづき)-

今日の講義内容

本講義の評価方法– 出席– レポート– 定期試験

CFL と PDA の等価性– CFL NPDA⊆– NPDA CFL⊆

ミニテストとアンケート

Page 4: 計算の理論  I -CFL と PDA の等価性(つづき)-

本講義の評価方法( 第 1 回目から改訂 )

出席 (20 点配点 )– 出席チェック兼用ミニテストを毎回実施。– 2/3 以上 (14 回中 9 回以上 ) 出席しない場合は放棄

とみなす。出席不足者について。– 遅刻は 20 分まで。

レポート (中 ×2 、各 20 点配点)– 4/22 出題 5/13 提出分、 6/24 出題 7/8 提出分– 提出しない場合には放棄とみなす。 30 までに出せ。

定期試験 ( 40 点配点)– 連絡の無い欠席は放棄とみなす。

Page 5: 計算の理論  I -CFL と PDA の等価性(つづき)-

2 番目のレポートについて

未提出者がいるためポイントのみ1. 状態数は 16 程度になるはず2. ε-CLOSURE がきちんと出てれば問題な

い3. 状態数は 6 個程度にまとまるはず

総当りでやるのはナンセンス

4. 3 が DFA になっているか確認してから

Page 6: 計算の理論  I -CFL と PDA の等価性(つづき)-

CFL と NPDA の等価性

等価性を以下の手順で示す1. CFL NPDA⊆

CFL である言語 L があるとき、最終状態と空ストアで受理するような NPDAを作れることを示す。

2. NPDA CFL⊆言語 L を最終状態と空ストアで受理するような NPDA があるとき、L を生成する文脈自由文法が作れることを示す。

Page 7: 計算の理論  I -CFL と PDA の等価性(つづき)-

NPDA CFL⊆ を示す

L NPDA∈ とし、 L を最終状態と空ストアで受理する NPDA を M=(Q, T, Γ, δ, q0, Z0, F) とする。

L T*⊆ を生成する文脈自由文法 G=(N, T, P, S) が作れる。

Page 8: 計算の理論  I -CFL と PDA の等価性(つづき)-

作られた 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 は生成規則である。

Page 9: 計算の理論  I -CFL と PDA の等価性(つづき)-

作られた 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

Page 10: 計算の理論  I -CFL と PDA の等価性(つづき)-

N(M)=L(G) の証明

次の (a), (b) が同値であることを示せば良い。

(a) [q, Z, p]⇒ x

(b) (q, x, Z)├* (p, ε, ε)ここで、 [q, Z, p] は非終端記号、 x T*∈

*

Page 11: 計算の理論  I -CFL と PDA の等価性(つづき)-

(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

Page 12: 計算の理論  I -CFL と PDA の等価性(つづき)-

(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⇒ とする。

Page 13: 計算の理論  I -CFL と PDA の等価性(つづき)-

(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) は成立する。

Page 14: 計算の理論  I -CFL と PDA の等価性(つづき)-

(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*∈ ∈とする。

Page 15: 計算の理論  I -CFL と PDA の等価性(つづき)-

(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)∈ である。

Page 16: 計算の理論  I -CFL と PDA の等価性(つづき)-

(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)≦ ≦と同値である。

*

*

Page 17: 計算の理論  I -CFL と PDA の等価性(つづき)-

(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) が言えた。

*

*

Page 18: 計算の理論  I -CFL と PDA の等価性(つづき)-

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 となる。

*

*

*

*

*

*

Page 19: 計算の理論  I -CFL と PDA の等価性(つづき)-

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, ε)}

とする。

Page 20: 計算の理論  I -CFL と PDA の等価性(つづき)-

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

Page 21: 計算の理論  I -CFL と PDA の等価性(つづき)-

変換結果

生成された 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

Page 22: 計算の理論  I -CFL と PDA の等価性(つづき)-

今日のミニテスト

アンケート出席調査に替えるので必ず提出して帰るこ

と ミニテスト

教科書・資料を見ても良い交換採点後持ち帰る