形式言語とオートマトン Formal Languages and Automata 第4日目

Slides:



Advertisements
Similar presentations
数理統計学  第9回 西山.
Advertisements

コンパイラ 2011年10月17日
形式言語とオートマトン2014 ー有限オートマトンー 第3日目
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2011 ー有限オートマトンー 第3日目
計算の理論 I -講義について+αー 月曜3校時 大月美佳.
スタック長の 特徴付けによる 言語の非DCFL性 証明
コンパイラ 2012年10月15日
情報 第2回:状態遷移 その2.
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2013 ー有限オートマトンー 第5日目
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン2008 ー有限オートマトンー
形式言語とオートマトン2012 ー有限オートマトンー 第3日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2016 ~第10日目(形式文法2回目)~
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 I ー 正則表現(今度こそ) ー 月曜3校時 大月 美佳.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
形式言語とオートマトン Formal Languages and Automata 第4日目
Macro Tree Transducer の 型検査アルゴリズム
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2017 ー有限オートマトンー 第3日目
正規表現パート2 NFAエンジンの場合は、 正規表現の磨き上げが必要?.
言語プロセッサ ー第9回目ー 構文解析(続き).
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳 平成15年6月2日 佐賀大学知能情報システム学科.
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2017 ~第10日目(形式文法2回目)~
東京工科大学 コンピュータサイエンス学部 亀田弘之
2007年度 情報数理学.
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー正則表現とFAの等価性 その1ー
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 非決定性有限オートマトン(NFA)
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
ミニテスト12解答 月曜3校時 大月 美佳.
形式言語とオートマトン 第14回 プッシュダウンオートマトンと全体のまとめ
形式言語とオートマトン2015 ー有限オートマトンー 第3日目
4.プッシュダウンオートマトンと 文脈自由文法の等価性
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
コンパイラ 2012年10月11日
形式言語とオートマトン2016 ー有限オートマトンー 第4日目
言語プロセッサ ー第9回目ー 構文解析(続き).
東京工科大学 コンピュータサイエンス学部 亀田 弘之
計算の理論 I ε-動作を含むNFAと等価なDFA
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
形式言語とオートマトン Formal Languages and Automata 第5日目
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
計算の理論 I 最小化 月曜3校時 大月 美佳 平成15年6月23日 佐賀大学知能情報システム学科.
Presentation transcript:

形式言語とオートマトン Formal Languages and Automata 第4日目 Tokyo University of Technology School of Computer Science Hiroyuki KAMEDA

今日の内容 前回の復習 最簡型DFAの求め方とその練習 正規表現を最簡型オートマトンで表現 など

これと同等なDFAを求める. 教科書p.59問題2.4より

これと同等なmin-FAを求める. 教科書p.59問題2.5より

課題:これ同等なDFAを求めよ.

まずは,復習から (皆さんも一緒にやってみましょう!)

DFA Md からmin-DFA Ms を求める 復習 DFA Md からmin-DFA Ms を求める Md の状態を,Fの状態と非Fの状態との2グループに分割する. 各グループの各状態について,入力における遷移先が同じグループに行くものとそうでないものとに分割する. どのグループもこれ以上分割することができなくなるまで2を繰り返す. 最終的に得られる各グループそれぞれを新たな状態とみなすことで得られるDFAがMs .

例による解説

このオートマトンM=<Q,Σ,δ,q0, F> を詳しく分析してみよう 入力アルファベット Σ 初期状態: 最終状態 F 状態遷移関数δ:

このオートマトンM=<Q,Σ,δ,q0, F> を詳しく分析してみよう 状態の集合 Q = { q0, q1, q2, q3, q4, q5 } 入力アルファベット Σ = { 0, 1 } 初期状態: q0 最終状態 F = { q3, q5 } 状態遷移関数δ: 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 q5

状態集合Qを分割してみよう QをFと非Fとに分割: Q = { q0, q1, q2, q3, q4, q5 } => Q1 = { { q0, q1, q2, q4 }, { q3, q5 } } 手順1はこれでおしまい.

手順2(1) Q11 = { q0, q1, q2, q4 } と Q12= { q3, q5 } を調べていく.

手順2(2) 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 q5 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 1 内 部 状 態 q0 q4 q1 q2 q3 q5 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 q5

手順2(3) Q = { q0, q1, q2, q3, q4, q5 } => Q1 = { { q0, q1, q2, q4 }, { q3, q5 } } => Q2 = { { q0, q1, q4 }, { q2 }, { q3, q5 } }

手順2(4) 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 q5 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 1 内 部 状 態 q0 q4 q1 q2 q3 q5 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 q5

手順2(3) Q = { q0, q1, q2, q3, q4, q5 } => Q1 = { { q0, q1, q2, q4 }, { q3, q5 } } => Q2 = { { q0, q1, q4 }, { q2 }, { q3, q5 } } => Q3 = { { q0, q4 }, { q1 }, { q2 }, { q3, q5 } }

手順2(5) 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 q5 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 1 内 部 状 態 q0 q4 q1 q2 q3 q5 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 q5 これで収束したね!

手順2(3) Q = { q0, q1, q2, q3, q4, q5 } => Q1 = { { q0, q1, q2, q4 }, { q3, q5 } } => Q2 = { { q0, q1, q4 }, { q2 }, { q3, q5 } } => Q3 = { { q0, q4 }, { q1 }, { q2 }, { q3, q5 } } (4つに分けることができた!)

手順3(1) min-DFAの内部状態は4つ. qA  { q0, q4 } qB  { q1 } qC  { q2 } qD  { q3, q5 }

手順3(2) qA qC qB qD 入力記号 1 内 部 状 態 q0 q4 q1 q2 q3 q5 1 内 部 状 態 q0 q4 q1 q2 q3 q5 min-DFAの内部状態は4つ. qA  { q0, q4 } qB  { q1 } qC  { q2 } qD  { q3, q5 } qA qB qC 1 qD

一般のDFAから最簡形DFAを 求める方法わかりましたでしょうか? この内容は試験に 出やすい個所です! 一般のDFAから最簡形DFAを 求める方法わかりましたでしょうか? qA qB qC 1 qD

次の話題 次は、NFAと同等なDFAを求める方法について知ろう!

例えばこれと同等なDFAを求めたい. これはNFAです。 教科書p.59問題2.4より

例題:まずはこれから! これもNFAです。

アルゴリズム2.1(教科書p.47) (ここだけを急に読んでもわかりませんよね。順番にやって行きましょう!) 黒板で説明します。メモを取ってください。

自習問題1:等価なDFAを求めよ。

自習問題2:等価なDFAを求めよ。

ここは総合演習でもあるので、次回話しましょう! 最後の話題 正規表現を最簡型オートマトンで表現する. 正規表現 α => NFA => min-DFA 例:α=a(a|b)*bb のNFA,min-DFAを求める. ここは総合演習でもあるので、次回話しましょう!