戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2016年 秋期 午前204


問題文

表は、入力記号の集合が {0, 1}、状態集合が である有限オートマトンの状態遷移表である。長さ3以上の任意のビット列を左(上位ビット) から順に読み込んで最後が 110で終わっているものを受理するには、どの状態を受理状態とすればよいか。
応用情報技術者 2016年 秋期 午前2 問04の問題画像

選択肢

(正解)

有限オートマトンの受理状態判定【午前2 解説】

要点まとめ

  • 結論:長さ3以上のビット列の末尾が「110」であることを判定するには、状態を受理状態にすればよいです。
  • 根拠:状態遷移表から、状態は直前の入力が「11」の後に「0」が来た状態を表し、「110」で終わる入力を正しく受理します。
  • 差がつくポイント:状態遷移の意味を理解し、末尾3ビットのパターンを追跡できるかが合否を分けます。

正解の理由

状態遷移表を読み解くと、
  • 状態は初期状態で、まだ「110」のパターンを検出していない状態です。
  • 状態は直前の入力が「1」であることを示します。
  • 状態は「11」が続いた状態ですが、次に「1」が来ると状態$d」のままなので「110」にはなりません。
  • 状態は「11」の後に「0」が来た状態で、つまり末尾が「110」で終わる入力を受理する状態です。
    したがって、状態を受理状態に設定するのが正解です。

よくある誤解

状態が「11」の状態なので受理状態にしがちですが、次の入力が「0」でなければ「110」にはならず誤りです。
また、状態$b」や「a」は部分的なパターンしか示さず、末尾3ビットの判定には不十分です。

解法ステップ

  1. 状態遷移表を確認し、各状態がどのような入力履歴を表すか理解する。
  2. 「110」で終わるパターンを状態遷移に当てはめて追跡する。
  3. 「11」の後に「0」が来た状態を特定する。
  4. その状態を受理状態に設定する。
  5. 選択肢の中から該当する状態を選ぶ。

選択肢別の誤答解説

  • ア:
    初期状態であり、特定のパターンを示さないため受理状態には不適切です。
  • イ:
    「1」が直前に入力された状態で、「110」の末尾判定には不十分です。
  • ウ:
    「11」の後に「0」が来た状態で、「110」で終わる入力を正しく受理します。
  • エ:
    「11」が続いた状態ですが、次の入力が「0」でなければ「110」にならず誤りです。

補足コラム

有限オートマトンは入力列のパターン認識に用いられ、状態遷移表は各状態での入力に対する次状態を示します。
特に末尾の特定パターン検出は、状態をパターンの部分一致に対応させることで実現可能です。
この問題は「部分文字列検出オートマトン」の基本的な応用例です。

FAQ

Q: なぜ状態が「110」の末尾を表すのですか?
A: 状態は「11」の後に「0」が入力された状態で、これが「110」の末尾パターンに対応します。
Q: 状態はなぜ受理状態にならないのですか?
A: 状態は「11」が続いた状態ですが、次の入力が「0」でなければ「110」にならず、末尾判定に不適切です。

関連キーワード: 有限オートマトン、状態遷移表、パターン認識、文字列検出、受理状態
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について