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

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

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

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

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

情報数理学

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

オートマトンと言語

PowerPoint プレゼンテーション

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

離散数学

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

PSCHG000.PS

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

_unix_text_command.pptx

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx

PowerPoint Presentation

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

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

オートマトンと言語

平成 24 年度岡山県学力 学習状況調査 数学解答類型分類表 解答類型分類にかかる留意事項 数学における学習到達度をみることが目的であるので, 誤字脱字などの文字表現の不備については, 広く許容する 基本的に意図が伝われば許容する 文章表現についても広く許容する てにをはの誤りや

Information Theory

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


Microsoft PowerPoint - 10.pptx

フィルタとは

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字

航空機の運動方程式

Microsoft PowerPoint - DA2_2019.pptx

Microsoft PowerPoint - mp11-02.pptx

5_motif 公開版.ppt

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

Microsoft PowerPoint - Compiler03.pptx

<4D F736F F D208CF68BA48C6F8DCF8A C30342C CFA90B68C6F8DCF8A7782CC8AEE967B92E8979D32288F4390B394C529332E646F63>

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

学習指導要領

アンリツ株式会社様

学習指導要領

Microsoft PowerPoint - 13approx.pptx

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

学習指導要領

Microsoft Word - 中2数学解答【一問一答i〜n】.doc.pdf

2 場合の数次の問いに答えよ (1) 表裏がわかる 3 種類のコイン a,b,c を投げて, 表が出た枚数が奇数となる場合は何通りあるか (2) ソファ, テーブル, カーペットがそれぞれ 3 種類,4 種類,2 種類ある それぞれ 1 つずつ選ぶとすると, 選び方は何通りあるか 要点和の法則 2

PowerPoint Presentation

M M M M

Z...QXD (Page 1)

Microsoft PowerPoint - DA2_2017.pptx

-

Microsoft PowerPoint - 7.pptx

Microsoft PowerPoint - ad11-09.pptx

生命情報学

スライド 1

C8

2015年度 信州大・医系数学

Taro-cshプログラミングの応用.jt

情報処理Ⅰ

Probit , Mixed logit


3-category

Microsoft PowerPoint - prog03.ppt

プレポスト【解説】

スライド 1

Microsoft Word - Javacc.docx

EPSON VP-1200 取扱説明書

Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - DA2_2018.pptx

<4D F736F F F696E74202D208AF489BD8A7782C CF97CA82A882DC82AF2E B8CDD8AB B83685D>

千葉大学 ゲーム論II

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用



人事行政の運営状況等の公表(平成19年12月)(PDF)


mogiJugyo_slide_full.dvi

Microsoft Word - 町田・全 H30学力スタ 別紙1 1年 数学Ⅰ.doc

経済数学演習問題 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)

ピタゴラスの定理の証明4

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

「住宅に関する防犯上の指針」案

