計算の理論 I ー正則表現とFAの等価性 その1ー

Slides:



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

第1章 場合の数と確率 第1節 場合の数  3  順列 (第3回).
文法と言語 ー字句解析とオートマトンlexー
計算の理論 I 文脈自由文法 月曜3校時 大月 美佳 平成15年6月30日 佐賀大学知能情報システム学科.
コンパイラ 2011年10月17日
計算の理論 II 帰納的関数(つづき) 月曜4校時 大月美佳.
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
文法と言語 ー文脈自由文法とLL構文解析ー
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
計算の理論 I -講義について+αー 月曜3校時 大月美佳.
コンパイラ 2012年10月15日
形式言語とオートマトン2013 ー有限オートマトンー 第5日目
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン2008 ー有限オートマトンー
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II Turing機械の合成 月曜5校時 大月美佳 2004/11/15 佐賀大学理工学部知能情報システム学科.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 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 -言語とオートマトン- 月曜3校時 大月 美佳.
言語と文法 言語とは,ルールに従う記号列の無限集合である. 文法を与えることで言語が定義できる.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 II 時間量と領域量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 文脈自由文法の標準形 月曜3校時 大月美佳.
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳 平成15年6月2日 佐賀大学知能情報システム学科.
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
2007年度 情報数理学.
文法と言語 ー文脈自由文法とLL構文解析ー
計算の理論 I ー閉包性ー 月曜3校時 大月 美佳.
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 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日 佐賀大学知能情報システム学科.
計算の理論 I 最小化 月曜3校時 大月 美佳 平成15年6月23日 佐賀大学知能情報システム学科.
Presentation transcript:

計算の理論 I ー正則表現とFAの等価性 その1ー 月曜3校時 大月 美佳

連絡事項 訂正:正則表現の例で間違い 自転車 ○ε={}{ε}={}=○ ○a={}{a}={}=○ (○(a+b))={}{a, b}={}=○ 要するに空集合との連接は空集合になる 自転車

今日の講義内容 前回のミニテスト 今日の新しいこと ミニテストの解答例 もうちょっと正則表現 正則表現とFAの等価性 正則表現からのε-動作を含むNFAの作り方 → 例2.12 (p. 42) DFAからの正則表現の作り方 → 例2.13 (p. 45) 次回

前回のミニテスト (演習問題 2.11, p. 66) 次の正則表現が表すのはどんな集合か、 ことばで説明せよ。 (11+0)*(00+1)* → 分けて考えよう。 (11+0)*ってどんな集合? (00+1)*ってどんな集合? 二つを連接するとどういう集合になるの?

(11+0)*ってどんな集合? あり得る記号列 あり得ない記号列 01101111001101111011111111 偶数(0, 2, 4, ..)個連続する1と任意の数(0, 1, 2, …)連続する0が含まれる列 あり得ない記号列 011011110011101111011111111 奇数個連続する1を一つでも含む列

(00+1)*ってどんな集合? あり得る記号列 あり得ない記号列 00100110000001100111000011111 偶数(0, 2, 4, ..)個連続する0と任意の数(0, 1, 2, …)連続する1が含まれる列 あり得ない記号列 0010011110001100111000011 奇数個連続する0を一つでも含む列

二つを連接すると どういう集合になるの? パターン1 : オーバーラップがない場合 偶数個連続する1と最後の1つが奇数個連続するような連続する0から成る列 偶数個連続する0と先頭の1つが奇数個連続するような連続する1から成る列

二つを連接した集合 つづき パターン2 : オーバーラップがある場合 偶数個連続する1と任意個連続する0から 成る列の後、奇数個連続する1が出現した 場合に、偶数個連続する0と任意個連続す る1から成る列に変わるような列 → パターン1を含む

二つを連接した集合 (言い換えると?)

もうちょっと正規表現 慣れるためには、訓練が必要。 (00+1)*のバリエーション 記号の連続の制限 いろいろと当たってみる (000+1)* : 0の個数が3の倍数 (0000+1)* : 0の個数が4の倍数 記号の連続の制限 (1+01)*(ε+0) : 2個以上続く0を含まない いろいろと当たってみる 結構難しい…

