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

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

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

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

状態

に部分集合構成を適用して決定性有限オートマトン をつくる。 の初期状態は であり、 の状態 ( の状態の部分集合)と文字 に対して、遷移先を と定める。 の状態のうち、初期状態 からある入力文字列(空文字列を含む)を読んで到達できるもの(到達可能な状態)の個数を求めよ。なお、空集合 も到達できる場合は 1 つの状態として数える。

この問題で使うもの

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

読み込み中…

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

一覧で見る(前提が先)
  1. 決定性有限オートマトンの動作と受理判定
  2. 非決定性有限オートマトンと部分集合構成

ヒント

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

ヒント 1

技能「部分集合構成」を使います。初期状態 から始め、各文字で到達しうる状態の集合を順にたどって、新しく現れる部分集合を記録していきましょう。

ヒント 2

部分集合 から文字 での遷移先は です。たとえば から を読むと になります。

ヒント 3

、 となります。続けて から , を読んだ先を計算し、新しい部分集合が出なくなるまで続けましょう。

答えと解説

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

部分集合構成では、初期状態 から始めて、まだ調べていない部分集合について各文字での遷移先(集合の各要素の遷移先の和集合)を計算し、新しい部分集合が出てくるたびに調べる対象に加えていきます。新しい部分集合が出てこなくなったら終わりです。

手順 1: から

新しく が出てきました。

手順 2: から


新しく が出てきました。

手順 3: から


新しく が出てきました。

手順 4: から


新しい部分集合は出てきません。

どの到達可能な状態の遷移先もすでに見つかった部分集合なので、ここで構成は終わります。得られた の遷移表は次のとおりです。

の状態

どの状態にも が含まれ、 は空でないので、空集合 には到達しません。

よって、到達可能な状態は の 個です。

別解

部分集合構成を初期状態 から順に進める。

  • : で 、 で 。
  • : で 、 で 。
  • : で 、 で 。
  • : で 、 で 。

新しい状態が出なくなったので、到達可能な状態は , , , の 4 個である。空集合は、どの状態も を含み続けるため到達できない。

検算:この NFA は「 を部分文字列として含む文字列」を受理する。入力例 はそれぞれ に到達し、上の表と一致する。

答え:4

この問題の確認

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

間違いを報告する

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

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

関連する問題