計算の理論 I -Myhill-Nerodeの定理 と最小化-

Slides:



Advertisements
Similar presentations
計算の理論 I -言語とオートマトン- 月曜3校時 大月 美佳.
Advertisements

コンパイラ 2011年10月17日
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
計算の理論 II NP完全 月曜4校時 大月美佳.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
    有限幾何学        第12回.
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
データ構造と アルゴリズム 知能情報学部 新田直也.
計算の理論 I -講義について+αー 月曜3校時 大月美佳.
コンパイラ 2012年10月15日
第2章 「有限オートマトン」.
形式言語とオートマトン2013 ー有限オートマトンー 第5日目
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン2008 ー有限オートマトンー
計算の理論 II NP完全 月曜5校時 大月美佳 平成17年1月17日 佐賀大学理工学部知能情報システム学科.
3. 束 五島 正裕.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II Turing機械の合成 月曜5校時 大月美佳 2004/11/15 佐賀大学理工学部知能情報システム学科.
計算の理論 II 帰納的関数 月曜4校時 大月美佳.
計算の理論 II 帰納的関数2 月曜4校時 大月美佳.
計算の理論 I 正則表現 火曜3校時 大月 美佳 平成16年6月8日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現(今度こそ) ー 月曜3校時 大月 美佳.
計算の理論 I 正則表現 月曜3校時 大月 美佳 平成15年6月9日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
形式言語とオートマトン Formal Languages and Automata 第4日目
計算の理論 I -Myhill-Nerodeの定理 と最小化-
2. 関係 五島 正裕.
2. 関係 五島 正裕.
計算の理論 II 言語とクラス 月曜4校時 大月美佳.
計算の理論 II 時間量と領域量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
計算の理論 II 計算量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 文脈自由文法の標準形 月曜3校時 大月美佳.
計算の理論 II -講義内容説明と 基本事項確認ー
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳 平成15年6月2日 佐賀大学知能情報システム学科.
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー閉包性ー 月曜3校時 大月 美佳.
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー正則表現とFAの等価性 その1ー
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
計算の理論 I 反復補題 月曜3校時 大月 美佳 平成15年7月14日 佐賀大学知能情報システム学科.
計算の理論 I 非決定性有限オートマトン(NFA)
計算の理論 I -数学的概念と記法- 火曜 12:50~14:20 大月 美佳 2004年4月20日.
計算の理論 I -プッシュダウンオートマトン-
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
ミニテスト12解答 月曜3校時 大月 美佳.
計算の理論 I -講義について+αー 月曜3校時 大月美佳 平成31年5月18日 佐賀大学理工学部知能情報システム学科.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
計算の理論 I 反復補題 火曜3校時 大月 美佳 平成16年7月13日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
形式言語とオートマトン2016 ー有限オートマトンー 第4日目
計算の理論 I ε-動作を含むNFAと等価なDFA
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
形式言語とオートマトン Formal Languages and Automata 第5日目
計算の理論 I -講義について+αー 火曜3校時 大月美佳 平成31年8月23日 佐賀大学理工学部知能情報システム学科.
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
計算の理論 II 多テープTuring機械 月曜4校時 大月美佳 平成16年11月29日 佐賀大学知能情報システム学科.
計算の理論 II 時間量と領域量 月曜4校時 大月美佳 2019/9/13 佐賀大学理工学部知能情報システム学科.
計算の理論 I 最小化 月曜3校時 大月 美佳 平成15年6月23日 佐賀大学知能情報システム学科.
Presentation transcript:

計算の理論 I -Myhill-Nerodeの定理 と最小化- 月曜3校時 大月 美佳

連絡事項 レポート 問題用紙:A4 提出期限:平成14年7月8日(月) 提出場所:AV講義室 授業終了時に回収 欠席等で提出できなかった者は理由を明記の上 レポートボックス9番へ(7月15日まで)

今日の講義内容 ずっと前の復習 今日の新しいこと 同値関係、同値類について Myhill-Nerodeの定理と最小化(節3.4, p. 84) →FAが同値類に分割できるという話 →それを用いてFAの最小化を行う

同値関係 (equivalence relation) (復習 p.9) 同値関係 同値関係 (equivalence relation) := 反射的、対称的、かつ推移的である関係 R 1R12R23R3 1 2 S 3 反射的 ( 1 , ) ( 2 , ) ( 3 , ) 推移的 対称的 2R33R2 ( 2 , 3 ) ( 3 , 2 )

