2015/7/3 講義予定 • 6月23日 離散システム論 オートマトンと形式言語論(1) • 6月 30日 • 7月 7日 知能システム科学 新田克己 • 7月 14日 • 7月 21日 • プレイスメントテスト • オートマトンと言語理論の基礎知識についての テスト • 6月28日までに合格者を発表 • 合格者:講義に出席する必要なし。期末試験 を受験する必要なし。課題レポートを 提出することによって単位取得。 • 不合格者:講義に出席し、期末試験に合格 することによって単位取得。 毎回、講義の途中で演習を行う。 プレイスメントテスト 形式言語とオートマトン 決定性有限オートマトン 非決定性有限オートマトン 正規文法 プッシュダウンオートマトン 文脈自由文法 チューリングマシン 文脈依存文法 決定可能性、計算量 期末試験(「形式言語とオートマトン」のみ) 7月 28日 追試(樺島先生、宮下先生、新田) 講義の事務連絡 • http://www.ntt.dis.titech.ac.jp/sm/risan /index.html • 講義資料と事務連絡については上記ページ にアクセスすること。 本日の予定 • ~15時55分 テスト • 16時~16時35分 オートマトンと形式言語論の入門 離散システム論 オートマトンと形式言語論(1) • 本日のPPT資料は、明日までに本講義のWebページ にアップしますので、各自、ダウンロードしてください。 • 来週以降のPPT資料は、その週の月曜の夕方までに アップします。各自、講義の始まる前にプリントして 持参してください。 知能システム科学 新田克己 1 2015/7/3 オートマトン理論とは • オートマトン理論 =抽象的な計算装置(機械)の研究 • 1930年代 A.Turing チューリングマシンの提唱。 計算機械ができることとできないことの 境界を明確に記述する目的 オートマトン理論とは • 1940年代、1950年代 より簡単なモデル(有限オートマトン)の研究。 脳の機能のモデルとして提案。 • 1950年代 N. Chomsky 形式文法 用語の定義(その1) • 1969年 S. Cook 計算量 ・コンピュータで効率よく解ける問題のクラス ・原理的には解けるが、実際には非常に多くの 時間がかかるため、小規模の場合しか解けな い問題のクラス 用語の定義(その2) • アルファベットをn個並べたものの集合をΣnと すると, 0 Σ = {ε} Σ*= Σ0+Σ1+‥‥= ∑ Σ+= Σ1+ Σ2 + ‥ ‥ = ∑ Σ • 文字(character): 言語を構成する基本単位 • アルファベットΣ: 文字(記号)を要素とする 空でない有限集合 • アルファベット上の記号列: Σの記号を任意 個取り出し連接して並べたもの • 記号列の長さ:記号列中の記号の個数 • 空列ε(あるいはλ):長さ0の記号列 たとえば • Σ={a,b,c}なら Σ0={ε}, Σ1={a,b,c}, Σ2={aa,ab,ac,ba,bb,bc,ca,cb,cc} … Σ Σ*: Σの閉包(closure),アルファベット上の 記号列全体の集合 Σ={A~Z, a~z, [,] , [. ], スペースなど} ならΣ*はすべての英語の単語,文,テキストを 含む集合 2 2015/7/3 言語の形式的定義 • Σ*中の記号列には,でたらめな記号列もあるが, ある言語の文となる場合もある. • たとえば、「は太郎いるねよ」,「太郎はいるよね」 • 言語L: Σ*の部分集合,言語の文の集合 • 文法: 記号列が言語に属するかどうかを決定する ための知識,文に関する生成規則の集合 文法の定義(その1) 文法G=<VN,VT,P,σ> VN: 非終端記号の集合 ex: {σ,X,Y} VT: 終端記号の集合 ex: {a,b,c} P: 生成規則(書き換え規則)の集合 ex: {X→Y, X→a} σ: 初期記号 σ ∈ VN 文法の定義(その2) • 書き換え規則:α→β α∈V+,β∈V*,V=VN∪VT • 非終端記号VN: 自然言語の文法では,品詞 などの文法用語 ex: S(初期), NP(名詞句), VP(動詞句), N(名詞),…. • 終端記号VT: 自然言語では,単語 ex: I, girl, a, saw, …. たとえば S→NP,VP. NP→Det,N. NP→N. VP→V,NP. Det→a. N→I. N→girl. V→saw. … ここで,Sが初期記号 S NP, VP N,VP I,VP I,V,NP I,saw,NP I,saw,Det,N I,saw,a,N I,saw,a,girl S NP,VP N,VP I,VP I,V,NP I,saw,NP I,saw,N I,saw,I 書き換え規則の読み方 導出(derivation) • S→NP,VP. 1.文(S)は名詞句(NP)と動詞句(VP)から構成 される 2.Sがあるなら,NPとVPに書き換えることができ る • 書き換え規則α→βがある場合,記号列AαB(A, B∈V*)はこの規則によりAβBに書き換えられ る.これを導出といい, AαB⇒AβB で表す. ex: abbaαbba⇒abbaβbba * • ⇒ は導出の任意回の繰り返しを意味する. 3 2015/7/3 文法を用いた言語の定義 • 終端記号からなる記号列wが初期記号σから 導出されるとき,wを文(sentence)と言う. • 言語L(G):文法Gによって生成される言語 * L(G)={w|w∈VT*, σ⇒ w} 文法Gにより初期記号σから生成される文の 集合 たとえば • 初期記号Sから書き換え規則を適用していくと, S⇒ NP VP ⇒ N VP ⇒ I VP⇒ I V NP ⇒ I saw NP ⇒ I saw Det N⇒ I saw a N⇒ I saw a girl このように最も左の非終端記号を書き換えていく導出 を最左導出(leftmost derivation)と言う. * S⇒ I saw a girl たとえば • アルファベット{0,1}上の回文集合 L={ε,0,1,00,11,010,1101011,…} オートマトン • 言語を計算機上で認識(受理)するための 抽象的機械(モデル) S→ε S ⇒ 0S0 ⇒ 01S10 ⇒ S→0 011S110 ⇒ 0111110 S→1 S→0S0 S→1S1 オートマトンの一般的構成 • 制御部:テープの読み書きヘッド+状態 • 読み込んだ記号により状態を変化させる. • 初期状態から開始し,入力記号列をすべて 読み込んだ後の状態が最終状態なら,入力記号列 を認識(受理)したと言う. • 入力記号列を受理しないことを棄却するとも言う. • 逆に,初期状態から最終状態までの過程で記号列を 生成することもできる. (決定性)有限オートマトン ((deterministic) finite automaton) • M=<K, Σ, q0, F, δ> – K: 状態の有限集合 – Σ:アルファベット – q0: 初期状態, q0∈K – F: 最終状態の集合, F⊂K – δ: 状態遷移関数, δ:K×Σ→K 4 2015/7/3 状態遷移図 • 有限オートマトンと対応する有向グラフ表現 • ノードは状態 • 最終状態は,◎で表現する 受理言語(その1) • δ^:K×Σ*→K 1) δ^(q,ε)=q 2) 任意の記号列w, 記号aに対して, δ^(q,wa) = δ(δ^(q,w),a) 状態遷移 • 読み込んだ記号と内部状態の組み合わせで, 次の状態を決定する • 状態qiで入力aが与えられたとき,状態qjに遷 移することをδ(qi,a)=qjと表現する 受理言語(その2) • Mの受理言語L(M):Mが受理する記号列すべ ての集合 • L(M)={w∈Σ*|δ^(q0,w)∈F} • 有限オートマトンの受理言語は,正規言語 (regular language)と呼ばれる. • 有限オートマトンMと記号列wに対して, δ^(q0, w) ∈Fなら, wはMに「受理される (accepted)」と言う. たとえば • 文字aが任意個並んだ文字列を受理するオー トマトン • L(M)={ε, a, aa, aaa, …} たとえば • 名詞句 N+ PREP N+ を受理するオートマトン (N:名詞, Prep:前置詞) 5 2015/7/3 状態遷移図と 受理される文字列集合の関係 (続き) • リンクが2つ直列: 文字を2つ連接した文字列 が対応(ab) • ループがある場合,ループをたどる文字列をx とすると,その閉包x*が対応 • ノード間に2つのリンクが並列: 2つの文字の 集合(OR)が対応(a+b) たとえば • これら3つによって表現された文字列の集合 を正規言語と言う. 演習問題 1.a(b+c)*aに対応する有限オートマトンの状態 遷移図を書いてみましょう. 2.図の有限オートマトンの受理する言語を説 明してください. (a+b)c(b(a+b)c)*a 6
© Copyright 2024 Paperzz