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

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

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

アルファベット 上の非決定性有限オートマトン( 遷移なし) を考える。状態の集合は 、初期状態は 、受理状態は と の 2 つであり、遷移関数 は次の表で与えられる( はその記号での遷移先がないことを表す)。

状態

が受理する言語 を受理する決定性有限オートマトン(遷移関数がすべての状態と記号について定義されたもの)のうち、状態数が最小のものの状態数を求めよ。

この問題で使うもの

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

読み込み中…

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

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

ヒント

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

ヒント 1

まず部分集合構成で と同じ言語を受理する DFA を作り、その後で同値な状態を併合して最小化しましょう。

ヒント 2

状態 は常に に戻るので、到達する部分集合はすべて を含みます。受理状態 または を含む部分集合が DFA の受理状態です。

ヒント 3

到達可能な部分集合は の 6 個です。受理・非受理で分けてから、遷移先のブロックで分割を細かくしていきましょう。

答えと解説

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

部分集合構成. 初期状態 から到達できる部分集合だけを順に作る。状態 は どちらでも に戻るので、到達する部分集合はすべて を含み、空集合は現れない。

  • : ,
  • : ,
  • : ,
  • : ,
  • : ,
  • : ,

新しい部分集合はもう現れないので、到達可能な状態は 6 個である。
とおくと、遷移は

状態

であり、 または を含む が受理状態、 が非受理状態である。この DFA はすべての状態が初期状態から到達可能である。

最小化(同値な状態の併合). 受理・非受理で分けた分割 から始め、各状態の遷移先がどのブロックに入るかで細分する。

  • : の遷移先 は (非受理, 非受理)、 の遷移先 は (受理, 受理)。よって に分かれる。
  • : , , はいずれも (受理, 受理) だが、 は (受理, 非受理)。よって に分かれる。

分割 で再び調べると、 はいずれも で に、 で に移るので、これ以上分かれない。よって分割は安定し、同値類は 4 個である。

(実際、 であり、4 つの同値類はそれぞれ「末尾が でも受理でもない列()」「受理でない、末尾が の列()」「末尾が または の列()」「末尾が の列()」に対応する。たとえば と は文字列 で、 と は文字列 で区別される。)

到達不能な状態がなく、同値な状態をすべて併合した DFA は最小 DFA なので、求める状態数は である。

別解

部分集合構成で DFA にする。, から始める。

到達可能な状態: , , , , , 。

遷移:
- : ,
- : ,
- : ,
- : ,
- : ,
- : ,

受理状態は 2 または 3 を含む 。非受理は 。

最小化(分割の細分):
- 初期分割 , 。
- は , (ともに非受理)、 は , (ともに受理)なので と は区別される。
- は (非受理)だが、 は (受理)なので は区別される。
- は で 、 で に行き、いずれも または に入るので同値。

最終分割 で 4 状態。これ以上は分割できないので最小。

検算: は「最後から 3 番目が 、または最後から 2 番目が かつ…」のように直近の文字に依存する言語で、 の直前 3 文字の履歴を区別する 4 状態で表せる。例えば 列後の で 、そこから なら 群(受理)、 なら (受理)と、NFA の受理と一致する。

この問題の確認

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

間違いを報告する

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

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

関連する問題