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

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

難易度 4大学院入試の標準レベル大学数学 オートマトン・形式言語

アルファベット 上の言語 を次のように定める。

文字列 ()を 2 進数として読んだ値を とする(先頭に が続いてもよく、空文字列 の値は とする)。このとき

とする。 を受理する完全な決定性有限オートマトン(DFA。すべての状態とすべての入力記号に対して遷移が定義されているもの)のうち、状態数が最小のものの状態数を求めよ。

この問題で使うもの

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

ヒント

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

ヒント 1

を で割った余りを状態とする 24 状態の DFA を作り、どの余りどうしが同じ状態にまとめられるかをマイヒル・ネローデの定理で調べよう。

ヒント 2

後ろに長さ 、値 の文字列をつなぐと値は になる。 に分け、 では mod 8 の条件が によらないこと、 では しか受理につながらないことに注目しよう。

ヒント 3

受理を決めるのは と、 のときの「 が で割り切れるか」である。 の余りは に分かれる。残りの余りがいくつの類になるか、また各類が本当に区別できるかを確かめよう。

答えと解説

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

方針 まず を で割った余りを状態とする DFA を作り、マイヒル・ネローデの定理に基づいて、どの余りどうしが区別できるかを調べる。

余りの DFA 文字列 の後ろに長さ の文字列 をつなぐと

となる。したがって かどうかは と だけで決まり、状態 、遷移 、初期状態 、受理状態 の DFA が を受理する。どの も値が の文字列で到達できるので、24 状態はすべて到達可能である。最小 DFA の状態数は、この 24 個の余りを「同値(どんな をつないでも受理・非受理が一致する)」で分けたときの類の数に等しい。

受理条件の分解  の長さを 、()とする。 で と は互いに素だから

  • のとき: なので、mod 8 の条件は となり によらない。mod 3 の条件は だけで決まる。よって受理は だけで決まる。
  • (, )のとき:受理 、すなわち 。
  • のとき: で、 には が偶数、つまり が必要。このとき条件は かつ 、すなわち かつ 。
  • のとき: で、 には 、つまり が必要。このとき条件は かつ 。

特に では でなければ決して受理しない。

同値類 以上から、 と、 のときは「 が ・・ で割り切れるか」が受理を決める。

  • の 8 個: では常に非受理、 では だけで決まるので、すべて同値で 1 類。
  • の 8 個:同様に 1 類。
  • の 8 個 :
  • で割り切れる:
  • で割り切れるが では割り切れない:
  • で割り切れるが では割り切れない:
  • 奇数:

同じ組の中では上の条件がすべて一致するので同値である。

よって類は高々 個。

6 類が互いに区別できること
- ():受理 。これで の 4 類と残り 2 類が区別される。
- (): で、。これで と の類が区別される。
- : だけが受理され、 と が区別される。
- :受理 なので、(受理)と (非受理)が区別される。
- :受理 なので、(受理)と (非受理)が区別される。

したがって同値類はちょうど 6 個で、すべて到達可能である。マイヒル・ネローデの定理より、 を受理する最小の完全 DFA の状態数は である。

別解

。DFA の状態を の剰余 とすると、初期状態は 、遷移は 、受理状態は であり、これで を受理する。剰余 のうち CRT により全 24 通りが到達可能。ミーリー・ネローデ同値(ここでは「ある文字列 を続けて読んだとき、受理されるかどうか」が同じ状態同士を同一視する)で同値類を数える。

から長さ の文字列 を読むと値は ()。

(1) の場合。 では受理されない。 では に かつ が必要で矛盾。 では () に かつ が必要で矛盾。よって受理されるのは のときだけで、このとき は だけで決まる( なので の情報は消える)。ゆえに が同じなら同値で、 と の 2 類。これらは十分長い文字列( で となるもの)で区別できる。

(2) ()の場合。代表として をとる。
- : で受理(唯一の受理状態)。
- : で となり受理、 は不受理。
- ( と同値): では で不受理、 で となり受理。
- (奇数の と同値): は 、 は 、 で となり受理。
は , , , の受理パターンで互いに区別でき、また (1) の 2 類とも(例: で は受理、 の類は で不受理)区別できる。、 も確認でき、これで の側は 4 類。

合計 状態。検算:状態名を ()、( 類)、( 類)、( 奇数かつ の類)、( の類)、( の類)と置いて遷移を作ると、各状態で の遷移がすべて 6 状態に閉じ、いずれも上の区別が保たれる。最小 DFA の状態数は 6。

この問題の確認

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

間違いを報告する

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

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

関連する問題