理論計算機科学 において、有限状態機械 ( FSM ) または有限状態オートマトン ( FSA 、複数形:オートマタ )、有限オートマトン 、または単に状態機械 は、計算の数学的モデル である。[ 1 ] これは、任意の時点で有限個の 状態 のうちの 1 つだけになることができる抽象機械である。FSM は、いくつかの 入力 に応じてある状態から別の状態に変化することができる。ある状態から別の状態への変化は遷移 と呼ばれる。 FSM は、その状態のリスト、初期状態、および各遷移をトリガーする入力によって定義される。有限状態機械には、決定性有限状態機械 と非決定性有限状態機械 の 2 種類がある。任意の非決定性有限状態機械に対して、同等の決定性有限状態機械を構築することができる。
状態機械の挙動は、現代社会の多くの機器で観察できます。これらの機器は、提示される一連のイベントに応じて、あらかじめ決められた一連の動作を実行します。簡単な例としては、適切 な組み合わせの硬貨が投入されると商品が出てくる自動販売機、乗客が要求した階数によって停止順序が決まるエレベーター、車が待機しているときに信号が変わる 信号機 、そして正しい順序で一連の数字を入力する必要があるダイヤル錠などがあります。
有限状態機械は、チューリング機械 などの他の計算モデルに比べて計算能力が低い。計算能力の違いは、チューリング機械では実行できるが有限状態機械では実行できない計算タスクがあることを意味する。これは、有限状態機械のメモリが持つ 状態の数によって制限されているためである。有限状態機械は、ヘッドが「読み取り」操作のみを実行でき、常に左から右に移動しなければならないように制限されたチューリング機械と同じ計算能力を持つ。有限状態機械は、より一般的なオートマタ理論 の分野で研究されている。
例:コイン式回転式改札機 回転式改札機の状態図 回転式改札機 状態機械でモデル化できる単純な機構の例として、回転式改札機 があります。地下鉄や遊園地の乗り物へのアクセスを制御するために使用される回転式改札機は、腰の高さに3本の回転アームがあり、そのうち1本が入口を横切っています。最初はアームがロックされており、入口を塞いで、利用者が通過できないようになっています。回転式改札機のスロットにコインまたはトークン を入れると、アームのロックが解除され、1人の利用者が通過できるようになります。利用者が通過すると、別のコインが投入されるまでアームは再びロックされます。
ターンスタイルは状態機械として考えられ、ロック状態 とロック解除状態の 2 つの状態があります。その状態に影響を与える入力は 2 つあります。スロットにコインを入れる ( coin ) とアームを押す ( push ) です。ロック状態では、アームを押しても効果はありません。入力 push を何度与えても、ロック状態のままです。コインを入れる、つまり機械にコインを 入力すると、状態がロック状態から ロック解除状態 に切り替わります。ロック解除状態では、追加のコインを入れても効果はありません。つまり、追加のコイン を入力しても状態は変わりません。顧客がアームを押して通過すると、push 入力が与えられ、状態がロック状態 にリセットされます。
回転式改札機の状態遷移機械は、状態遷移表 で表すことができ、各状態について、機械に与えられた入力に基づいて状態間の遷移と、各入力から生じる出力が示されます。
回転式改札機の状態遷移図は、状態図 と呼ばれる有向グラフ (上図) で表すこともできます。各状態はノード (円 )で表され、エッジ(矢印 )は状態間の遷移を示します。各矢印には、その遷移を引き起こす入力がラベル付けされています。状態変化を引き起こさない入力(例えば、ロック解除状態での コイン 入力)は、元の状態に戻る円形の矢印で表されます。黒い点からロック ノードに向かう矢印は、それが初期状態であることを示しています。
概念と用語 状態とは、 遷移 の実行を待っているシステムの状況を表すものです。遷移とは、条件が満たされたとき、またはイベントが受信されたときに実行される一連のアクションのことです。例えば、オーディオシステムでラジオを聴いているとき(システムは「ラジオ」状態)、次の刺激を受信すると次の放送局に切り替わります。システムが「CD」状態にあるときは、次の刺激によって次のトラックに切り替わります。同じ刺激でも、現在の状態によって異なるアクションがトリガーされます。
有限状態機械の表現によっては、状態に動作を関連付けることも可能である。
入室アクション:状態に入るときに実行され、 終了アクション:状態を終了する際に実行されます。
表現 図1 UML状態遷移図の例(トースターオーブン) 図2 SDLステートマシンの例 図3 単純な有限状態機械の例
状態/イベントテーブル状態遷移表に はいくつかの種類があります。最も一般的な表現は以下のとおりです。現在の状態(例:B)と入力(例:Y)の組み合わせによって次の状態(例:C)が示されます。表だけでは動作を完全に記述することはできないため、脚注を使用するのが一般的です。他の関連する表現では、このような制限がない場合があります。例えば、状態表 を使用すれば、動作の完全な情報を含むFSM定義が可能です(仮想有限状態機械 も参照)。
SDLステートマシン 仕様記述言語は、 ITU が定めた標準規格であり、移行における動作を記述するための図記号が含まれています。
イベントを送信する イベントを受け取る タイマーを開始する タイマーをキャンセルする 別の並行状態マシンを起動する 決断 SDLは、有限状態機械を実行可能にするために、「抽象データ型」と呼ばれる基本データ型、アクション言語、および実行セマンティクスを組み込んでいます。[ 11 ]
その他の状態図 図3に示すような有限状態機械(FSM)を表現する方法は数多く存在する。
分類 有限状態機械は、アクセプタ、分類器、トランスデューサ、シーケンサに分類できます。
アクセプター 図4:アクセプタFSM:文字列「nice」を解析する。 図5:アクセプタの表現。この例では、バイナリ数に偶数個の0が含まれているかどうかを判定するアクセプタを示しており、S1 は アクセプタ状態 、S2 は 非アクセプタ状態 です。 アクセプタ (検出器 または認識器 とも呼ばれる)は、受信した入力が受け入れられるかどうかを示すバイナリ出力を生成します。アクセプタの各状態は、受け入れ状態 または非受け入れ状態 のいずれかです。すべての入力が受信された後、現在の状態が受け入れ状態であれば入力は受け入れられ、そうでなければ拒否されます。原則として、入力は記号 (文字)のシーケンスであり、アクションは使用されません。開始状態も受け入れ状態になる場合があり、その場合はアクセプタは空の文字列を受け入れます。図4の例では、「nice」という文字列を受け入れるアクセプタを示しています。このアクセプタでは、受け入れ状態は状態7のみです。
形式言語 と呼ばれる記号列の集合(無限である可能性もある)は、その集合を正確に 受理する受理器が存在する場合に正規言語である。 例えば、偶数個のゼロを含むバイナリ文字列の集合は正規言語であるが(図5参照)、長さが素数であるすべての文字列の集合は正規言語ではない。
アクセプタは、アクセプタが受け入れるすべての文字列を含み、拒否される文字列を含まない言語を定義するものとも説明できます。その言語はアクセプタによって受け入れられます。定義上、アクセプタが受け入れる言語は 正規言語 です。
与えられたアクセプタによって受け入れられる言語を決定する問題は、代数的経路問題の一例であり、それ自体は、(任意の) 半環 の要素によって重み付けされたエッジを持つグラフへの最短経路問題 の一般化である。
受理状態の一例として、図5に決定性有限オートマトン (DFA)を示します。これは、バイナリ 入力文字列に偶数個の0が含まれているかどうかを検出するものです。
S 1 (開始状態でもある) は、偶数個の 0 が入力された状態を示します。したがって、S 1 は受理状態です。バイナリ文字列に偶数個の 0 が含まれている場合 (0 を含まないバイナリ文字列も含む)、このアクセプタは受理状態で終了します。このアクセプタが受理する文字列の例としては、ε (空文字列 )、1、11、11...、00、010、1010、10110 などがあります。
分類器 分類器は、 n 進数の出力を生成するアクセプタの一般化であり、n は厳密に 2 より大きい。
トランスデューサー 図6 トランスデューサFSM:ムーアモデルの例 図7 トランスデューサFSM:ミーリーモデルの例 トランスデューサは 、与えられた入力や状態に基づいて、動作を用いて出力を生成します。これらは制御アプリケーションや計算言語学 の分野で使用されます。
制御アプリケーションでは、2つのタイプが区別されます。
ムーアマシン FSMは入力アクションのみを使用するため、出力は状態のみに依存します。ムーアモデルの利点は、動作が単純化されることです。エレベーターのドアを考えてみましょう。ステートマシンは、「command_open」と「command_close」という2つのコマンドを認識し、これらが状態変化を引き起こします。状態「Opening」の入力アクション(E:)はドアを開けるモーターを始動し、状態「Closing」の入力アクションは反対方向にドアを閉じるモーターを始動します。状態「Opened」と「Closed」は、完全に開いたときまたは閉じたときにモーターを停止します。これらの状態は、外部(他のステートマシンなど)に「ドアが開いている」または「ドアが閉じている」という状況を通知します。 ミーリーマシン FSMは入力アクションも使用するため、出力は入力と状態に依存します。ミーリーFSMを使用すると、状態数が削減されることがよくあります。図7の例では、ムーアの例と同じ動作を実装するミーリーFSMを示しています(動作は実装されたFSM実行モデルに依存し、たとえば仮想FSMでは動作しますが、 イベント駆動型FSM では動作しません)。入力アクションは2つあります(I:):「command_closeが到着したら、モーターを始動してドアを閉じる」と「command_openが到着したら、モーターを反対方向に始動してドアを開ける」です。「開く」と「閉じる」の中間状態は表示されていません。
シーケンサー シーケンサー (ジェネレータ とも呼ばれる)は、入力アルファベットが1文字であるアクセプタとトランスデューサのサブクラスです。これらは1つのシーケンスのみを生成し、これはアクセプタまたはトランスデューサの出力シーケンスと見なすことができます。
決定論 さらに、決定性オートマトン (DFA )と非決定性 オートマトン(NFA 、GNFA )という区別もあります。決定性オートマトンでは、すべての状態に対して、可能な入力ごとにちょうど1つの遷移が存在します。非決定性オートマトンでは、入力によって、特定の状態に対して1つ、複数、または遷移が発生しない場合があります。冪集合構成 アルゴリズムを用いると、任意の非決定性オートマトンを、(通常はより複雑な)同一の機能を持つ決定性オートマトンに変換できます。
状態が1つしかない有限状態機械は「組み合わせ型FSM」と呼ばれます。これは、状態遷移時にのみアクションを実行できます。 この概念は、複数の有限状態機械が連携して動作する必要がある場合や、設計ツールに合わせて純粋に組み合わせ的な部分をFSMの一形態として考えることが便利な場合に役立ちます。
代替意味論 状態機械を表現するために利用できる他の意味論セットがあります。たとえば、組み込みコントローラのロジックをモデル化および設計するためのツールがあります。これらは、階層型状態機械 (通常は複数の現在の状態を持つ)、フローグラフ、および真理値表 を1つの言語に組み合わせ、異なる形式と意味論セットをもたらします。 これらのチャートは、Harelの オリジナルの状態機械と同様に、階層的にネストされた状態、直交領域 、状態アクション、および遷移アクションをサポートします。
数理モデル 一般的な分類に従って、以下の正式な定義が見出される。
決定論的有限状態機械 または決定論的有限状態アクセプタは 五つ組で ある( Σ 、 S 、 s 0 、 δ 、 F ) {\displaystyle (\Sigma ,S,s_{0},\delta ,F)} 、 どこ:
Σ {\displaystyle \Sigma } は入力アルファベット (有限で空でない記号の集合)です。S {\displaystyle S} は、有限で空でない状態の集合である。s 0 s0 初期状態、要素S {\displaystyle S} ;δ {\displaystyle \delta } 状態遷移関数は次のとおりです。δ : S × Σ → S {\displaystyle \delta :S\times \Sigma \rightarrow S} (非決定性有限オートマトン では、δ : S × Σ → P ( S ) {\displaystyle \delta :S\times \Sigma \rightarrow {\mathcal {P}}(S)} つまりδ {\displaystyle \delta } 一連の状態を返します。F {\displaystyle F} は最終状態の集合であり、(空である可能性もある) のサブセットである。S {\displaystyle S} 。決定論的および非決定論的FSMの両方において、δ {\displaystyle \delta } 部分関数 である、つまりδ ( s 、 x ) {\displaystyle \delta (s,x)} すべての組み合わせに対して定義する必要はありませんs ∈ S {\displaystyle s\in S} そしてx ∈ Σ {\displaystyle x\in \Sigma } FSMの場合M {\displaystyle M} 状態にあるs {\displaystyle s} 次のシンボルはx {\displaystyle x} そしてδ ( s 、 x ) {\displaystyle \delta (s,x)} 定義されていない場合は、M {\displaystyle M} エラーを通知する(つまり、入力を拒否する)ことができます。これは一般的な状態機械の定義には役立ちますが、機械を変換する際にはあまり役に立ちません。一部のアルゴリズムは、デフォルト形式では全関数を必要とする場合があります。
有限状態機械は、ヘッドが「読み取り」操作のみを実行でき、常に左から右に移動しなければならないように制限されたチューリング機械 と同じ計算能力を持つ。つまり、有限状態機械によって受理される形式言語はすべて、このような制限されたチューリング機械によって受理され、その逆もまた同様である。
有限状態トランスデューサ は六つ組 である( Σ 、 Γ 、 S 、 s 0 、 δ 、 ω ) {\displaystyle (\Sigma ,\Gamma ,S,s_{0},\delta ,\omega )} 、 どこ:
Σ {\displaystyle \Sigma } は入力アルファベット (有限で空でない記号の集合)です。Γ {\displaystyle \Gamma } は出力アルファベット(有限個の空でない記号の集合)です。S {\displaystyle S} は、有限で空でない状態の集合である。s 0 s0 は初期状態であり、S {\displaystyle S} ;δ {\displaystyle \delta } 状態遷移関数は次のとおりです。δ : S × Σ → S {\displaystyle \delta :S\times \Sigma \rightarrow S} ;ω {\displaystyle \omega } これは出力関数です。出力関数が状態と入力シンボルに依存する場合(ω : S × Σ → Γ {\displaystyle \omega :S\times \Sigma \rightarrow \Gamma } ) この定義はミーリーモデル に対応し、ミーリーマシン としてモデル化できます。出力関数が状態のみに依存する場合 (ω : S → Γ {\displaystyle \omega :S\rightarrow \Gamma } )この定義はムーアモデル に対応し、ムーアマシン としてモデル化できます。出力関数をまったく持たない有限状態マシンは、半自動機械 または遷移システム として知られています。
ムーア機械の最初の出力シンボルを無視すると、ω ( s 0 ) {\displaystyle \omega (s_{0})} そうすれば、各ミーリー遷移の出力関数(つまり、各エッジにラベルを付ける)を、宛先ムーア状態の指定された出力シンボルで設定することにより、出力等価ミーリーマシンに容易に変換できます。逆の変換は、ミーリーマシンの状態が入力遷移(エッジ)に異なる出力ラベルを持つ可能性があるため、それほど単純ではありません。そのような状態はすべて、入力出力シンボルごとに1つずつ、複数のムーアマシンの状態に分割する必要があります。[ 24 ]
実装
ソフトウェアアプリケーション 有限状態機械を用いてソフトウェアアプリケーションを構築する際に、一般的に用いられる概念は以下のとおりです。
有限状態機械とコンパイラ 有限オートマトンがプログラミング言語コンパイラのフロントエンドでよく使用されます。このようなフロントエンドは、 字句解析器 と構文解析器を実装する複数の有限状態機械で構成される場合があります。字句解析器は、文字のシーケンスから言語トークン(予約語、リテラル、識別子など)のシーケンスを構築し、構文解析器はそこから構文木を構築します。字句解析器と構文解析器は、プログラミング言語の文法の正規部分と文脈自由 部分を処理します。
参考文献 ↑ ミンスキー(1967)は、 第2章の冒頭で、有限状態機械 と有限オートマトン という別の用語を紹介している。↑ Börger, Egon; Cavarra, Alessandra; Riccobene, Elvinia (2000). Gurevich, Yuri; Kutter, Philipp W.; Odersky, Martin; Thiele, Lothar (編). "UMLステートマシンのダイナミクスのモデリング" . Abstract State Machines - Theory and Applications . Berlin, Heidelberg: Springer: 223– 241. doi : 10.1007/3-540-44518-8_13 . ISBN 978-3-540-44518-0 。 ↑ 「UMLステートマシンの速習コース」 (PDF) 。Quantum Leaps, LLC 。 2026年 6月13日 取得 。 ↑ 「SDL-2000 の形式意味論: 現状と展望」 . Computer Networks . 42 (3): 343–358 . 2003 年 6 月 21 日. doi : 10.1016/S1389-1286(03)00247-0 . ISSN 1389-1286 . ↑ Anderson & Head 2006 、pp. 105–108。
情報源 Aho, Alfred V. ; Sethi, Ravi ; Ullman, Jeffrey D. (1986).コンパイラ:原理、技術、ツール (第1 版). Addison-Wesley . ISBN 978-0-201-10088-4 。アルメイダ、マルコ。モレイラ、ネルマ。レイス、ロジェリオ (2007)。オートマトンの最小化アルゴリズムのパフォーマンスについて(PDF) (技術レポート)。 Vol. DCC-2007-03。ポルト大学2009 年 1 月 17 日のオリジナル(PDF) からアーカイブ。2008 年6 月 25 日 に取得 。 Alur, R.; Kanade, A.; Ramesh, S.; Shashidhar, KC (2008). "Symbolic analysis for improving simulation coverage of Simulink/Stateflow models. International Conference on Embedded Software (pp. 89–98). Atlanta, GA: ACM" (PDF) . 2011年7月15日にオリジナル(PDF) からアーカイブされました。 アンダーソン、ジェームズ・アンドリュー、ヘッド、トーマス・J. (2006).現代的応用を伴うオートマタ理論 . ケンブリッジ大学出版局. ISBN 978-0-521-84887-9 。 ベルザー、ジャック; ホルツマン、アルバート・ジョージ;ケント、アレン(1975)。コンピュータ科学技術百科事典 。第 25巻。米国:CRC Press。ISBN 978-0-8247-2275-3 。Black, Paul E (2008年5月12日). 「有限状態機械」 .アルゴリズムとデータ構造の辞書 . 米国国立標準技術研究所 . 2018年10月13日のオリジナルからアーカイブ済み. 2016年11月2日 取得. 「有限状態機械 – Brilliant Math & Science Wiki」 brilliant.org 2018 年 4月14日 取得 。 Brutscheck, M.; Berger, S.; Franke, M.; Schwarzbacher, A.; Becker, S. (2008). Proceedings of the IET Irish Signals and Systems Conference (ISSC 2008) 18–19 June 2008 . Structural Division Procedure for Efficient IC Analysis. Galway, Ireland. pp. 18–23 . Felkin, M. (2007). 「N値問題と二値問題における分類結果の比較」Guillet, Fabrice、Hamilton, Howard J. (編)『データマイニングにおける品質尺度 - 計算知能研究 』第43巻、Springer 、 ベルリン、ハイデルベルク、pp. 277–301。doi: 10.1007 / 978-3-540-44918-8_12。ISBN 978-3-540-44911-9 。 Hamon, G. (2005). Stateflow の表示的意味論 . 国際組み込みソフトウェア会議. ニュージャージー州ジャージーシティ: ACM. pp. 164–172 . CiteSeerX 10.1.1.89.8817 . Harel, D. (1987). "複雑系のための視覚的形式主義。コンピュータプログラミングの科学、231–274" (PDF) 。 2011年7月15日にオリジナル(PDF) からアーカイブ。 2011年 6月7日 に取得 。ホップクロフト、ジョン(1971)。「有限オートマトンにおける状態を最小化するための n log n アルゴリズム」 。『 機械 と 計算 の理論 』 。エルゼビア:189–196。doi :10.1016 /b978-0-12-417750-5.50022-1。ISBN 978-0-12-417750-5 2025年9月18日 に取得 。 ホップクロフト、ジョン・E.、ウルマン、ジェフリー・D. (1979).オートマタ理論、言語、計算入門 (第1 版). アディソン・ウェスリー. ISBN 0-201-02988-X 。 (視覚障害のある利用者も利用可能) ホップクロフト、ジョン・E. 、モトワニ、ラジーブ 、ウルマン、ジェフリー・D. (2006) [1979].オートマタ理論、言語、計算入門 (第3 版). アディソン・ウェスリー. ISBN 0-321-45536-3 。Jonczy, Jacek (2008年6月)。「代数的経路問題」(PDF) 。2014年8月21日にオリジナル(PDF)からアーカイブ済み。 2014年 8月20日 取得 。 Kaeslin, Hubert (2008). 「Mealy型、Moore型、Medvedev型および組み合わせ出力ビット」 .デジタル集積回路設計:VLSIアーキテクチャからCMOS製造まで . Cambridge University Press. p. 787. ISBN 978-0-521-88267-5 。 Keller, Robert M. (2001). "分類器、受容器、変換器、シーケンサー" (PDF) .コンピュータサイエンス: 抽象化から実装へ (PDF) . ハーベイ・マッド大学. p. 480. Koshy, Thomas (2004).離散数学とその応用 . Academic Press. p. 762. ISBN 978-0-12-421180-3 。 Moore, Edward F. (1956). CE Shannon および J. McCarthy (編). "Gedanken-Experiments on Sequential Machines". Annals of Mathematics Studies . 34 . Princeton University Press: 129–153 . Pouly, Marc; Kohlas, Jürg (2011).汎用推論:自動推論のための統一理論 . John Wiley & Sons. ISBN 978-1-118-01086-0 。 Revuz, D. (1992). "線形時間での非巡回オートマトン最小化". Theoretical Computer Science . 92 : 181– 189. doi : 10.1016/0304-3975(92)90142-3 . Schwarz, B. 「同期有限状態機械;設計と動作」(PDF) 。ハンブルク応用科学大学 。p. 18。 2017年1月18日にオリジナル(PDF) からアーカイブ。 2026年 4月16日 取得 。 Tiwari, A. (2002). "Simulink Stateflow Models の形式意味論と分析手法" (PDF) . sri.com . 2018年 4月14日 取得 . 王嘉存(2019)『コンピュータサイエンスにおける形式手法 』CRC Press. ISBN 978-1-4987-7532-8 。 ライト、デイビッド R. (2005). 「有限状態機械」(PDF) . CSC215 クラスノート . ノースカロライナ州立大学、デイビッド R. ライトのウェブサイト。2014年 3 月 27 日にオリジナル(PDF)からアーカイブ済み。2012 年 7 月 14 日 に取得 。
さらに読む 一般的な Carroll, J.; Long, D. (1989).有限オートマトン理論と形式言語入門 (PDF) . Englewood Cliffs: Prentice Hall. Cassandras, C.; Lafortune, S. (1999).離散事象システム入門 . Kluwer. ISBN 0-7923-8609-4 。 ガードナー、T. (2007). 「高度な状態管理」。 2008年11月19日にオリジナルからアーカイブ済み。 Gill, A. (1962).有限状態機械理論入門 . McGraw-Hill. ギンズバーグ、S. (1962).数学的機械理論入門 . アディソン・ウェスリー. ITU-T。「勧告Z.100 仕様および記述言語(SDL)」。 カム、ティモシー(1997)。有限状態機械の合成:機能最適化 。ボストン:クルーワー・アカデミック・パブリッシャーズ。ISBN 0-7923-9842-4 。 Kohavi, Z. (1978).スイッチングと有限オートマトン理論 . McGraw-Hill. サカロヴィッチ、ジャック(2009)。オートマタ理論の要素 。ルーベン・トーマス訳。ケンブリッジ大学出版局。ISBN 978-0-521-84425-3 . Zbl 1188.68177 . Samek, M. (2002). Practical Statecharts in C/C++ . CMP Books. ISBN 1-57820-110-1 。 Samek, M. (2008). Practical UML Statecharts in C/C++, 2nd Edition . Newnes. ISBN 0-7506-8706-1 。 Villa, Tiziano (1997).有限状態機械の合成:論理最適化 . ボストン:Kluwer Academic Publishers. ISBN 0-7923-9892-0 。 ワグナー、F. (2006).有限状態機械によるソフトウェアモデリング:実践的アプローチ . Auerbach Publications. ISBN 0-8493-8086-3 。 理論計算機科学における有限状態機械(オートマトン理論) アービブ、マイケル A. (1969).抽象オートマタの理論 (第 1 版). ニュージャージー州エングルウッド・クリフス: プレンティス・ホール社. ISBN 978-0-13-913368-8 。 ボブロウ、レナード・S.、アービブ、マイケル・A. (1974).離散数学:コンピュータおよび情報科学のための応用代数 (第1 版). フィラデルフィア:WB Saunders Company, Inc. ISBN 978-0-7216-1768-8 。 Booth, Taylor L. (1967).逐次機械とオートマトン理論 (第1 版)。ニューヨーク:John Wiley and Sons, Inc. 米国議会図書館カード目録番号 67-25924。 ブーロス、ジョージ; ジェフリー、リチャード(1999)[1989]。計算可能性と論理 (第3 版)。ケンブリッジ、イングランド:ケンブリッジ大学出版局。ISBN 978-0-521-20402-6 。ブルックシア、J. グレン (1989).計算理論:形式言語、オートマタ、および複雑性 . カリフォルニア州レッドウッドシティ:ベンジャミン/カミングス出版株式会社. ISBN 978-0-8053-0143-4 。 Davis, Martin; Sigal, Ron; Weyuker, Elaine J. (1994). Computability, Complexity, and Languages and Logic: Fundamentals of Theoretical Computer Science (2nd ed.). San Diego: Academic Press, Harcourt, Brace & Company. ISBN 978-0-12-206382-4 。 ホプキン、デイビッド。バーバラ、モス (1976)。オートマトン 。ニューヨーク: エルゼビア ノースホランド。ISBN 978-0-444-00249-5 。 コゼン、デクスター C. (1997)。オートマトンと計算可能性 (第 1 版)。ニューヨーク: Springer-Verlag。ISBN 978-0-387-94907-9 。 Lewis, Harry R. ; Papadimitriou, Christos H. (1998).計算理論の基礎 (第2 版). アッパーサドルリバー、ニュージャージー州:Prentice-Hall. ISBN 978-0-13-262478-7 。リンツ、ピーター(2006)。形式言語とオートマタ (第4 版)。マサチューセッツ州サドベリー:ジョーンズ・アンド・バートレット。ISBN 978-0-7637-3798-6 。 ミンスキー、マービン(1967)。計算:有限マシンと無限マシン (第1 版)。ニュージャージー:プレンティスホール。 パパディミトリウ、クリストス (1993)。計算複雑性 (第1 版)。アディソン・ウェスリー。ISBN 978-0-201-53082-7 。ピペンジャー、ニコラス(1997)。計算可能性理論 (第1 版)。ケンブリッジ、イングランド:ケンブリッジ大学出版局。ISBN 978-0-521-55380-3 。 ロジャー、 スーザン;フィンリー、トーマス(2006)。JFLAP :対話型形式言語およびオートマタパッケージ (第1 版)。マサチューセッツ州サドベリー:ジョーンズ・アンド・バートレット。ISBN 978-0-7637-3834-1 。Sipser, Michael (2006).計算理論入門 (第2 版). ボストン、マサチューセッツ州:Thomson Course Technology. ISBN 978-0-534-95097-2 。 ウッド、デリック (1987)。計算理論 (第1 版)。ニューヨーク:ハーパー&ロウ出版社。ISBN 978-0-06-047208-5 。理論計算機科学における抽象状態機械 Gurevich, Yuri (2000年7月). "逐次抽象状態機械は逐次アルゴリズムを捉える" (PDF) . ACM Transactions on Computational Logic . 1 (1): 77– 111. CiteSeerX 10.1.1.146.3017 . doi : 10.1145/343369.343384 . S2CID 2031696 . 有限状態アルゴリズムを用いた機械学習 ミッチェル、トム・M. (1997).機械学習 (第1 版). ニューヨーク:WCB/マグロウヒル社. ISBN 978-0-07-042807-2 。 ハードウェアエンジニアリング 状態最小化と順序回路の合成 Booth, Taylor L. (1967).逐次機械とオートマトン理論 (第1 版)。ニューヨーク:John Wiley and Sons, Inc. 米国議会図書館カード目録番号 67-25924。 Booth, Taylor L. (1971).デジタルネットワークとコンピュータシステム (第1 版). ニューヨーク:John Wiley and Sons, Inc. ISBN 978-0-471-08840-0 。 McCluskey, EJ (1965).スイッチング回路理論入門 (第1 版)。ニューヨーク:McGraw-Hill Book Company, Inc. 米国議会図書館カード目録番号 65-17394。 Hill, Fredrick J.; Peterson, Gerald R. (1965).スイッチング回路理論入門 (第1 版). ニューヨーク:McGraw-Hill Book Company. 米国議会図書館カード目録番号 65-17394. 有限マルコフ連鎖過程 マルコフ連鎖 は、状態s 1 , s 2 , …, s r を順に通過していくプロセスと考えることができます。状態s i にある場合、確率p ij で次の停止状態である状態s j へ遷移します。これらの確率は遷移行列の形で表すことができます。
有限マルコフ連鎖過程は、有限型部分シフト とも呼ばれる。
Booth, Taylor L. (1967).逐次機械とオートマトン理論 (第1 版)。ニューヨーク:John Wiley and Sons, Inc. 米国議会図書館カード目録番号 67-25924。 Kemeny, John G.; Mirkil, Hazleton; Snell, J. Laurie; Thompson, Gerald L. (1959).有限数学構造 (第1 版). ニュージャージー州エングルウッド・クリフス:Prentice-Hall, Inc. 米国議会図書館カード目録番号 59-12841. 第6章「有限マルコフ連鎖」
外部リンク 「ステートマシンの完全ガイド」 . statecharts.online . – ステートチャートとステートマシンに関する包括的でインタラクティブなチュートリアルGetLastError。「有限状態機械を使用した単純なAI動作のモデリング」。Manuvra Games Development Blog 。 2012年12月2日にオリジナルからアーカイブされました。 「有限状態機械」。コンピュータ用語のオンライン辞書 。2017年12月11日にオリジナルからアーカイブ済み。 – 有限状態機械の説明「有限状態機械」。NISTアルゴリズムおよびデータ構造辞典。 2018年10月13日にオリジナルからアーカイブ済み。 – 有限状態機械の説明「ステートマシンタイプの簡単な概要」 itemisブログ itemis AG – Mealy、Moore、Harel、UMLステートマシンの理論的側面を比較する