正規表現の編集原理-エントリーから習熟までのNFA-DFA-MFA

入門

最も単純なNFA

ここに画像の説明を挿入

3つの基本的な状態図

1. r = s | t

ここに画像の説明を挿入

2. r = st

ここに画像の説明を挿入

3.r = s *

ここに画像の説明を挿入
他のさまざまな複雑な形式形式は、実際にはこれらの基本的な状態図の組み合わせです。
どの種類の基本的な形式形式が組み合わされているかを確認するだけで済みます

ここに画像の説明を挿入
角かっこはs | tで、外側はスタークロージャーです。全体としてs | tを取り、s *状態図の1-2を置き換えて取得します。ここに画像の説明を挿入

正規表現が非常に長い場合、3つの基本的な式は非常に面倒になります。(a | b)*は自己ループに置き換えることができます。

ここに画像の説明を挿入

NFAからDFAへ

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
各状態サブセットに番号を付けます。たとえば、{X、1、2}は0、{1、2、3} 2は、新しい状態遷移行列を簡単に取得できます。
ここに画像の説明を挿入

DFAを簡素化(最小化)する

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
著作権表示:この記事は、CSDNブロガー「UneatableLemon」の元の記事であり、CC 4.0 BY-SAの著作権表示に準拠しています。転載するには、元のソースリンクとこの文を添付してください。
元のリンク:https://blog.csdn.net/qq_40427276/article/details/102771393

おすすめ

転載: blog.csdn.net/qq_41870170/article/details/114969017