オートマトン 形式言語及び演習 3. 正規表現 酒井正彦 正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語

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

Microsoft PowerPoint - 09re.ppt [互換モード]

オートマトン 形式言語及び演習 4. 正規言語の性質 酒井正彦 正規言語の性質 反復補題正規言語が満たす性質 ある与えられた言語が正規言語でないことを証明するために その言語が正規言語であると

2-1 / 語問題 項書換え系 4.0. 準備 (3.1. 項 代入 等価性 ) 定義 3.1.1: - シグネチャ (signature): 関数記号の集合 (Σ と書く ) - それぞれの関数記号は アリティ (arity) と呼ばれる自然数が定められている - Σ (n) : アリ

オートマトンと言語

情報数理学

Microsoft PowerPoint - 1.ppt [互換モード]

Microsoft PowerPoint - 3.ppt [互換モード]

離散数学

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 2.ppt [互換モード]

PowerPoint Presentation

経済数学演習問題 2018 年 5 月 29 日 I a, b, c R n に対して a + b + c 2 = a 2 + b 2 + c 2 + 2( a, b) + 2( b, c) + 2( a, c) が成立することを示しましょう.( 線型代数学 教科書 13 ページ 演習 1.17)

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�)

融合規則 ( もっとも簡単な形, 選言的三段論法 ) ll mm ll mm これについては (ll mm) mmが推論の前提部になり mmであるから mmは常に偽となることがわかり ll mmはllと等しくなることがわかる 機械的には 分配則より (ll mm) mm (ll mm) 0 ll m

文法と言語 ー文脈自由文法とLR構文解析2ー

Microsoft PowerPoint - 5.ppt [互換モード]

