オートマトン・形式言語の問題
非終端記号 (開始記号)、終端記号 をもつ文脈自由文法 の生成規則を
の 3 つとする( は空列)。ここで から終端記号列 への導出とは、文形式の列 ( は正の整数)であって、各 が の中の 1 つの を 1 つの生成規則の右辺で置き換えたものであるものをいう。2 つの導出は、文形式の列として異なるとき異なるものと数える。
を 0 以上の整数とする。 から への導出の個数がちょうど であることを証明せよ。
この問題で使うもの
- 文脈自由文法の導出と導出木(説明と入口の問題)
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
導出の途中の文形式がどんな形をしているかを帰納法で調べ、導出と「使う規則の並べ方」とを 1 対 1 に対応させるとよい。
ヒント 2
途中の文形式は常に の形で、 を 1 つだけ含む。したがって各ステップで置き換える位置は一意に決まり、導出は使った規則の列だけで決まる。
ヒント 3
を使うと が消えて導出が終わるので、 は最後に 1 回だけ使われる。それより前の各ステップでは か を使い、最後に となることから使用回数が決まる。
採点の観点と模範解答
自分で証明を書いてから、採点の観点で見比べてください。
採点の観点を見る
導出の途中の文形式が の形( をちょうど 1 つ含む)であることを、ステップ数についての帰納法で示している(3 点)
は最後の 1 回だけ使われ、終わりの から が 回、 が 回使われることを導いている(2 点)
導出を、使った規則の列( を 個、 を 個並べたもの)に対応させ、置き換える位置が一意であることから単射性を示している(2 点)
任意の規則の並べ方から実際に導出が作れること(全射性)を示している(2 点)
並べ方の個数が であることを述べて結論している(1 点)
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
模範解答を読む
補題 導出 において、()が を含むならば、 の形であり、 は最初の ステップのうち規則 を使った回数、 は規則 を使った回数で、 である。
*証明* についての帰納法で示す。 のとき で成り立つ。 が を含むとする。 は の を置き換えて得られるので も を含み、帰納法の仮定より ()である。 の はこの 1 つだけなので、置き換える位置は一意に決まる。使った規則が なら は を含まず仮定に反するので、規則は か であり、それぞれ 、 となる。どちらも回数の記述と を満たす。(補題の証明終わり)
導出の形の決定 から への導出 を任意にとる。 は を含まないが は含むので、 を含まない最初の文形式 ()がある。 は を含まないので以後どの も置き換えられず、導出は で終わる。すなわち である。補題より ()であり、 が消えるのは規則 を使ったときだけなので 。 で の個数と の個数を比べて , 。よって であり、最初の ステップでは がちょうど 回、 がちょうど 回使われ、最後のステップで が使われる。
全単射 長さ の列 で、各 、 がちょうど 回現れるもの全体を とする。導出に、その最初の ステップで使った規則の列を対応させる写像 を考える。上の議論より の値は に入る。
- は単射:補題より各文形式は を 1 つしか含まないので、使う規則の列を決めると置き換える位置も一意に決まり、 が一意に決まる。最後の も、 に を施した に決まる。よって規則の列が同じ 2 つの導出は文形式の列として一致する。
- は全射:任意の に対し、 から始めて を順に(各時点でただ 1 つある に)適用すると、補題の議論と同じく各段階は の形を保ち、 ステップ後に になる。最後に を適用すれば への導出が得られ、その像は である。
よって は全単射で、導出の個数は に等しい。 の元は、 個の位置のうち を置く 個の位置を選ぶことで一意に定まるので である。
以上より、 から への導出の個数はちょうど である。