140 likes | 258 Views
先週の復習. 有限オートマトン - 集合表現と図表現 - DFA A の受理する言語 L(A) - NFA A の受理する言語 L(A) 正則表現 - 正則表現の帰納的定義 - 正則表現 α の表す言語 L(α). 今日の目標. 決定性有限オートマトン( DFA) 、非決定性有限オートマトン( NFA) 、正則表現の表現能力が同じであることを理解する それら相互の変換の方法を身につける. 表現能力が同じとは ー DFA と NFA の場合ー. L(A): オートマトン A が受理する 言語(記号列の 集合).
E N D
先週の復習 • 有限オートマトン - 集合表現と図表現 - DFAA の受理する言語 L(A) - NFAA の受理する言語 L(A) • 正則表現 - 正則表現の帰納的定義 - 正則表現 α の表す言語 L(α)
今日の目標 • 決定性有限オートマトン(DFA)、非決定性有限オートマトン(NFA)、正則表現の表現能力が同じであることを理解する • それら相互の変換の方法を身につける
表現能力が同じとはーDFAとNFAの場合ー L(A): オートマトンA が受理する 言語(記号列の 集合) • あらゆるDFAAに対して L(A’)=L(A) なるNFA A’ が存在する • あらゆるNFAAに対して L(A’)=L(A) なるDFA A’ が存在する DFAとNFAの表現能力が等しい
表現能力が同じことを示すにはーDFAと正則表現の場合ー表現能力が同じことを示すにはーDFAと正則表現の場合ー • DFAAが与えられたとき L(α)=L(A) なる正則表現αを構成する方法を示す DFAから正則表現への変換法 • 正則表現 αが与えられたとき L(A)=L(α) なるDFA A を構成する方法を示す 正則表現からDFAへの変換法
結局 DFA,NFA, 正則表現相互の間の変換法を与え ることで、それらの表現能力が等しいことがわかる DFAはもともと NFAの特別な場合 DFA NFA (1) (3) (2) 正則表現
NFAからDFAへの変換 少し板書しましょう
a a P NFAからDFAへの変換における状態遷移関数の決定(教科書図2.16) U ε u1 u2 . . . un ε ε ε a
t b a b a t Φ q r t r t a a b b a s q r t r t s t a b b s t 図2.20 変換前のNFA 図2.21 変換後のDFA ε q r b a b ε a s t b
正則表現からNFAへの変換 教科書p.33 アルゴリズムA やはり板書しましょう
a b ε a b 正則表現→NFAの変換例((a∪ab)*ba)*を受理するオートマトン a b a b ab
a b ε a a b ε ε ε ε 正則表現→NFAの変換例((a∪ab)*ba)*を受理するオートマトン ab ( )* a∪ab
a b a b ε ε ε a ε ((a∪ab)*ba)*を受理するオートマトン ε ε ( )* (a∪ab)* ba ε
NFAの状態遷移図から正則表現への変換 教科書 p.34 アルゴリズムB 少しだけ板書
ー状態遷移図から表現図へー 状態の消去 (1) α β αβ (2) α(γ)*β α β γ 辺の統合 (3) α1 α1∪α2∪...∪αn α2 ... αn