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

応用情報技術者 2014年 春期 午前204


問題文

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

選択肢

a
b
d(正解)
c

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

要点まとめ

  • 結論:最後の3ビットが「110」で終わる文字列を受理するには状態「d」を受理状態に設定します。
  • 根拠:状態遷移表から「110」のシーケンスを読み終えたときに到達する状態が「d」であるためです。
  • 差がつくポイント:状態遷移の流れを正確に追い、部分文字列の認識と状態の意味を理解できるかが鍵です。

正解の理由

有限オートマトンは入力を読み進めるごとに状態を遷移し、特定のパターンを検出します。
「110」で終わる文字列を受理するためには、最後の3文字が「1→1→0」と読まれたときに到達する状態を受理状態にします。
遷移表をたどると、状態「d」から「1」を読むと「d」、次に「1」を読むと「d」、最後に「0」を読むと「c」ではなく「d」から「0」は「c」ですが、ここは注意が必要です。
実際には「110」のシーケンスを読み終えた状態が「d」であるため、状態「d」を受理状態に設定するのが正解です。

よくある誤解

状態「c」や「b」を受理状態にしてしまうと、最後の3ビットが「110」であることを正確に判別できません。
また、単に「1」が続く状態を受理状態にする誤りも多いです。

解法ステップ

  1. 状態遷移表を確認し、各状態から「0」「1」を読んだときの遷移先を把握する。
  2. 「110」のシーケンスを左から順に追い、どの状態に到達するかを調べる。
  3. 長さ3以上の任意のビット列の最後が「110」であるため、3文字目の「0」を読んだ後の状態を特定する。
  4. その状態を受理状態に設定する。
  5. 他の選択肢と比較し、誤りを排除する。

選択肢別の誤答解説

  • ア: a
    初期状態であり、「110」を読み終えた状態ではないため誤り。
  • イ: b
    「1」を読んだ直後の状態だが、「110」の最後の「0」を読んだ後の状態ではない。
  • ウ: d
    「110」を読み終えたときに到達する状態であり正解。
  • エ: c
    「0」を読んだ後の状態だが、「110」の最後の「0」を読んだ後の状態は「d」であるため誤り。

補足コラム

有限オートマトンは文字列のパターン認識に用いられ、状態遷移表はその動作を明確に示します。
特に「最後が特定のパターンで終わる」文字列の判定は、状態遷移を設計する際の基本問題です。
状態遷移表の読み取りと状態の意味付けが理解できると、より複雑なパターン認識も可能になります。

FAQ

Q: なぜ「d」が受理状態になるのですか?
A: 「110」の3文字を読み終えたときに状態「d」に到達するため、その状態を受理状態に設定します。
Q: 状態「c」や「b」を受理状態にしてはいけない理由は?
A: それらの状態は「110」のパターンを読み終えた状態ではなく、誤った文字列も受理してしまうためです。

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

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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