形式言語とオートマトン2016 ー有限オートマトンー 第4日目

Slides:



Advertisements
Similar presentations
和田俊和 資料保存場所 /2/26 文法と言語 ー正規表現とオートマトンー 和田俊和 資料保存場所
Advertisements

コンパイラ 2011年10月17日
形式言語とオートマトン2014 ー有限オートマトンー 第3日目
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
5.チューリングマシンと計算.
5.チューリングマシンと計算.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
形式言語とオートマトン2011 ー有限オートマトンー 第3日目
計算の理論 I -講義について+αー 月曜3校時 大月美佳.
コンパイラ 2012年10月15日
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
第2章 「有限オートマトン」.
形式言語とオートマトン2013 ー有限オートマトンー 第5日目
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン2008 ー有限オートマトンー
形式言語とオートマトン2012 ー有限オートマトンー 第3日目
形式言語の理論 5. 文脈依存言語.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I -Myhill-Nerodeの定理 と最小化-
形式言語とオートマトン Formal Languages and Automata 第4日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2017 ー有限オートマトンー 第3日目
計算の理論 I -Myhill-Nerodeの定理 と最小化-
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 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)
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2013 ー有限オートマトンー 第3日目
計算の理論 I 非決定性有限オートマトン(NFA)
5.チューリングマシンと計算.
計算の理論 I -プッシュダウンオートマトン-
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
形式言語とオートマトン 第14回 プッシュダウンオートマトンと全体のまとめ
形式言語とオートマトン2015 ー有限オートマトンー 第3日目
自然言語処理2015 Natural Language Processing 2015
4.プッシュダウンオートマトンと 文脈自由文法の等価性
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ε-動作を含むNFAと等価なDFA
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
形式言語とオートマトン Formal Languages and Automata 第5日目
自然言語処理2016 Natural Language Processing 2016
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 最小化 月曜3校時 大月 美佳 平成15年6月23日 佐賀大学知能情報システム学科.
Presentation transcript:

形式言語とオートマトン2016 ー有限オートマトンー 第4日目 Tokyo University of Technology School of Computer Science © 平成28年4月26日 東京工科大学

今日の話題 有限オートマトン(復習・確認・演習) 正規表現 (regular expression) 正規表現とオートマトンの関係 最簡型オートマトンの作り方 (DFA -> min-DFA) 時間があれば。 場合にによっては次回。 超高速オートマトン! © 東京工科大学 亀田弘之

まずは、復習から 学而時習之 不亦説乎 By Confucius (孔子) © 東京工科大学 亀田弘之

A群の正規表現が表す文字列の集合は、 それぞれB群のどれか? 線で結びなさい。 提出日時:平成27年5月10日(火)10:30 問題 A群の正規表現が表す文字列の集合は、 それぞれB群のどれか? 線で結びなさい。 ・学籍番号 __________ ・氏名 ______________ A群 B群 あ あいう あ+ あ* あ|い|う い|あ (あ|い)* { あ, い } { あいう } { ε, あ, ああ, あああ, ・・・} { あ, ああ, あああ, ・・・} { あ, あい, あう, ああい, ああう } { い, いい, いいい, ・・・} { あ} { あ, い, う } {ε, あ, い, ああ, あい, いあ, いい, ・・・} © 東京工科大学 亀田弘之

言語(文法)とオートマトンの関係 ---------------------------------------------------------------- 言語 (languages)   処理装置 (devices) 句構造言語(PSL) ⇔ Turing 機械 文脈依存言語(CSL) ⇔ 線形有界オートマトン 文脈自由言語(CFL) ⇔ プッシュダウンオートマトン 正規言語(RL) ⇔ 有限オートマトン まずはここからかじってみようかな 計算モデルやプログラミング言語設計に 深くかかわっている話題です。 © 東京工科大学 亀田弘之

さて、… © 東京工科大学 亀田弘之

本講義での当面の話の流れ 正規表現 ー> NFA NFA ー> DFA DFA ー> 最簡型DFA  (例で詳しく練習しますので、 しっかり付いて来てください。) © 東京工科大学 亀田弘之

正規表現 を FA で表現してみよう (注) このようなことができることは、数学的に証明されています。また,任意の正規表現に対して、それが表す言語Lをちょうど受理するFAが存在します。また、この逆も成り立ちます。 留意点: 「正規表現をFAで表現する」、「FAを正規表現で表現する」とは、どういうことを意味しているのか? 「正規表現 α と FA M とが等価である」とは、正規表現αが表す文字列全体の集合(言語)と、Mで受理する文字列全体の集合(言語)とが一致することを意味する。 © 東京工科大学 亀田弘之

対応規則(1) R=ε ε i f1 © 東京工科大学 亀田弘之

対応規則(2) 2.R=a a i f1 © 東京工科大学 亀田弘之

対応規則(3) 3.R|S R i f1 S © 東京工科大学 亀田弘之

対応規則(4) 4.RS i f1 R S © 東京工科大学 亀田弘之

対応規則(5) 5.R* ε ε f1 i ε R ε © 東京工科大学 亀田弘之

練習 次の正規表現αをFAで表現しなさい。 α= a(a|b)*bb 多少の修業・訓練が必要です。 教科書pp.143-151 参照のこと。 © 東京工科大学 亀田弘之

この練習(鍛えられます)を今からやります。どうすればできそうか、一緒に考えていきましょう! © 東京工科大学 亀田弘之

