- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正则表现→ε-NFA
平成15年6月16日 佐賀大学知能情報システム学科 計算の理論 I正則表現とFAとの等価性 月曜3校時 大月 美佳 今日の講義内容 正則表現補足 正則表現とFAの等価性 正則表現→ε-NFA DFA(NFA)→正則表現 ミニテスト 正規表現補足 慣れるためには、訓練が必要。 (00+1)*のバリエーション (000+1)* : 0の個数が3の倍数連続 (0000+1)* : 0の個数が4の倍数連続 記号の連続の制限 (1+01)*(ε+0) : 2個以上続く0を含まない いろいろと当たってみる 教科書3.1.4 p.98~99 今日の新しいこと 正則表現とFAの等価性 正則表現からのε-動作を含むNFAの作り方 →p.111~116 3.2.3項 (例3.8, p. 115) DFAからの正則表現の作り方 →p.100~111 3.2.1, 3.2.2項 (例3.5, p. 103, 例3.6, p.109) 正則表現からのε-動作を含むNFAの作り方 括弧つきに書き換える (00+1) → ((00)+1)* 分解していく r = r1* r1 = r2+r3, r3 =1 r2 = r4+r5, r4 =1 , r5 =1 NFAの作り方(定理3.7 図3.16 p.113) 末端(最小構成)をFAに変換する r =ε r =φ r = a NFAの作り方(定理3.7 図3.17 p.113) 末端から根に向かってどんどん変換する r =r1+r2 → 図3.17 (a) r =r1r2 → 図3.17 (b) r = r1* → 図3.17 (c) 図3.17(a) 図3.17(b) 図3.17(c) どんどんやってみる NFAの生成例 正規表現 : 01*+1 括弧つきに書き換える 01*+1 → ((0(1*))+1) 分解していく r=r1+r2, r1=0(1*), r2=1 r1=r3r4, r3=0, r4=1* r4=r5*, r5=1 NFAの生成例(つづき 1) 正規表現 : 01*+1 最小構成をFAに変換する FAを組みあげていく r4=r5*, r5=1 r1=r3r4 , r3=0 r=r1+r2 , r2=1 NFAの生成例(つづき 2) 4.1. r4=r5* NFAの生成例(つづき 3) 4.2. r1=r3r4 NFAの生成例(つづき 4) 4.3. r=r1+r2 DFA→正則表現(3.2.1項 p.100~) 考え方 ある状態からある状態の間の状態を0からひとつずつ増やしていって、 状態の任意の組からなる道が生成することのできる文字列の正則表現を再帰的に拡張していき、 最後に、初期状態から最終状態への道が生成できる文字列の正則表現を求める。 数学的に定義 正則表現の式との対応 正則表現の生成例その1 どんどん進めるk=1 どんどん進めるk=2 最終状態への道k=3 まとめ方が難しい? 以下のルールを活用せよ 正則表現の生成例その2 下の状態図に対応する正則表現を求めよ。 とりあえず番号をつける 状態Aが加わったk=1 その1 状態Aが加わったk=1 その2 状態Aが加わったk=1 その3 状態Aが加わったk=1 その4 状態Aが加わったk=1 その5 さらに状態Bが加わったk=2 例1 どんどん進めるk=2 最終状態への道k=3 最終解k=3 状態消去法 (3.2.2項 p.105~) 状態を正則表現に順次置き換えていく オートマトンの全ての辺のラベルを正則表現に書き改める 受理状態qと開始状態q0のみを残して、後は消去する(消去法: p.106-107, 図3.7→図3.8) q≠q0の場合には、この2状態オートマトンに図3.9(p. 108)のようなラベル付けをする q=q0の場合には、この1状態オートマトンに図3.10(p. 109)のようなラベル付けをする 3と4の和から全体を求める 消去後のFAと正則表現 状態消去法の例(例3.6 p.109) 末尾から2文字目か3文字目に1がある列の全体を受理するFA ラベルの書き換え 正則表現に書き換える 状態Bの消去 繰り返し作業を省くためこの時点で消去 状態Cの消去 (A, D)の組用 状態Dの消去 最終的な正則表現 (A, C)と(A, D)の正則表現の和 → (0+1)*1(0+1)+(0+1)*1(0+1)(0+1) ミニテストと次回内容 ミニテスト 教科書?資料を見ても、友達と相談しても良い 15分後に指名された人は板書 ミニテストを提出すること 出したら帰って良し 次回(6/23)内容 DFAの最小化 ε C C C A A A A C ε ε ε ε C
文档评论(0)