
スポンサードリンク
記事修正履歴
9月23日:誤字・数式ミス修正、表現の微妙な修正をしました。指摘してくださった方、どうもありがとうございました!
こんにちは、ももやまです。
今までは決定性オートマトンを書いていくことを中心に説明していきました。
しかし今回は、いよいよみんなが(;´Д`) うぅっ。。となる証明、具体的にはある言語が正則でないことを示す方法についてまとめていきたいと思います。
なんとか理解していきましょう……。
前回の記事(第05羽)はこちら!
目次 [hide]
スポンサードリンク
1.有限指数・右不変とは
マイヒル・ネロード(Myhill–Nerode)の定理で使われる有限指数、右不変についてまずは説明しておきましょう。
(1) 有限指数
(商集合について忘れてしまった人は下の記事で復習をしましょう。)
(2) 右不変
簡単に説明すると、二項関係が満たされている両者の文字列に右側から同じものを連接しても関係が成り立つのが右不変です。
スポンサードリンク
2.Myhill–Nerodeの定理
では、本題のMyhill-Nerode(マイヒル・ネロード)の定理に入ります。
マイヒルネ・ロード(My昼寝・ロード)じゃないですよw(まぁ証明聞くと眠くなりますよねw)
Myhill-Nerodeの定理を下に示しておきます。
以下のその1、その2、その3はすべて同値である。
その1:
その2:言語
その3:
( ゚д゚)ポカーン ってなった人が多いと思います。
でも大丈夫です。こんな定理なんだなーって思っておいてください。
スポンサードリンク
3.Myhill–Nerodeの定理と正則でない証明
ここからが本題です。
ある言語
しかし、ある言語
そこで使われるのがMyhill-Nerodeの定理です。Myhill-Nerodeの定理と背理法をうまい具合に組み合わせることで言語
試しに1問例題を出してみましょう。
例題1
以下の証明を穴埋めすることで証明を完成させなさい。
ただし、( 1 )・( 3 ) は適切な二項関係
(1) 有限指数であるから ( 1 ) となる自然数
(ただし ( 2 )である。)
(2) 右不変であるから ( 3 ) が成立する。
( 4 )
しかし、( 2 ) なので ( 5 )
これは仮定に矛盾する。よって
解説1
解答
( 1 ) …
( 2 ) …
( 3 ) …
( 4 ) …
( 5 ) …
証明解説
流れとしては
- Myhill-Nerodeを使うために
を定義 - 仮定より有限指数が成立するので
の関係*2を作る(よく使う関係式は , , の3つ*3。) - 仮定より右不変も成立するので2で作成した二項関係の両方に同じ文字列を連接することで二項関係の一方(左辺)を
に属する言語、もう一方(右辺)を に属さない言語にし、矛盾させる
となります。
今回は
まず有限指数を使う部分では
ここで、
なので、仮定が誤りとなり、
4.正則な言語と正則でない言語の差
では、正則な言語と正則でない言語にはどこに差があるのでしょうか。
基本的にどんなに長い文字列でも判定するために無限の状態数(記憶数の上限がない)を記憶する必要があるような言語は正則ではありません。例えば、
また、
実際に正則かどうかを判定するのは慣れが必要だと思うので下に用意した練習問題で少し練習してみましょう。
5.練習問題
では、練習してみましょう。
練習1
つぎの(1)〜(4)の言語
ただし、
(1)
※
(2)
(3)
(4)
練習2
次の
※指示がない限り
6.練習問題の答え
解答1
(1)
(2)
(3)
(4)
解答2
解答:
それぞれの解説
言語
(簡潔な証明)
有限指数より、
言語
つまり、
言語
なので1000文字分(有限)の記憶で受理するかどうかの判定が可能なため、正則である。
言語
(簡潔な証明)
有限指数より、
言語
ただし、範囲が有限だからといって正則とすぐには判定しないように。
(9月23日追記:簡潔な証明 読者の方に書いていただきました、ありがとうございます!)
有限指数より、
6.さいごに
今回はオートマトンと言語理論において、正則ではない言語であること、つまり有限オートマトンが書けないことを証明するための道具に使えるMyhill-Nerodeの定理についてまとめました。
今後は正則な言語かどうかの判定を行い、正則の場合は決定性オートマトンの記述、正則ではない場合はMyhill-Nerodeの定理における証明をする必要があります。しかし、最初はなかなか難しいと思うので次の次の記事で練習問題を持ってこようと思います。
練習問題はこちら!↓
次回は文脈自由文法について軽く説明します。
Next 第07羽 文脈自由文法についてはこちら!
関連広告・スポンサードリンク