Matrix and summation convention Kronecker delta δ ij 1 = 0 ( i = j) ( i j) permutation symbol e ijk = (even permutation) (odd permutation) (othe

Microsoft PowerPoint - 10.pptx

Information Theory

<4D F736F F D E4F8E9F82C982A882AF82E98D7397F1>

Microsoft PowerPoint - H21生物計算化学2.ppt

行列、ベクトル

線形代数とは

航空機の運動方程式

An Automated Proof of Equivalence on Quantum Cryptographic Protocols


vecrot

nlp1-04a.key

Microsoft PowerPoint - 10.pptx

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

PowerPoint Presentation

NOTE P, A,. A P ( A, P ),,.,. P A. (set) (set), (). (element), (element).,.,. ( A, B, X, Y, P ), { } (),..3 (union) A, B,A B, A B (union),. A B = {x x

1 Q A 82% 89% 88% 82% 88% 82%

Microsoft PowerPoint - DA2_2017.pptx

<4D F736F F D208C51985F82CD82B682DF82CC88EA95E A>

スライド 1

. R R D e R R 7 () r r R R () l t t R R 7 l () () R r rr r r n r n r r 3 6 r 88 R r 360 r = e t t = e r t rt rt, r t, r 3 t, r t R R R R R D = {e, r,

調和系工学 ゲーム理論編

補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位

PowerPoint プレゼンテーション

Microsoft Word - thesis.doc

Microsoft PowerPoint - LogicCircuits01.pptx

Microsoft PowerPoint - DA2_2019.pptx

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

トポス alg-d 年 5 月 5 日 1 トポス 定義. P, Q: C op Set を関手とする.P が Q の部分関手 ( 記号で P Q と書く ) 自然変換 θ : P Q で 各 a C について θ

チェビシェフ多項式の2変数への拡張と公開鍵暗号(ElGamal暗号)への応用

( 最初の等号は,N =0, 番目は,j= のとき j =0 による ) j>r のときは p =0 から和の上限は r で十分 定義 命題 3 ⑵ 実数 ( 0) に対して, ⑴ =[] []=( 0 または ) =[6]+[] [4] [3] [] =( 0 または ) 実数 に対して, π()

Microsoft PowerPoint - mp13-07.pptx

テンソル ( その ) テンソル ( その ) スカラー ( 階のテンソル ) スカラー ( 階のテンソル ) 階数 ベクトル ( 階のテンソル ) ベクトル ( 階のテンソル ) 行列表現 シンボリック表現 [ ]

Q E Q T a k Q Q Q T Q =

数学の世界

PowerPoint Presentation

Microsoft PowerPoint ppt

<4D F736F F D A788EA8E9F95FB92F68EAE>

油圧1.indd

(35H-3).pm

Microsoft PowerPoint - mp11-02.pptx

Microsoft PowerPoint L03-Syntex and Semantics-1-students ( )

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

() ): (1) f(x) g(x) x = x 0 f(x) + g(x) x = x 0 lim f(x) = f(x 0 ), lim g(x) = g(x 0 ) x x 0 x x0 lim {f(x) + g(x)} = f(x 0 ) + g(x 0 ) x x0 lim x x 0

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

Microsoft Word - K-ピタゴラス数.doc

Microsoft PowerPoint - 03BNFScanner.ppt [互換モード]

ε

2007年08月号 022416/0812 会告

Microsoft PowerPoint - sakurada3.pptx

例 e 指数関数的に減衰する信号を h( a < + a a すると, それらのラプラス変換は, H ( ) { e } e インパルス応答が h( a < ( ただし a >, U( ) { } となるシステムにステップ信号 ( y( のラプラス変換 Y () は, Y ( ) H ( ) X (

Microsoft PowerPoint - ロボットの運動学forUpload'C5Q [互換モード]

2015年度 2次数学セレクション(整数と数列)


代数 幾何 < ベクトル > 1 ベクトルの演算 和 差 実数倍については 文字の計算と同様 2 ベクトルの成分表示 平面ベクトル : a x e y e x, ) ( 1 y1 空間ベクトル : a x e y e z e x, y, ) ( 1 1 z1

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

数理論理

DVIOUT-17syoze

構造化プログラミングと データ抽象

<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69

DVIOUT

Microsoft PowerPoint - H22制御工学I-10回.ppt

2015年度 信州大・医系数学

パソコンシミュレータの現状

言語プロセッサ2005 -No.6-

Microsoft PowerPoint - 7.pptx

Microsoft PowerPoint - H22制御工学I-2回.ppt

講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2

-2-

行列代数2010A

に対して 例 2: に対して 逆行列は常に存在するとは限らない 逆行列が存在する行列を正則行列 (regular matrix) という 正則である 逆行列が存在する 一般に 正則行列 A の逆行列 A -1 も正則であり (A -1 ) -1 =A が成り立つ また 2 つの正則行列 A B の積

JavaプログラミングⅠ

M M M M

DVIOUT-SS_Ma

Microsoft PowerPoint - Compiler03.pptx

情報量と符号化

Microsoft PowerPoint - logic ppt [互換モード]

論理と計算(2)


1/20 平成 29 年 3 月 25 日午前 11 時 7 分第 1 章 :U(N) 群 SU(N) 群 ( 学部 4 年次向 ) 第 1 章 :U(N) 群 SU(N) 群 Ⅰ. 標準模型の素粒子 素粒子の分類図 3 世代 素粒子の標準理論に含まれる素粒子は 素粒子の分類図 から R, G, B

13

DSP工法.pdf

Transcription:

オートマトン 形式言語及び演習 3. 酒井正彦 www.trs.css.i.nagoya-u.ac.jp/~sakai/lecture/automata/ とは ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械 : 言語を記号列で定義 - 記述しやすい ( ユーザフレンドリ ) 例 :01 + 10 - UNIX の grep コマンド - UNIX の lex, flex ツールの入力の記述 準備 言語上の演算 和 : 集合の和と同じ L M = {w w L または w M} 連接 : L M = {w w = x y, x L, y M} (L M は L.M とも書く ) ベキ : L 0 = {ε}, L 1 = L, L k+1 = L.L k クリーネ閉包 : L = L i i=0 問 : 0, i, はどんな集合? 3-1 / 29 3-2 / 29 3-3 / 29 準備 補題 1: 任意の言語 M, N, P に対して 以下が成り立つ (MN)P = M(NP) 証明 : 文字列 x, y, z に対して (xy)z = x(yz) が成り立つことから証明できる 補題 2: 任意の言語 M に対して M i M j = M i+j が成り立つ 証明 : i に関する帰納法で示す - i = 0 のときは明らか - i > 0 のとき 左辺 =(MM i 1 )M j = M(M i 1 M j ) = M(M i+j 1 ) = 右辺 E とそれが表す集合 L(E) の再帰的定義基底 : - ε はで L(ε) = {ε} - はで L( ) = { } - a Σ のとき a はで L(a) = {a} 帰納 :E, F がのとき - (E) はで L((E)) = L(E) - E+F はで L(E+F) = L(E) L(F) - E.F はで L(E.F) = L(E).L(F) - E はで L(E ) = (L(E)) 例 :0 と 1 が交互に現われる文字列全体を表す (01) + (10) + 0(10) + 1(01) 別の表現も可能 (ε + 1)(01) (ε + 0) 演算の優先順序,., + ( 結合の強い方から順に ) 例 :01 + 1 は (0(1 )) + 1 を表す 3-4 / 29 3-5 / 29 3-6 / 29

性質の例 : 任意の E に対して L(E E ) = L(E ) が成り立つ 証明 : L(E E ) = (L(E)).(L(E)) より 任意の言語 M に対して M M = M を示せば十分である w M ならば w M M は ε M より明らか w M M ならば w M を証明する w M M とすると w M i M j を満たす i, j が存在する スライド p.3-4 の補題 2 より w M i+j であるから w M 有限オートマトンと 有限オートマトンとの等価性の証明手順 有限オートマトンからへの変換定理 3.4: 任意の DFA A = (Q, Σ, δ, q 0, F) について L(R) = L(A) を満たす R が存在する証明 : A の状態を {1, 2,..., n} 初期状態を 1 とする A の状態 i から j に至る経路 ( 文字列 ) で k より大きな状態を経由しない文字列全体を表すを で表す 3-7 / 29 3-8 / 29 3-9 / 29 有限オートマトンからへの変換 証明 ( 続き ): が分かれば L(R) = L(A) を満たす R は R (n) 1j の和 ( ただし j は全ての受理状態 ) で与えられる の k に関する再帰的定義基底 : i j かつ δ(i, a) = j を満たす a を a 1, a 2,..., a m とするとき R (0) = a 1 + a 2 + +a m ただし m = 0 のとき R (0) = i = j かつ δ(i, a) = j を満たす a を a 1, a 2,..., a m とするとき R (0) = a 1 + a 2 + +a m + ε 有限オートマトンからへの変換 証明 ( 続き ): の k に関する再帰的定義 ( 続き ) 帰納 : = R (k 1) + R (k 1) ik (R (k 1) kk ) R (k 1) kj 有限オートマトンからへの変換 例 : 次の DFA が認識する言語を表すを構成する まず R (0) を求める 3-10 / 29 3-11 / 29 3-12 / 29

有限オートマトンからへの変換 以降で使う の簡単化の規則 - R(S + T )=RS + RT - (S + T )R=SR + TR - R (ε + R)=R =(ε + R)R - R i + R =R - (ε + R) = R - R + RS = RS - ε = ε - R = R = - + R = R + = R 有限オートマトンからへの変換 次に R (1) を求める R (1) = R (0) + R (0) i1 (R (0) 11 ) R (0) 1j 有限オートマトンからへの変換 次に R (2) を求める R (2) = R (1) + R (1) i2 (R (1) 22 ) R (1) 2j 3-13 / 29 3-14 / 29 3-15 / 29 有限オートマトンからへの変換 よって 有限オートマトンからへの変換 II 状態消去法 : ラベルをに拡張したオートマトンを考え 状態を消去する ( 前回の方法より効率的 ) 有限オートマトンからへの変換 II 状態 s を消去する 得られたは R (2) 12 = 1 0(0 + 1) 3-16 / 29 3-17 / 29 3-18 / 29

有限オートマトンからへの変換 II 各々の受理状態 q について q と q 0 以外の状態を全て消去する q q 0 なら 対応するは (R+SU T ) SU 有限オートマトンからへの変換 II 例 : 最後の 2 文字目か 3 文字目に 1 を持つ列を受理するオートマトン 有限オートマトンからへの変換 II 例 ( 続き ): q = q 0 なら 対応するは R ラベルをに変更 状態 C を消去し (0 + 1) 1(0 + 1)(0 + 1) を得る 状態 B を消去 状態 D を消去し (0 + 1) 1(0 + 1) を得る 求めたいは これらの和 3-19 / 29 3-20 / 29 3-21 / 29 有限オートマトンからへの変換 II 例 ( 続き ): 以上から (0 + 1) 1(0 + 1)(0 + 1) + (0 + 1) 1(0 + 1) を得る からオートマトンへの変換 定理 3.7: 任意の R について L(A) = L(R) を満たす ε-nfa が存在する 証明 :R の構成に基づいて帰納的に A を定義する 基底 :ε a と等価なオートマトンは 以下の通り からオートマトンへの変換定理 3.7 の証明 ( 続き ) 帰納 :R + S RS R と等価なオートマトンは 以下の通り 3-22 / 29 3-23 / 29 3-24 / 29

からオートマトンへの変換例 :(0 + 1) 1(0 + 1) と等価な ε-nfa を作る の代数的法則 結合法則と交換法則 - L + M=M + L - L + (M + N)=(L + M) + N - L(MN)=(LM)N - LM ML 単位限と零元 - + L=L + =L - εl=lε=l - L=L = の代数的法則 分配法則 - R(S + T )=RS + RT - (R + S)T =RT + ST 冪等法則 - R + R=R 閉包に関する法則 - (R ) =R - =ε - ε =ε - R + =RR =R R - R =R + + ε 3-25 / 29 3-26 / 29 3-27 / 29 の代数的法則 の代数的法則 に関する法則の発見 検証 ( 機械的 ) - 例 :E と F をとするとき E+F = F +E を示す方法 - E を a に F を b に固定する - L(a + b) = L(b + a) を自動検証する (4 章 ) この手法は +. の演算のみを使う限り正しい ( 集合の積では成立しない 教科書 p.135 の囲み記事を参照 ) 例 : (E+F ) =(E F ) の証明には (a + b) と (a b ) の等価性を示せば十分である 例 : E =E E の証明には a と a a の等価性を示せば十分である 問 : E+FE=(E+F)E は成立するか? 3-28 / 29 3-29 / 29