応用情報技術者平成28年秋期 午前問4

問4

次の表は,入力記号の集合が{0,1},状態集合が{a,b,c,d}である有限オートマトンの状態遷移表である。長さ3以上の任意のビット列を左(上位ビット)から順に読み込んで最後が110で終わっているものを受理するには,どの状態を受理状態とすればよいか。
04.png/image-size:106×119
  • a
  • b
  • c
  • d
  • [出題歴]
  • 応用情報技術者 H26春期 問4
  • ソフトウェア開発技術者 H17春期 問7
  • ソフトウェア開発技術者 H18秋期 問7

分類

テクノロジ系 » 基礎理論 » 情報に関する理論

正解

解説

表の有限オートマトンを図にすると次のようになります。
04a.png/image-size:300×142
ビット列「110」が入力されるときに、a~dのどの状態であるかはわかりませんが、最後の0が入力されて遷移する先はaかcのどちらかしかないので、bとdは正解候補から除外できます。

aとcを比較してみると、cが受理状態となるケースは、
  • b→(1)→d→(1)→d→(0)→c
  • c→(1)→b→(1)→d→(0)→c
  • a→(1)→b→(1)→d→(0)→c
  • d→(1)→d→(1)→d→(0)→c
という4通りが考えられます。

一方aが受理状態となるケースを考えてみると、aの直前状態のうち、aに遷移するには状態aまたはcに0が入力されなければならず、cに遷移するには状態bまたはdに0が入力されなければならないので、aが受理状態になるには入力ビット列の後ろ2つが「0」であることが必要条件になります。したがって「110」を受理するルートはありません。

以上より「c」が正解とわかります。

【別解】
ビット列「110」が入力されるときに、a~dのどの状態であるかはわかりませんが、最初の1が入力されて遷移する先はbかdのどちらかしかなく、次の1が入力されて遷移する先はdしかないので、最後の0が入力されて遷移する先はcです。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop