cards-deck: date-created: 2024-02-21 12:07:36 date-modified: 2024-05-07 01:55:33
;# Pumping - Lemma
part of [[112.00_anchor_overview]]
Motivation
Wir wollen unter Anwendung dieses Prinzips, des Lemmas, zeigen, dass es Sprachen gibt die nichr regulär sind.
Wir wissen, dass man reguläre Sprachen mit einem Automaten (DFA/NFA/GNFA) und eines regulären Ausdrucks beschreiben kann. Aus dieser Prämisse folgt jetzt:
- jede reguläre Sprache, auch die unendlichen, enthalten nur endlich viele Muster –> die Unendlichkeit kommt höchstens von Ausdrücken der Form zustande ( weil wir hier beliebige wiederholen dürften)
- Eine Sprache die sich nicht durch einen endlichen regulären Ausdruck beschreiben lässt, kann nicht reguläre sein!
Welche Intuition kann man für das Pumpin-Lemma setzen? Worauf zielt es ab? #card
Als Intuition betrachtet, möchten wir gerne sehr lange Wörter in kleinere aufteilen, damit wir sie einfacher und ohne Bedenken des Speicherplatzes bearbeiten und verarbeiten können.
Ferner möchten wir somit herausfinden, ob ein Wort
Das heißt wir teilen unser großes Problem, in viele kleinere auf. [[111.99_algo_branchNBound#Branch and Bound]]]
Definition - Pumping-Lemma :
Das Lemma kann aufgrund seiner Struktur und der Betrachtung von Wörtern, die größer sind nur Aussagen über lange Wörter treffen, da wir die Fälle von kleineren Wörtern nicht ferner betrachten. ( Also solche Wörter, die kleiner als die Menge von Zuständen ist / wäre) Sei eine reguläre Sprache über das Alphabet . was können wir mit langen Wörtern dieser Sprache machen, welcher Parameter ist dabei wichtig? #card Dann gibt es eine natürliche Zahl , so dass sich alle Wörter mit Länge zerlegen lassen in drei Teilworte , sodass gilt:
[!Definition] Pumping Lemma | welche drei Attribute gelten unter welcher Annahme? #card Sei eine reguläre Sprache über . Dann gibt es jetzt ein , sodass sich alle Worte mit Länge so in drei Teile zerlegen lässt, dass sodass dann folgend gilt:
- –> Es gibt also eine Schleife
- –> das Wort in der Mitte darf also niemals ein leeres Wort sein und diese Schleife ist (in ihrer Wiederholung; also mind. einmal)
- –> die Schleife wird spätestens nach Zustandswechseln erreicht (also kann beispielsweise alle Zustände erreichen und danach wird die Schleife erst auftreten)
In dieser Betrachtung ist wichtig, dass die Verbindung :ZYX sich als gesamtes Konstrukt in der Sprache befinden muss, aber die einzelnen Wörter Z,Y,X keine akzeptierten Wörter sein müssen.
[!attention] Folgerung “Unendlich lange Programm von endlichen Automaten müssen immer Schleifen aufweisen -> bzw innerhalb eines Wortes einer Sprache kann man unter Umständen einen Term finden, welcher sich mal wiederholt.
Wenn man etwa 2 unterschiedlich Schleifen konzipiert, gilt dieses Lemma dennoch, weil sich diese Schleifen auf obiger Betrachtung auch wiederholen und wir somit eine große, übergeordnete Schleife haben/ betrachten
[!tip] Bemerkungen zum Pumping Lemma Bedeutung für endlichen Sprachen?, kann es Regularität zeigen? #card Für endliche Sprachen ist die Anwendung des Pumping Lemmas trivial, denn wird dann die maximale Wortlänge sein ( denn wenn es schleifen gibt, muss man diese beliebig wiederholen können ( der Automat kann es ja nicht zählen!))
Das Lemma ist nur ein notwendiges Kriterium für die Regularität: Man kann es also nicht verwendet, um die Regularität zu beweisen –> nur die Nicht-Regularität!
Anwendung Pumping Lemma
[!Important] Nutzung des Pumping-Lemmas
wofür können wir das Pumping Lemma nutzen? #card
Das Pumping-Lemma kann nur genutzt werden, um zu zeigen, dass eine Sprache nicht regulär ist.
Dafür möchten wir die formale Betrachtung des Lemmas anschauen und es anschließend an einem Beispiel anwenden:
Mathematische Repräsentation
[!Definition] Pumping-Lemma formal was sagt das Pumping lemma formal aus? Wie sieht weiterhin die Kontraposition aus? #card
Formal meint das Pumping-Lemma: (Also wir können eine Schleife finden, die eine bestimmte Länge übersteigt, sodass man dann eine Wort in der Sprache aufteilen kann in (Anfang| Schleifenpart | Ende)) Und als Kontraposition folgt: ( gibt es ein Wort, was man entsprechend aufteilen kann, was nicht in der Sprache liegt, dann ist sie nicht regulär!)
[!Attention] Zeigen, dass Sprache nicht regulär ist, brauch also die linke Seite der Kontraposition!
mathematische Betrachtung :
Sei A regulär wie sieht die Kontraposition aus? #card Unter Anwendung können wir die Kontraposition betrachten, also : nicht regulär
Beweisidee : - Pumping Lemma
Grundlegend möchten wir zeigen, dass diese Schleife immer dann auftritt, wenn ein DFA/NFA eine unendliche Sprache erkennen kann - anderweitig ist es keine reguläre Sprache.
Sofern ein Automat ist, der die Sprache erkennt, wählen wir als die Anzahl der Zustände die haben kann. Also wir decken später so ab, dass alle Wörter, die am Ende größer sein werden, als die Menge von Zuständen die wir haben, auch zerteilt werden können, damit wir sie in kleineren Strukturen betrachten und Verarbeiten können. Was muss ferner betrachtet werden, was ist bei Wörtern wichtig. Was passiert, wenn der Automat n+1 von n maximalen Zuständen durchläuft? #card Wir betrachten nun die Verarbeitung eines Wortes der Länge Der Automat besucht dabei also Zustände – inklusives des Starts. Da der Automat nur Zustände aufweist, muss es einen Zustand im Verlauf des großen Wortes geben, welcher mindestens zweimal besucht wird: Das weißt daraufhin, das es eine Schleife geben muss! Anderweitig ist diese Konzeption nicht umsetzbar.
stateDiagram-v2
[*]-->q0
q0-->qi:von 1 bis w, ist =
qi-->qi: von w bis rj, ist y
qi-->qEnd:von rj bis End, ist z
[!Important] Notwendigkeit des Schubfachprinzips **Wir haben hier also das Pigeon-Hole Principle (Schubfachprinzip) angewandt, um zu zeigen, dass es eine Schleife geben muss!
Wir haben hier also eine mögliche Schleife im Automat. Und da sie sich innerhalb des ganzen Wortes befinden wird, können wir sie auch beliebig oft durchlaufen! –> Schließlich ist der Anfang mit x gegeben, und das Ende mit ebenfalls -> die Teile, die nicht von der Schleife - egal wie groß oder tiefgreifend sie ist - eingeschlossen werden!
Sofern man beispielsweise das Wort in Worte zerteilen kann, also etwa 2 verschiedene Schleifen betrachtet, dann werden wird dieser Bweis nicht ausschließen, dass diese Struktur machbar ist, aber was es auch besagt, dass es eine Wiederholung zwischen bestimmten Zuständen geben muss, sodass ein Zustand mindestens 2 mal besucht wird. Ferner folgert es dann bzw. schließt es auch ein, dass diese zwei unabhängigen Schleifen auftreten, weil wir dennoch gemäß des Schubfachprinzipes garantiert auf diese treffen müssen!
[!Important] Länge von Die Länge von muss höchstens N Zustände haben, :: damit wir anschließend abschließen können, dass eine Wiederholung auftreten muss -> weil man dann erkennen wird / soll, dass sich bei Wörtern halt Wiederholungen notwendig sind
formaler Beweis:
Unter der Vorbetrachtung eines solchen Automaten, können wir den Beweis ähnlich strukturiert durchführen.
Sei ein deterministischer Automat, der erkennen kann. Wir setzen gleich der Anzahl von Zuständen. Sei weiterhin ein String der Länge . Sei die Folge der Zustände die der Automat bei der Verarbeitung von durchläuft. Unter den ersten dieser Zustande muss es mindestens einen geben, der? Und warum tritt dieser Zustand ein? Was können wir aus diesen im Bezug auf unser Wort folgern? #card Es muss hier mindestens einen geben, der mindestens zweimal vorkommt. (Gemäß des Schubfachprinzipes!). Wir nennen diesen Punkt jetzt ferner und grenzen damit den Anfang und das Ende dessen vom Rest ab. Die Abfolge/ Berechnung von Zuständen können wir jetzt entsprechend aufteilen: und somit haben wir jetzt eine Aufteilung vorgenommen, wie sie gefordert wird. Wir setzen demnach: und damit haben wir unsere Aussage bewiesen!
Diese Wahl erfüllt das Pumping-Lemma. Insbesondere fürt ein Wort immer auch zum Endzustand, wird also akzeptiert. weswegen wird dieses Wort dann immer akzeptiert? #card
Das kommt daher, dass die Beliebige Replikation von Y, mal ausgeführt werden kann.
Anwendungsbeispiel : nicht reguläre Sprachen
Stehe die Behauptung: Die Sprache L = ist nicht regulär. Diese Behauptung könne man dann mit dem Pumping-Lemma beweisen. Was wäre ein mögliches Vorgehen? #card Beweis dafür, mit Hilfe des Pumping-Lemmas: –> das heißt die Menge von 0 und 1 ist immer gleich und somit entstehen folgende Worte: . Wir wählen nun ein beliebiges ( es wird für alle gelten!). Weiter wählen wir ein Wort (logisch, da wir das durch die Bildungsvorschrift fordern.) Sei nun eine beliebige Zerlegung des Wortes mit ( also die geforderte Zerlegung für das Pumping-Lemma) Es muss jetzt die Schleife gefunden werden: (wir möchten es finden.) Wir wissen, dass und somit wird sein ( wir geben ja an, dass es 0 und 1) gibt! Es folgt somit: . exemplarisch ist , da es dann mehr 0 als 1 haben wird!
Wir können diesen Umstand auch verallgemeinern und mit drei Zuständen betrachten:
- Fall 1 : y besteht nur aus 0en: Dann ist da es mehr 0er als 1er gibt.
- Fall 2 : y nur aus 1en, analog.
- Fall 3 : y hat 0en und 1en: s= 0000 1111 Dann ist aber
[!Attention] Trick / Hilfreicher Tipp bei der Beantwortung eines Beweis Betrachten wir hier die Bildungsvorschrift für das Pumping-lemma - negiert - und versuchen dafür jetzt entsprechend die Quantoren durchzuarbeiten. Wir werden relativ früh ein betrachten. Hierbei können wir also genau ein Beispiel finden und müssen so nicht immens allgemein argumentieren. Im Beispiel nutzten wir etwa: !
[!Tip] weitere Sprache: Betrachte eine weitere Sprache: ist die Sprache regulär? #card Nein, man kann hier einen Loop bilden