今日最初の話題 状態数が最も少ないFA(状態数最少のFA)の存在とその求め方 © 東京工科大学 亀田弘之

M1の状態遷移図 i 1 2 f 3 a b © 東京工科大学 亀田弘之

M1が受理する文字列は? i 1 2 f 3 a b © 東京工科大学 亀田弘之

M1が受理する文字列は? 例えば、 (すでにやりましたが、再度考えてみて  ください。) © 東京工科大学 亀田弘之

M1と等価なFAの状態遷移図(No.2) i 1,2 3 f a b © 東京工科大学 亀田弘之

定 義 FA同士が等価とはどういう意味? 2つのFA M1 と M2 とがあり、これらが等価であるとは、 M1 が受理する文字列はM2も受理するとともに、 この逆にM2 が受理する文字列はM1 も受理するということ。 © 東京工科大学 亀田弘之

FA と L(G) との関係 正規文法G 正規言語L(G) 有限オートマトンM 1つのL(G)に対して、複数のFAがあり得る。

用語定義と問題提起 能力的に等価なFA群のうち、状態数が最も少ないものを、「最少化FA」あるいは「最簡型FA」と呼ぶことにしよう。   (注)このようなFAの存在はOKですよね。     Why?(考えてみてください。)

ここからはちょっと脇道へ © 東京工科大学 亀田弘之

Myhill-Nerodeの定理 いま、受理・生成能力が同じFAの中で、状態数が最も少ないFA(最簡型FA)を求めたい。その理論的根拠を与えてくれるのが標記のMyhill-Nerodeの定理である。 理論的にはとてもとても重要な定理 © 東京工科大学 亀田弘之

Myhill-Nerode関係 定義: 到達不可能 ⇔ 初期状態から到達することのできないこと。 そのような“状態”を到達不可能状態と呼ぶ。 ちょっとだけ覗いてみよう! Myhill-Nerode関係 定義: 到達不可能 ⇔ 初期状態から到達することのできないこと。   そのような“状態”を到達不可能状態と呼ぶ。 定理: 到達不可能状態は、O( |K| |Σ| )の      計算量で見い出される。 定義(Myhill-Nerodeの関係): FAの2つの状態pとqが等価 ⇔[δ(p, w) ∈F ⇔ δ(q,w)∈F for any w∈Σ*] © 東京工科大学 亀田弘之

Myhill-Nerodeの定理 次の3つの命題は等価である。 アルファベットS上の言語Lが DFA M で認識される。 言語L に対し、関係RL は有限指標である。 フーッ,こりゃ大変そうだ… 後日説明します。 © 東京工科大学 亀田弘之

この定理で得られる同値類に着目する [p]: pと等価な状態からなる集合(同値類) DFA M に対する同値類オートマトン: Q’={[q]| q∈Q} Σ’=Σ q0’=[q0] F’={[q]| q∈F} δ’([q], a) = [δ(q,a)] © 東京工科大学 亀田弘之

得られる知見 定理: 同値類オートマトンはもとのFAと同じ言語を受理する。 Myhill-Nerodeの定理を証明する際に、この同値類の作り方もいっしょに得られる。その作り方が、最簡型DFA作成手順そのものとなっている。 © 東京工科大学 亀田弘之

こんな理屈もありますが、… いまは気にしないでおきましょう。 そんなことも学ぶんだぁ。へぇ~. © 東京工科大学 亀田弘之

また、本論へ戻りましょう! © 東京工科大学 亀田弘之

最簡型FAの求め方 いろいろ知られています。 わかりやすいものは以下のものです。 © 東京工科大学 亀田弘之

最簡DFAを求める手順 重要 P0 = { F, K-F } 状態の集合Kを2つに 分割する。 また、n=0とおく。 任意のnについて、Pnの細分化(分割)を 行い、その結果を、Pn+1とする。 Pn = Pn+1 となるまで手順2を繰り返す。 © 東京工科大学 亀田弘之

具体例で説明しましょう 図2.18 (p.53) これと能力的には等価だが、状態数がより少ないものはあるのか? あるならばどうやって見つけるのか? 図2.18 (p.53) © 東京工科大学 亀田弘之

練習問題:次のオートマトンと等価でかつ 最簡型なオートマトンを求めよ。 練習問題:次のオートマトンと等価でかつ          最簡型なオートマトンを求めよ。 i 1 2 f 3 a b © 東京工科大学 亀田弘之

予習問題: 次の正規表現を過不足なく 受理するNFAをそれぞれ示せ。 abba aa(c|d)a aa(c|d)*a ab(a|b)*bb a*cb* © 東京工科大学 亀田弘之

今日の話題(再掲) 復習・確認 Myhill-Nerodeの定理 最簡型オートマトンの作り方 (DFA -> min-DFA) 超高速オートマトン? © 東京工科大学 亀田弘之

クールダウン問題 問題: 「FAにはどんな種類があるのですか?」         と聞かれたら、あなたはどう答えますか? © 東京工科大学 亀田弘之

今日はここまで。お疲れ様。 学而時習之 不亦説乎 次回は、今回までの復習と第2章の最簡型DFAを求める練習です。 常に、復習・練習することを忘れずに! 学んで時にこれを習う、またよろこばしからずや。 By Confucius (孔子) カラーン♪ © 東京工科大学 亀田弘之