• 検索結果がありません。

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

N/A
N/A
Protected

Academic year: 2021

シェア "オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

オートマトン・形式言語及び演習

— 1. 有限オートマトンとは— 酒井 正彦 www.trs.css.i.nagoya-u.ac.jp/~sakai/lecture/automata/ 1- 1 / 27

形式言語

言語とは:文字列の集合 例:偶数個の1の後に0を持つ列からなる集合 {0, 110, 11110, · · · } 形式言語:数学モデルに基づいて定義された言語 認識機械:文字列が該当言語に属するか? 機械 文字列 受理/非受理 文法:規則により該当言語に属する文字列を生成 規則の例:S → 11S | 0 生成の例:S ⇒ 11S ⇒ 1111S ⇒ 11110 1- 2 / 27

言語のクラス

言語を定義する数学モデル(上の方がクラスが広い) 言語の名称 文法 認識機械 帰納的可算 (制限なし) チューリング機械 ... ... ... 文脈自由 文脈自由 プッシュダウン ・オートマトン 正規 正規 有限オートマトン ... ... ... 1- 3 / 27

有限オートマトン

状態をもつシステムに応用 - ディジタル回路の動作設計 - コンパイラの字句解析 - WEBなどのテキストからのキーワード検索 - 通信プロトコルなどの有限状態システムの検査

有限オートマトン

例:オン・オフ切り替えスイッチ 例:文字列thenの認識

基礎的概念

アルファベット:記号の空でない有限集合 - 例:Σ ={0, 1} 2進アルファベット - 例:Σ ={a, b, · · · , z} すべての小文字の集合 文字列:アルファベット中の記号の有限列 - 例えば、01101 空列:0個の記号からなる文字列 - εで表す

(2)

基礎的概念

列の長さ: 記号の出現の数 - wの長さを|w|で表す - 例:|011| = 3 |ε| = 0 アルファベットのベキ:ΣkはΣから作られる長さkの列の 集合 - 例:Σ ={0, 1} Σ1={0, 1} Σ2={00, 01, 10, 11} Σ0={ε} - 質問:Σ3の要素数は? 1- 7 / 27

基礎的概念

Σ上の全ての列の集合Σ∗ Σ∗= Σ0∪ Σ1∪ Σ2∪ · · · また、 Σ+= Σ1∪ Σ2∪ Σ3∪ · · · Σ∗= Σ+∪ {ε} 連接:xyを文字列とするとき、xyxが表す文字列の 後にyが表す文字列をつないで得られる文字列を表す x = a1a2· · · aiy = b1b2· · · bj xy = a1a2· · · aib1b2· · · bj - 例:x = 01101 y = 110 xy = 01101110 - 任意の列xについて、xε = εx = xが成り立つ 1- 8 / 27

基礎的概念

言語:L ⊆ Σのとき、L上の)言語という 言語の例: - 英単語の集合 - Cプログラムの集合 - いくつかの0のあとに同数個の1が並んだ列からなる 集合 {ε, 01, 0011, 000111, · · · } - 0と1が同じ数だけ含まれている列の集合 {ε, 01, 10, 0011, 0101.1001, · · · } 1- 9 / 27

基礎的概念

言語の例(続き): - 素数を表す2進数の集合 Lp={10, 11, 101, 111, 1011, · · · } - 空集合∅ - 空列だけからなる集合{ε} 注意:∅ 6= {ε} 注意:アルファベットΣは有限集合(言語は無限集合も 扱う)

決定性有限オートマトン

決定性有限オートマトン(DFA)は、次の5項組 A = (Q, Σ, δ, q0,F) - Q:状態の有限集合 - Σ:有限のアルファベット(入力記号の有限集合) - δ:遷移関数(q, a) 7→ p - q0∈ Q:開始状態 - F ⊆ Q:最終状態(あるいは、受理状態)の集合

決定性有限オートマトン

例:L = {x01y | x, y ∈ {0, 1}}を認識するオートマトンA - A = ({q0,q1,q2}, {0, 1}, δ, q0,{q1}) - 遷移表 - 遷移図

(3)

決定性有限オートマトン

有限オートマトンが文字列w = a1a2· · · anを受理する: 遷移図に以下を満たすパス(経路)が存在するとき - 開始状態で始まる - 最終状態で終る - ラベルの列がa1a2· · · an 例:先の有限オートマトン は、文字列01101を受理する 1- 13 / 27

決定性有限オートマトン

遷移関数δ(引数:状態と文字、返値:状態)をδ(引数:状態と文 字列、返値:状態)に拡張(x ∈ Σ, a ∈ Σ) 基底:δ(q, ε) = q 帰納:δ(q, xa) = δ(δ(q, x), a) 受理の形式な定義 Awを受理: δ(q0,w) ∈ F Aが認識する言語: L(A) = {w | δ(q0,w) ∈ F} オートマトンで認識できる言語(それを認識するオートマト ンが存在する言語)を正則言語(あるいは、正規言語)という 1- 14 / 27

決定性有限オートマトン

例:0と1の出現がそれぞれ偶数回の文字列を受理するDFA 1- 15 / 27

DFA の性質の例と証明

以下で定義されるDFA Aは、L(A) = {w | |w|が奇数}を満 たす 0

q

1

1

q

1

(1)と(2)が共に成り立つことをwの長さに関する帰納法で 証明する (1) δ(q0,w) = q0ならば|w|は偶数、その逆も成立 (2) δ(q0,w) = q1ならば|w|は奇数、その逆も成立