äÓíÍÇ ÉLÉÉÉâÉNÉ^Å[ÉeÅ[ÉuÉã.pdf

PowerPoint プレゼンテーション

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

PowerPoint プレゼンテーション

76 3 B m n AB P m n AP : PB = m : n A P B P AB m : n m < n n AB Q Q m A B AQ : QB = m : n (m n) m > n m n Q AB m : n A B Q P AB Q AB 3. 3 A(1) B(3) C(

5 n P j j (P i,, P k, j 1) 1 n n ) φ(n) = n (1 1Pj [ ] φ φ P j j P j j = = = = = n = φ(p j j ) (P j j P j 1 j ) P j j ( 1 1 P j ) P j j ) (1 1Pj (1 1P

F-08E

学習指導要領

数理論理

Microsoft PowerPoint - Compiler03note.pptx

曲線 = f () は を媒介変数とする自然な媒介変数表示 =,= f () をもつので, これを利用して説明する 以下,f () は定義域で連続であると仮定する 例えば, 直線 =c が曲線 = f () の漸近線になるとする 曲線 = f () 上の点 P(,f ()) が直線 =c に近づくこ

1 1. はじめに ポンスレの閉形定理 Jacobi の証明 June 5, 2013 Akio Arimoto ヤコビは [2] においてポンスレの閉形定理に初等幾何を用いた証明を与え ている 大小 2つの円があり 一方が他方を完全に含んでいるとする 大小 2 円の半径をそれぞれ Rr, とする

調和系工学 ゲーム理論編

埼玉県学力 学習状況調査 ( 中学校 ) 復習シート第 3 学年数学 組 番 号 名 前 ( 図形 を問う問題 ) 1 レベル 6~8(H28 埼玉県学力 学習状況調査 ) 答え 度 2 レベル 9 10 (H28 埼玉県学力 学習状況調査 ) 答え

新たな基礎年金制度の構築に向けて

A Constructive Approach to Gene Expression Dynamics

高ゼミサポSelectⅢ数学Ⅰ_解答.indd

学習指導要領

Microsoft PowerPoint - 10.pptx


Transcription:

3.1. 正則表現 3. 正則表現 : 正則表現 ( または正規表現 ) とは 文字列の集合 (= 言語 ) を有限個の記号列で表現する方法の 1 つ 例 : (01)* 01 を繰り返す文字列 つまり 0(0+1)* 0 の後に 0 か 1 が繰り返す文字列 (01)* = {,01,0101,010101,01010101, } 0(0+1)*={0,00,01,000,001,010,011,0000, } UNIX 系の人にはおなじみ grep, emacs, awk, perl, Windows 系の人にも ファイル名のワイルドカードなど 1/23

3.1. 正則表現の直感的な定義と意味 文字や文字列はそのまま解釈 : a {a} ab {ab} + は または の意味 : ab+a {ab,a} () はグループ化 * は 0 回以上の繰り返し の意味 (ab)* {, ab, abab, ababab, } ちょっと複雑な例 : ((ab)*c)+(a*) (a ) {, a, c, aa, aaa, abc, aaaa, aaaaa, ababc, } 2/23

3.1.1. 正則表現の演算 1. 和集合 (union): 二つの言語 L, M の和集合 L M は L か M のどちらかに含まれる要素の集合. 例 : {abc} {a,b,c} b b } = {a,b,c,abc} b b 2. 連接 (concatenation): 二つの言語 L,Mの連接 LM( または L M) は それぞれの要素を一つづつとってつなげたものの集合 例 : {abc}{a,b,c} } = {abca, abcb, abcc} } 3. 閉包 (closure): ある言語 L の閉包 L* は L の要素を 0 個以上連接したものの集合 例 : {a,b,c}*={,a,b,c,aa,ab,ac,ba,bb,bc,ca,cb,cc,aaa, } 3/23

3.1.1. 正則表現の演算 3. 正則表現 : 2.5. 言語の連接の補足 : LL は L 2, LLL は L 3 と書くことがある 例 : {a,ab} 2 = {a,ab}{a,ab} = {aa,aab,aba,abab} 定義 : L 0 := {}, L 1 := L, L k := L k-1 L (k>1) 3.5. 言語の閉包の補足 : 2.5 より L* は以下の定義と同値 L*: i 0 i L 4/23

3.1.2. 正則表現の構成 3. 正則表現 : 正則表現 E とそれが表現する言語 L(E) の定義 1. 定数 と Φ は正則表現で L()={}, L(Φ)=Φ. 2. 記号 a に対して a は正則表現で L(a) ) = {a}. 3. E と F が正則表現のとき Φ={} 1. E+F は正則表現 定義される言語 ; L(E+F) = L(E) L(F) 2. EF( または E F) は正則表現 定義される言語 ; L(EF) = L(E)L(F) 3. E* は正則表現 定義される言語 ; L(E*) = (L(E))* 4. (E) は正則表現 定義される言語 ; L((E)) = L(E) 5/23

