このリンクをチェックしてください。これは、NSE文法が通常の言語を表すというChomskyによる証明のより単純なバージョンです。幸い、証明手法は、特定のNSE文法から左正規文法を構築する方法を示しています。これが私の説明です:
- それぞれの | V| (| V| + 1 )/ 2 ペア (v1、v2) の要素の V、かどうかを決定 v1≤v2 与えられた定義に基づいて: v1≤v2 もし v2∗ :=V∗v1V∗。
- 次のような等価クラスを作成します。 v1≤v2 そして v2≤v1、 v1 そして v2同じ等価クラスにあります。これはのすべての要素のパーティションになりますV 1つ以上の等価クラスに。
- 今、各ペア (VE1,VE2) の等価クラスの V 上記のように、 VE1≤VE2 かどうかを確認する v1 に VE1≤v2 に VE2。
- セットを作成する UE 等価クラスに対応 VE そのような場合 VEi≤VEk、 VEi のサブセットです UEk。各UEk アルファベットセットも含まれている必要があります E。あなたはそれを持っていますUE それぞれに VE、それぞれ UE 同等クラスの変数が対応する「未満」で含まれます VE、すべてのアルファベット記号に加えて。
- 決定する P(v) 各変数 v 次のように: P(v) のすべての作品のセットです P 左側が変数を含む同値類に属している v。
- 各変数について v、次のように文法を作成します。 G(v)=(VE∪UE,UE,P(v),v)、 どこ VE 含む等価クラスです v そしてその UE に対応するものです VE。
- 著者は、それを主張する補題を証明しました G(v)線形文法です。これから、正規表現を上書きすることができますUE 各変数 v。注意してくださいUE 「最小」に対応 VE、この正規表現には、元のアルファベットの記号のみが含まれます E。
- アルファベット記号のみを含む正規表現を、手順7で取得したより複雑な正規表現に繰り返し置き換えます。最終的に、元の開始記号から生成された言語に対応する正規表現ができます。 S、この正規表現には、元のアルファベットのアルファベット記号のみが含まれます。
- これで、NSE文法の正規表現が得られ、Kleeneの定理、サブセットの構築、およびDFA最小化アルゴリズムを使用して、最小限のDFAを取得できます。
例が必要な場合は、後で提供することもできます。自分で何回かやってみて、紙を読んでください(短いです)。複雑さについては後で説明します。