GNFAアルゴリズムを使用してNFAを正規表現に変換しますか?
だから私は長い間これを解読しようとしてきました、そして私はこの質問についてループに入っているようにほとんど感じます。 次のNFAがあるとします。 GNFAアルゴリズムを使用して、正規表現を取得します。 私はあなたが最初のステップ(空の状態を追加する)のために以下を持っていることを理解しています: 次のステップは、状態[q1]を削除することです。 最後に[q2]を削除すると、次のようになります。 しかし、他の人が持っている答えがある: 私が得たとして意味をなさない、?GNFA(一般化非決定性有限オートマトン)は次のように記述されます。(∪ Bb∗a)∗bb∗(a∪bb∗a)∗bb∗(a \cup bb^*a)^*bb^*a∗B (B ∪ Aa∗b)∗a∗b(b∪aa∗b)∗a^*b(b \cup aa^*b)^* GNFAはNFAに似ていますが、特定のルールに従う必要があります。 受け入れ状態は1つだけです 初期状態には遷移がありません 受け入れ状態には、そこから出てくる遷移はありません。 遷移は、アルファベットの記号だけでなく、任意の正規表現を表すことができます。記号は、正規表現の一種であることに注意してください。 さらに、次のようにNFAをGNFAに変換する場合があります。 ε遷移を伴う新しい開始状態を古い開始状態に追加する 古い受け入れ状態からのε遷移を持つ新しい受け入れ状態を追加します。 矢印に複数のラベルがある場合、または2つの状態の間に複数の矢印がある場合は、それらをそれらのラベルの和集合(または)に置き換えます