3.1.2. 正則表現の構成 例 : 0 と 1 が交互に現れる文字列 という言語 1. 発想 (1): ()() (a)01の繰り返しか (b)10 () の繰り返しか (c) () 1のあとに (a) か (d) 0のあとに (b) (01)* + (10)* + 1(01)* + 0(10)* 2. 発想 (2): 01の繰り返しの前に1かを追加 後に0か を追加 (1+)(01)*(0+) 同じ言語に違った表現があること 6/23

3.1.2. 正則表現の演算順序 すべて () で明記してもよいが 曖昧でなく定義すれば () は適宜省略できる 1. 同じ演算は左から右 : abc = (ab)c, a+b+c=(a+b)+c b) c 2. * は最優先 : ab*=a(b)* (ab)* 3. は 2 番目 : a+bc = a+(bc) (a+b)c +b) 4. + は最後 : a+bc*+d = (a+(b(c*)))+d 7/23

3. 2. 有限オートマトンと正則表現 ゴール : 正則表現で表現できる言語 = オートマトンで受理できる言語 1. 与えられた正則表現から -NFAが構成できること 2. 与えられた DFAから正則表現が構成できること 2. 与えられた -NFA から正則表現が構成できること -NFA は ( 見かけ上 ) 表現力が高い DFAは構成要素が( 見かけ上 ) 少ない 8/23

3. 2. 3. 正則表現 -NFA 正則表現とそれが表現する言語の定義 1., Φ, 記号 a は正則表現 ; L()=, L(Φ)=Φ,L(a) = {a}. 2. 正則表現 E と F に対し 1. E+F は正則表現 ; L(E+F) = L(E) L(F) 2. EF( または E F) は正則表現 ; L(EF) = L(E)L(F) 3. E* は正則表現 ; L(E*) = (L(E))* 4. (E) は正則表現 ; L((E)) = L(E) から直接 -NFA を構成する 受理状態が 1 つしかない 9/23

3. 2. 3. 正則表現 -NFA 1., Φ, 記号 a は正則表現 ; L()=, L(Φ)=Φ,L(a) = {a}. a 10/23

3. 2. 3. 正則表現 -NFA 2. 正則表現 E と F に対し 1. E+F は正則表現 ; L(E+F) = L(E) L(F) 2. EF( または E F) は正則表現 ; L(EF) = L(E)L(F) 3. E* は正則表現 ; L(E*) = (L(E))* 4. (E) は正則表現 ; L((E)) = L(E) E+F のオートマトン E のオートマトン E のオートマトン F のオートマトン F のオートマトン 11/23

3. 2. 3. 正則表現 -NFA 2. 正則表現 E と F に対し 1. E+F は正則表現 ; L(E+F) = L(E) L(F) 2. EF( または E F) は正則表現 ; L(EF) = L(E)L(F) 3. E* は正則表現 ; L(E*) = (L(E))* 4. (E) は正則表現 ; L((E)) = L(E) E のオートマトン EF のオートマトン F のオートマトン E のオートマトン F のオートマトン 12/23

3. 2. 3. 正則表現 -NFA どの規則も受理 2. 正則表現 E と F に対し 1. E+F は正則表現 ; L(E+F) = L(E) L(F) 2. EF( または E F) は正則表現 ; L(EF) = L(E)L(F) 3. E* は正則表現 ; L(E*) = (L(E))* 4. (E) は正則表現 ; L((E)) = L(E) E* のオートマトン どの規則も受理状態が1つのオートマトンしか 作らない 特に何もしない E のオートマトン E のオートマトン 13/23

3. 2. 3. 正則表現 -NFA 0 1 例 : 0 と 1 が交互に出てくる文字列 の正則表現 1+ (1+)(01)*(0+) ) ( ) 0+ 0 1 1 0 1 0 (01)* 01 0 1 0 1 14/23

