第1版 形式言語とオートマトン2013 ー第9日目ー 東京工科大学 コンピュータサイエンス学部 亀田弘之 今日の内容 1. 練習・練習また練習 2. Pumping定理とその応用 3. Myhill-Nerodeの定理 2 第1部 練習 3 練習問題 • まず練習問題をやってみよう。 所要時間は10分。 提出は不要ですが、試験対策になるので、 各自自力で解いてみてください。 4 問題 最簡形DFAを求めよ。 5 解法手順 1. 状態遷移表を作ってみる。 2. 到達不能状態を除去する。 3. 状態遷移表を見て、決定性か非決定性かを 確認する。 4. (以下、省略) 6 状態遷移表の作成 a b c d e f g h 0 b g a c h c g g 1 f c c g f g e c 初期状態 a から状態 d には到達不可能 7 新しい状態遷移表 a b c e f g h 0 b g a h c g g 1 f c c f g e c 上記の表から,決定性有限オートマトンであることがわかる。 8 状態の分割 1. { a, b, c, e, f, g, h } => { ①{a, b, e, f, g, h}, ②{ c } } 2. a -> (b,f) -> (①,①) 0 1 b -> (g,c) -> (①,②) a b f c -> (a,c) -> (①,②) b g c e -> (h,f) -> (①,①) c a c f -> (c,g) -> (②,①) e h f g -> (g,e) -> (①,①) f c g h -> (g,c) -> (①,②) g g e => { { a, e, g }, { b, h }, { f }, { c } } h g c 9 3. { ①{ a, e, g }, ②{ b, h }, ③{ f }, ④{ c } } a -> (b,f) -> (②,③) e -> (h,f) -> (②,③) g -> (g,e) -> (①,①) h -> (g,c) -> (①,④) b -> (g,c) -> (①,④) => { { a, e }, { g }, { b, h }, { f }, { c } } a b 0 b g 1 f c c e f a h c c f g g h g g e c 10 4. { ①{ a, e }, ②{ g }, ③{ b, h }, ④{ f }, ⑤{ c } } a -> (b,f) -> (③,④) e -> (h,f) -> (③,④) a b -> (g,c) -> (②,⑤) b h -> (g,c) -> (②,⑤) c 収束した。 状態は5つであることが分かった。 0 b 1 f e g a h c c f f g h c g g g e c 11 第2部 理論編 13 ポンピングの補題 • 言語 L は DFA M により受理されるとする。こ のときある定整数 n が存在して,z∊L, |z| ≧n なる z は,z=uvw, |uv| ≦n, |v|≧1 のように 分解され,かつ,uviw ∊ L となる。 (この補題は様々な証明等で役立ちます。 大学院へ進みたい人は押さえること!) 14 ポンピングの補題適用例 • 次の言語が正規言語でないことを示せ。 L {a b | n 1} n n 15 ポンピングの補題の考察 b a f c e 16 17 (ポンピングの補題適用例) 問題 次の言語が正規言語でないことを示せ。 L {a b | n 1} n n 18 証明 言語 L = { anbn | n = 1, 2, 3, 4, … } が正規言語で あると仮定すると,言語Lはポンピングの補題を 満たす。つまり, anbn は,uvw と分解される。 いま, anbn = a a a … a b b b … bより, 1) anbn = a … v a … a b … b × 2) anbn = a … a … a v b … b × 3) anbn = a … a … a b … v … b × 19 注意事項 • ポンピングの補題は、言語Lが正規言語であ るための必要条件であり、必要十分条件では n m m ない。例えば、言語L’={ c a b }は、ポンピン グの補題を満たすが、正規言語ではない。 n i (c c)c (a b ) L i m m 20 MyHill-Nerodeの定理 • 次の3つの命題は同値である。 1. 言語 L * は正規言語である。 2. L は、指数が有限かつ右不変な * 上の 同値関係 R による同値類の和として表わされる。 3. 任意の z * に対して、 xz L yz L のとき x L y と定義すると、 *上の2項関係 L は指数が有限な同値関係である。 21 証明のための準備 • • • • 同値関係 * * 関数 (q, x ) ( (q, x), ) 同値類 同値関係の指数 22 関係 • 集合 X と Y の直積 X Y に対して、 その部分集合 R X Y を2項関係、 あるいは、単に関係という。 • ( x, y) R のとき、x と yは「 R の関係にある」と いい、 xRy と書く。 • R X X のとき、RはX上の関係と呼ぶ。 23 関係の例 • (板書します) 24 同値関係 • A上の関係Rが以下の条件を満たすとき、 関係Rのことを特に同値関係と呼ぶ。 1. xRx for any x∈A. 2. xRy yRx for any x, y ∈A. 3. xRy かつyRz ⇒ xRz for any x, y, z ∈A. 25 同値関係の例 • X=Z(整数全体の集合)とする。 このとき、x,y∊Zに対して、 x-y が5の倍数 xRy と書くことにすると、RはZ上の1つの同値関係 である。 • Zは同値関係Rにより、5つの類に分割される。 • 同値関係の指数とは、同値類の個数のことで ある。従って、今の場合Rの指数は5である。 26 同値関係Rが右不変 • xRyのとき、xzRyzが成り立つこと。 27 例 • xRy δ*(q0, x) = δ*(q0, y) のとき、 xRy ⇒ δ*(q0, x) = δ*(q0, y) ⇒ δ*(δ*(q0, x),z) = δ*(δ*(q0, y),z) ⇒ δ*(q0, xz) = δ*(q0, yz) ⇒ xzRyz for z∊Σ* 関係Rは右不変 28 問題 1. 2. 3. 4. 関係の例を2つ以上挙げよ。 同値関係の例を2つ以上挙げよ。 modulo n の同値類は全部で何個あるか? 内部状態がm個のDFAは、入力文字列を幾 つの同値類に分割するか? 29
© Copyright 2025 ExpyDoc