エンベデッドシステムスペシャリスト 2022年 午前2 問22
問題文
次の状態遷移図に従って動作する組込みシステムがある。最初の状態がS0の場合に、最後の状態がS4になるイベントの発生順序はどれか。ここで、白丸は状態、白丸内の文字列は状態名、状態間の矢印は遷移方向、矢印に付されたラベルは状態遷移の条件となるイベントを表すものとする。

選択肢
ア:a → b → c → d → a
イ:b → c → d → a → b
ウ:c → d → a → b → c(正解)
エ:d → a → b → c → d
🔒 解説は解答すると表示されます
状態遷移図のイベント追跡【午前2解説】
正解の理由
イベントを左から順に発生させ、図の矢印に従って状態を移動します。
ウの順序「c → d → a → b → c」をたどると、次のようになります。
- 初期状態はS0です。
- イベントc:S0の自己ループなので、S0のままです。
- イベントd:S0の自己ループなので、S0のままです。
- イベントa:S0からS1へ移ります。
- イベントb:S1からS3へ移ります。
- イベントc:S3からS4へ移ります。
最後の状態がS4になるため、ウが正解です。
解法ステップ
- 初期状態S0から始めます。
- イベントを一つずつ確認し、その状態から該当するラベルの矢印を探します。
- 自己ループなら状態を維持し、別の状態への矢印があれば移動します。
- すべてのイベントを処理した後の状態を確認します。
選択肢別の誤答解説
-
ア「a → b → c → d → a」
S0 → S1 → S3 → S4 → S3 → S3 と進みます。最後はS3です。 -
イ「b → c → d → a → b」
S0でb、c、dが自己ループし、その後aでS1、bでS3へ移ります。最後はS3です。 -
ウ「c → d → a → b → c」
S0 → S0 → S0 → S1 → S3 → S4 と進むため、最後はS4です。 -
エ「d → a → b → c → d」
S0 → S0 → S1 → S3 → S4 → S3 と進みます。最後はS3です。
よくある誤解
-
イベントの順番を入れ替えてしまう
状態遷移は、選択肢に示されたイベントの順に追います。 -
自己ループを状態移動として扱ってしまう
自己ループは、イベントが発生しても状態が変わらない遷移です。 -
途中でS4に到達すればよいと思ってしまう
問われているのは、イベントをすべて処理した後の最後の状態です。途中の状態ではなく、最終状態を確認します。
補足コラム
状態遷移図では、状態とイベントの組合せによって次の状態が決まります。今回のようにイベント列が与えられた問題は、各イベントの後の状態を順に書き出すと、遷移の見落としを防げます。
FAQ
Q. 自己ループのイベントが発生した場合、イベントは無視してよいですか?
A. イベント自体は発生しています。ただし、そのイベントに対応する遷移先が現在の状態自身なので、状態は変わりません。
A. イベント自体は発生しています。ただし、そのイベントに対応する遷移先が現在の状態自身なので、状態は変わりません。
Q. 最後にS4へ移るイベントだけを確認すればよいですか?
A. いいえ。最後のイベントの遷移元は、それ以前のイベントによって決まります。最初のイベントから順に追跡してください。
A. いいえ。最後のイベントの遷移元は、それ以前のイベントによって決まります。最初のイベントから順に追跡してください。
関連キーワード: 状態遷移図、状態遷移、自己ループ、イベント、組込みシステム

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