3. 2. *. -NFA 正則表現 補題 : 任意の -NFA A に対し L(A)=L(A ) で 以下の条件を満たす -NFA A が存在する 1. 受理状態は1つで 受理状態からの遷移はない 2. 任意の状態 q に対し 初期状態から q への遷移と q から受理状態への遷移が存在する 15/23

3. 2. *. -NFA 正則表現 補題 : 任意の -NFA A に対し L(A)=L(A ) で 以下の条件を満たす -NFA A が存在する 証明 : 1. 受理状態は1つで 受理状態からの遷移はない 2. 任意の状態 q に対し 初期状態から q への遷移と q から受理状態への遷移が存在する 2. 初期状態から到達できない状態と 受理状態に態態到達できない状態は受理する言語とは無関係なので 取り除いてよい 16/23

3. 2. *. -NFA 正則表現 補題 : 任意の -NFA A に対し L(A)=L(A ) で 以下の条件を満たす -NFA A が存在する 証明 : 1. 受理状態は1つで 受理状態からの遷移はない 2. 任意の状態 q に対し 初期状態から q への遷移と q から受理状態への遷移が存在する 1. レポート 1の解答になるので 秘密 17/23

3. 2. *. -NFA 正則表現 定理 : 任意の -NFA A に対し L(A)=L(E) となる正則表現 E が存在する 証明 : L(A)=Φなら E=Φ 以下では L(A) Φと仮定する Aは補題の条件を満たすとする 1. 受理状態は1つで 受理状態からの遷移はない 2. 任意の状態 q に対し 初期状態から q への遷移と q から受理状態への遷移が存在する A 18/23

3. 2. *. -NFA 正則表現 定理 : 任意の -NFA A に対し L(A)=L(E) となる正則表現 E が存在する 証明 : 証明のアイデア : 辺のラベルから正規表現を構築していく 頂点を順番に削除していく 19/23

3. 2. *. -NFA 正則表現 定理 : 任意の-NFA A に対し L(A)=L(E) となる正則表現 E が存在する 証明 : T1 ( 多重辺の削除 ): 同じ端点を持つ複数の辺の一本化 E 1 E 2 (E 1 +E 2 + +E k ) E k T2: ( ループの除去 ): 頂点 qからqへの遷移が1 本のとき F q E 1 q F*E 1 E k T3: ( 頂点 q の削除 ): F*E k 20/23

3. 2. *. -NFA 正則表現 定理 : 任意の-NFA A に対し L(A)=L(E) となる正則表現 E が存在する 証明 : T3: ( 頂点 q の削除 ): q は初期状態 受理状態でない q から q への遷移はない p 1 F 1 E 1 q 1 p 1 q E 1 F F 1 1 F 1 E 1 E j k F q F i i E 1 p Ej i p F i E j i q j F i E k F E q j h k Fh E 1 p h q k p h F h E j F h E k q k 21/23

3. 2. *. -NFA 正則表現 定理 : 任意の -NFA A に対し L(A)=L(E) L(E) となる正則表現 E が存在する 証明 : 与えられた -NFA A に対し 1. T1( 多重辺の除去 ) を可能な限り適用 2. T2( ループの除去 ) を可能な限り適用 3. T3( 頂点の削除 ) を適用すると Aの初期状態と ( 唯一の ) 受理状態以外の状態が一つ減る これを繰り返すと 初期状態と受理状態だけのNFA A E ができる このときの辺のラベル E が求める正規表現となる 22/23

(a*b*+a*c*)d* (a*b*+a*c*) d* a 3. 2. *. -NFA 正則表現 a*b* 例 : 1. まずaが0 個以上続き 2. 次に [bが0 個以上 ] または [cが0 個以上 ] 続き 3. 最後にdが0 個以上続く b b a*=a* a* d d c c b a* a d a* b* a*c* d* a*b* d* a* c* c a* c* d* 23/23