オートマトン・形式言語の問題
アルファベット 上の非決定性有限オートマトン( 遷移なし) を考える。状態の集合は 、初期状態は 、受理状態は のみであり、遷移関数 は次の表で与えられる( は遷移先がないことを表す)。
| 状態 | 入力 | 入力 |
|---|---|---|
に部分集合構成を適用して DFA をつくる。 の初期状態は であり、 の状態 ( の状態の部分集合)と入力 に対する遷移先は、 の各状態から で移れる状態をすべて集めた集合である。 の初期状態 から何文字か(0 文字も含む)読んで到達できる の状態の個数を求めよ。ただし、空集合 も到達できる場合は 1 つの状態として数える。
この問題で使うもの
- 非決定性有限オートマトンと部分集合構成(説明と入口の問題)
この問題を解けるようになるまで(2 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
技能「部分集合構成」を使います。初期状態 から始めて、入力 , に対する遷移先の集合を順に計算し、新しい部分集合が出なくなるまで続けましょう。
ヒント 2
状態の集合 の入力 による遷移先は です。たとえば の入力 による遷移先は です。
ヒント 3
は入力 で 、入力 で に移ります。さらに は入力 で 、入力 で に移ります。残りの集合の遷移も調べて、新しい集合が出るかを確かめましょう。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
部分集合構成では、初期状態 から出発し、まだ遷移を調べていない部分集合について、入力 , それぞれの遷移先(各状態の遷移先の和集合)を計算していきます。新しい部分集合が出てこなくなったら終わりです。
1. の遷移
- 入力 : なので
- 入力 : なので (新しい状態)
2. の遷移
- 入力 : (新しい状態)
- 入力 : (新しい状態)
3. の遷移
- 入力 :
- 入力 :
4. の遷移
- 入力 :
- 入力 :
ここで新しい部分集合はもう現れません。まとめると次の表になります。
| の状態 | 入力 | 入力 |
|---|---|---|
どの遷移先にも が含まれるので、空集合 には到達しません。したがって到達できる の状態は の 個です。
(参考: の受理状態は を含む と で、 は「後ろから 2 文字目が である文字列」を受理します。)
答え:
別解
部分集合構成で、初期状態 から到達できる状態を順に調べる。
- :入力 0 で 、入力 1 で 。
- :入力 0 で 、入力 1 で 。
- : からはどこにも移れないので、入力 0 で 、入力 1 で 。
- :入力 0 で 、入力 1 で 。
新しい状態はこれ以上現れないので、到達可能な状態は の 4 個である。
は入力 0 でも 1 でも必ず 自身に戻れるので、どの到達可能な状態も を含む。したがって には到達しない。
答えは 4。