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

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

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

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

と定める(たとえば 、、、)。 を受理する決定性有限オートマトン(DFA)のうち状態数が最小のものの状態数を求めよ。ただし、DFA の遷移関数はすべての状態とすべての入力記号に対して定義されている(全域的である)ものとし、状態数には到達可能な状態だけを数える。

この問題で使うもの

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

ヒント

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

ヒント 1

まず「 の個数を 3 で割った余り」と「末尾の様子」を組にした DFA を作り、そこから同値な状態をまとめる(マイヒル・ネローデの定理を使う)。

ヒント 2

状態 から続ける文字列 を、、、、 に分けて、 となる条件を調べる。 のとき、 で終わるかどうかは だけで決まる。

ヒント 3

の個数の余りが または のときは、 や では決して受理されないので、末尾の様子は区別に効かない。余りが のときだけ末尾の様子が区別に効く。

答えと解説

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

マイヒル・ネローデの定理により、最小 DFA の状態数は、右同値関係

の同値類の個数に等しい。

1. 素朴な DFA。 の個数を 3 で割った余り と、末尾の様子 (: 最後の文字が 、: 末尾が 、: それ以外(空文字列を含む))の組 を状態とする DFA が作れる。遷移は
- を読むと
- を読むと 、、

で、初期状態 、受理状態 である。9 状態すべてが到達可能だが、これは最小ではない。

2. 剰余言語の計算。 状態 にある文字列 のあとに を続けたとき、 となる条件を調べる。
- のとき: が で終わるかは だけで決まるので、条件は「 が で終わり、」。これは だけで決まる。
- のとき: は で終わるので常に 。
- のとき: かつ ( だから)。
- のとき: かつ 。

3. 同値類の決定。
- のとき、 ではどの でも であり、 の場合は だけで決まる。よって は互いに同値で 1 つの類、 も 1 つの類になる。
- のとき、 だけが を受理し、 だけが を受理する。よって は互いに区別され、3 つの類になる。
- が異なる状態どうしは、( のときだけ受理)、( のときだけ受理)、( のときだけ受理)で区別される。

以上より同値類は 個である。

4. 確認(5 状態の DFA)。 状態を とし、初期状態 、受理状態 、遷移を

状態

とすると を受理し(例: は で受理)、すべての状態が到達可能である。

したがって最小 DFA の状態数は である。

別解

まず積オートマトンを作る。 を 、 を末尾の状況(: 最後の文字が 、: で終わる、: それ以外(空列、または の直後でない で終わる))とする。遷移は 、、、。初期状態 、受理状態 のみ。9 状態すべて到達可能(例: は または 、 は または 、 は から )。

同値な状態をまとめる。
- のとき、 はいずれも非受理で、 では に移り、 では か に移る。これらは なので非受理で、同じ振る舞いをする。よって の 3 状態は 1 つ()、 の 3 状態は 1 つ()にまとまる。
- の は区別される。 だけが受理状態。 は で受理、 は で受理しない。

簡約後の状態は , , , , の 5 個。

状態
(初期)
(受理)

5 状態が互いに区別できること:
- は唯一の受理状態。
- は で受理、 は で受理しない。
- は で受理()。 は で で受理しない。 も で受理しない。
- と は で区別: (受理)、(非受理)。

よって最小の DFA の状態数は 5。

検算: : 受理。: 受理。: 非受理。: 非受理。いずれも問題文の例と一致する。

この問題の確認

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

間違いを報告する

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

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

関連する問題