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

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

難易度 1教科書の例題レベル大学数学 オートマトン・形式言語

アルファベット 上の決定性有限オートマトン(DFA) を考える。状態の集合は 、初期状態は 、受理状態は と の 2 つである。遷移関数 は次の表で与えられる。

状態入力 入力

と同じ言語を受理する DFA のうち、状態数が最小のもの(最小 DFA)の状態数を求めよ。

この問題で使うもの

この問題を解けるようになるまで(2 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 決定性有限オートマトンの動作と受理判定
  2. DFA の最小化(区別可能な状態の対)

ヒント

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

ヒント 1

DFA の最小化の手順を使う。まず初期状態から到達できない状態を取り除き、そのあと区別可能な状態の対に表で印をつけていく。

ヒント 2

最初に、受理状態と非受理状態からなる対すべてに印をつける。そのあと、対 について、ある入力 での遷移先の対 に印があれば、 にも印をつける。これを新しい印が増えなくなるまで繰り返す。

ヒント 3

は到達不能なので除く。受理状態 と非受理状態 の間の 6 対に印をつけると、残りは になる。たとえば は、入力 で印のある に移る。

答えと解説

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

手順 1:到達不能な状態を除く。

初期状態 から遷移をたどる。
- から に行ける。
- から に、 から に行ける。
- から に、 から に行ける。

よって、到達できる状態は である。 へ入る遷移は 自身からのもの()しかないので、 には到達できない。 を取り除いても受理する言語は変わらない。

手順 2:受理状態と非受理状態の対に印をつける。

受理状態は 、非受理状態は である。空文字列 で区別できるので、次の 6 個の対に印をつける。

印のついていない対は の 4 個である。

手順 3:遷移先の対に印があれば印をつける(1 巡目)。

  • :入力 で 、入力 で 。どちらも印なしなので、まだ印をつけない。
  • :入力 で 。これには印があるので、 に印をつける。
  • :入力 で (印なし)、入力 で (同じ状態)。印をつけない。
  • :入力 で 。これには印があるので、 に印をつける。

手順 4:新しい印が増えなくなるまで繰り返す(2 巡目)。

残っているのは と である。
- :遷移先は と で、どちらも印なし。
- :遷移先は と で、印なし。

新しい印は増えないので、ここで終了する。

手順 5:同値な状態をまとめる。

最後まで印のつかなかった対 と は同値である。よって、同値類は

の 3 個になる。同値類どうしは区別可能なので、これ以上まとめられない。

したがって、最小 DFA の状態数は である。(この DFA は、入力に含まれる の個数を で割った余りが である文字列を受理している。)

別解

初期状態 から到達可能な状態を調べる。、、、、 より、到達可能なのは で、 は到達不能なので除く。

次に分割の細分化を行う(状態同値性の判定)。
- 初期分割:受理 、非受理 。
- 非受理側を見る。:(非受理)、(非受理)。:(非受理)、(受理)。:(非受理)、(非受理)。 だけ入力 1 で受理側に行くので、 は と区別される。分割は となる。
- 受理側を見る。:、。:、。 では両方 、 では両方 に行くので区別されない。
- を見る。:、。:、。 では両方 、 では両方 に行くので区別されない。

分割は安定したので、同値類は の 3 つ。

検算: は入力 1 で受理状態 に行くので、空語以外にも から受理される語がある(死状態ではない)。 は空語を受理するが、 と は受理しない。よって 3 状態は互いに区別でき、最小 DFA の状態数は 3。

この問題の確認

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

間違いを報告する

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

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

関連する問題