Pumping-Lemma

Satz über eine Eigenschaft von formalen Sprachen in der theoretischen Informatik
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. Oktober 2005 um 23:26 Uhr durch 62.214.227.110 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Das Pumping-Lemma ist eine Methode der Theoretischen Informatik, mit der überprüft werden kann, ob sog. formale Sprachen bestimmte Ausprägungen haben. Sie weist ggf. nach, dass eine formale Sprache nicht regulär bzw. nicht kontextfrei (uvwxy-Theorem) ist.

Die Methode wird alternativ als auch uvw-Theorem, Schleifenlemma, Iterationslemma oder Lemma von Bar-Hillel bezeichnet. Ihren Namen hat sie vom englischen Begriff to pump, zu deutsch aufpumpen.

In der Literatur sind Pumping-Lemmata auch für Erweiterungen der kontextfreien Sprachen anzutreffen. Für kontextsensitive und sogar wachsend kontextsensitive Sprachen ist bekannt, dass hier kein Pumping-Lemma möglich ist.

Von Ogden ist das Pumping-Lemma verschärft worden, siehe Ogdens Lemma.

Idee

Das Pumping-Lemma ist eine Methode, um nachzuweisen, ob eine formale Sprache nicht regulär (Variante 1) bzw. nicht kontextfrei (Variante 2) ist. Es liefert für diesen Beweis eine notwendige Bedingung. So wird der Beweis dann als Widerspruchsbeweis geführt. Es wird angenommen, dass eine Sprache regulär oder kontextfrei sei. Diese Aussage wird mit Hilfe eines Pumping-Lemmas zum Widerspruch geführt.

Eine notwendige und hinreichende Bedingung liefert der Satz von Myhill-Nerode.

Variante 1: Prüfung auf Regularität von Sprachen

Annahmen

Sei   eine Grammatik des Chomsky-Hierarchie-Typ 3. Diese bezeichnet die regulären Sprachen.

Aussage des Pumping-Lemmas für reguläre Sprachen

Sei   eine reguläre Sprache, also   . Dann gibt es eine Zahl  , sodass sich alle Wörter   mit   in   zerlegen lassen, sodass gilt:

  1.  
  2.  
  3.  

Beispiel

Ist die Sprache   regulär?

Angenommen,   sei eine reguläre Sprache. Dann gibt es gemäß Pumping-Lemma eine Zahl  , sodass sich alle Wörter   mit   wie beschrieben zerlegen lassen.

Man betrachte nun speziell das Wort  .

Gemäß Bedingung 1 ist   nicht leer, gemäß Bedingung 2 besteht   und somit auch   ausschließlich aus  s (da   und  ). Mit Bedingung 3 müsste das Wort   in   liegen. Das ist aber offensichtlich falsch, denn dieses Wort hat mehr  s als  s. Damit gilt:   ist nicht regulär.

Variante 2: Prüfung auf Kontextfreiheit von Sprachen

Annahmen

Sei   eine Chomsky-Hierarchie-Typ-2-Grammatik. Diese bezeichnet die kontextfreien Sprachen.

Aussage des Pumping-Lemmas für kontextfreie Sprachen

Sei   eine kontextfreie Sprache, also  . Dann gibt es eine Zahl  , sodass sich alle Wörter   mit   in   zerlegen lassen, sodass gilt:

  1.  
  2.  
  3.  

Beispiel

Ist die Sprache   kontextfrei?

Wir nehmen an,   sei kontextfrei. Sei dann   die zugehörige Konstante aus dem Pumping-Lemma.

Wir betrachten das Wort  . Es muss dann eine Zerlegung   geben, sodass  ,  ,   für alle   ist. Da  , enthält das Wort   höchstens zwei verschiedene Buchstaben. Da  , kann   nicht von allen drei Buchstaben gleich viele enthalten. Also ist   nicht kontextfrei.

Beim Beweis sollte man am Besten folgende Fälle betrachten:

  1.   oder   enthalten verschiedene Buchstabensorten.
  2.   und   enthalten die gleiche Buchstabensorte.
  3.   und   enthalten die gleiche Buchstabensorte und eins von beiden ist leer.