(3):文脈自由文法の例

Download Report

Transcript (3):文脈自由文法の例

形式言語 と オートマト
第10回
鳥取大学工学研究科
情報エレクトロニクス専攻
田中美栄子
本日の予定1
形式言語とオートマト
文法例1(文脈自由文法)
文法(grammar)
G  N, , P, S0 
N = {S}
非終端記号(nonterminal)
Σ = {a, b, c}
終端記号(terminal)
生成規則(production rule) P = {S → aSa , S → bSb, S → c}
初期記号(initial symbol)
S0 = S
導出と文法を生成しなさい.
形式言語とオートマト
文法例1(文脈自由文法)
文法(grammar)
G  N, , P, S0 
N = {S}
非終端記号(nonterminal)
Σ = {a, b, c}
終端記号(terminal)
生成規則(production rule) P = {S → aSa , S → bSb, S → c}
初期記号(initial symbol)
S0 = S
=導出=
S  aSa  abSba  abaSaba  abaaSaacaaba
L  {wcw | w {a, b} }
R
形式言語とオートマト
*
文法例2(文脈自由文法)
言語
L  {a b | 1≦ m ≦ n ≦ 2m}
m n
を生成する文脈自由文法を構成しなさい
形式言語とオートマト
文法例2(文脈自由文法)
言語
L  {a b | 1≦ m ≦ n ≦ 2m}
m n
を生成する文脈自由文法を構成しなさい
=解答=
P  {S  A, A  aAb,
A  aAbb, A  ab, A  abb}
※初期記号をSとし,それが書き換え規則の右辺に
表れないようにしたためS→Aが必要になった.
形式言語とオートマト
文法例2(文脈自由文法)
言語
L  {a b | 1≦ m ≦ n ≦ 2m}
m n
を生成する文脈自由文法を構成しなさい
P  {S  A, A  aAb,
A  aAbb, A  ab, A  abb}
=導出例=
S  A  aAb  aaAbbb  aaabbbb
形式言語とオートマト
形式言語とオートマト
文法例3(文脈自由文法)
言語
L  {a b a |
i
j
k
i, j, k ≧1, i  j  k}
を生成する文脈自由文法を構成しなさい.
形式言語とオートマト
文法例3(文脈自由文法)
言語
L  {a b a |
i
j
k
i, j, k ≧1, i  j  k}
を生成する文脈自由文法を構成しなさい.
=解答=
P  {S  aAa, A  aAa,
A  B, B  bBa , B  ba}
形式言語とオートマト
文法例3(文脈自由文法)
言語
L  {a b a |
i
j
k
i, j, k ≧1, i  j  k}
を生成する文脈自由文法を構成しなさい.
P  {S  aAa, A  aAa,
A  B, B  bBa , B  ba}
=導出例=
S  aAa  aBa  abBaa  abbaaa
形式言語とオートマト
形式言語とオートマト
小テストです。
形式言語とオートマト