a , b - Tsukuba SCORE

Download Report

Transcript a , b - Tsukuba SCORE

スタック長の
特徴付けによる
言語の非DCFL性
証明
上里 友弥
IPSJ PRO 98
南出 靖彦
筑波大学
または
決定性プッシュダウ
ンオートマトン
はいかにして
スタックを用い
マッチングを行うか
決定性プッシュダウンオートマトン
Q
F
Σ 入力記号の集合
状態集合
最終状態の集合
初期計算状況
スタック記号の集合
δ 遷移関数
aabb を入力とする計算
a
a
b
b
ε
δ
δ
δ
δ
δ
F
決定性プッシュダウンオートマトン
δ:Q×Γ
(Σ Q × Γ * ) ∪ ( ε Q × {ε})
計算状況
で
• 入力を読んで遷移するか
• 入力を読まずに遷移するか
を決定する
決定性プッシュダウンオートマトン
δ:Q×Γ
(Σ Q × Γ * ) ∪ ( ε Q × {ε})
入力σを消費する遷移
pop
local
push
決定性プッシュダウンオートマトン
δ:Q×Γ
(Σ Q × Γ * ) ∪ ( ε Q × {ε})
ε (入力を消費しない)遷移pop
※ DPDAを知っている人向けの注意書き
遷移関数をこの形に制限しても良いというのは
フォークロア的に知られてはいましたが
今回はこれも明示的に示しました
定義 語wを受理する( M(w) = true ).
w を全て読んだのちに
F を訪れる.
定義 言語Lを受理する.
w ∈ L iff wを受理する.
例 { an bn | n ≧ 1}はDPDAで受理できる.
a
a
b
b
F
{ an bn }∪{ an b2n }はDCFLではない
高ス
さタ
ッ
ク
の
n
a
n
b
n
b
スタックが殆ど
空になってしまう
読んだ文字数
(経過時間)
ここまでは
受理しない
ここで
初めて受理
n
a
マッチング Match[x,y]
n
b
b
n-1
b
任意のn について
xn, xn y, xn y2, ... は受理されないが
xn yn は受理される
ただし,x, yは
ならば,マッチングをしているという. 空でない文字列
発表の流れ
 定義
 決定性プッシュダウンオートマトンと
そのクラスDCFLとは何かを復習
 マッチングを形式的に定義
✔
 { an bn } ∪ { an b2n } がDCFLでないことを示す
 マッチングをすると
スタックが殆ど空になる直感がある
✓
 入力の周期性とスタック中の周期性
 マッチングにはスタックの全体が必要
 殆ど空になることが形式化し証明
周期的な入力と周期的なスタック
ε遷移のないDPDAで
文字 c が無限に長くやってくる計算を考えると,
計算に周期性があらわれる!
β
γ
β
β
β
m
m
c
c
α
n
c
n
c cn
n
c
n
c
補題 : 周期的な入力と周期的なスタック
任意のDPDAで
文字列 w が無限に長くやってくる計算を考えると,
計算に周期性があらわれる!
α,β, γは
w にだけ依存する
γ
β
と考えて良い
β
β
α
w
m
w
n
w
n
w
n
マッチングするには何が必要か?
bnとマッチングするには
スタックをどこまでポップしなけれ
ば
ならないだろうか?
anを復元するには
少なくともどこまでみなければ
ならない?
👀
n
a
この辺りまでは
みなくてはならない
αまでみない場合に
何が起こるか?
an bn を受理!
n
a
bn
αまでみない場合に
何が起こるか?
an+m bn を誤認
n
a
m
a
bn
定理 : マッチングはそこそこ大変
マッチング Match[a,b] を行っ
ているならば,
bn を読んでいる間に,スタックの
高さが定数 Ha,b 以下になる.
👀
n
a
いつ Ha,b とするのか?
定理により,Ha,b 以下にはなることが分かったが,
受理するまでどれぐらいの位置で
そのようにするかを考えたい.
n
a
n
b
Ha,b
???
受理!
定理 : マッチング成功直前で Ha,b とする
aとbにだけ依存する 定数 Ra,bが存在し,
Ha,bとなるのは
入力の残りがRa,bになってからである.
n
a
n
b
Ha,b
Ra,b
受理!
定理 : マッチング成功時で高々 Ha,b + Ra,b
aとbにだけ依存する 定数 Ha,b , Ra,bが存在し,
Ha,bとなるのは
入力の残りがRa,bになってからである,ので…
受理!
Ha,b
n
a
Ra,b
n
b
Ra,b
{ an bn }∪{ an b2n }はDCFLではない
≤ Ha,b+ Ra,b
n
a
n
b
 bs を読んでからはじめて受理
 bt を読んでからはじめて受理
 とする計算状況 及び s < tが存在
