ChatDiagram
4 templates · State diagram

Thompson構成法 ε-NFA状態図

Thompson構成法は、正規表現をε-NFA(ε-NFA)へ体系的に変換する方法です。このページでは、単純なトークンから複雑な式まで、さまざまな正規表現をThompson構成法で作成したε-NFAの例を紹介します。オートマトン理論の学習、字句解析器の設計、自分で作成した構成の検証に役立つ視覚資料として利用できます。

Standard OMG UML 2.5.1 §14 + Harel (1987) statechartEngine schematex-stateExport SVG · PNG · PDF
How to

How to use a state diagram template.

  1. 01正規表現を入力する

    a|b、a*、(ab)などの標準構文を使い、変換したい正規表現を入力または貼り付けます。

  2. 02Thompson構成法を適用する

    ツールが構成規則を自動的に適用し、各部分式に対応する状態と遷移を作成してε-NFAを構築します。

  3. 03生成された図を確認する

    すべてのε遷移を含め、状態図が正規表現を正しく表しているか確認します。

  4. 04レイアウトとラベルを調整する

    状態をドラッグし、遷移の経路を変更したりラベルを編集したりして、オートマトンの動作を変えずに読みやすく整えます。

  5. 05ε-NFAを書き出す・共有する

    図を画像またはPDFとしてダウンロードするか、共同作業用のライブリンクを共有します。

FAQ

Questions about state diagram templates

Thompson構成法とは何ですか?

Thompson構成法は、正規表現を等価なε-NFAに変換するアルゴリズムです。正規表現を原子的な部分式へ再帰的に分解し、連結、和集合、Kleene閉包の規則で組み合わせます。

Thompson構成法ではなぜε遷移を使うのですか?

ε遷移を使うと、状態を統合したり複雑な遷移を作ったりせずに、小さなオートマトンを組み合わせられます。ε遷移は部分オートマトンをつなぐ「接着剤」として機能し、全体が表す言語を保ちます。

このツールで任意の正規表現をε-NFAに変換できますか?

はい。正規表現で標準的な演算子(和集合、連結、star、plus、optional、文字クラス)を使っている限り変換できます。このツールは完全な構文に対応し、対応するε-NFAを自動生成します。

Thompson構成法は、他の正規表現からNFAへの変換方法とどう違いますか?

Thompson構成法は単純で体系的であり、正規表現の長さの最大2倍程度の状態数でNFAを生成します。Glushkov構成法などは状態数を減らせる場合がありますが、実装はより複雑です。

ε-NFA図を文書で使うために書き出せますか?

もちろんです。このツールでは図をPNG、SVG、PDFとして書き出せるため、レポート、課題、プレゼンテーションに利用できます。