性質の証明

基底:|w| = 0のとき、w = εより明らか 帰納:|w| > 0のとき、w = v1 (v ∈ Σ)と書ける (1) (右向きの証明) δ(q0,v1) = q0とする。このとき、 δ(q0,v1) = δ(δ(q0,v), 1)よりδ(q0,v) = q1 帰納法の仮定(2)より、|v|は奇数 よって|w|は偶数 (左向きの証明) |w|は偶数とすると、|v|は奇数 帰納法の仮定(2)より、δ(q0,v) = q1であるから、 δ(q0,v1) = δ(δ(q0,v), 1) = δ(q1, 1) =q0 (2)  (1)と同様に示せる

DFA の例

例:教科書p.58問2.2.1

(4)

DFA の例

前ページの例を表現するDFA 状態を3ビット列の後ろ にa(accepted)かr (rejected)をつけて表す 前回の入力の際にDに落 ちればa、それ以外ならr とする 図の開始状態は000r A B → 000r 100r 011r ∗000a 100r 011r ∗001a 101r 000a 010r 110r 001a ∗010a 110r 001a 011r 111r 010a 100r 010r 111r ∗100a 010r 111r 101r 011r 100a ∗101a 011r 100a 110r 000a 101a ∗110a 000a 101a 111r 001a 110a 1- 19 / 27

非決定性有限オートマトン

非決定性のオートマトンの遷移先は状態の集合 例:01で終る系列を受理する非決定性有限オートマトン 00101を入力したときの動作 1- 20 / 27

非決定性有限オートマトン

非決定性有限オートマトン(NFA)の定義 A = (Q, Σ, δ, q0,F) - Q:状態の有限集合 - Σ:有限のアルファベット - δ:遷移関数(q, a) 7→ {p1,· · · , pn} - q0∈ Q:開始状態 - F ⊆ Q:最終状態(あるいは、受理状態)の集合 1- 21 / 27

非決定性有限オートマトン

例:先程のNFA ({q0,q1,q2}, {0, 1}, δ, q0,{q2}) ここでδは次の遷移関数

非決定性有限オートマトン

遷移関数の拡張(x ∈ Σ, a ∈ Σ) - 基底:δ(q, ε) = {q} - 帰納:δ(q, xa) = [ p∈δ(q,x) δ(p, a) 例:δ(q0, 00101)を計算しよう。 定義 Awを受理する: δ(q0,w) ∩ F 6= ∅ Aが認識する言語: L(A) = {w | δ(q0,w) ∩ F 6= ∅}

NFA の性質の例と証明

次のNFAはL = {w01 | w ∈ Σ}を認識する 次の三つの性質が任意のw ∈ Σについて成り立つことを同 時帰納法により証明する (1) q0∈ δ(q0,w) (2) q1∈ δ(q0,w)ならばwは0で終り、その逆も成立する (3) q2∈ δ(q0,w)ならばwは01で終り、その逆も成立する

(5)

性質の証明

基底:|w| = 0のとき、(1)は明らか。(2)と(3)は両辺が共 に偽となり、成立 帰納:w = xaのとき、 (1) δ(q0,xa) = [ p∈δ(q0,x) δ(p, a) 帰納法の仮定(1)より、q0∈ δ(q0,x) よってaが0と1のいずれの場合もq0∈ δ(q0,a)である ことから、成立 1- 25 / 27

性質の証明

帰納(続き):w = xaのとき、 (2) (右向きの証明) q1∈ δ(q0,xa)とする このとき、q1∈ [ p∈δ(q0,x) δ(p, a)であることから、a = 0 (左向きの証明) a = 0とする 帰納法の仮定(1)より、q0∈ δ(q0,x) これと、q1∈ δ(q0, 0)から、q1∈ δ(q0,x0) 1- 26 / 27

性質の証明

帰納(続き):w = xaのとき、 (3) (右向きの証明) q2∈ δ(q0,xa)とする このとき、q2∈ [ p∈δ(q0,x) δ(p, a)であることから、p = q1 かつa = 1 よって、帰納法の仮定(2)より、xは0で終る (左向きの証明) xが0で終り、a = 1とする 帰納法の仮定(2)より、q1∈ δ(q0,x) これと、q2∈ δ(q1, 1)から、q2∈ δ(q0,x1) 1- 27 / 27

参照

関連したドキュメント

C−1)以上,文法では文・句・語の形態(形  態論)構成要素とその配列並びに相互関係

いずれも深い考察に裏付けられた論考であり、裨益するところ大であるが、一方、広東語

「父なき世界」あるいは「父なき社会」という概念を最初に提唱したのはウィーン出身 の精神分析学者ポール・フェダーン( Paul Federn,

しかし,物質報酬群と言語報酬群に分けてみると,言語報酬群については,言語報酬を与

Hoekstra, Hyams and Becker (1997) はこの現象を Number 素性の未指定の結果と 捉えている。彼らの分析によると (12a) のように時制辞などの T

自発的な文の生成の場合には、何らかの方法で numeration formation が 行われて、Lexicon の中の語彙から numeration

②上記以外の言語からの翻訳 ⇒ 各言語 200 語当たり 3,500 円上限 (1 字当たり 17.5

今回の調査に限って言うと、日本手話、手話言語学基礎・専門、手話言語条例、手話 通訳士 養成プ ログ ラム 、合理 的配慮 とし ての 手話通 訳、こ れら