オンラインFSM有限状態機械シミュレーター
決定性有限状態機械の遷移表を入力し、状態遷移経路と最終状態をブラウザで確認できるオンラインツール。例: q0,0,q0 など. 処理はブラウザ内でローカルに行われます。
使ってみる
機能と使い方の詳細
このシミュレーターは、決定性有限状態機械(DFA)の遷移表をブラウザ上で処理します。各遷移規則は「現在状態,入力文字,次状態」の形式で、カンマ区切りで記述します。状態名は空でなく50文字以内、入力文字は1つのUnicodeコードポイント(例: 1文字)である必要があります。規則は1〜200個まで指定できます。
具体的な動作例
例えば、以下の規則を考えます。
q0,0,q0 q0,1,q1 q1,0,q0 q1,1,q1
初期状態を q0、入力文字列を 1011 とすると、遷移経路は q0 → q1 → q0 → q1 → q1 となり、最終状態は q1 です。
制限と注意点
- 状態と入力文字の組み合わせに対して遷移は1つだけです。重複した規則はエラーになります。
- 入力文字列は1つのUnicodeコードポイントずつ処理され、最大10000 UTF-16コード単位までです。
- 遷移が定義されていない状態と入力文字の組み合わせに達すると、その位置でエラーが発生します。
- 受理状態の指定、ε遷移、非決定性分岐、正規表現変換、最小化、図式化などの機能はありません。
よくある質問
Q1: 状態名にカンマを含めることはできますか?
いいえ。カンマは構造上の区切り文字として使用されるため、状態名や入力文字にカンマを含めることはできません。
Q2: 入力文字列が長い場合、結果はどう表示されますか?
遷移経路はすべての訪問状態をリストとして表示します。入力が長いと経路も長くなるため、最初は短い入力でテストし、各遷移が規則表と一致するか確認することをお勧めします。
Q3: このツールは受理状態を判定できますか?
いいえ。このツールは遷移のシミュレーションのみを行い、受理状態の概念はありません。最終状態が受理されるかどうかの判定は行いません。
処理はブラウザ内でローカルに行われます。