単元一覧 › 大学数学 オートマトン・形式言語

オートマトン・形式言語の問題

難易度 3期末試験の応用レベル証明問題大学数学 オートマトン・形式言語

アルファベット 上の文字列 に含まれる の個数を 、 の個数を と書き、言語

を考える。ここで決定性有限オートマトン(DFA)とは、有限の状態集合 、遷移関数 (すべての状態と文字に対して遷移先がただ 1 つ定まる)、初期状態 、受理状態の集合 の組 とし、拡張遷移関数を 、 で定め、 が受理されるのは のときとする。DFA の状態数とは のことである。

を受理する DFA の状態数の最小値が であることを証明せよ。

この問題で使うもの

この問題を解けるようになるまで(22 技能)

ヒント

行き詰まったら、上から順に 1 つずつ開いてください。

ヒント 1

「6 状態の DFA が作れること(上界)」と「どの DFA も 6 状態以上必要であること(下界)」を分けて示す。下界は、互いに区別できる文字列を 6 個見つけて鳩の巣原理を使う。

ヒント 2

状態として を記憶する DFA を考える。下界には 6 個の文字列 (, )が使える。

ヒント 3

に をつなぐと に入る。別の に同じ をつなぐと、 の個数が奇数になるか、 の個数が 3 の倍数でなくなるかのどちらかになる。

採点の観点と模範解答

自分で証明を書いてから、採点の観点で見比べてください。

採点の観点を見る
  • 上界と下界に分けて示す方針を立て、状態 をもつ 6 状態の DFA を遷移・初期状態・受理状態まで具体的に与えている(2 点)

  • 構成した DFA について を帰納法で示し、受理言語が であることを結論づけている(2 点)

  • 6 個の文字列( など)を選び、どの 2 つについても一方だけを に入れる接尾辞 を具体的に与え、 と の場合分けで確認している(3 点)

  • 状態数 5 以下の DFA を仮定し、鳩の巣原理で同じ状態に到達する 2 つの文字列をとり、 から と の受理・非受理が一致することを導いて矛盾を示している(3 点)

結果を記録する(このブラウザにだけ保存されます):
模範解答を読む

「状態数 の DFA で を受理するものが存在すること」と「 を受理する DFA の状態数は必ず 以上であること」の 2 つを示す。以下、0 以上の整数 と正の整数 に対し、 を で割った余りを と書く。

(1) 状態数 6 の DFA の構成 状態集合を (6 個)とし、

初期状態 、受理状態の集合 とする DFA を考える。

すべての について であることを、 についての帰納法で示す。 なら両辺とも である。 で について が成り立つとすると、 のとき であり、, なのでこれは に等しい。 のときも、 は第 2 成分だけを 進め、, なので同じ理由で成り立つ。

より、 が受理される 。よって は を受理し、状態数は である。

(2) 状態数は 6 以上であること , に対し とおく(6 個の文字列)。

*補題*  ならば、ある が存在して、 かつ となる。

*証明*  とおく。 の の個数は で偶数、 の個数は で、 なら 、 なら なので 3 の倍数である。よって 。一方 の の個数は 、 の個数は である。
- のとき: なので は奇数であり、。
- のとき: より で、 だから 、よって であり、。

どちらの場合も主張が成り立つ。(補題の証明終わり)

背理法で示す。 を受理する DFA で のものがあると仮定する。6 個の文字列 に状態 を対応させると、鳩の巣原理より、ある について となる。補題の をとる。一般に が成り立つ( の長さについての帰納法: なら定義そのもの、 なら両辺とも の場合に を施したものになる)ので、

である。よって と は両方受理されるか両方受理されないかのどちらかであるが、これは , に矛盾する。したがって を受理する DFA の状態数は 以上である。

(1), (2) より、 を受理する DFA の状態数の最小値は である。

この問題の確認

AI が作成した問題です。公開前に次の確認を行いました。確認の方法について

間違いを報告する

この問題の誤り・分かりにくい点・難易度や学年のずれを知らせる
どこについての報告ですか

報告の内容と問題の番号を保存します。名前やメールアドレスは保存しません。

関連する問題