神戸大学 システム情報学研究科 2018年1月実施 第二期 専門科目 計算機科学 [1]
Author
祭音Myyura (co-authored with GPT 5.6 SOL)
Description
a,b,c を記号とし、i,j,k を 0 以上の整数を表す変数とする。以下の (1) - (4) に答えよ。CFG を答える場合は、変数記号、開始記号、生成規則をそれぞれ書くこと。
(1)
L0={aibj∣i=j}
とする。
- L0 を生成する CFG を書け。
- 1 の CFG における a3b3 の構文木を書け。
(2)
L1={aibj∣i=j}
とする。
- L1 を生成する CFG を書け。
- L1 を受理言語とする PDA の推移図を書け。
(3)
M0={aibjck∣i=j または j=k}
とする。M0 を生成する CFG を書け。
(4)
M1={aibjck∣i=j=k}
とする。CFL の反復補題を用いて、M1 が CFL ではないことを示せ。
题目描述
令 a,b,c 为符号,i,j,k 为非负整数。
- 对 L0={aibj∣i=j},给出生成它的上下文无关文法,并画出 a3b3 的语法树。
- 对 L1={aibj∣i=j},给出生成它的上下文无关文法,并画出识别它的下推自动机状态转移图。
- 给出生成 M0={aibjck∣i=j 或 j=k} 的上下文无关文法。
- 用上下文无关语言的抽引引理证明 M1={aibjck∣i=j=k} 不是上下文无关语言。
Kai
(1)
(i)
変数を {S}、開始記号を S、終端記号を {a,b} とし、生成規則を
S→aSb∣ε
とすればよい。
(ii)
S
├── a
├── S
│ ├── a
│ ├── S
│ │ ├── a
│ │ ├── S
│ │ │ └── ε
│ │ └── b
│ └── b
└── b
葉を左から読むと aaabbb=a3b3 となる。
(2)
(i)
変数を {S,A,B,P,Q}、開始記号を S、終端記号を {a,b} とし、生成規則を
SAB→A∣B,→aAb∣P,→aBb∣Q,PQ→aP∣a,→bQ∣b
とする。A は i>j、B は i<j の語をちょうど生成するので、この CFG は L1 を生成する。
(ii)
スタック底記号を Z、カウンタ記号を A とする。ラベルは「入力、スタック頂上 → 置換列」を表し、入力をすべて読んで終状態 qf に入ったとき受理する。
qG 側は入力終了時に A が残る場合、すなわち i>j を受理する。qL 側は A をすべて取り除いた後にも b が一つ以上残る場合、すなわち i<j を受理する。
(3)
変数を {S,X,P,Q,C,A,Y,R,T}、開始記号を S、終端記号を {a,b,c} とし、生成規則を
SXCY→XC∣AY,→aXb∣P∣Q,→cC∣ε,→bYc∣R∣T,PAR→aP∣a,→aA∣ε,→bR∣b,QT→bQ∣b,→cT∣c
とする。XC は i=j の語を、AY は j=k の語を生成する。したがって、この CFG は両者の和集合 M0 を生成する。
(4)
M1 が CFL であると仮定し、反復長を n とする。語
z=anbncn∈M1
を取り、反復補題による任意の分解
z=uvwxy,∣vwx∣≤n,∣vx∣≥1
を考える。∣vwx∣≤n だから、vwx が a の部分と c の部分を同時に含むことはない。したがって v,x によって個数が変わる記号は高々隣接する2種類であり、少なくとも1種類の個数は n のままである。
m=0 として uwy を考えると、∣vx∣≥1 より少なくとも1種類の個数は減少する一方、少なくとも1種類は n のままである。よって3種類の個数は等しくならない(記号の順序が崩れる場合も M1 に属さない)。したがって
uwy∈/M1,
となり反復補題に矛盾する。ゆえに
M1 は CFL ではない.