これは明らかに矛盾.
n
b
関連研究
•
周期的な入力は周期的なスタックを生成する
•
Ginsburg & Greibach : Deterministic context free languages,
1966.
• { an bn , an b2n | n ≧ 1 }の非DCFL性を
類似した方法で証明している
•
•
マッチングでは本質的にスタックを空にする
•
Li & Vitányi : A New Approach to Formal Language Theory by
Kolmogorov Complexity, 1995.
•
Glier : Kolmogorov Complexity and Deterministic Context-Free
Languages, 2003.
DCFL版のポンピング補題
•
Harrison : Introduction to Formal Language Theory, 1978.
•
Yu : A Pumping Lemma for Deterministic Context-free
Languages, 1989.
帰納的可算言語
{ap | pは素数}
{an bn cn | n ≧ 1} [5.4]
{an bn2 | n ≧ 1}
文脈自由言語
{an bn,an b2n | n ≧ 1} [5.1]
{ w wR | w ∈ {a,b}* , wRはwの反転} [5.2]
{ x # y xR z | x,y,z ∈ {a,b}* } [5.6]
決定性文脈自由言語
まとめ
直感
証明したこと
1. 入力の中で個数の
I.
マッチングをしていると,
比較をしているよう
な場合には,
2. 受理段階での
II. 受理段階でのスタックの
スタックの高さは
高さは,
殆ど空になる.
一様に定数H + R以下になる
A. 周期的な入力は周期的なスタックを生成
B. 一度はスタック全体を読むことになる
C. 受理直前にスタックが殆ど空にする
今後の課題
• 非決定性プッシュダウンオートマトンに対しても同様の議論
ができないか?
{an bn cn | n ≧ 1}
は同じような原因でダメであるように思えるが…?
• 決定性2階プッシュダウンオートマトンに対しても同様の議論
は可能か?
• Parsing Expression Grammar などの 本質的にスタックを用い
ていそうな体系に対しても同様の議論は可能か?
フォーマルなステートメント群
DCFL版ポンピング補題 (iteration theorem)
{ an bn cn | n ≧ 1} はDCFLではない
高ス
さタ
ッ
ク
の
スタックが殆ど
空になってしまう
n
a
n
b
n
c
読んだ文字数
(経過時間)
ここまでは
F しない
ここで
F
初めて
n
a
n
b
n-1
b
改訂マッチング Match[x, y, E]
b
任意のn について
xn, xn y, xn y2, ... では E を訪ねないが
ただし,x, yは
xn yn では E を訪ねる
ならば,マッチングをしているという. 空でない文字列
an bn を読んだことが分かるか?
{ an bn cn | n ≧ 1} を受理するDPDA M
(が存在したとすると)
到達可能性解析 !!
an bn を読んだときに
特殊な状態を訪れるDPDA M’を
構成することができる!
(後ろ向き)到達可能性解析
w2 wi ∈ L
c2
w1
c1
c3
cn
w3
F
wn
Pre(F,L) がregular set
an bn を読んだことが分かるか?
{ an bn cn | n ≧ 1} を受理するDPDA M
(が存在したとすると)
an bn を読んだときに
特殊な状態を訪れるDPDA M’を
構成することができる!
c
Pre( F , * )
を監視する