Transcript Document

正則言語
2011/6/27
形式言語
• Noam Chomsky()
• 近代言語学者・哲学者・政治思想家
• 言語を形式的に解析しようとする試み
• 形式文法から言語を構築していく
• 情報理論との関連性(オートマトン、構文解析、
チューリングマシン等)
形式文法
ある定められた規則(文法)から導出され
る文字列
G=(N,∑,P,S)
•
•
•
•
N
∑
P
S
非終端記号の有限集合
非終端記号の有限集合
生成規則(有限)
開始記号
形式文法の例(文脈自由文法)
G1=(N,∑,P,S)
N={A,B}
∑={0,1}
P={S→0A, A→1A, A→AB,B→0,A→1}
S→0A→01A→01AB→0110
S→0A→01
Chomsky階層
1956
形式文法のクラス
•
•
•
•
正則文法 Regular Grammar
文脈自由文法 Context Free Grammar
文脈依存言語 Context-Sensitive Grammar
句構造文法 Phrase Structure Grammar
RG ⊂ CFG ⊂ CSG ⊂ PSG
正則言語
生成規則が次の形のもの
• A → aB
• C→b
例外として
• S→ε(空文字列)
特長
有限性オートマトンと等価
正則言語の例
生成規則が次の形のもの
• N={A,B,S} ∑={0,1}
• P={ A → 1B,B→0,S→1A}
等価なオートマトン
S→ A→B→ F
1
1 0
この言語は110を生成する
文脈自由文法
• 構成規則が以下のような形のもの
A→a (A∈N,a∈(N∪∑)*)
例
N={A,B,S} ∑={0,1,2}のとき
P={S→A、A→1、B→02,A→0B1}
• プッシュダウンオートマトンとの関連
文脈依存文法
• 生成規則が以下のような形のもの
βAγ → βaγ
P={a、β、γ∈(N∪∑)* ,A ∈N,a≠ε}
βとγの位置によってA→aが成立する
• 線形高速オートマトン
句構造文法
• 構成規則が以下のような形のもの
α→β
P={α∈(N∪∑)* N(N∪∑)* ),β ∈(N∪∑)*}
• 左辺に少なくとも一つの非終端記号があるだ
け
• チューリングマシンとの関連
正則文法と有限オートマトン
• 正則便法と等価な有限オートマトンを構成で
きる
• N={A,B} ∑={0,1}
• P={ A → 1B,B→0,S→1A}
S → A → B→F
1
1
0
正則文法における反復補題
直観的な理解
•
•
•
•
正則文法G1は有限オートマトンに変換できる
有限オートマトンには有限の状態しかない
長い文字列は必ず同じ状態に到達する
ループを何回回るような文もG1は受理する
正則文法における反復補題
• Lが正則言語なら、ある定数nが存在し、Lに属
する長さがnまたはそれ以上のすべての語W
に対し次のような語X,Y,Zが存在する
W=XYZ
|XY|≦n
|Y|≧1
K=1,2,3,… に対し XY*Z
正則文法における反復補題
S
0
X
Y
A
1 B
0 C
1 B
1 D
Z
0
Nの個数<|Z|
{S,A,B,C,D} 010110
必然的に重複する状態が出る
証明
• ある生成文字列長|N|に対し、同じ状態(生成規
則)Fが複数( F1、F2 )存在する
• 1~F1で生成される文字列をX、
F1+1~F2をY、
F2~NをZとする
• 定義より| Y|≧1
• |XY|≦n
• F1+1~F2はループを構成し何回も文字列を生
成できる
• XY*Z
正則言語における反復補題の意味
• 正則言語は反復定理の特長をもっている
• ある言語をもってきて、それが反復定理をみ
たさなければ、正則言語ではない
• 文脈自由言語についても反復定理が適用で
きる
• ある条件を満たさなければ文脈自由言語で
はない
参考文献
• Wikipedia
• オートマトン・言語理論
富田悦次 横森 貴
森北出版株式会社基礎情報工学シリーズ5