1
大学数学基礎議論
文献あり

ε-非決定性有限オートマトンについて

289
0

 先の記事で決定性有限オートマトンが認識する言語のクラス LDFA と, 非決定性有限オートマトンが認識する言語のクラス LNFA が一致することについて書きました. 結局, いまだにわたしが理解したいことごとは浮かんだままですが, 前へ進んで, 今回は ϵ-非決定性有限オートマトンについて書こうと思います.
 わからないことがあるというより, 教科書では証明が省略されていたので, わたしが考えた証明にまちがっているところがないかみてもらいたいのです. ただ, 省略された理由が「明らかだから」だとすると, わたしがいろいろと考察した道は遠回りということにもなるかもしれません. なので, もっと単純に証明ができるならばぜひ教えてください. よろしくお願いします.

 非決定性有限オートマトン N は, 5つの組 Q,Σ,δN,q0,F である. Q は状態の集合, Σ は入力される記号の集合, δN は遷移関数と呼ばれる, Q×ΣQ という関数, q0Q の特別な元で, 初期状態と呼ばれ, FQ の部分集合で, 受理状態の集合である.
 入力される記号の集合 Σ のいくつかの列の集合を Σ と書き, その元を語と呼ぶ. 0個の列の場合, それを ϵ と表わす.
 遷移関数 δN に対して δN を考える. これは Σ から 2Q への写像であって, 次のように帰納的に定義される. wΣ として,
