Chomsky Normal Formで、唯一の文字列a^21を含む言語を受け付ける可能な限り少数のプロダクションでCFGを構築しようとしています。 Chomsky Normal Formで文脈自由文法を構築する
は、私はちょうどSを変換することができることを理解する - > AAAAAAAAAAAAAAAAAAAAA A - >
が、その後、その言語を短縮チョムスキー標準形に変換する他の方法がありますか?
Chomsky Normal Formで、唯一の文字列a^21を含む言語を受け付ける可能な限り少数のプロダクションでCFGを構築しようとしています。 Chomsky Normal Formで文脈自由文法を構築する
は、私はちょうどSを変換することができることを理解する - > AAAAAAAAAAAAAAAAAAAAA A - >
が、その後、その言語を短縮チョムスキー標準形に変換する他の方法がありますか?
生成された文字列の長さを各プロダクションで最大2倍にすることができることを認識し、この言語のCNFでCFGを生成するために少なくとも6つのシンボルが必要であることをかなり簡単に示すことができます。
CNFには、ターゲット言語を生成する6つのプロダクションを持つ文法がないことが示されています。文法を上から構築することで議論を始める。
A_1 := a
が必要です。A_3
またはそれをスキップしてA_4
を生成する、あるいはその両方を生成することができます。1.A_2 := A_1 A_1
を持っている必要があります。これらのケースはそれぞれ次のように考えられます。ケース1:A_3
A_3 := A_2 A_1
を追加します。A_21 := X Y
のいずれかのフォームが必要です。だから我々は最大2つを追加することができます。現在可能な最大の作品 - A_6
とA_12
を追加したとしても、必要に応じてA_21
を生成することはできません(最大でA_18 := A_6 A_12
を生成することができます).を追加すると、6つのプロダクションで私たちの言語を生成する文法を得ることができません。ケース2:。。。A_4
A_4 := A_2 A_2
を追加A_21 := X Y
のいずれかが必要です知っているので、我々はさらに2つまで追加することができます私たちのOPTIO現在、A_5
、A_6
およびA_8
です。 A_5
とA_6
は、上記のケース1と同じ理由で失敗します。しかし、A_8
は、その推論によって失敗しないので、A_8 := A_4 A_4
を追加します。A_20, A_19, A_17
またはA_13
のいずれかになる必要があります。既存の制作物を使用してこれらを生成することはできません。したがって、6つのプロダクションで文法を除外しました。上記の推論を使って7つのプロダクションで文法を見つけようとすると、いくつかのプロダクトが見つかります。 7つのプロダクションでCNFに文法があり、6つでは文法がないことを知っているので、あなたは完了です。ここには7つの生産文法のいくつかがあります:
S := A_18 A_3
A_18 := A_9 A_9
A_9 := A_6 A_3
A_6 := A_3 A_3
A_3 := A_2 A_1
A_2 := A_1 A_1
A_1 := a
S := A_17 A_4
A_17 := A_9 A_8
A_9 := A_8 A_1
A_8 := A_4 A_4
A_4 := A_2 A_2
A_2 := A_1 A_1
A_1 := a
S := A_16 A_5
A_16 := A_8 A_8
A_8 := A_4 A_4
A_5 := A_4 A_1
A_4 := A_2 A_2
A_2 := A_1 A_1
A_1 := a
S := A_15 A_6
A_15 := A_9 A_6
A_9 := A_6 A_3
A_6 := A_3 A_3
A_3 := A_2 A_1
A_2 := A_1 A_1
A_1 := a
S := A_14 A_7
A_14 := A_7 A_7
A_7 := A_4 A_3
A_4 := A_3 A_1
A_3 := A_2 A_1
A_2 := A_1 A_1
A_1 := a
S := A_13 A_8
A_13 := A_8 A_5
A_8 := A_5 A_3
A_5 := A_3 A_2
A_3 := A_2 A_1
A_2 := A_1 A_1
A_1 := a
S := A_12 A_9
A_12 := A_9 A_3
A_9 := A_6 A_3
A_6 := A_3 A_3
A_3 := A_2 A_1
A_2 := A_1 A_1
A_1 := a
S := A_11 A_10
A_11 := A_10 A_1
A_10 := A_8 A_2
A_8 := A_4 A_4
A_4 := A_2 A_2
A_2 := A_1 A_1
A_1 := a
さらにたくさんあります。難しい部分は、6つのプロダクションがないことを示していました。
私はそれを理解したと思います。なぜこれがうまくいかないのか知られていますか? S - > \t \t \t \t T AT - > DD \t \t \t \t \t D - > BB \t \t \t \t \t B - > CA \t \t \t \t \t C-> EE \t \t \t \t \t E - > AA \t \t \t \t \t A - > a – Brittney
はい、あなたの答えは完全に受け入れられます:作品の数が最小です。私の用語では、文法21 = 20 + 1; 20 = 10 + 10; 10 = 5 + 5; 5 = 4 + 1; 4 = 2 + 2; 2 = 1 + 1; 1 = 1。難しい部分は、6つのプロダクションがないことを示しています。下記参照。 – Patrick87