形式文法と形式言語

Download Report

Transcript 形式文法と形式言語

形式言語 と オートマトン
第11回
鳥取大学工学研究科
情報エレクトロニクス専攻
田中美栄子
本日の予定
形式言語とオートマトン
正規文法と有限オートマトンの対応
形式言語とオートマトン
有限オートマトンから正規文法を構成する
アルゴリズム 6.1
動作関数状態遷移図
書き換え規則
q
a
q
a
p
Aq  aAp
p
Aq  aAp
Aq  a
q0
形式言語とオートマトン
正規文法から非決定性有限オートマトンを構成する
アルゴリズム 6.2
動作関数状態遷移図
書き換え規則
A  aB
qA
Aa
qA
a
a
qF
qS
形式言語とオートマトン
qB
例
 正規文法
G=<{S,T}, {a,b}, {S→aT, S→bS, T→aS,
T→bT, S→a, T→b}, S>
で生成される言語を受理する有限オートマ
トンを構成しなさい
形式言語とオートマトン
解答G=<{S,T}, {a,b}, {S→aT, S→bS, T→aS, T→bT,
S→a, T→b}, S>
DFA
NFA
b
a
b
b
b
a
a
a
a
形式言語とオートマトン
b
本日の予定 2
形式言語とオートマトン
正規表現とは:
意識せずに、文字列の表現方法
データベースなどでのキーワードによる検索や
ワープロでの文字列検索・置換などで利用する
形式言語とオートマトン
いくつかの例
正規表現に書き換えると?
L = {a3n | n>=0} = {aaa}*
L = (a3)*
L = {an | n>=0} = {a}*
L = a*
L={ab,ba} ={ab} U {ba}
L=ab+ba
L={aa}{a,b}*{bbb}
形式言語とオートマトン
L=a2(a+b)*b3
アルファベット ∑ 上すべての語の集合も1つの
∑上の言語であり、これを ∑* で表す
形式言語とオートマトン
形式言語とオートマトン
偶数長の語からなる言語を表す正規表現:
(aa+ab+ba+bb)*
((a+b)(a+b))*
((a+b)2)*
((a2+2ab+b2)*
形式言語とオートマトン
aで始まり,bで終わる
語からなる言語を表す正規表現を求めなさい
形式言語とオートマトン
項番
正規表現
言語
備考
1.1

  {}
空集合
a
{a}
1.2
1.3
形式言語とオートマトン
項番
正規表現
言語
和
2.1
連接
2.2
2.3
形式言語とオートマトン
*
スター