Kontextfreie Sprachfrage (Pumping Lemma)

8

Ich weiß, dass dies nicht direkt mit der Programmierung zusammenhängt, aber ich habe mich gefragt, ob jemand das Pumping-Lemma auf den folgenden Beweis anwenden kann:

  

Zeige, dass L = {(a ^ n) (b ^ n) (c ^ m): n! = m} ist keine kontextfreie Sprache

Ich bin ziemlich zuversichtlich, wenn ich Pump-Lemmas anwende, aber dieses hier nervt mich wirklich. Was denkst du?

    
Maixy 08.04.2010, 02:12
quelle

1 Antwort

6

Edit: Ich habe dich total falsch geführt. Das passiert, wenn ich versuche zu helfen, wenn ich das Problem nicht vollständig gelöst habe.

Ogdens Lemma

Angenommen, L ist kontextfrei. Nach Ogdens Lemma gibt es eine Ganzzahl p mit folgenden Eigenschaften:

Wenn ein String w in L mindestens p Symbole lang ist, wobei mindestens p dieser Symbole "markiert" sind, kann w als uvxyz dargestellt werden, die erfüllen:

  1. x hat mindestens ein markiertes Symbol,
  2. entweder du und v beide haben markierte Symbole oder y und z haben beide markierte Symbole,
  3. vxy hat höchstens p markierte Symbole und
  4. i i x i z ist in L für i = 0

Das ist Ogdens Lemma. Nun sei q eine Ganzzahl, die durch jede positive ganze Zahl, die nicht größer als p ist, teilbar ist. Sei w = a p + q b p + q c p . Markiere alle c. Mit # 2 muss u oder v mindestens einen c enthalten. Wenn entweder u oder v ein anderes Symbol enthält, schlägt # 4 fehl, also müssen u und v nur c enthalten. Aber dann fällt # 4 aus, wenn i = q / | uv |. Wir wissen, dass q durch | uv | teilbar ist weil p & gt; | uv | & gt; 0, und q ist teilbar durch alle positiven ganzen Zahlen kleiner als p.

Beachte, dass Ogdens Lemma zum pumpenden Lemma wird, wenn du alle Symbole markierst.

Pumping Lemma

Angenommen, L ist kontextfrei. Durch das Pumping-Lemma gibt es eine Länge p (nicht notwendigerweise das gleiche p wie oben), so dass jeder String w in L als uvxyz dargestellt werden kann, wobei

  1. | vxy | & lt; = p,
  2. | vy | & gt; = 1 und
  3. i i i ist in L für i> 0.

Gegeben eine Saite w in L, entweder m & gt; n oder m & lt; n. Angenommen p = 2.

Angenommen, dass m & gt; n. (Beachten Sie, dass Λ die leere Zeichenfolge bezeichnet.)

  • Sei u = a n b n c m-1
  • Sei v = c
  • Sei x = Λ
  • Lass y = Λ
  • Sei z = Λ

Angenommen, dass n & gt; m.

  • Sei u = a n-1
  • Sei v = a
  • Sei x = Λ
  • Lass y = b
  • Sei z = b n-1 m

Dies zeigt, dass kein String von L ein Gegenbeispiel mit dem Pumping-Lemma liefert, um zu der Annahme zu gelangen, dass L eine kontextfreie Sprache ist (obwohl es kontextsensitiv ist).

    
Dietrich Epp 08.04.2010, 02:38
quelle