同値類 (equivalence class) (復習 p.9) 同値類 同値類 (equivalence class) := 次の性質を持つ部分集合Si Si≠Φ, かつi≠jならばSi∩Sj=Φ Siの各元a, bに対してaRb i≠jのときSiの各元aとSjの各元bに対してaRbは成り立たない SはSiの和∪Siとして表される

法mに関する合同 (congruence module m) (復習 例1.4 pp. 9~10) 同値関係の例 法mに関する合同 (congruence module m) := i-jがmで割り切れること := i≡m j または i≡j mod m 反射的: 任意のaについてa-aはmで割り切れる 推移的: a≡m bかつb≡m cならば、a≡m c a=m×x+b, b= m×y+c → a=m×(x+y)+c 対称的: a≡m bならばb≡m a a-b=m×x → b-a=m×(-x)

(復習 p.10) 整数全体の≡mによる同値類 m個 … -1 1 2 { -m, 0, m, 2m, } -m+1, 1, m+1, 1 2 { -m, 0, m, 2m, } -m+1, 1, m+1, 2m+1, : m-1 -1, m-1, 2m-1, 3m-1, m個

Σ*に関する 2種類の同値関係 xRLy xRMy

xRLyの同値類 Lが正則集合のとき 同値類の個数(指数)は常に有限 Σ* S2 S3 S1 z4 z5 z2 S5 z1 S4 z3 指数=5

xRMyの同値類 RMはΣ*を同値類に分割する 各同値類はq0から到達可能な状態に対応 S1 Σ* S2 S0 指数=4 S3

右不変 (right invariant) 同値関係Rにおいて xRyならばxzRyz という性質があるとき、 という。

Myhill-Nerodeの定理 (定理3.9 p.85) 次の三つの条件は互いに同値である。 L⊆Σ*は有限オートマトンの受理集合である。 Lは、右不変で有限の指数を持つ同地関係のいくつかの同値類の和に等しい。 同値関係RLを次のように定義する:xRLy⇔Σ*のすべての元zに対してxzとyzはともにLに属するかともにLに属さない。このRLの指数は有限である。

有限オートマトンの最小化 (定理3.10 p.87) 正則集合Lを受理する最小の状態数を持つ 有限オートマトンは、 同型(つまり状態の名前が異なるだけ)を 除いてただ一つであり、 それは定理3.9の証明で示したM´に等しい。

M´ (定理3.9 p.86) Q´をRLの同値類とし、xの属する同値類を [x]とおく。ここで、δ([x], a)=[xa]と定義する。 q0´=[ε]とおき、F´={[x]|x∈L}とおく。 そのとき、 δ´ (q0´, x)=[x]であり、 x∈Lのとき[x]∈ F´で逆も成り立つ。 ∴有限オートマトンM´=(Q´,Σ,δ´, q0´,F´)はLを受理する。( x∈L(M´)のとき、かつそのときのみ [x]∈ F´ )

例3.7 (p.86) L=0*10* Lを受理するDFA a b 開始 1 1 c d 1 e f 0, 1 1

例3.7のRMによる同値類 (p.86) Ca=(00)* Cb=(00)*0 Cc=(00)*1 Cd=(00)*01 Ce=0*100* 開始 f a d b 0, 1 Cc=(00)*1 Cd=(00)*01 Ce=0*100* Cf=0*10*1(0+1)*

例3.7のRLによる同値類 (p.86) x と y が1を含まない。 x と y が1を1つだけ含む。 x と y が1を2つ以上含む。 C1=0*= Ca + Cb=(00)*0 +(00)* x と y が1を1つだけ含む。 C2 = 0*10*=Cc+Ce+Cd=(00)*1+0*100*+(00)*01 x と y が1を2つ以上含む。 C3= Cf=0*10*1(0+1)*

RLから構成されたDFA M´ (p.87) C1=0*からε C2 = 0*10*から1 C3= 0*10*1(0+1)*から11 [ε] 1 0, 1 [1] [11]

最小化アルゴリズム (p.88) 最小のDFA M´を求める簡単な方法 DFA Mの状態に関する同値類を導入 同値(equivalent) 区別可能(distinguishable) = 一方が最終状態で もう一方が最終でない 同値(equivalent)

同値類をもとめる手順 (例3.8 p.88~90) 二つの状態が同値でないものにX印をつけていって、残ったものが同値類になる。 a b c 1 1 a b c d 開始 1 1 1 1 1 e f g h 1

