【ゆうげんじょうたいきかい】
有限状態機械(FSM) とは?
最終更新:
💡 今どの部屋にいて、どのドアを通れば隣の部屋に行けるか、それを地図にしたもの
有限個の「状態」と、入力に応じて状態を切り替える「遷移」で動作を表すモデル。信号機や通信手順など、状況によって振る舞いが変わる仕組みを整理する。
📌 このページのポイント
有限状態機械って、何を整理するもの?
「今どの状態か」と「何が起きたら別の状態へ移るか」を決めて、動作を整理するモデルだよ。状態を丸、遷移を矢印で描くと見通しがよくなるんだ
信号機なら、赤・青・黄が状態なの?
そう。図では動作を単純化して、赤→青→黄→赤と時間経過で切り替わる3状態にしているよ。実際の信号機のすべての制御を表したものではないんだ
「有限」ってどういう意味?
モデルで扱う状態の数が有限個という意味だよ。3個に限らず、必要な状態を定めるんだ。無限個の状態を扱う別のモデルもあるよ
同じ入力なら、必ず同じ状態へ移るの?
現在の状態と入力から次が一つに決まるのは、決定性のモデルだよ。同じ状態と入力に複数の遷移候補を持つ、非決定性の有限状態機械もあるんだ
プログラムでは、どこで役立つの?
たとえば通信の接続前・接続中・切断済みを分け、イベントごとに許す動作を整理できるよ。正規表現との関係も計算理論で扱うけれど、実用エンジンの全機能を有限状態だけで表せるとは限らないんだ
まとめ:ざっくりこれだけ覚えればOK!
「有限状態機械」って出てきたら「状態と、状態を切り替えるルールで動きを整理する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Finite State Machine」 = 有限状態機械
💬 Finiteは有限、Stateは状態、Machineは機械という意味だよ。略称はFSMで、有限オートマトンとも呼ばれるんだ