基礎理論

基本情報技術者試験有限オートマトン」の問題

テクノロジ系基礎理論難易度:normal
入力された0と1の並びについて、これまでに読み込んだ1の個数が偶数か奇数かを判定する有限オートマトンを設計する場合、最低限必要な状態の数はいくつか。
判定には3状態が必要となる
入力記号と同じ4状態である
2状態で十分である
1状態だけで判定できる
正解
2状態で十分である

必要なのは『1の個数が偶数』と『奇数』の区別だけである。初期状態(偶数)から1を読むたびに偶数⇄奇数を切り替えればよく、0は状態を変えない。2状態で十分なので正しい。

?選択肢ごとの解説

ア ×3状態は余分な状態を1つ持つ設計で、偶数・奇数の2区分には不要であり最小ではない。
イ ×4状態は入力記号数(0と1の2種)と状態数を混同した誤りで、判定に必要な区別は2つだけである。
ウ ○必要なのは『1の個数が偶数』と『奇数』の区別だけである。初期状態(偶数)から1を読むたびに偶数⇄奇数を切り替えればよく、0は状態を変えない。2状態で十分なので正しい。
エ ×1状態では偶数と奇数を区別できず、現在のパリティを保持できないため判定不能である。

くわしく

有限オートマトンの状態数は『区別すべき状況の数』で決まる。本問はパリティ(偶奇)という2値情報だけを保持すればよいので最小2状態。0は自己ループ、1は状態反転の遷移を持つ。状態=記憶すべき同値類という見方が核心である。

本番での押さえどころ

試験のコツ

オートマトンの最小状態数は『判別に必要な情報の場合の数』で考える。偶奇判定なら2状態と即断する。

覚え方

パリティ判定は『偶』と『奇』の2部屋を1を読むたびに行き来する、と2状態の往復でイメージする。

よくある誤り

入力記号の種類数と状態数を混同する、または必要以上に状態を増やしてしまう誤りが多い。

基礎理論の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0091

【基本情報技術者試験】有限オートマトンの問題 — 解答・解説|ukamiru 過去問