正規表現のオートマトンへの変換osakasandaiac.jp.ppt

正規表現のオートマトンへの変換osakasandaiac.jp.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * 正規表現の オートマトンへの変換 NFAとDFA 機械的に変換 正規表現のオートマトンへの変換 入力1 有限オートマトン 決定性 (DFA) 非決定性 有限オートマトン (NFA) 入力2 パターンマッチ 正規表現 テキスト パターンマッチ 非決定性有限オートマトン : 入力に対する遷移先が 複数 存在する. 決定性有限オートマトン : 入力に対する遷移先が 1 つ に定まる. 正規表現を機械的に変換するには NFA を介する方が容易 1. 正規表現から NFA へ 正規表現の機械的な変換を補助する ε遷移 入力を読み込まずに無条件に別の状態へ移る遷移. DFA にはない. 1 4 2 3 a 5 a ε ε a 入力 1 → 2 → 3 遷移 1 → 4 → 5 遷移 1. 正規表現から NFA へ (1) 空文字列の NFA 変換 ε 1. 正規表現から NFA へ (2) 1 文字 c の NFA 変換 c 1. 正規表現から NFA へ (3) 正規表現 XY の NFA 変換 X は 終了 状態が の NFA に, Y は 初期 状態が の NFA に変換されているものとする. 正規表現 X 正規表現 Y X の NFA Y の NFA XY の NFA 1. 正規表現から NFA へ (4) 正規表現 X|Y の NFA 変換 正規表現 X 正規表現 Y X の NFA Y の NFA 1 ε ε ε ε X|Y の NFA 1. 正規表現から NFA へ (5) 正規表現 X* の NFA 変換 正規表現 X 2 3 1 X の NFA 4 ε ε X * の NFA ε X が出現しない 1 → 2 → 4 1. 正規表現から NFA へ (5) 正規表現 X* の NFA 変換 X 2 3 1 4 ε ε X * の NFA ε X が出現しない X が 1 回出現 1 → 2 → 4 1 → 2 → 3 → 2 → 4 1. 正規表現から NFA へ 9 ε ε ε a(a|b)*a の NFA 0 a 1 ε ε a b a a b | ( ) a * ε ε 2 3 4 5 6 7 8 a 2. NFA から DFA へ ??? による subset construction ひとつの状態から遷移先が複数存在する. NFA 状態集合 DFA の新たな「状態」 1 a a 3 2 3 2 NFA 部分集合構成法 2. NFA から DFA へ ??? 部分集合構成法 による subset construction ひとつの状態から遷移先が複数存在する. NFA 状態集合 DFA の新たな「状態」 1 a a 3 2 {2, 3} 3 2 1 a NFA DFA 状態集合 DFA の新たな「状態」 2. NFA から DFA へ ??? 部分集合構成法 による subset construction 0 a b 1 a a(a|b)*a の NFA 2 NFA の初期状態と, 初期状態からε遷移によって遷移し得る 状態を集めて状態集合を作り,これを DFA 初期状態とする. {0} a ε遷移なし 2. NFA から DFA へ ??? 部分集合構成法 による subset construction 0 a b 1 a a(a|b)*a の NFA 2 DFA の状態 {0} に含まれる NFA の各「状態」から遷移し得る 「(NFA の) 状態」を集めて状態集合を作り, 新たな DFA の「状態」とする. {0} a ここには 0 しか 状態はない 0 から遷移 し得る状態 は 1 だけ {1} a ε遷移なし 追加される 状態はない 2. NFA から DFA へ ??? 部分集合構成法 による subset construction 0 a b 1 a a(a|b)*a の NFA 2 DFA の状態 {1} に含まれる NFA の各「状態」から遷移し得る 「(NFA の) 状態」を集めて状態集合を作り, 新たな DFA の「状態」とする. {0} a {1} a 1 から b で遷移 し得る状態は 1 だけ b 2. NFA から DFA へ ??? 部分集合構成法 による subset construction 0 a b 1 a a(a|b)*a の NFA 2 DFA の状態 {1} に含まれる NFA の各「状態」から遷移し得る 「(NFA の) 状態」を集めて状態集合を作り, 新たな DFA の「状態」とする. {0} a {1

文档评论(0)

勤劳的小厮 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档