ステップ1 最終状態とそうでない状態の組にXをつける。 a b c d e f g h X a b c d e f g h 1 1 1 1 1 1 a b c d 1 1 1 1 1 e f g h 1

ステップ2 まだXのついてない場所(区別可能か分かっていない場所)を調べる。 (p, q)から、各記号aについてr=δ(p, a)とs=δ(q, a)を求める。 (r, s)のどれかに既にXがついていたら、(p, q)にもXをつける。 (r, s)がxで区別可能なら(p, q)はaxで区別可能だから。 (r, s)のどれもXがついていなかったら、(p, q)を(r, s)のリストに加える。 将来(r, s)にXがついたら(p, q)にXをつけるため。

図で説明しよう a a p r r’ a a q s s’ No=次の組まで持ち越し 区別可能か?

ステップ2 詳細 (a, b) 例: (a, b)の組について (δ(a, 0), δ(b, 0)) =(b, g) (δ(a, 1), δ(b, 1)) =(f, c) ← 区別可能 a b c d e f g h X 1 1 a b c d 1 1 1 1 1 e f g h 1

ステップ2 詳細 (a, d) 例: (a, d)の組について (δ(a, 0), δ(d, 0)) =(b, c) ← 区別可能 (δ(a, 1), δ(d, 1)) =(f, g) a b c d e f g h X 1 1 a b c d 1 1 1 1 1 e f g h 1

ステップ2 詳細 (a, e) 例: (a, e)の組について (δ(a, 0), δ(e, 0)) =(b, h) →(b, h)のリストに(a, e)を加える。 (δ(a, 1), δ(e, 1)) =(f, f) ← 1で始まる列はない e 1 h f g a d b c (b, h) (a, e)

ステップ2 詳細 (a, f) 例: (a, f)の組について (δ(a, 0), δ(f, 0)) =(b, c) ← 区別可能 (δ(a, 1), δ(f, 1)) =(f, g) a b c d e f g h X 1 1 a b c d 1 1 1 1 1 e f g h 1

ステップ2 詳細 (a, g) 例: (a, g)の組について (δ(a, 0), δ(g, 0)) =(b, g) →(b, g)のリストに(a, g)を加える。 (δ(a, 1), δ(g, 1)) =(f, e) →(f, e)のリストに(a, g)を加える。 e 1 h f g a d b c (b, h) (a, e) (b, g) (a, g) (f, e)

ステップ2 詳細 (a, h) 例: (a, h)の組について (δ(a, 0), δ(h, 0)) =(b, g) (δ(a, 1), δ(h, 1)) =(f, c) ← 区別可能 a b c d e f g h X 1 1 a b c d 1 1 1 1 1 e f g h 1

ステップ2 詳細 (b, d) 例: (b, d)の組について (δ(b, 0), δ(d, 0)) =(g, c) ← 区別可能 (δ(b, 1), δ(d, 1)) =(c, g) ← 区別可能 a b c d e f g h X 1 1 a b c d 1 1 1 1 1 e f g h 1

ステップ2 詳細 (b, e) 例: (b, e)の組について (δ(b, 0), δ(e, 0)) =(g, h) (δ(b, 1), δ(e, 1)) =(c, f) ← 区別可能 a b c d e f g h X 1 1 a b c d 1 1 1 1 1 e f g h 1

ステップ2 詳細 (b, f) 例: (b, f)の組について (δ(b, 0), δ(f, 0)) =(g, c) ← 区別可能 (δ(b, 1), δ(f, 1)) =(c, g) ← 区別可能 a b c d e f g h X 1 1 a b c d 1 1 1 1 1 e f g h 1

ステップ2 詳細 (b, g) 例: (b, g)の組について (δ(b, 0), δ(g, 0)) =(g, g) (δ(b, 1), δ(g, 1)) =(c, e) ← 区別可能 e 1 h f g a d b c a b c d e f g h X

ステップ2 詳細 連鎖 例: (b, g)からの連鎖 (b, h) (a, e) (b, g) (a, g) (f, e) e h f g 1 h f g a d b c a b c d e f g h X

例3.8の最終結果 (p.90) a ≡ e b ≡ h d ≡ f a b c d e f g h X [g] [a,e] [d,f] 1 [g] [a,e] [d,f] [b,h] [c]

今日のミニテスト ミニテスト 資料、ミニテストがない人は前へ 提出したら帰って良し 演習問題 3.25 教科書・資料を見ても良い を最小化 e 1 開始 h f g a d b c 1 1 を最小化