δN(w)={{q0}(w=ϵ)qδN(τ)δN(q,σ)(w=τσ, τΣ,σΣ)
 非決定性有限オートマトン N が語 w=w0w1wnΣ を受理するとは, ある状態の集合(すなわち Q の部分集合) の列 Q0,Q1,,Qn が存在して, 遷移関数 δN による計算の列
δN(q0,w0)=Q0qQ0δN(q,w1)=Q1qQn1δN(q,wn)=Qn
において, Qn が受理状態の集合 F と共通の元を持つ, すなわち QnF が成り立つことをいう. これは δN を用いて, δN(w)F と表わせる.
 非決定性有限オートマトン N が受理する語の集合を L(N) と表わして NL(N) を認識するといい, 非決定性有限オートマトンが認識する言語のクラスを LNFA と表わす.

 先の記事では δN2Q×Σ から 2Q への写像として定め, その理由を「帰納的な性質を持つから」と言いましたが, 実際にある語が受理されるかされないかの計算を行ってみると, δN({q0},w) しか考えなくてよく, たとえば δN({q1,q2},w) などは考えてもあまり意味はないと思ったので, 今回は始域を Σ として, δN(ϵ)={q0} としました. これはちょっとした質問なのですが, このように定義することでなにか具合のわるいことが起きるでしょうか.

 ϵ-非決定性有限オートマトン ϵN5つの組 Q,Σ,δϵ,q0,F である. Q,Σ,q0,F は非決定性有限オートマトンと同様である. δϵQ×(Σ{ϵ}) から 2Q への写像であって, 特に δϵ(q,ϵ) による遷移を ϵ-遷移と呼ぶ.

 実を言うと, よくわかっていません. 入力が与えられたときに状態が遷移することは自然なふうに思えます. 一方で「なにも入力されない」ことで「動かない」というのもひとつの遷移と考えられると思えば δϵ(q,ϵ)q も自然だと思います. 不自然なのは「なにも入力されない」ときにどこかへ遷移することもあるということです. たぶんもっと先に進めば, なにか ϵ-遷移の必要性がわかるのかなとぼんやりと思っています.

 ϵN の受理条件を考えるために, ある状態から ϵ-遷移をして到達できる範囲を定めるのは自然です. ϵ-遷移はなんの入力もなしに, すなわち無条件に遷移することなので, たとえば状態 q0,q1,q2 において q0 から q1 への ϵ-遷移 q0ϵq1 および q1 から q2 への ϵ-遷移 q1ϵq2 があったとき, q0ϵ-遷移によって q2 まで到達することが可能です.
 これは非決定的な遷移としてみることができます. したがって, ある状態から ϵ-遷移のみをいくつか繰り返して経て到達する状態の集合を定めておくと好ましいです.

 qQ に対して, ϵ-遷移のみをいくつか繰り返して経て到達できる状態の集合を qϵ-閉包と呼び, ϵCL(q) と表わす.

 上の例では
ϵCL(q0)={q0,q1,q2}ϵCL(q1)={q1,q2}ϵCL(q2)={q2}
となります.

 これもちょっとした疑問で, でもあまり大事なことではないと思うのですが, ϵCL(q)δϵ(q,ϵ) を用いてどのように定義すればよいのでしょうか. たとえば q2ϵCL(q0) である理由は, q2=δϵ(δϵ(q0,ϵ),ϵ) からなのですが, これを一般的にどうして書けますか? わたしがちらっと思ったのは, やはり δϵ の再帰と, ϵN が有限であるという仮定についてなのですが, わたしには難しいです.

 ϵN の受理条件について, 大切な気持ちは ϵ-遷移と入力されるアルファベット σΣ による遷移によって, 受理状態の集合 F に到達するということです. その path は, 次に述べる遷移のいずれかに当てはまります.
 初期状態 q0σ を読み取る前に無条件で ϵ-遷移することがあり, その ϵ-遷移によって到達できる状態の集合は ϵCL(q0) と表わされ, その後 ϵCL(q0) のおのおのの元が σ を読み取って遷移した状態の集合
qϵCL(q0)δϵ(q,σ)
の, おのおのの元は再び ϵ-遷移をし,
qϵCL(q0)ϵCL(δϵ(q,σ))
と表わせます.
 ここで, ϵCL:Q2Q であり, qϵCL(q0)δϵ(q,σ)Q の像について,
ϵCL(qϵCL(q0)δϵ(q,σ))=qϵCL(q0)ϵCL(δϵ(q,σ))
が成り立ちます. これを δϵ(σ) とおきます.
δϵ(σ)=ϵCL(qϵCL(q0)δϵ(q,σ))

 これが1つめの記号 σΣ を読み取ったときの ϵN の状態です. 次に, τΣ として στ をどのように読み込むのかというと, σ を読み取ったあとの ϵ-遷移は済んでいるので, はじめに ϵ-閉包を取る必要はなく, たんに状態集合 δϵ(σ) のおのおのの元に τ を読み込ませて, そしてその状態集合の ϵ-閉包をとればよいです. すなわち
δϵ(στ)=ϵCL(qδϵ(σ)δϵ(q,τ))
 これが ϵN に語 στ を与えたとき, 初期状態 q0 から遷移する状態の集合となります.
 帰納的に, 語 w=στ, σΣ,τΣ に対して,
δϵ(w)=ϵCL(qδϵ(σ)δϵ(q,τ))
とすると, δϵ(w) は語 w を与えられた ϵN が初期状態 q0 から遷移を経て到達する状態の集合となります. したがって, この δϵ(w) が受理状態の集合 F と共通の元を持っているならば, 語 w は受理されます.
 w=ϵ の特別な場合は δϵ(ϵ)=ϵCL(q0) とします. あとでも質問するのですが, こうする妥当な理由はあるでしょうか. 「妥当」かどうかはわかりませんが, こうするとたとえば σΣ として
δϵ(σ)=ϵCL(qδϵ(ϵ)δϵ(q,σ))
と表わせます.
 ϵ-非決定性有限オートマトン ϵN が受理する語の集合を L(ϵN) とすると,
wL(ϵN)δϵ(w)F
 ϵ-非決定性有限オートマトンが認識する言語のクラスを LϵNFA と書きます. わたしが確認してほしいのは,

LNFA=LϵNFA

の証明です. LNFALϵNFA は自明な ϵ-遷移だけの ϵ-非決定性有限オートマトンを考えれば成り立ちます.

LϵNFALNFA

 ϵN=Q,Σ,δϵ,q0,Fϵ-非決定性有限オートマトンとし, それに対して N=Q,Σ,δN,q0,F
δN(q,σ)=ϵCL (qϵCL(q)δϵ(q,σ))
なる非決定性有限オートマトンが ϵN を模倣すること, すなわち, 上で定めた受理を判定する関数
δϵ(w)={ϵCL(q0)(w=ϵ)ϵCL(qδϵ(σ)δϵ(q,τ))(w=στ, σΣ,τΣ)
と, 模倣遷移関数 δN による判定関数
δN(w)={ϵCL(q0)(w=ϵ)qδN(σ)δN(q,τ)(w=στ, σΣ,τΣ)
とが等しいことを示す. ただし
δN(ϵ)=ϵCL(q0)
としている. 1
 語 σ0σ1σn が与えられたとき, 遷移関数 δϵ による遷移過程に現れる状態の集合 Pn を次のように帰納的に定める.
P(0)=qϵCL(q0)δϵ(q,σ0)
P(n)=qϵCL(Pn1)δϵ(q,σn)
 このとき,
δϵ(σ0)=ϵCL(qϵCL(q0)δϵ(q,σ0))=ϵCL(P0)
であり, nN について δϵ(σ0σn)=ϵCL(Pn) と仮定すると
δϵ(σ0σnσn+1)=ϵCL(qδϵ(σ0σn)δϵ(q,σn+1))=ϵCL(qϵCL(Pn)δϵ(q,σn+1))=ϵCL(Pn+1)
 この σ0σn に依存する遷移過程の状態集合 Pn を用いて δϵ(σ0σn)
δϵ(σ0σn)=ϵCL(qϵCL(Pn1)δϵ(q,σn))=ϵCL(Pn)
と表わせる.
 ところで, w=στ, σΣ,τΣ について, 定義から
δN(w)=qδN(σ)δN(q,τ)=qδN(σ)ϵCL(pϵCL(q)δϵ(p,τ))=ϵCL(qδN(σ)pϵCL(q)δϵ(p,τ))
である. もし δϵ(σ)=δN(σ) が成り立つならば, これは
δN(w)=ϵCL(qδϵ(σ)pϵCL(q)δϵ(p,τ))
となる. δϵ(σ) はある状態集合の ϵ-閉包として表わせるから, それを P とおくと,
δN(w)=ϵCL(qϵCL(P)pϵCL(q)δϵ(p,τ))
 この式において, p は状態 q からの ϵ-遷移で到達する状態であり, q は状態集合 P のある元から ϵ-遷移で到達できる状態である. 2
 したがって上の式は
ϵCL(qϵCL(P)δϵ(q,τ))=ϵCL(qδϵ(σ)δϵ(q,τ))=δϵ(w)
と等しい.

 1 は恣意的な気がします. 定義1では δN(ϵ)={q0} としていたのに, 上の証明では δN(ϵ)=ϵCL(q0) としました. もし ϵ-非決定性有限オートマトンが空列 ϵ を受理するとしたら(実際にそのような ϵN はつくれます), それを模倣しようとする非決定性有限オートマトンは ϵ を受理しますか? でも, 非決定性有限オートマトンの遷移関数は ϵ を受けとることができないので, それは不可能だとわたしは思っています. それは模倣と言えるのでしょうか. よくわかりません. ただひとつ言えるのは, δN(ϵ)=ϵCL(q0) とすれば, 1つ以上の記号 σΣ に関して δN(σ)=δϵ(σ) は成り立つ, ということです.

 2 はうまく言葉にすることができません. 言葉にすることができないということはまちがっているのかもしれません. もしここがまちがっているとすれば, わたしの証明はまちがっています. 気持ちとしては, Pϵ-閉包の元である q の, さらに ϵ-閉包をとってもなにも変わりません. なぜならば ϵ-遷移で行き着く先をすべて取り上げたのが ϵ-閉包なのですから. qϵ-閉包の元である pPϵ-閉包の元ではないということはありません. p が動き得るのは, すでに Pϵ-閉包のすべて, そしてそれのみです. これを形式的に書きたかったのですが, うまくいきませんでした.

 誰かやさしいひとがこれを証明してくれるか, あるいは否定してくれるのを待っています. ありがとうございました.

参考文献

投稿日:202251
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

isumi
isumi
6
1934

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中