今日の新しいこと 正則表現とFAの等価性 正則表現からのε-動作を含むNFAの作り方 DFAからの正則表現の作り方 来週 →NFAの生成例 (例2.12, p. 42) DFAからの正則表現の作り方 →正則表現の生成例 (例2.13, p. 45) NFA 正則表現 ε-動作を含む DFA 来週

正則表現からのε-動作を含むNFAの作り方 証明と同じ手順 括弧つきに書き換える (00+1) → ((00)+1)* 分解していく r = r1* r1 = r2+r3, r3 =1 r2 = r4+r5, r4 =1 , r5 =1 * + 連接 1

NFAの作り方 (NFAに変換 1) 末端(最小構成)をFAに変換する r =ε r =○ r = a * + 連接 1 a q0 開始 qf + 開始 連接 1 q0 a qf 開始

NFAの作り方 (NFAに変換 2) 末端から根に向かってどんどん変換する r =r1+r2 r =r1r2 r = r1* → 定理2.3 (2)、図2.14 (b) r = r1* → 定理2.3 (3)、図2.14 (c) * + 連接 1

NFAの作り方 (図2.14 (a)) r1 のNFA r2 のNFA 最終状態が1個だけ ε ε + ε ε q1 f1 開始 q1 f1

NFAの作り方 (図2.14 (b)) r1 のNFA r2 のNFA 最終状態が1個だけ 連接 q1 f1 開始 q1 f1 開始 q2

NFAの作り方 (図2.14 (c)) r1 のNFA 最終状態が1個だけ * ε ε ε ε q1 f1 開始 q0 q1 f1 f0

どんどんやってみる * やってみてね + 連接 1 1 ε ε 1 q5 q6 q8 q7 q1 q2 q3 q4 開始 q1 q2 開始 q3 q4 ε 開始 * やってみてね + q1 q2 開始 q3 q4 ε 連接 1 q5 q6 1 開始 q1 q2 開始 q3 q4 開始

NFAの生成例 (例2.12, p. 42) 正規表現 : 01*+1 括弧つきに書き換える 分解していく r r1 r2 r3 r4 r5 01*+1 → ((0(1*))+1) 分解していく r=r1+r2, r1=0(1*), r2=1 r1=r3r4, r3=0, r4=1* r4=r5*, r5=1 r + r1 r2 連接 1 r3 r4 * r5 1

NFAの生成例 (つづき 1) 正規表現 : 01*+1 最小構成をFAに変換する FAを組みあげていく (定理2.3) r + r1 r2 連接 1 r3 r4 正規表現 : 01*+1 最小構成をFAに変換する FAを組みあげていく (定理2.3) r4=r5*, r5=1 r1=r3r4 , r3=0 r=r1+r2 , r2=1 * r5 1 q5 1 q6 開始 q3 q4 開始 q1 1 q2 開始

NFAの生成例 (つづき 2) 4.1. r4=r5* (p. 41, 図2.14の(c)) r5=1 ε ε 1 ε ε r r1 r2 + r1 r2 4.1. r4=r5* (p. 41, 図2.14の(c)) 連接 1 r3 r4 * r5 ε 1 q7 ε q5 1 q6 ε q8 r5=1 ε

NFAの生成例 (つづき 3) 4.2. r1=r3r4 (p. 41, 図2.14の(b)) r3=0 r4=r5* r5=1 ε ε ε + r1 r2 連接 1 4.2. r1=r3r4 (p. 41, 図2.14の(b)) r3 r4 * r3=0 r5 1 q3 q4 開始 ε ε r4=r5* q7 ε q5 1 q6 ε q8 r5=1 ε

NFAの生成例 (つづき 4) 4.3. r=r1+r2 (p. 41, 図2.14の(a)) r2=1 r4=r5* r5=1 ε ε 1 連接 1 r3 r4 4.3. r=r1+r2 (p. 41, 図2.14の(a)) * r5 r2=1 1 ε q9 ε q1 1 q2 q10 ε 開始 q3 q4 ε ε r4=r5* ε q7 ε q5 1 q6 ε q8 r5=1 ε

今日のミニテスト ミニテスト 資料、ミニテストがない人は前へ 提出したら帰って良し 次回 演習問題 2.12のa 教科書・資料を見ても良い 正則表現とFAの等価性つづき DFAからの正則表現の作り方