Informatik

Was ist die Pumpeigenschaft für reguläre Sprachen?

Die Pumpeigenschaft (Pumping Lemma) besagt, dass für jede reguläre Sprache LL eine natürliche Zahl nn (die Pump-Länge) existiert, für die jedes Wort wLw \in L, dessen Länge wn|w| \ge n ist, in drei Teile w=xyzw = xyz zerlegt werden kann, sodass die folgenden Bedingungen erfüllt sind:

  1. xyn|xy| \le n
    (xyxy ist nicht länger als die Pump-Länge)
  2. y1|y| \ge 1
    (yy ist nicht leer)
  3. Für alle k0k \ge 0 ist xykzLxy^kz \in L
    (yy kann beliebig oft gepumpt werden, und das resultierende Wort bleibt in LL)

Erklärung

Die Pumpeigenschaft ist ein wichtiges Werkzeug in der theoretischen Informatik, um zu beweisen, dass eine gegebene Sprache nicht regulär ist. Dies geschieht in der Regel durch einen Widerspruchsbeweis:

  1. Man nimmt an, dass die Sprache LL regulär ist.
  2. Aufgrund der Pumpeigenschaft muss dann eine Pump-Länge nn existieren.
  3. Man wählt ein geeignetes Wort wLw \in L mit wn|w| \ge n, dessen Struktur einen Widerspruch beim Pumpen ermöglicht.
  4. Man zeigt, dass das Pumpen des Wortes ww (d.h., die Erzeugung von xykzxy^kz für ein geeignetes kk) ein Wort erzeugt, das nicht in LL enthalten ist.
  5. Da dies ein Widerspruch zur Annahme ist, muss die ursprüngliche Annahme falsch sein, und die Sprache LL ist folglich nicht regulär.

Beispiel

Die Sprache L={akbkk0}L = \{a^k b^k \mid k \ge 0\} ist nicht regulär.

Beweis (skizziert):

  1. Angenommen, LL ist regulär. Dann existiert eine Pump-Länge nn.
  2. Wähle das Wort w=anbnLw = a^n b^n \in L. Offensichtlich ist w=2nn|w| = 2n \ge n.
  3. Gemäß der Pumpeigenschaft kann ww in xyzxyz zerlegt werden mit xyn|xy| \le n und y1|y| \ge 1.
  4. Da xyn|xy| \le n und w=anbnw = a^n b^n, muss der Teil xyxy vollständig aus aa's bestehen. Das bedeutet, yy besteht ebenfalls nur aus aa's (y=amy = a^m für m1m \ge 1).
  5. Betrachte nun das Wort xy2zxy^2z. Dies würde bedeuten, wir fügen weitere aa's zum Wort hinzu. Das neue Wort hat die Form an+mbna^{n+m} b^n.
  6. Da m1m \ge 1, ist n+mnn+m \ne n. Somit ist die Anzahl der aa's ungleich der Anzahl der bb's.
  7. Das Wort an+mbna^{n+m} b^n ist nicht in LL. Dies ist ein Widerspruch zur Pumpeigenschaft.

Daher ist die Sprache L={akbkk0}L = \{a^k b^k \mid k \ge 0\} nicht regulär.