110 likes | 281 Views
形式言語とオートマトン. 第 3 回 有限オートマトンのいろいろな表現法. 有限オートマトン ( Finite State Automata : FSA ). FSA : < Q, Σ , d, q, F> の5つ組 Q は状態の集合 Σ は使用するアルファベット d は動作関数 : Q× Σ → Q q は初期状態( Q の元) F は受理状態の集合( Q の部分集合). 状態の有限集合. 入力記号の有限集合. 動作関数. 初期状態. 受理状態の有限集合. 有限オートマトン. 形式的定義. 有限オートマトンの例. 3状態. 2文字.
E N D
形式言語とオートマトン 第3回 有限オートマトンのいろいろな表現法
有限オートマトン(Finite State Automata:FSA) • FSA:<Q, Σ, d,q,F> の5つ組 • Qは状態の集合 • Σは使用するアルファベット • dは動作関数 : Q× Σ → Q • qは初期状態(Qの元) • Fは受理状態の集合(Qの部分集合)
状態の有限集合 入力記号の有限集合 動作関数 初期状態 受理状態の有限集合 有限オートマトン 形式的定義
有限オートマトンの例 3状態 2文字 遷移関数: 状態rに居てaを読めば状態sに移る
abbaがLの元かどうか調べる 文字列 w=abbaを入力(紙テープの1升毎に入っている) これを1文字ずつ読んで行く(読むたびに状態が変化し、一升ずつ進んで行く) 読み終わったら$が入力される その状態で受理状態のどこかにいればwは受理される つまりwはLの元である
途中の様相の表現:configuration • 状態qに居て、 • Tape headはaを読む • 未処理の文字列がx
オートマトンMにabbaを読ませると • 受理状態でない状態(s)で終了するのでreject • ではaaaを読ませれば? 受理状態tで終了するのでaccept
状態は○で表す 受理状態は◎ 状態遷移は元の状態→次の状態で表す →のそばに読み込む文字を書く
関数の値や写像先は一意的 • しかし、非決定性オートマトンを考えると便利なので、二つ以上の状態への遷移を考え、但し行き先はそれらの状態全部の集合とする 禁止 一意に決定:OK
非決定性オートマトン 一つの入力に対し複数の状態へ遷移する物を • Nondeterministic Finite Automata (NFSA) これに対して普通の決定性FSAを • Deterministic Finite Automata (DFSA) と呼ぶ • 余談だが、automatonの複数形はautomata • ラテン語にルーツを持つ単語の特徴