Wollen wir? Abschlusseigenschaften. Haben wir gestern schon gemacht?
Ja, also fast komplett. Wiederholen wir heute nochmal und machen noch eine weitere.
Und dann nähern wir uns so diesen Grenzen regulärer Sprachen.
Und das haben wir gestern, dieses Resultat mit all den Formalismen,
die wir kennengelernt haben, um reguläre Sprachen zu erfassen.
DFA, deterministischer endlicher Automat, NFA, nicht die
terministisch endliche Automat. Da haben wir gestern gesagt,
da dürfen wir auch noch Landerkanten dazuschreiben
Das ist halt, wenn ich mir formal definiert und so,
aber so von der Idee, dass man weiß,
okay, ich darf doch Landerkanten haben.
Und dann haben wir noch reguläre Ausdrücke dahin dazugemacht.
Wer sich gestern Nachmittag schon den Foliensatz von gestern gedownloaded hat,
da hatte ich noch vergessen an den Stellen,
wo rationaler Ausdruck stand, reguläre Ausdruck hinzuschreiben.
Also seit gestern, spätabends ist es da noch richtig.
Also ich habe den ja nochmal korrigiert und nochmal hochgeladen.
Der ist jetzt da und das Skript ist auch da auf der Seite,
wo die Folien sind und auf FG1-Skript.de ist das
auch so weit wie der Stand Ende letzter Woche quasi war
Und die Sachen von gestern und von heute,
die kommen jetzt hoffentlich morgen und übermorgen online und dann haben wir endlich die Vorlesung eingeholt.
Ja, das haben wir gemacht, Fragen dazu zu den
Formulismen und sowas? Dann sollte der eine,
so sah der eine aus, NFA ist mit Landerkanten,
wenn so ein Lampen, so ein Landerkante da kommt,
lesen wir nicht zum Eingabeband und es findet halt nur ein Zustandswechsel statt.
Also in dem Beispiel von Z0 kann ich nach Z1 gehen oder Z3.
Wie viele Rechnungen, wie viele verschiedene Rechnungen hat der Automat
auf dem Wort 11
Er sagt drei, wer sagt weniger,
wer sagt mehr, wer findet auch drei.
Weniger. Er sagt weniger. Was sagst du mehr?
Er sagt mehr. Wie viele hast du im Angebot
Fünf oder sechs? Vier. Jetzt haben wir weniger
als drei, drei, vier, fünf und sechs.
Nee, das ist ein bisschen... Hier müssen wir vielleicht
noch ein bisschen einschränken. Also Rechnung bis zum Ende.
Also wenn man jetzt sagt,
so ich bleibe in Set 0 und tue gar nichts so,
dann das ist vielleicht keine Rechnung.
Nehmen wir mal nur die, die wirklich bloß zum Ende sind.
Also entweder Rechnung, wo er akzeptiert oder wo er ablehnt oder wo er blockiert.
Will einer seine Meinung ändern, kann ja nicht alles stimmen,
ne? Drei, vier, fünf,
sechs, zwei
Erinnert auf drei. Bleibst du bei vier? Er bleibt
bei vier. Fünf? Fünf, sechs? Vier?
Er sagt auch vier, jetzt seid ihr schon zu zweit.
Vier finde ich gut. Ich kann mit dem Lamda nach
Z1 gehen. Beide einsen lesen in Z1. Erste Rechnung.
Ich kann mit dem Lamda nach Z1 gehen.
Eine eins lesen und nach Z2 gehen. Zweite Rechnung.
Ich kann mit dem Lamda nach Z1 gehen, mit der
ersten eins nach Z2 und da blockieren, dritte Rechnung.
Oder ich gehe mit dem Lamda nach Z3,
liste da beide einsen, vierte Rechnung.
Das sind die vier.
Ja, nein, ja, ja. Nee,
also, oh Gott, jetzt muss etwas auseinanderfriemeln.
Du hast einen Automaten und jetzt gibt es im DFA
zu diesem Automaten und einem Wort genau eine Rechnung,
weil ja jeder Schritt determiniert ist.
Beim NFA beim Nicht-deterministischen gibt es zu dem Automaten und einem Wort
möglicherweise mehrere Rechnungen. Und zu ganz vielen Worten gibt es
natürlich ganz viele Rechnungen
Aber zu einem Wort, also Rechnung macht eigentlich Sinn mit dem Wort.
Man sagt, hier zu dem Wort, das ist die und die Rechnung.
Weil man halt eigentlich ja genau ausdrücken will,
was da Automat tut, Schritt für Schritt.
Und beim NFA hat er halt mehrere Möglichkeiten, Dinge zu tun.
Also gibt es mehrere Rechnungen. Nein, in dem Beispiel vier,
wenn man jetzt noch so Sachen dazu nimmt,
wie irgendwie, ich gehe mit dem Lamda nach Z3,
lese eine 1 und dann tue ich nichts mehr oder so,
dann werden es irgendwie mehrere Rechnungen.
Aber wenn man quasi die Rechnung nur als Rechnung bezeichnet,
die man bis zum Ende durchmacht,
dann sind es vier Stück in dem Beispiel. Ja,
man kann sich also im Grunde genommen am Anfang entscheiden,
ob man ein Wort aus,
ob man ein Wort lesen will,
das auf 1 endet oder ein Wort lesen will,
das auf Null endet.
Das tut er halt
Das sind die NFAs mit Lamberkanten. Wie gesagt,
formal nicht eingeführt, aber so,
dass wir irgendwie damit arbeiten können, dass wir wissen,
was so eine Lamberkante ist. Und dass wir wissen,
dass man, wenn man es noch mal nachliest,
irgendwo zu jedem NFA mit Lamberkanten einen NFA ohne Lamberkanten generieren kann und dann dazu einen DFA,
ist also auch wieder Äquivalent zum DFA.
Dann hatten wir die regulären Ausdrücke, wo wir gesagt haben,
irgendwie hier die leere Menge soll so ein leerer Ausdruck sein,
der eben gerade die leere Menge beschreibt,
für jedes Symbol ist eben das Symbol dann auch wieder ein regulärer Ausdruck,
der gerade die Menge beschreibt,
wo das Symbol drin ist
Das ist so quasi die Verankerung. Und dann kann man darauf aufbauen und eben sagen,
wenn ich schon zwei reguläre Ausdrucke habe, X und Y,
dann kann ich die eben mit einem Plus verbinden oder mit
einem Mal verbinden oder ich kann die so hochstern oder hochplus Operation machen.
Und kriege dann eben Mengen, die nacheinander,
die Vereinigung, die Konkordination, Sternbildung und Hochplus beschreiben.
Das sind reguläre Ausdrücke. Und dann hatte ich gestern schon gesagt,
und da steht das nochmal auf den Folien,
dass wir die im Grunde genommen so nutzen wollen wie Mengen.
Also, dass wir eben nicht, hier steht ja immer,
beschreibt, warum steht hier so,
beschreibt die Menge die,
bla bla
Und im Grunde genommen ist es ja aber egal,
ob ich hinschreibe X plus Y oder ob ich ihm schreibe, MX vereinigt MY.
Also das ist streng formal ein Unterschied ist,
linke Seite, sind Tags, rechte Seite, Semantik,
ja, will man sich jetzt aber von der Notation,
wenn man sich halt ein bisschen befreien,
deswegen benutzt man dieses X plus Y quasi stellvertretend für die Menge,
die dann da eben auf der rechten Seite steht und darf dann so was schreiben wie,
keine Ahnung, Klein-A-Element von X plus Y. Also sowas hier wollen wir uns erlauben.
A, hoch drei Element aus A, Hochstern.
Streng genommen macht das keinen Sinn,
weil hinter dem Elementzeichen steht da gerade gar keine Menge,
aber das A,
Hochstern beschreibt ja gerade die Menge A in Klammern oder A
als Menge Hochstern
Deswegen wollen wir uns das erlauben. Ja,
und dann haben wir da so ein paar Beispiele,
irgendwie Worte, die auf 1 enden, 0 plus 1 Stern,
mal 1, Worte, Diener 1 enthalten, Worte,
die 0-0 oder 1-1 enthalten und so weiter.
Auch damit wollen wir primär arbeiten können,
also irgendwie reguläre Ausdrücke lesen und angeben können und eben wissen,
dass es,
dass man dazu wieder eine Konstruktion hat,
die dann das in DFA überführt und die den DFA in einen regulären Ausdruck überführt,
dass das also wieder äquivalent ist
Haben wir uns als nächstes gefragt,
ob wir auch sowas machen können, wie nicht das,
also 0 plus 1, Stern mal 1,
also die Worte,
die auf 1 enden und das jetzt eben nicht,
das könnte ich als regulären Ausdruck ja so direkt erstmal nicht ausdrücken,
weil ich da ja keine Operation führe,
aber ich habe ja nicht so eine Operation bei den regulären Ausdrücken,
die mir sagt,
mach einen großen Balkendrüh oder schreib einen nicht davor oder so und dass damit dann die Negation gemeint wäre,
die Komplimentbildung gemeint wäre.
Das habe ich also erstmal nicht, also kann ich mich fragen,
geht das immer? In dem Beispiel kann man sich schon vorstellen,
okay, all die Wörter nicht zu akzeptieren,
die auf 1 enden und alle anderen,
das kriegt man irgendwie hin, das sind gerade die Wörter,
die auf null enden, wenn ich nicht auf 1 ende,
nicht halt auf null
Aber geht das generell? Kann ich irgendwie für jede
reguläre Sprache zeigen, dass das Kompliment regulär ist.
Und das war eben dieses Themengebiet der Abschlusseigenschaften. Da haben wir gesagt,
da interessieren wir uns jetzt allgemein für eben wahlweise einstellige oder zweistellige Operaturen auf Mengen,
zweistelliger Operator, nimmt zwei Mengen, liefert eine Menge zurück,
einstelliger Operator limmt eine Menge und liefert genau eine Menge zurück.
Beispiele für den einstelligen Komplimentbildung, für den zweistelligen Vereinigung oder Durchschnitt
oder irgendwie sowas. Und dann haben wir uns gefragt,
wenn ich sowas habe, dann kann ich jetzt zeigen,
dass bezüglich dieser Operation eine Sprachfamilie abgeschlossen ist.
Die einzige Sprachfamilie, die wir bisher haben,
sind die regulären Sprachen. Also interessieren wir uns dafür,
ist immer die Vereinigung zwei reguläre Sprachen, ist die wiederregulär.
Ist immer der Durchschnitt zwei regulärer Sprachen regulär und so weiter.
Macht das auch Sinn mit dem Kreuzprodukt?
Ist auch eine Operation auf zwei Mengen,
macht das Sinn
Nee, das macht irgendwie nicht so richtig viel Sinn,
weil ich quasi aus dieser Darstellung der Menge irgendwie rausrutsche.
Vorher habe ich Mengen von Wörtern, wenn ich ein Kreuzprodukt mache,
habe ich zwar wieder eine Menge,
aber irgendwie nicht mehr eine Menge von Wörtern,
also keine Teilmenge mehr von Sigmar Stern,
sondern ich habe dann plötzlich eine Menge von Tupeln,
wo beide Elemente aus Sigmar Stern sind.
Also das funktioniert nicht mehr, da kann ich nicht
so richtig von Abschluss reden. Es sei denn,
ich definiere mir die Sprachfamilie irgendwie deutlich obskurer,
als wir das jetzt hier gemacht haben.
Ja, also es soll immer eine Menge der gleichen Art rauskommen natürlich.
Ja, so, was haben wir uns dann angeguckt?
Das war jetzt quasi die Fragestellung,
wir geben zwei reguläre Sprachen oder eine und ich wende
unterschiedliche Operationen drauf an,
wird das wieder
eine reguläre Sprache
Dann haben wir erst mal ein paar Sachen geschenkt gekriegt von
den regulären Ausdrücken von eben, an denen wir gezeigt haben,
dass die regulären Sprachen gerade durch die Operation abgeschlossen sind,
für die wir eben Operationen bei den regulären Ausdrücken haben.
Und ich weiß irgendwie, ich habe zwei reguläre Sprachen,
dann weiß ich, ich kann die durch reguläre Ausdrücke ausdrücken,
dann weiß ich,
da kann ich ein Plus dazwischen schreiben und kriege wieder einen regulären Ausdruck,
dann weiß ich, das ist also wieder eine reguläre Sprache.
Also sind die Gegenübervereinigungen abgeschlossen, die regulären Sprachen.
Das ging relativ einfach
Also ausgegangen von L1, L2 in Reck und dann dahin gekommen,
dass L1 vereinigt L2, L1 mal L2,
L1 hoch plus und in 1 hoch Sternen auch regulär sind.
Also reguläre Sprachen gegenüber diesen Operationen abgeschlossen. Das waren so die Einfachen,
weil wir die in Anführungsstrichen geschenkt gekriegt haben,
Geschenke gekriegt stimmt natürlich nicht so ganz,
weil man vorher beweisen muss,
dass reguläre Ausdrücke tatsächlich diese Sprachfamilie der regulären Sprachen erfassen und der Beweis ist ja relativ komplex.
Deswegen, wenn man das gemacht hat,
dann kriegt man das Ergebnis hier geschenkt.
Komplimentbildung geht nicht so gut mit regulären Ausdrücken,
ging aber gut mit Automaten
Kernidee, ich nehme vollständige Automaten für eine Sprache und tausche Endzustände und
nicht Endzustände aus. Also Sprache aus Reck wieder gegeben,
dann gibt es einen vollständigen DFA dafür, nennen wir den mal A,
und dann konstruiere ich mir aus A, neun vollständigen Automaten Arschtrich,
indem ich eben in A oder alles so nehme,
wie es in A ist, nur jeder Zustand,
der Endzustand, war es jetzt keiner mehr, jeder Zustand,
der kein Endzustand war, ist jetzt einer in Arschtrich.
Dann habe ich einen neuen Automaten Arschtrich, der ist wieder vollständig und dann
können eben sowohl A als auch A-Strich alle Worte lesen.
Und wenn der DFA aber ein Wort liest und dabei
in einen Endzustand landet, dann landet A
Strich jetzt auch in diesem Zustand, ist aber
kein Endzustand mehr
Also lehnt er das Wort ab, was A vorher angenommen hat. Und andersrum genauso,
also akzeptiert er genau das Kompliment von L.A. Steht es nochmal,
End und nicht End zuständig getauscht und da eben,
wenn ein Wort von akzeptiert wird, Rechnung endet im Endzustand,
wird es von Astrich nicht akzeptiert, nicht akzeptiert und andersrum.
Ganz wichtig dafür, dass man eben von vollständigen DFAs ausgeht, sonst funktioniert das nicht.
Aber das kann man ja immer machen. Ja,
das war die und dann hatten wir uns noch die Produktbildung angeguckt,
dass wir gesagt haben, wenn ich zwei Sprachen habe,
die regulär sind, ist auch der Schnitt regulär.
Das kann man entweder machen, indem man sagt, naja,
ich habe jetzt schon Vereinigung und Kompliment, kriege ich den Schnitt sofort, den morgischen Gesetze.
Oder indem ich eben wieder versuche, Automaten zu konstruieren. Und da hatten wir gestern ja schon die Idee,
dass wir gesagt haben, okay,
dann merke ich mir jetzt bei dem neuen Automaten, den Automaten,
den ich hier konstruiere, für L1 geschnitten, L2,
da merke ich mir im Zustand, jetzt nicht einen einzelnen Zustand,
sondern ich merke mir einen Tubel von zwei Zuständen,
wobei das erste Element im Tubel eben Zustand des ersten Automaten ist und das zweite Element im Tubel im Zustand des zweiten Automaten.
Dann kann ich hier sagen,
wenn ich diese beiden Automaten A1 und A2 habe und ich möchte jetzt diesen Automaten C konstruieren,
dann mache ich das eben so, dass die Zustandsmenge von C,
gerade eben Tubel sind bestehend aus Zustände des ersten Automatenzuständes,
zweiten Automaten und ist der Staatszustand eben im ersten Tubel-Startzustand des ersten Automaten im zweiten Startzustand des zweiten und die Überführungsfunktion definiere ich mir dann so,
dass ich eben gucke, ich wähle mir ein X aus,
wo komme ich im ersten Automaten hin,
wenn ich bei Z1 Z0 starte,
was ist dann Delta 1,
Z10 X und im zweiten Element des Tubels rechne ich eben mit dem zweiten Automaten,
das mache ich sukzessive halt immer weiter und wenn ich dabei
irgendwie im ersten Automaten am Endzustand komme und in zweiten Automaten in einen Endzustand,
dann akzeptiere ich
Also, erste Komponente Rechnung von der Eins, zweite Komponente Rechnung von der Zwei.
Und dann kann man eben relativ gut zeigen,
wenn ich im Automaten C ausgehend vom Staatszustand in einen Endzustand komme,
dann komme ich auch im ersten Automaten vom Staatszustand ausgehenden Endzustand
und im zweiten Automaten auch in Zustand.
Genau, sowas wäre dann noch zu zeigen, kann man
wieder mit einer Induktion machen. Und mit der Zeile,
wie sie da steht, funktioniert das aber nicht so gut.
Also darauf eine Induktion zu machen, ist ein bisschen unglücklich.
Erste Frage, warum ist das unglücklich? Und danach können wir
uns mal fragen, was ist eine sinnvollere Induktionsbehauptung wäre?
Warum ist das da doof, wenn ich das mit Induktion
beweisen will?
Warum nervt das
Kann ich ja mal versuchen. Für Lamda sieht das
noch gut aus und danach, das könnte einer stören.
Wir probieren eine Induktion über die Wortlänge.
Klappt das mit Lamda, also Induktionsanfang,
klappt das mit Lamda
Miteinander sieht es okay aus, also mit dem leeren Bord.
Da steht auf der linken Seite Delta 3 Dach von Z30,
Komma Lamda, ist gerade Z30,
also bei Lamda passiert ja immer nichts bei der weiteren Über Führungsfunktion.
Das heißt, Link steht Z30,
soll ein Element aus den Endzuständen des Automaten C sein.
Und rechts steht Z10 soll ein Endzustand aus dem ersten Automaten
sein und Z20 soll ein Endzustand aus dem zweiten Automaten sein.
Das klappt nach Definition. Ich habe mir gerade die Endzustandsmenge
des Automaten C so definiert.
Jetzt kann ich annehmen, dass das irgendwie für Wörter der
Länge N gilt
Wenn ich jetzt versuche, diesen Induktionsschritt zu machen,
dass ich sage, okay, jetzt habe ich ein Wort der Länge,
N plus 1. Jetzt müsst ihr das irgendwie zerlegen.
Entweder müsst ihr, vielleicht kann man es auch irgendwo in
der Mitte abspalten, aber normalerweise würde man versuchen,
entweder den ersten Buchstaben abzuspalten oder den letzten.
Wenn ihr den ersten Buchstaben abspaltet,
dann versucht ihr also quasi damit einmal nach Definition einen Schritt
zu machen und dann auf den Rest die Induktionsannahme anzuwenden.
Das wird aber nicht funktionieren, weil die Induktionsannahme dann ja
irgendwie was zu tun hat mit aus den Startzuständen lese ich dieses Wort weh.
Das war doof, weil ich bin gar nicht mehr im
Startzustand, nachdem ich einen Schritt gemacht habe.
Also zumindest meistens bin ich dann nicht mehr im Startzustand.
Also irgendwie nicht machen
Wenn ich das anders aufsplitte, wenn ich den letzten Buchstaben abspalte,
dann will ich erst die Induktionsannahme benutzen und dann noch einen Schritt machen.
Kann ich aber auch nicht, weil die Induktionsannahme mir nur was bringt,
wenn ich nach diesen ersten Endbuchstaben schon im Endzustand bin.
Komme ich aber vielleicht erst mit dem letzten Schritt.
Funktioniert also nicht. Es ist beides irgendwie doof.
Verstanden? So grob? Um das irgendwie,
was einen also nervt hier, ist diese Geschichten,
dass da schon steht, Endzustand, Endzustand, Endzustand.
Das ist doof, deswegen funktioniert das nicht.
Die ganze Argumentation immer deswegen nicht funktioniert, habe ich gesagt,
naja, ich bin ja vielleicht noch gar nicht im Endzustand
und sowas
Also wie kann man das retten? Wie müsste man
die Induktionsbehauptung umfriemeln? Ja, ich weiß,
dass das schwer ist
Kommt, denkt mit. Was wollen wir denn machen?
Warum machen wir denn diese ganze Konstruktion? Die Idee ist doch,
dass ich sagen kann, nachher,
ich mache eine Rechnung im ersten Automaten,
ich mache eine Rechnung im zweiten Automaten,
also erstmal unabhängig voneinander, das erste Automat, zweite Automat,
ich mache in beiden eine Rechnung und in meinem Produktautomaten C mache ich genau die gleiche Rechnung,
nur halt in den Tupeln drin.
Das ist die ganze Idee bei der Konstruktion. Naja,
wenn ich die Idee habe, dann kann ich ja mal
versuchen zu beweisen, dass diese Idee wirklich erreicht wird.
Das heißt, ich ändere das hier so um,
dass ich irgendwie sage, wenn ich starten bei Z-3-0,
das W lese, dann komme ich jetzt nicht in Endzustand,
sondern ich komme halt in irgendein Tupel,
Ich weiß ja, der Automat ist vollständig,
also das wird auf jeden Fall funktionieren, aber selbst wenn nicht,
das ist das, was ich erreichen will.
Ich möchte sagen, wenn ich in Z30 starte und ein W lese,
dann komme ich irgendwie in so ein Tubel-Z-Z-Strich. Und das,
was ich zeigen möchte, ist, dass, wenn das passiert,
dann komme ich hier von Delta 1, Z10W,
komme ich in das erste Element des Tubels, also nach Z.
Und hier komme ich in das zweite Element des Tubels,
also nach Z-Strich. Das ist die Induktionsbehauptung. Sprich,
ihr ändert eigentlich nur dieses Ding mit,
ich lande auf jeden Fall im Endzustand in,
ich lande in so einem Zustand. Und das ist gerade so,
dass Wenn ich im Produktautomaten in so ein Tupel komme,
dass ich auf der rechten Seite dann eben in die einzelnen Elemente des Tupels komme.
Und damit kann ich dann arbeiten. Da kann ich dann irgendwie
relativ einfach eine Induktion machen. Das blitte ich dann das Wort wieder so auf,
dass ich irgendwie das X ganz zum Schluss habe und dann weiß ich mit Induktionsbehauptung,
nach den ersten End-Symbolen stimmt das da und mit dem nächsten Symbol stimmt es dann auch.
Das kann man dann machen. Aber nochmal,
die Idee ist halt, hier hat man ja irgendwie eine Idee verfolgt,
als man das so definiert hat,
sowohl diese Zustandsmenge Z3 als auch diese Übergangsfunktion.
Und genau die Idee versucht man dann eben zu beweisen,
dass die tatsächlich gilt und daraus dann was Sinnvolles abzuleiten.
Wenn ich das nämlich bewiesen habe,
was ich eben erzählt habe,
dann kann ich das hier
ganz schnell folgern
Und das dann zeigen, naja, dann bin ich fertig,
dann weiß ich, wenn der eine Mensch Zustand landet,
landet der andere auch im Endzustand, also akzeptiere ich gerade das Produkt.
Ja. Fragen? Fragen. Das ist relativ kompliziert gewesen,
aber versucht euch mal darauf zu schulen,
wie mal diese Induktionsbehauptung irgendwie aufstellt,
dass ihr halt im Grunde genommen mit den Induktionsbehauptungen versucht,
das zu zeigen, was ihr euch eben bei der Konstruktion auch gedacht habt.
Und wenn ihr euch bei der Konstruktion eben gedacht habt,
ihr kommt in einem Automaten in so ein Tupel,
was gerade den Rechnungen in den anderen beiden Automaten
entspricht und versucht halt genau das zu zeigen
Ja, da nochmal, wie man den Produktautomaten jetzt tatsächlich konstruiert,
im Grunde genommen, wie beim Potenzautomaten,
ich starte beim Startzustand und dann baue ich das eben sukzessive auf.
Jetzt bin ich beim Startzustand,
jetzt gehe ich alle Symbole durch, gucke mir mal an,
wo komme ich bei den beiden einzelnen Automaten hin,
wenn ich so ein Symbol lese und das mache ich dann eben auch beim Produktautomaten.
Also im Grunde genommen, genauso wie bei der Potenzautomatenkonstruktion,
nur dass ich eben meine Potenzautomatenkonstruktion sage,
ich gehe alle Elemente in der Menge durch und hier sage ich eben,
naja,
ich habe einen Tubel,
also nehme ich das erste Element des Tubels und das
zweite Element des Tubels
Dann noch was anderes, was wir gestern noch nicht hatten.
Spiegelwörter, ja, hochtrabende Definition, gemeint ist, ich schreibe das Wort andersrum.
Also, wenn ich irgendwie das Wort 1011 habe,
dann interessiere ich mich jetzt für das Wort, genau,
andersrum geschrieben, 1101. Und für eine Menge,
kann ich nicht sagen, wenn ich hier so eine Menge
L habe und ich benutze den Reverse-Operator oder das Spiegelwort-Operator drauf,
den drehe ich halt quasi alle Wörter in der Menge L um.
Also, wenn ich als L habe die Menge aller Wörter,
die auf 1 enden,
dann ist die Reverse-Operation darauf eben die Menge aller Wörter,
die mit 1 beginnen
Also bei der Sprache, so dem Beispiel kann man sich vorstellen,
okay, die ist regulär und wird auch wieder regulär,
aber im allgemeinen Fall, was meint ihr,
kann man das machen?
Wenn El regulär ist, ist dann El Reverse auch immer regulär.
Genau. Genau, und den Startzustand noch zum Endzustand
machen und dann hast du es
Genau. Sehr gut. Also ich nehme mir einen DFA, einen vollständigen DFA wieder.
Und der hat ja einen Startzustand und mehrere Rennzustände,
also wahrscheinlich mehrere Rennzustände so im Allgemeinen. Und dann sage ich,
naja gut, dann drehe ich alle Kanten um,
mache alle Endzustände zu Startzuständen und den einen Startzustand,
den ich hatte, den mache ich zum Endzustand.
Jetzt habe ich keinen DFA mehr, sondern NFA,
aber das macht ja nichts so. Den kann ich ja,
wenn ich möchte, wieder in den DFA umwandeln.
Wenn ich jetzt beweisen will, dass der Tatsache das Reverse akzeptiert,
wenn es in dem ursprünglichen Automaten, wenn er was akzeptiert hat,
dann gab es irgendwie eine Rechnung von Startzustand zu irgendwie IMN-Zustand.
In dem neuen Automaten kann ich jetzt hier starten,
die kannten genau rückwärts gehen und bei dem Endzustand bei dem Endzustand landen.
Also funktioniert das
So ganz grob. Ey, der ist regulär,
dann ist er auch refregulär, da unten die Beweisidee so kurz angetatscht.
Steht er deswegen, weil, wer erinnert sich noch,
dritte Vorlesung, dieses komplizierte Beispiel mit diesem Automaten,
der zwei Binärzahlen addiert hat, wo wir dann gesagt haben,
ja, die von links nach rechts lesen,
ist irgendwie schwierig, weil wir dann nicht mehr wissen,
wo der Übertrag ist.
Also haben wir es umgedreht und haben gesagt, wir akzeptieren nicht Summen,
sondern Summen hoch R. Und damit wissen wir jetzt auch,
dass das ursprüngliche Summen auch regulär ist.
Also wenn ich euch irgendwie diese Dreiertriebe gebe und sage,
die dritte Zeile soll Summe der ersten beiden Zeilen sein,
wie näher addiert,
dann ist die Sprache
eben auch regulär
Diese Summensprache ist auch regulär. Deswegen wollte ich das da
nochmal drin haben, dass wir das nochmal sehen.
Da haben wir also quasi damals, als wir diese Sprache uns angeguckt haben,
haben wir gesagt, so damit haben wir ein Problem,
genau dafür eine reguläre Sprache zu machen.
Also haben wir die Fragestellung irgendwie umformuliert. Da haben wir gedacht,
so na gut, wenn wir das nicht hinkriegen,
vielleicht kriegen wir was anderes hin.
Das haben wir dann geschafft und das hat dann das Problem dahin verlagert,
dass man dann gesagt hat, okay,
jetzt muss ich mir noch überlegen, kriege ich es hin,
dass solche Reverse-Wörter auch immer regulär sind.
Und das kriegt man tatsächlich auch gut hin und dann
ist man fertig. Dann hat man sogar gezeigt,
dass Summen regulär ist über diesen Umweg mit der Abschlusseigenschaft
hier.
Das waren die, die wir uns jetzt angeguckt haben.
Die oberen vier kriegen wir von den rationalen,
regulären Ausdrücken geschenkt und die unteren drei haben wir jetzt mit Automaten gemacht.
Wobei der vorletzte hier der Durchschnitt, wie gesagt,
den kriegt man auch durch den ersten und fünften sofort,
aber man kann eben auch so eine Automatenkonstruktion angeben.
Fragen? Das waren Abschlusseigenschaften. Bitte? Nee,
der, nee, ob ein DFA das Reverse bilden kann.
Nee, weil er keine Ausgabe hat oder so.
Also zumindest so, wie wir sie definiert haben,
hat er keine Ausgabe. Wenn man DFAs mit Ausgabe nimmt,
Ja, klappt auch nicht. Also das eine,
du kannst dann so Operationen machen wie auf der Ausgabe,
wann ganz nach rechts gehen oder irgendwie sowas und dann das ausgeben.
Aber da wird schon unangenehm. Also das kriegt man nicht
so richtig gut hin. Noch Fragen, was geht meine Fragen los?
Zuerst dann der zweite. Welcher reguläre Ausdruck beschreibt die Menge
da?
Also A-Stern-Kompliment
Musik Ich musste gerade selbst überlegen, warum es drittens
nicht ist. Warum ist es denn drittens nicht?
Mir ist eben noch eingefallen, warum bist du nicht?
Bitte? Weil wir nicht wissen, was Siegmar ist? Ja,
da könnte man jetzt noch sagen, na gut, sag mal,
nehmen wir mal an, dass das A, B ist so.
Warum klappt drittens nicht? Wenn ihr die Aufgabenstellung nochmal genau
lest und euch dann drittens anguckt, warum funktioniert das nicht?
Viel einfacher. Ja, genau, drittens ist überhaupt kein regulärer Ausdruck,
dieser Set-Minus-Operator, der ist ja gar nicht mit drin.
Also drittens klappt nicht. Ansonsten, wir drittens,
wenn man jetzt mal davon ausgeht, das sieht man,
AB ist, also die Menge,
die AB enthält, dann wird drittens okay.
So aber nicht. Zweitens, B-Stern. B-Stern ist
die Menge aller Worte, die nur aus Bs bestehen,
Arschstern ist die Menge aller Worte, die nur aus Ars bestehen.
Seid ihr der Meinung, mehr Dinge kann man nicht machen
mit Ars und Bs? Da geht doch noch was.
Also Worte wie A, B zum Beispiel oder so.
Also ein bisschen, was geht da noch?
Da ist ein bisschen zu wenig. Mal davon abgesehen,
dass in beiden jetzt das Lamm da drin wäre,
das wäre auch doof. Also in B-Stern ist das leere Wort
drin und in Arschstern ist auch das leere Wort drin.
Aber von der Sprechweise A-Stern, alle Wörter, die nur aus Ars bestehen.
Wenn ihr die rausschmeißt, bleibt also was übrig? Naja,
Wörter, die nicht nur aus Ars bestehen,
sprich Wörter, die mindestens irgendwie anderen Buchstaben mithalten,
also mindestens ein B, wenn wir jetzt mal davon ausgehen,
dass Sigmar A, B ist.
Das kriegen wir gerade durch das erste hin. Also fünf Leute gewinnen.
Erstens sind die Wörter, die mindestens ein B enthalten.
Das ist gerade das Kompliment von A Stern. Also da
sind keine Wörter drin, die nur aus As bestehen,
weil da eben mindestens ein B drin ist.
Viertens ist auch fast richtig, bei viertens ist das Problem,
dadurch, dass da alles gesternt ist, kriege ich ihren viertens das leere Wort hin.
Ich nehme aus A plus B Stern das leere Wort,
aus B Stern, das leere Wort aus A plus B Stern,
das leere Wort verbinde die,
dann habe ich das leere Wort,
das ist aber auch ein A Stern drin und dann soll das nicht im Kompliment von A Stern drin sein.
Also erstens,
es klingt gut
Wenn A, ein NFA ist, mit sechs Zuständen,
wie viele Zustände, dann durch die Potenzautomatenkonstruktion gewonnener DFA
maximal.
6, 12,
36,
Ja, 64, ne? Zwei hoch sechs. Nicht sechs hoch zwei,
das wäre das dritte, sondern zwei Hoch sechs.
Also alle Möglichkeiten quasi aus diesen sechs Zuständen Timeng zu bilden.
Das sind gerade zwei Hoch
sechs viele
Also maximal, oder eben bei der statischen Konstruktion im Beweis,
da sind es dann eben gerade immer die zwei Hochsechs.
Und wie viel hat er mindestens
Fünf ist auch schön. Bei 5 könnte man denken,
man nimmt den mindestens. Dusselige Fangfrage. Gefragt ist ja
nach dem äquivalenten DFA. Und wenn NFA 5 Zustände hat,
naja, vielleicht braucht er ganz viele davon gar nicht oder macht er
mit irgendeinem Käse oder vielleicht gibt es da gar keine Endzustände oder irgendwas.
Also kann man eigentlich gar nicht beantworten, so richtig die Frage,
sondern man kann nur angeben, wie viel Zustände in DFA mindestens haben muss.
Und er muss halt mindestens einen Zustand haben.
Der hat immer einen Startzustand. Also ist die richtige Antwort. Erstens,
weil soll euch eigentlich, also mal davon abgesehen,
dass die Frage so ein bisschen fangfragenartig gestellt ist,
soll das euch nur darauf schuhen,
dass dieser Äquivalenzbegriff und auch diese ganzen Konstruktionen, die wir machen,
die haben eben sehr häufig nichts mit Minimalität zu tun.
Also damit, dass der konstruierte Automat möglichst klein ist,
sowohl bei der Produktautomatenkonstruktion kommen relativ häufig DFAs raus,
die man noch kleiner machen kann bezüglich der Zustände,
als auch bei dieser Produktautomaten-Geschichte, die wir eben hatten.
Und bei den Sachen mit regulären Ausdrücken und Automaten umwandeln und so,
da sowieso. Und es gibt noch so Methoden,
um minimale DFAs zu konstruieren, also gegeben DFA,
denen so klein zu machen,
wie nur irgendwie möglich
Das machen wir aber hier in der Veranstaltung nicht,
aber damit könnte man dann sagen, okay,
der DFA hat für diese Sprache genau so und so viele Zustände.
Hier nur, dass wir wissen, okay,
DFA hat mindestens einen Zustand und ohne jetzt irgendwie mehr über den NFA zu wissen,
kann man bei der Frage nicht mehr sagen als erstens.
So, letzte Frage, glaube ich.
Warum die letzte? Ja. Stimmt doch mal bitte einmal
ab. Achso, ich verstehe die Frage nicht,
Numm, numm, numm, numm.
Als ich die gestern eingebaut habe, habe ich gedacht,
so die Frage, montags zu stellen, wäre vielleicht besser gewesen.
Es gibt irgendwie so ein breiteres Bild, so Dienstagmorgen ist immer so ein bisschen...
Hoffentlich schreiben die mir jetzt nicht gleich alle E-Mails.
Wobei ich glaube da eh nicht dran,
dass so viele Leute Dienstagmorgens in den Livestream gucken.
C, ist okay, zu langsam, etwas zu schnell.
Okay, ich stelle die mal Montag nochmal,
wenn noch ein paar mehr Leute da sind.
Für die eine Person, die A gedrückt hat,
falls die jetzt nicht gerade aus der Kiste da kommt,
gerne die Literaturliste bearbeiten.
Also man versucht ja die Vorlesung immer irgendwie darauf anzupassen,
dass halt möglichst viele irgendwie mitkommen
Wenn man das Tempo jetzt wirklich zu langsam findet,
was ja auch gut mal sein kann,
dann einfach mit der Literatur und mit den ganzen blauen
Boxen und so Sachen noch nachbereiten und so.
Wenn man die Zeit hat, kann man die für sowas nutzen.
Oder helft den 14 Leuten bei D, die das etwas
zu schnell finden und zieht sie alle in den C-Bereich.
Okay. Richtige Antwort bei viertens. So,
was ich machen wollte jetzt, ist,
jetzt haben wir
diese ganzen Abschlusseigenschaften
Achso, warte. Ich will also kurz noch mal hier zu.
Die, die gesagt haben, etwas zu schnell.
Was fehlt euch denn? Also falls das einer gerne so
sagen möchte oder sonst schreibt mir eine E-Mail oder so,
kann einer auf den Punkt bringen, warum er das Tempo zu schnell findet.
Also dass er irgendwie sagen kann, keine Ahnung,
mir fehlt das und das an Wissen oder ich komme an
den Stellen nicht mit oder rede doch mal langsamer oder irgendwas.
Halliner, erstens zweitens. Okay,
sonst schreibt mir mal eine E-Mail oder so,
würde mich interessieren, ob man das irgendwo noch,
wo man Sachen noch verbessern kann
So, Abschlusseigenschaften haben wir jetzt benutzt,
also wir kennen jetzt Abschlusseigenschaften und jetzt können wir gegeben so
ein paar reguläre Sprachen, hier irgendwie A1, L2,
können wir ja massenweise andere reguläre Sprachen jetzt konstruieren.
Wir können irgendwie mit den ganzen Operaturen, die wir kennen,
aus den regulären Ausdrücken, können wir die jetzt alle verknüpfen.
Wir können noch irgendwie Biken drüber machen für Komplimentbildung,
Reverse reinschreiben und so weiter und kriegen irgendwie so
ein ganzes Sammelsurium von regulären Sprachen.
Gleichzeitig wissen wir aber, DFA kann sich eigentlich nur endlich
viele Informationen merken. Klingt schon mal irgendwie so,
kann doch eigentlich nicht sein,
dass man damit
alles hinkriegen kann
Bei welcher Sprache könnten wir Probleme kriegen? Was meint ihr
? Wo kann das irgendwie? Also Summen haben wir ja
zum Beispiel noch gut hingekriegt. Wo könnte es Probleme geben
? Genau. Genau, wenn wir irgendwie zählen,
ich fasse mal zusammen, wenn wir irgendwie zählen wollen.
Zum Beispiel haben wir ja Adieren hingekriegt, so wie näher addieren.
Würden wir auch so was hinkriegen, wie A,
also A, B, C jetzt einfach nur als unieres Zählen.
Wichtig sind die Exponenten. A, hoch R,
B, hoch S und dann C hoch S plus T.
Da muss ich ja irgendwie wissen, wie viele A sicher wissen,
wie viele Bs ich habe und dann die C ist als Summe.
Meint ihr, sowas kriegt man hin
Bei Binäres Adieren haben wir ja hingekriegt, das ist eigentlich
das Gleiche. Adieren ist ja immer das Gleiche irgendwie.
Meint ihr, das kriegen wir hin? Widerspricht ja so
ein bisschen dem, was er eben gesagt hat,
dass er meinte, so zählen ist irgendwie doof.
Vielleicht kriegen wir es trotzdem hin. Was meint ihr?
Multiplikation, ich meinte nur Addition, keine Multiplikation.
Ja, das ist ja nur fürs Ziel der As.
Also du hast eher viele As,
ess viele Bs und dann kommen Air Plus,
ess viele Cs.
Also sowas
Glaubst du auch nicht, ne? Ja, genau,
das widerspricht auch dem Massium, sag ich jetzt. Also irgendwie so mit diesem Zählen,
das kann irgendwie nicht funktionieren, gibt auch so Sprachen,
die so ein bisschen dichter dran sind an,
da muss man auch zählen, aber das macht irgendwie,
man hat das, klingt das ein bisschen anwendungsnäher,
dass man irgendwie sowas sagt, wie alle korrekt geklammerten Ausdrücke.
Sowas könnte einen interessieren, weil man beispielsweise im Compilerbau und Programmiersprachen
oder so ja ständig überprüfen muss, ob er irgendwelche Ausdrücke korrekt geklammert sind.
Und dann lese ich üblicherweise einmal über das Wort rüber und
baue mir halt so einen Baum auf,
mit dem ich dann Dinge tun kann und sowas,
aber ich muss eben auch gucken,
irgendwie sind die Sachen
korrekt geklammert
Wenn man korrekte Klammerung ist jetzt schon, sieht man,
naja, kann man da unten. Leider, öffnende,
öffnende, schließende, öffnende, schließende, schließende und sowas,
da wechseln sich ständig dieses Öffnende oder schließende ab.
Jetzt kann man immer erst mal überlegen, bevor ich mir darüber Gedanken mache,
mache ich die Sprache mal immer noch einfacher.
Und dann kommt man irgendwie, also das haben wir,
kriegt man wohl nicht hin, landet man irgendwie bei dem.
Das würde dementsprechend eng öffnende Klammern und eng schließende Klammern.
Wenn ich das schon nicht hinkriege, dann kriege ich wahrscheinlich
das eben genannte mit alle korrekten Klammerausdrücke auch nicht hin.
Aber vielleicht geht die ja noch. Auch NBO-N widerspricht wieder
dem, was er ihm gesagt hat,
müsste ich wahrscheinlich auch wieder irgendwie zählen
Aber vielleicht hat er doch einer eine Idee für den DFA
so, vielleicht geht das ja doch.
Kommen wir da schon an unsere Grenzen? Auch in Biohund
. Kommen wir da schon an die Grenze? Ja,
wenn ich das Ende irgendwie festhalte, dann klingt das wieder cool.
Wenn ich das N festhalte, dann ist es aber fast schon wieder trivial.
Warum? Auch wenn wir das Wort ja eigentlich nicht benutzen wollen.
Aber wenn ich das N festhalte, dann ist es sehr,
sehr einfach oder sehr, sehr offensichtlich,
dass die Sprache regulär ist.
Warum? Was passiert, wenn ich
das N festhalte
Du bekürzt den Arzt, das ist wahr.
Nicht von Sprachen, sondern von Wörtern, genau.
Wenn ich das N festhalte, dann ist die Sprache L endlich.
Also dann habe ich irgendwie nur endlich viele Wörter,
geht in die gleiche Richtung wie das, was du gesagt hast.
Aber allgemein, wenn ich eine Sprache habe mit endlich vielen Wörtern,
kann ich die immer mit regulären, hier mit DFAs akzeptieren.
Ein Startzustand und in einen Endzustand und dann halt für jedes Wort darüber gehen.
Oder von mir aus noch so mit Zwischenzuständen für die einzelnen Buchstaben,
aber endlich viele Wörter kriege ich immer hin.
Unendlich viele haben wir ja gesehen,
kriegen wir auch in ganz, ganz vielen Fällen hin,
indem da wahrscheinlich irgendwie nicht.
Das Problem ist irgendwie das Zählen
Ideen, wie könnte ich den DFA anreichern, um das hinzukriegen?
Also mit dem DFA, wie wir ihn kennen, geht es nicht.
Mit dem NFA geht es dann ja auch nicht,
weil wenn es mit dem DFA nicht geht,
wird es wohl mit dem NFA auch nicht gehen.
Müssen wir gleich auch nochmal zeigen. Wie kann ich den
anderen reichern, damit das funktioniert? Was gebe ich dem?
Hattet ihr auch schon mal so ein, zwei Mal,
als ich gefragt habe, wie kann man den erweitern?
Mit dem Zähler, ja genau, wir geben ihm irgendwie
einen Zähler, dass er Dinge zählen kann.
Was anderes, was gibt es noch so? Einen Speicher
, kann man auch machen. Machen wir auch gleich mit
dem Speicher. Wenn ihr an den aktuellen Aufgabenzettel denkt,
kriegt man das damit auch hin
Mehrere Leseköpfe? Klappt das? Wenn ihr zwei Leseköpfe habt
, könnt ihr das machen? Er sagt nein. Wenn
ihr zwei Leseköpfe habt, die ihr unabhängig bewegen dürft.
So halb, so manchmal. Ja, was machst du
Genau. Wenn ich zwei Leseköpfe habe,
dann schiebe ich den ersten erstmal über alle Ars rüber,
bis er beim ersten B ist.
Und danach bewege ich sie beide synchron. Der eine liest immer ein A,
der andere liest immer ein B. Und akzeptieren tue ich genau dann,
wenn der zweite Lesekopf am Ende des Bandes angekommen ist,
in genau dem Moment, wenn der erste beim B angekommen ist,
dann weiß ich ja gleich viele ASVBs.
Kann ja auch mit zwei Leseköpfen hinkriegen. Muss man sich ein bisschen überlegen,
wie genau man das definiert mit, dass der zweite am Rand ist und so,
aber von der Idee her kriegt man das hin.
Oder eben mit einem Zähler oder was wir jetzt machen wollen mit
so einem Speicherding. Da kommt man zu dem Kellerautomaten,
wir geben dem DFA jetzt also noch so ein Noch so ein Keller,
auf dem man sich Dinge merken kann und den so entstandenen Automaten,
den wir dann Kellerautomaten, da unten die Anmerkung,
so hätte man auch eine rote Box tun können.
Ich will den nur kurz anschneiden, dass ihr den mal
gesehen habt. Kann man sehr viel mehr zumachen,
ist aber, also es ist ein schönes Gebiet,
aber man kann halt irgendwie nicht alles in der Vorlesung machen.
Deswegen habe ich gedacht, an der Stelle mal kürzen,
damit ich bei dem Tempo eben so wie,
deswegen habe ich die Frage auch gestellt,
damit man bei dem Tempo irgendwie ein bisschen sich zurücknehmen kann.
Den also nur mal kurz, dass ihr den mal gesehen habt,
dass es tatsächlich auch solche anderen Automatenmodelle noch gibt.
So sieht er dann, oder so kann man sich den vorstellen.
Man sieht ja schon irgendwie, der hat wieder so
ein Eingabeband
Und das hier auf der rechten Seite, das soll den Keller symbolisieren.
Das ist quasi ein Stack, wo ja immer wieder oben
was drauftun könnt und an das Oberste kommt ihr ran.
Das ist also, der kriegt also noch einen Speicher,
aber einen sehr eingeschränkten Speicher, nämlich so einen Speicher,
wo ich irgendwie nur pushen und poppen kann und ich komme nur an das oberste Element ran.
Und die Idee hier, dass dieses Symbolier ist,
das Bottom-Symbol, das Kellerbodenzeichen,
das soll am Anfang immer ganz unten im Keller liegen und
dann kann ich eben Sachen auf den Keller rauftun und vom Keller wegnehmen.
Und hier diese Notation soll bedeuten, erstes Symbol,
das, was ich vom Eingabeband lese,
also in diesem Fall so kleine As, zweites Symbol,
das,
was ich vom Keller lese und drittens das,
was ich auf dem Keller raufschreibe
Und ich kann halt immer entweder ein Symbol vom Keller einfach löschen,
so wie hier oben bei der Kante BA Lamda.
Da lese ich ein kleines B vom Eingebebannt und lösche ein großes A vom Keller.
Oder ich kann, wenn hier zwei Symbole stehen,
dann lösche ich quasi nichts vom Keller, sondern tue oben was drauf.
Das kann man sich dann irgendwie wieder formal definieren. Und hier bei dem Automaten sieht man,
wenn ihr jetzt mit so einem Wort A hoch NB hochenden kommt,
dann fangt ihr hier im Staatszustand an und der hat ja für die kleinen As hier erstmal diese Kanten,
wo er quasi für jedes kleine A, was er liest,
ein großes A auf den Keller schreibt.
Also wenn im allerersten Fall,
wenn das Bottom im Keller ist,
dann schreibt er halt das A obendrauf und danach ist ein
A im Keller und er schreibt immer noch eins dazu
Ich, wenn ihr die ganzen Ars gelesen habt,
die ganzen kleinen Ars, dann habt ihr genauso viele große Ars im Keller.
Irgendwann ist er damit fertig und dann macht ihr hier,
dann kommen irgendwann diese Bs und dann räumt er hier mit
dem Übergang von Z0 nach Z1 und dann mit der Schleife an Z1,
da räumt er die ganzen As wieder ab.
Sprich, wenn er N-Fila Ars auf den Keller geschrieben hat,
dann liest er jetzt genau N-Fila Bs,
weil er den Keller halt wieder leer macht.
Und nur, wenn er das geschafft hat,
den Keller bis auf das Kellerbodenzeichen wieder ganz leer zu machen,
macht er hier diesen Übergang von Z1 nach Z2
und löscht in dem Fall sogar noch das Kellerbodenzeichen
Und dann ist der Keller komplett leer. Und dann gibt es
bei diesem Kellerautomaten zwei unterschiedliche Akzeptanzbedingungen. Entweder sagt man,
naja akzeptiert im Endzustand, dann würde man der COS Z2
auch wieder einen Endzustand machen und sagen, okay,
er akzeptiert das Wort. Oder man kann sich sowas definieren,
wie dass man sagt, wenn der Keller komplett leer ist,
also wenn alles weg ist aus dem Keller, dann akzeptiert er.
Und in dem Fall wird er eben so akzeptieren,
weil er hier ja das Kellerbodenzeichen noch löscht und dann akzeptiert
der gerade auch in Beo-Rennen.
Also wenn solchen Kellerautomaten geht das,
um nochmal kurz so einen Peak auf die formale Definition zu haben,
das wird dann schon irgendwie so
ein bisschen mehr
Da hat man diese endliche Menge von Zuständen wieder.
Man hat das endlich Alphabet von Eingabesymbolen. Und dann braucht man noch,
weil man ja auf dem Keller vielleicht andere Dinge tun will,
wie auf dem Eingabeband, braucht man noch so ein endliches Alphabet von Kellersymbolen.
Da kann halt irgendwie noch anderes drin sein, wie man halt möchte.
Da definiert man sich diese Überführungsfunktion, dass man sagt,
Zustand, in dem ich bin, Symbol,
das ich vom Eingabeband lese und Symbol, das ich vom Keller lese.
Und dann habe ich eben als Nachfolge irgendwie einen Nachfolgezustand und
die Änderung, die ich auf dem Keller mache
Länge von Staatszuständen, Menge von Endzuständen und das spezielle Kellerbodensymbol.
Dann hat man sich da alles definiert und dann müsste man wieder definieren,
Rechnung, Konfiguration, akzeptierte Sprache, diese Unterschiede bei den akzeptierten Sprachen und so weiter.
Aber da ist der Automat nochmal, den wir eben auch schon hatten,
dass es eben der Automat für A hoch NB hoch N mit Akzeptanz im leeren Keller.
Und dann kann man sich überlegen, das sieht man relativ einfach,
dass jeder DFA auch so ein PD auf so ein Kellerautomat ist,
weil Genauso wie bei DFA, jeder DFA ist ein NFA,
kann ich hier auch sagen, diese spezielle Eigenschaft,
den Keller zu benutzen, die benutze ich gar nicht.
Dann kann ich also jeden DFA auch als Kellerautomat sehen.
Und dann kommt man also gleich dahin, dass man hier sagen kann,
dass der PDA mindestens so mächtig ist wie der DFA.
Und die eigentliche Frage, die wir haben,
die haben wir aber immer noch nicht beantwortet,
nämlich ob dieses A auch in B-O-N tatsächlich nicht mit regulären Sprachen geht.
Also wir haben zwar die Vermutung, dass das nicht geht,
aber so richtig gezeigt haben wir es noch nicht.
Wir wissen, dass es mit dem, ach so,
PDA ist für Kellerautomat.
Wir wissen,
Push-Down-Automate, Kellerautomat
Wir wissen, mit wem geht das. Es gibt also Automatenmodelle,
mit denen das geht, die auch gar nicht
so unendlich viel mächtiger sind jetzt als der DFA.
Also der kann schon eine Menge mehr, werden wir gleich sehen,
aber so viel mehr Fähigkeiten haben wir dem ja gar nicht gegeben.
Wir haben zum Beispiel immer noch keine Ausgabe,
als dass wir haben, ist irgendwie so ein Speicher.
Ja, Aufgabe, wir wollen immer noch zeigen,
dass die Sprache hier, auch in BOM, dass die regulär ist.
Dass das eigentliche Setting, also Setting für heute war,
Abschlusseigenschaften nochmal machen und jetzt oben steht schon zum Pumpinglemmer hin,
Wir wollen ein Werkzeug entwickeln, mit dem wir zeigen können,
dass Sprachen wie die tatsächlich nicht regulär sind.
Wir haben immer versucht, irgendwie zu argumentieren,
dass wir gesagt haben, naja, man müsste doch und so.
Aber das ist ja nicht so richtig hibo und stichfest,
wenn ich sage, so, ich kann mir nicht vorstellen,
wie das gehen soll, das ist ja irgendwie keine Begründung dafür,
dass es nicht geht.
Das heißt nur, ich kann es gerade nicht. Aufgabe,
eine Eigenschaft, X genannt, die alle regulären Sprachen haben müssen.
Wenn wir sowas hätten, wissen,
diese Eigenschaft haben alle regulären Sprachen und wir könnten dann zeigen,
die Sprache L hier hat diese Eigenschaft nicht,
weil dann wissen wir,
die Sprache ist nicht regulär
Dann kann Ell nicht regulär sein. Das suchen wir jetzt
. Was wissen wir denn von regulären Sprachen?
Also wir suchen eine Eigenschaft, die alle regulären Sprachen haben.
Was könnte man denn da so,
zum Beispiel alle regulären Sprachen haben rationalen regulären Ausdruck,
der sie beschreibt, alle regulären Sprachen haben?
Nee, sind nicht endlich. Nicht alle regulären Sprachen sind
endlich. A, Stern zum Beispiel ist nicht endlich.
A, Stern ist ja unendlich. Endlich beschrieben,
aber nicht endlich
Und so weiter. Ja, wir können sie nur mit
einem Automaten beschreiben, der endlich viele Zustände hat.
Das klingt schon mal cool. Ich glaube, da steht
er sogar gleich. Die einzelnen Teilwörter sind unabhängig voneinander.
Da wüsste ich gar nicht, ob ich jetzt Ja oder Nein sagen will.
Ich bin mir nicht sicher. Ich müsste mal jetzt definieren,
was man meint mit sind unabhängig voneinander.
Wenn ich weiß, dass arbeiten wir mal damit.
Ich weiß, es gibt einen endlichen Automaten für die Sprache.
Ich weiß, der hat endlich viele Zustände
Was weiß ich denn jetzt, wenn ich,
also ich weiß, es gibt eine gegebene reguläre Sprache,
weiß ich, es gibt einen endlichen Automaten.
Und sagen wir mal, der hat endviele Zustände.
Was weiß ich denn jetzt? Was passiert denn bei,
wenn ich diesem Automaten ein Wort vorlege, das länger ist als N?
Was weiß ich denn jetzt, was passieren muss in dem Automaten?
Ihr habt einen Automaten, ihr habt endviele Zustände,
ihr legt dem ein Wort vor, das ist von der Länge 5000 mal N.
Was muss passieren
Irgendein Zustand muss mehr als einmal besucht worden sein.
Vielleicht auch ganz viele, aber reicht ja erst mal ein.
So ein Zustand muss mehr als einmal besucht worden sein.
Das heißt, ich fange beim Staatszustand an. Ich komme zu
diesem speziellen Zustand, den ich mehr als einmal besuche.
Das erste Mal. No no no, no no,
ich bin das zweite Mal da und ich komme zum Endzustand.
So von der Idee her. Diese komische Schleife da von
dem Zustand, den ich jetzt zweimal besucht habe.
Wie oft kann ich die entlang gehen? Beliebig oft. Das heißt,
ich kann dieses eine Wort, was ich jetzt genommen habe,
so als Beispiel, was länger ist als N,
das kann ich nehmen, kann es zerlegen in diesen Teil Teilwort,
das ich Teilwort, das ich lese,
bevor ich meinen speziellen Zustand das erste Mal besuche.
Schleife, die ich lese und Teilwort, was dann noch kommt.
Wenn ich jetzt diese Schleife beliebig oft entlang gehen kann,
das bedeutet, wenn ich dieses Wort jetzt zerlege in UVW,
das für jeden Exponenten, UV-Hoch-IW,
weiterhin in der Sprache sein muss.
Und das probiert mal mit dieser Sprache A hoch,
NB hochenden. Angenommen, es lebe in Automaten dafür,
der paar viele Zustände hat.
Jetzt betrachte ich als Wort,
keine Ahnung,
A hoch KB hochkam
Dann weiß ich, da muss ich ja irgendwie einen Zustand mehrmals besucht haben,
so dieses Teilwort nehme ich mir und sage,
das kann ich da jetzt beliebig oft hinschreiben.
Und die Worte, die dann stehen, die müssen ja immer
in der Menge sein. Welches Teilwort sollte das denn sein,
sodass wenn ihr das da beliebig oft hinschreiben könnt, aus A hoch
NB hoch N immer etwas wird, mit gleich vielen As wie Bs.
Gleich wie der As wie Bs kriegt ihr vielleicht sogar hin,
aber gleich viele As gefolgt von gleich vielen Bs kriege ich den nicht hin.
Wenn das Teilwort nur aus As besteht und ihr schreibt das beliebig oft hin,
dann habt ihr mehr As als B, das ist irgendwie doof.
Wenn das Teilwort nur aus Bs besteht, gleiche Argumentation,
wenn das Teilwort aus As und Bs besteht und ihr schreibt das beliebig oft hin,
naja, dann steht da sowas wie ganz viele As,
ein paar Bs, ganz viele As, ein paar Bs und dann die ganzen Bs, das ist auch blöd.
Also da habt ihr so mehrere Wechsel drin. Das ist die ganze Idee beim Pumping,
dass man sich überlegt, Sprache hat ja nur,
der Automat hat nur endlich viele Zustände,
wenn ich dem Auto ein Wort vorlege,
das länger ist, muss ich Zustände mehrmals besuchen,
dann kann ich das Wort also zerlegen, insbesondere interessiert mich dieser Teil,
wo ich von einem Zustand zurück zu ihm selbst komme und daran kann ich deswegen Pumping-Lämmer pumpen,
ich kann das halt beliebig auf den schreiben und ich weiß,
da müssen immer Worte rauskommen, die in der Sprache drin sind,
wenn ich das zum Widerspruch führen kann,
weiß ich,
hey,
Sprache ist nicht regulär
Das ist genau das, was er ihm gesagt hat.
Wir wissen, endliche Automaten, wissen endlich viele Zustände. Pumpinglemma? Wir wissen,
Wörter, die die akzeptiert werden und die mehr Buchstaben haben
als der Automat Zustände, müssen schleifen im Automaten durchlaufen.
Die schleifen kann ich öfter entlang gehen und dann kann ich damit
neue Wörter erzeugen, die auch in der Sprache sein müssten.
Und wenn das nicht geht, weiß ich,
die Sprache kann ich regulär sein.
Beispiel bei Auch in Biorien wird das nicht gehen.
Kann man sich überlegen, wenn ich keine Zustände habe,
betrachte ich dieses
Auch KBUK,
es muss
eine Schleife geben
Also es muss irgendwie ein Teilworte in A hoch KB hoch K geben,
das sich beliebig oft hintereinander schreiben kann und das Wort,
was entsteht, muss weiterhin von der Form A hoch in Bioren sein.
Also gleich viele As gefolgt, äh, beliebig viele As, gefolgt von gleich vielen Bs.
Das wird aber nicht funktionieren. Was ich also machen muss,
ist, dass da oben irgendwie ausformalisieren, dass ich sage,
wenn deine Sprache regulär ist, dann gibt es eine natürliche Zahl N,
sprich die Anzahl der Zustände oder Automaten, mit der Eigenschaft,
dass sich Wörter, die dann größer sind als N,
so und so und so zerlegen kann.
Und das dann eben gilt an diesem bestimmten Teilwort,
kann ich
beliebig aufpumpen
Und wenn ich das habe, dann kann ich eben nachher sagen,
angenommen auch in Biorin wäre regulär,
dann müsste ja das und das und das und das gehen.
Widerspruch, ui, stimmt die Annahme nicht, also sie sprach nicht regulär.
Genau, Pumping nicht mehr formulieren. Versuch das mal in Erinnerung zu behalten,
das, was wir jetzt eben so erarbeitet haben,
dass man gesagt hat, endviele Zustände,
Worte nehmen genau dieser Länge,
ich kann das Wort zerlegen und so weiter.
Das ist nämlich genau die Aussage jetzt in diesem Pumping-Lämmer,
auch wenn sie da noch ein bisschen ausführlicher steht.
Da wird gesagt, wenn Ellen der reguläre Sprache ist,
also sei er regulär,
dann gibt es
eine natürliche Zahl
Sodass ich jedes Wort, das in dieser Sprache ist und das länger ist als N,
dass sich das in so eine Form Z-UVW zerlegen kann.
Und jetzt gleich mit speziellen Eigenschaften. Aber wenn ihr erstmal nochmal überlegt,
das, was da jetzt steht, ist genau das,
was wir uns eben auch überlegt haben, wenn El regulär ist,
dann gibt es ja einen Automaten-Day akzeptiert,
der hat so und so viele Zustände,
das wird gleich immer ein N sein.
Und dann kann ich jedes Wort, das länger ist als
die Anzahl der Zustände, in so eine Form bringen, mit.
Und hier unten seht ihr das, was eben gerade insbesondere interessant war,
im dritten Fall, UV-Hoch-I-W muss immer ein L sein.
Sprich, egal wie oft ich diese Schleife an I
entlang gegangen bin, Das Wort muss immerhin L sein.
Und ist ja noch dieser Spezialfall da und in der
wichtigen Anmerkung ist es nochmal betont, inklusive der Null.
Warum? Naja, ihr könnt ja auch, wenn das
eine Schleife ist, ihr könnt die auch nullmal entlang gehen.
Also statt von Z0 zu Z irgendwas zu kommen,
die Schleife zu Z zu machen und dann zum Endzustand zu gehen,
könnt ihr diese Schleife auch gar nicht entlang gehen.
Geht ja direkt zum Endzustand. Und bei einigen Beweisen kann man
das gut gebrauchen. Und die ersten beiden beiden Eigenschaften,
die rühren daher, dass man ja sagen kann,
wenn ich einen Zustand oder wenn ich Zustände mehrmals besuchen muss,
dann muss das ja irgendwo das erste Mal passieren.
Also es muss diesen Fall geben, dass ich Ich kann ja maximal endviele Zustände besuchen.
Und wenn ich N habe, und der N plus einste
muss dann spätestens, da muss die erste Wiederholung sein.
Deswegen diese Idee hier, das UV, das muss halt
kleiner gleich N sein. Wenn ich nämlich N-Symbole gelesen habe,
dann habe ich N plus eins Zustände besucht.
Staatszustand, ein Symbol lesen, besuchen zweiten Zustand.
Zweites Symbol lesen, besuche ich einen dritten Zustand.
Drittes Symbol lesen, besuche einen vierten Zustand und so weiter.
Das heißt, wenn ich N-Symbole gelesen habe,
habe ich N plus eins viele Zustände besucht.
Wenn ich nur N habe,
dann muss spätestens dieser N plus einste das erste Mal einer sein,
wo sich was wiederholt
Also muss UV-U irgendwie ein Prefix und V dann eben die Schleife,
das muss, kann höchstens die Länge N haben.
Und der zweite Punkt ist eben, naja, es muss tatsächlich eine Schleife geben.
Also geht nicht, dass es das nicht gibt.
Wenn ich nur Endzustände habe und ich lese ein Wort,
dass mich das dazu führt,
dass ich Endplus eins viele Zustände besuchen muss,
dann muss da eine Schleife drin sein.
Ja, das war's. Das ist das Pumpinglimmer. Beweis
im Grunde genommen das, was wir jetzt schon zwei,
dreimal gesagt haben, nochmal ausformalisiert und ausformuliert.
Angenommen, L wäre regulär. Dann gibt es einen
vollständigen DFA, der die Sprache L akzeptiert,
also 11 von A gleich
Das weiß ich so, dann kann ich sagen,
gut, wenn es den gibt, dann halte ich
den mal fest und zähle mal die Anzahl der Zustände.
Dann sage ich also, sei en die Anzahl der Zustände.
Und jetzt betrachte ich mir ein Wort, das mindestens die
Länge N hat. Und wenn es kein solches Set gibt,
ist gar nichts zu zeigen. Hier ist nämlich die Aussage,
sei en regulär, dann gibt es eine natürliche Zahl N,
sodass jedes Wort mit dieser Eigenschaft irgendwie zerlegt werden kann.
Wenn es gar keine solche Worte gibt,
dann ist gar nichts zu zeigen, dann bin ich sofort fertig.
Deswegen gilt das Pumping-Lämmer auch, kurzer Exkurs,
deswegen gilt das Pumping-Lämmer auch für alle endlichen Sprachen,
weil welche Sprache endlich habt,
dann ist da ein längstes Wort drin und wähle ich
mir mein N einfach größer als dieses längste Wort und
dann gilt das Pumping-Lämmer halt sofort
Aber das ist nur ein kurzer Exkurs. So,
jetzt betrachte ich also so ein Wort hier und das,
was ich zeigen muss, ist, dass ich das Wort
Z zerlegen kann in dieses UVW mit diesen drei Eigenschaften.
Jetzt habe ich also dieses Wort und dann lege ich A,
dieses Wort Z mal vor. Ich weiß ja,
ZSNL, das heißt A, kann das Wort auf
jeden Fall zu Ende lesen und landet dann im Endzustand.
Also ich lege ihm das Wort Z vor,
A beginnt im Startzustand, da vollständig ist,
kann das auf jeden Fall lesen und es wird sogar akzeptiert.
Da Z aus mindestens in Buchstaben besteht,
findet auch
mindestens Endzustandsübergänge statt
Inklusive eventuell eine Schleife an einem Zustand. Das ist auch
ein Zustandsübergang. Von Z1 über einer Schleife zu Z1,
auch ein Zustandsübergang. Wenn ich in Zustandsübergänge habe,
dann besuche ich N plus 1 Zustände, ein Zustand,
noch ein Zustand, das ist ein Zustandsübergang,
aber es sind zwei Zustände.
Also wenn ich einen Zustandsübergänge habe, besuche ich N plus 1
viele Zustände. Wenn ich jetzt aber hier oben als N
die Anzahl der Zustände gewählt habe,
ich habe Endzustände und ich besuche N plus 1 viele,
da muss einer
doppelt auftreten
Und jetzt kann ich das anfangen zu zerlegen. Jetzt nehme ich diese Zustandsfolge,
die ich eben besuche vom Staatszustand Z0 zu einem Endzustand ZE,
die beim Lesen von Z. Ja,
Z ist das Wort in dem Fall, genau.
Ich fange also beim Staatszustand an und das hier ist die Zustandsfolge,
die ich halt habe, wenn ich das Wort Z lese.
Ich fange im Staatszustand Z0 an,
nach Lesen des ersten Symbols bin ich in Z1,
nach Lesen des Entensymbols bin ich in ZN und da geht es möglicherweise noch weiter.
Ich arbeite ja die ganze Zeit nur so mit so mindestens,
es hat mindestens die Länge N und so weiter.
Der spannende Teil ist aber von hier Z0 bis ZN,
das sind N plus 1 viele Zustände und ich habe
nur N viele,
also muss da irgendwas
doppelt passieren
Dann nenne ich die jetzt nochmal ZI und ZJ.
Das soll in dieser Folge von Zuständen, sollen das die beiden,
sollen die sein, die das erste Mal doppelt auftreten.
Also ZJ ist quasi der erste Zustand, der sich tatsächlich wiederholt.
Und ZI ist quasi sein Partner, den er vorher irgendwo haben muss.
Sonst tritt er ja gerade nicht doppelt auf. Naja,
wenn J, also der erste Zustand ist,
der das zweite Mal auftritt, dann muss J Kleiner gleich N sein.
Nochmal von Z0 bis ZN, N plus 1
viele Zustände. Ich habe aber nur N verschiedene.
Also muss J Kleiner
gleich N sein
Gleichzeitig muss J-minus-i größer gleich eins sein,
weil ich hier ja sage, I ist Ungleich-J,
I ist kleiner J. Also,
weil die sind ja nicht die gleichen, sondern I kommt zuerst,
ZI kommt zuerst und irgendwann kommt ZJ, das sind nicht die gleichen,
also haben die mindestens so einen Abstand von eins.
Und jetzt nenne ich die Worte noch,
U ist das Wort von Z0 bis ZI,
V ist das Wort von ZI bis ZJ.
Die sind ja gleich, ne? ZI ist gleichzeitig J
, das ist also quasi die Schleife.
Und wie ist das Wort von ZJ bis ZE?
Was möglicherweise ziemlich lang ist.
Also hier steht, sein ZI und ZJ in dieser Folge gleich und außerdem ZJ,
der erste Zustand, der ein zweites Mal auftritt.
Das heißt, ZI, ZJ, die Indizes sind unterschiedlich,
weil ich hier mit den Indizes zähle,
den wievielten Zustand ich gerade besuche, aber ZI ist gleich ZJ.
Also gleiche Zustände im Automaten. Deswegen ist hier V
eine Schleife. Wenn ich das so mache und so wie
ich hier I und J gewählt habe, muss UV,
UV geht ja von Z0 bis ZJ,
J ist kleiner gleich N,
also das UV,
leider gleich
V ist größer gleich eins wegen dem hier. J-I-Größe gleich eins ist V,
größer gleich Entschuldigung, ist V, größer gleich eins.
Und dann kann ich mir eben noch einmal überlegen, naja,
wenn ZE und ZJ gleich sind, der gleiche Zustand,
dann ist das eine Schleife und die kann ich beliebig oft entlang gehen.
Also habe ich UV-Hoch-I-W, muss auch immer in der Sprache sein.
Da steht es nochmal, wie wir die Dinger gerade benannt
haben und dann eben UV ist Kleine gleich N,
weil wir eben gesagt haben, J soll größt
Kleine gleich N sein. Und hier U geht ja von
Z0 bis ZI und dann V von ZE bis ZJ.
Dann geht UV also von Z0 bis ZJ und wenn
J Kleine gleich Ende ist, dann muss UV Kleine
gleich Ende sein
V muss größer gleich eins sein. V ist ja
das Wort von ZIBIS ZJ und da haben wir gesagt,
für die Indizist J minus i, größer gleich eins.
Und dann kann ich die Schleife von ZI nach ZJ beliebig oft durchlaufen.
Und dann lande ich ja immer in ZJ und von ZJ
aus komme ich mit W eben in Endzustand.
Also akzeptiere ich auch diese UV-IV-UV-Hoch-IW für alle E-Go ist ja
gleich null.
Er fragt gerade, wenn ich mich dafür interessiere,
ob eine Sprache regulär ist, kann ich das benutzen,
um zu zeigen, dass eine Sprache regulär ist?
Bitte? Ja, aber trotzdem,
die Frage, kann ich das Pumping denn mal benutzen,
um zu zeigen,
dass eine Sprache regulär ist
Ja. Genau, perfekt. Ich kann damit gar nicht
argumentieren, dass eine Sprache regulär ist. Die Aussage ist,
wenn eine Sprache regulär ist, dann gilt dieser ganze Kram.
Die Aussage ist nicht, wenn das alles gilt, ist die Sprache regulär.
Und dann genau andersrum. Wenn die Sprache regulär ist,
gilt das. Wofür wir es also benutzen können, ist genau,
was er eben meinte, ich kann es für Widerspruchsbeweise benutzen,
dass ich sage, irgendeine Sprache, die mich interessiert,
ah, hoch
NB hoch N, angenommen, die wäre regulär,
dann muss das ja alles gelten
Dann kannst du damit arbeiten und zeigen, ui,
Widerspruch, also irgendwas passiert jetzt, was nicht gilt.
Also kann die Annahme nicht stimmen, die Sprache ist nicht regulär.
Dafür kannst du es benutzen,
weil wenn die Sprache regulär wäre, dann müsste das gelten.
Das kannst du machen. Sonst noch? Machen wir auch
gar nicht ein Beispiel, aber schon mal.
Sonst noch? Ja. Das hier? Also es rührt
daher im Beweis, dass du ja weißt,
nach UV kommt das erste Mal in Zustand
das zweite Mal
Ja, das ist also da, nach dem UV tritt
das erste Mal ein Zustand, ja, das zweite Mal auf.
Du hast vorher ganz viele unterschiedliche Zustände besucht. Die waren alle
unterschiedlich. Und jetzt kommt das erste Mal einer das zweite Mal.
Das heißt, wenn du jetzt von dem nochmal zurückguckst,
wo er das erste Mal aufgetreten ist, das ist eine Schleife.
Und man weiß halt, wenn du in Zustände hattest,
dann muss diese Schleife spätestens das erste Mal nach N-Schritten auftreten,
weil nach Endschritten hast du N-Plus 1 viele Zustände besucht.
Da kommt es her, so, von der Beweisideee,
benutzen tun wir das nachher da, dass wir wissen,
wenn ich ein bestimmtes Wort wähle aus so einer Sprache,
dass ich dann weiß,
oh,
mein UV muss in den ersten N-Buchstaben liegen
Benutzen wir es gleich. Aber herrühren tut es aus dieser
Idee von dem Automaten. Sonst noch. Da ist nochmal
das, da hätte ich gar nicht zurückgehen müssen.
Da ist nochmal das Pumping-Limmer. Ablauf jetzt,
wenn man es jetzt benutzen will, das,
was wir eben kurz schon in den Fragen diskutiert haben,
wenn ich es benutzen will.
Ich habe jetzt eine Sprache, von der vermute ich,
dass sie nicht regulär ist.
Das will ich jetzt beweisen, indem ich das Pumping-Limmer benutze.
Ich mache folgendes, ich nehme an,
El wäre regulär
Dann weiß ich,
das Pumping-Lämmer müsste gelten und es müsste also so eine Zahl geben,
diese Zahl aus dem Pumping-Lämmer, DAA, dass ich,
alle Worte, die länger sind, zerlegen kann mit den drei Eigenschaften.
Dann sage ich also, angenommen, El wäre regulär,
dann muss das Pumping-Lämmer gelten, sei Karl die Zahl aus dem Pumping-Lämmer.
Also ich gebe dir irgendeinen Namen, wie die genau aussieht,
ist egal, meistens, weil wir es ja gerade benutzen,
dafür zu zeigen, dass die Sprache nicht regulär ist,
gibt es diese Zahl ja auch gar nicht.
Sprache ist ja gerade nicht, also wenn wir dann zeigen können,
die ist gar nicht regulär, kann es die Zahl gar nicht geben.
Wir nehmen ja nur an, dass es sie gibt,
also angenommen, regulär, dann müsste das Pumping-Lämmer gelten,
geben wir einen Namen.
Erster kreativer Akt, Jetzt müssen wir ein Wort finden,
das länger ist als K und in L ist oder
mindestens die Länge von Kart und in L ist.
Warum ist das schon ein kreativer Akt? Weil wir gleich mit
den Worten Widerspruch erzeugen wollen und das geht nicht zwingend mit allen Wörtern.
Da ist also manchmal schon Arbeit zu tun, manchmal muss man ein bisschen rumexperimentieren.
Wenn ich jetzt, habe ich mir ein Wort ausgesucht,
mit dem ich arbeiten möchte und jetzt sagt das Pumping-Lämmer ja,
ich kann jedes Wort, was so aussieht,
auf mindestens eine Art und Weise zerlegen.
Also jedes Wort,
für jedes Wort gibt es mindestens eine Zerlegung,
um das zum Widerspruch zu führen,
muss ich ein Wort nehmen und zeigen,
dass da
alle Zerlegungen im Widerspruch sind
Die Aussage des Pumping Games ist, alle Worte mit dieser Eigenschaft,
dass die länger sind als K und NL sind.
Für alle diese Worte kann ich eine Zerlegung finden. Um dazu ein Gegenbeispiel zu haben,
muss ich also ein Wort finden, das dem widerspricht,
dann geht es ja nicht mehr für alle Wörter.
Und ein Wort zu finden, das dem widerspricht,
heißt, für ein Wort muss ich zeigen,
dass es nicht eine Zerlegung gibt,
also dass alle Zerlegungen im Widerspruch stehen, zu einer dieser drei Eigenschaften.
Also muss ich für ein Wort, für alle Zerlegungen von Z und UVW zeigen,
dass die Widerspruch zur ersten, zweiten oder dritten Bedingung stehen.
Das Pumping Lammer sagt ja aus,
Für jedes Wort kann ich eine so eine Zerlegung finden,
die dann diese drei Eigenschaften erfüllt. Das heißt,
wenn ich zum Widerspruch führen will, muss ich für ein Wort zeigen,
dass sich alle Zerlegungen im Widerspruch zu eins, zwei oder drei befinden.
Das, was man jetzt üblicherweise macht, ist,
man guckt sich nur die Zerlegungen an,
die erstens und zweitens erfüllen und zeigt, dass sie dann drittens nicht erfüllen.
Warum genügt das? Zerlegungen, die erstens oder zweitens nicht erfüllen,
die erfüllen ja gerade schon eins von diesen drei Sachen,
die ich nämlich erstens oder zweitens,
also reicht es zu zeigen, wenn erstens oder zweitens erfüllt,
erstens und zweitens erfüllt wird,
dann gibt es einen Widerspruch zu dritten
Die anderen Fälle erfüllen halt entweder erstens nicht oder sie erfüllen zweitens nicht,
also erfüllen sie irgendwas von diesen drei Eigenschaften nicht.
Und wenn sie dir aber beide erfüllen, dann zeige ich,
oh, dann erfüllen sie drittens nicht.
Und dann habe ich gezeigt, dass jede Zerlegung eins,
zwei oder drei nicht erfüllt. Also für alle Zerlegungen zeigen,
dass sie im Widerspruch zu ersten,
zweiten oder dritten Bedingungen sind und üblicherweise betrachtet man alle Zerlegungen,
die die erste und zweite Bedingung erfüllen und zeigt,
dass man dann einen Widerspruch zur dritten Bedingung erhält.
Also für diesen vierten Schritt, den vierten Schritt nochmal genauer.
Ich betrachte alle Zerlegungen von dem Wort Z,
was ich mir ausgesucht habe in UVW
Mit den ersten beiden Eigenschaften, nämlich UV, Kleinergleich K
und V-Größe gleich 1. Die Zerlegung betrachte ich und zeige,
dass ich stets ein I finden kann mit der Eigenschaft UV-IWs,
nicht in Elben. Auch da, eins reicht,
weil die Aussage im Pumping-Nemmer ist wieder, für alle I gilt das.
Also reicht es, einen Widerspruch zu finden. Also normal,
ein Wort aussuchen und dann für alle Zerlegungen zeigen,
dass die im Widerspruch zu ersten, zweitens oder dritten sind.
Praktische Ausführung mal. Angenommen L, auch ein Biochannes
nicht regulär. Quatsch, wir wollen zeigen,
auch ein Biochannes nicht regulär, also nehmen wir mal an,
das wäre regulär
Dann wissen wir, dann gilt das Pumping-Nemmer. Weil Pumping-Lever
gilt ja für alle regulären Sprachen, wenn wir annehmen,
er ist regulär, dann müsste das Pumping dann mal gelten.
Jetzt geben wir dieser Zahl aus dem Pumping-Lemmer Namen.
Jetzt kommt die erste kreative Akt. Wir müssen irgendwie ein
Wort finden, das abhängt von dieser Zahl aus dem Pumping-Lemmer.
Warum muss es davon abhängen? Im Pumping-Lever steht ja explizit,
das gilt nur für Wörter, die mindestens die Länge K haben.
Also muss das Wort irgendwie davon abhängen. Ich kann jetzt nicht
sowas nehmen wie A-Quadrat-B-Quadrat. Das hat die Länge 4,
da weiß ich gar nicht, ob das länger ist als K.
Also ich muss das irgendwie abhängig von dem K machen.
Wir nehmen das Wort hier A hoch KB hochkam
In den einfachen Beispielen, die wir am Anfang haben,
da reicht es meistens hier oben, die Dinger eben durch die Exponenten,
da durch die Zahl aus dem Pumping-Lemmer zu ersetzen,
dann kriegt man meistens schon ein gutes Wort,
mit dem das funktioniert.
Also das Wort betrachten wir und für dieses Wort müssen wir es noch einmal überprüfen,
gilt tatsächlich, dass es in L ist,
also K-Fila As, gefolgt von genauso vielen Bs,
bis in Älteren und es ist länger als K.
Also es hat ja die Länge 2K, ist alles okay.
Jetzt müsste es nach dem Pumping-Lemmer eine Zerlegung geben in UVW,
die die drei Eigenschaften erfüllt
UV-Kleider gleich K, V-Größer gleich 1 von der Länge und UV-IW
ist immerhin Elben. Jetzt betrachten wir nur die Zerlegung,
die die erste und zweite Bedingung erfüllen und zeigen,
dass das im Widerspruch zur dritten steht.
Wenn wir das gemacht haben, haben wir gezeigt,
jede Zerlegung in UVW steht im Widerspruch zu einer der drei Bedingungen.
Was ist denn das hier? Also,
sei also ZA gleich, UVW,
eine Zerlegung,
die die ersten beiden Eigenschaften erfüllt
Jetzt weiß ich, wenn UV, kleiner,
also wenn ich Z zerlege in UVW und UV
ist kleiner gleich K, dann muss dieses UV,
das kann nur vorne in den Ars drin sein.
Ich habe K viele Ars am Anfang,
UV ist am Anfang des Wortes,
also der erste Buchstabe des Wortes Z ist der erste Buchstabe
von U und dann geht das halt weiter.
Das heißt, wenn ich hier K viele Ars habe und
UV hat eine Länge von höchstens K,
dann muss UV vorne den Ars drin sein.
Und was für uns jetzt spannender ist, das V muss vorne in den Ars drin sein.
UV ist in den ersten Buchstaben, und fahre halt mindestens die Länge eins. Also wegen der ersten Eigenschaft der UV-Kleider gleich K,
weil sich das V ist in den Ars drin und wegen der zweiten Eigenschaft weiß ich,
es hat mindestens die Länge eins,
also es besteht aus mindestens einem A. Noch genauer kann man sogar sagen,
wenn ich weiß, UV ist kleiner gleich K und V ist größer gleich eins,
dann weiß ich, V ist irgendwie A, hoch 1,
A, hoch 2, A, hoch 3,
A, hoch 4, bis eben A,
hoch K. Irgendwo in dem Bereich muss das sein.
V ist von der Länge her mindestens eins,
UV ist höchstens K,
das heißt irgendwo zwischen diesen 1 und K
vielen Buchstaben bewegt sich das
Also wissen wir, es gibt so einen J zwischen 1 und K,
der, dass wir V schreiben können als A hoch J.
Und jetzt gucke ich mir dieses Wort an. UV-Quadrat W.
Das heißt, ich schreibe das V da jetzt zweimal hin.
Ich gehe quasi diese Schleife an dem V 2 mal entlang.
Und nach der dritten Bedingung müsste das in L sein.
Wenn ich mir das Wort angucke, dann ist das aber
gerade bisher, war UVW, ist ja A hoch KB hoch
K. Wenn ich das V da jetzt zweimal hinschreibe,
dann kommen ja also J viele As hinzu
Und diese J vielen As kommen irgendwo,
das V ist ja hier in den vorderen As drin irgendwo.
Und genau an der Stelle schreibe ich es jetzt nicht einmal
hin, sondern zweimal. Das heißt, diese J4&As,
die kommen auch genau an der Stelle noch dazu.
Das heißt, dieses Wort UV-Quadrat-W sieht gerade so aus.
A, hoch, Caplus J und dann die K4&Bs.
Das ist aber nicht mehr in Älteren, also funktioniert das nicht.
Ursprüngliche Annahme falsch, also ist die Sprache nicht regulär.
Wichtig hier, wir müssen ja, wir müssen ja für
Für alle Zerlegungen zeigen, dass sie,
also für alle Zerlegung von Z in UVW,
dass sie mit einer der drei Eigenschaften im Widerspruch sind.
Und wir zeigen das jede Zerlegung,
die erstens und zweitens erfüllt, im Widerspruch zu dritten ist.
Dieses jede Zerlegung, die erstens und zweitens erfüllt,
das sind tatsächlich mehrere. Das sind nämlich diese Kfiel hier,
wo, ja, es sind sogar noch mehr.
Also hier haben wir es gut parametrisiert,
diese ganzen Zerlegungen
V kann die Länge 1 haben, die Länge 2,
die Länge 3, die Länge 4,
die Länge 5, da steckt da alles mit drin.
Und da steckt auch sowas mit drin, wie das,
nehmen wir mal an,
ich habe da tausend viele As und das V ist A hoch 5.
Dann kann dieses A hoch 5,
das kann ganz am Anfang von diesen 1000 As sein,
irgendwo in der Mitte, am Ende, irgendwo da.
All diese Zerlegung betrachte ich mir auch. Ich sage hier
nämlich gar nicht explizit, wo dieses V ist.
Wo ist es denn da? Ich sage gar nicht explizit,
wo das V ist in dieser Zerlegung, UVW?
Ich sage nur, es ist auf jeden Fall in den
vorderen As drin und es hat so eine Länge irgendwo zwischen 1 und K.
Und all diese ganzen Zerlegungen, die führe ich gerade zum Widerspruch,
das sind tatsächlich alle Zerlegungen von Z und UVW,
die die ersten beiden Eigenschaften erfüllen
Und dann habe ich einen Widerspruch zu dritten. Ergebnis,
PDA, also Kellerautomat kann tatsächlich mehr als der DFA oder anders formuliert.
Wir haben jetzt gerade tatsächlich eine Sprache gesehen und bewiesen,
die nicht regulär ist. Also wir sind das erste Mal
irgendwie aus dieser Sprachfamilie der regulären Sprachen rausgeblumpst.
Fragen. Warum das V-Knows As besteht? Du nimmst
eine Zerlegung von Z in UVW
Und du weißt, UV hat höchstens die Länge K. Du hast also dieses Wort,
ganz viele As, gefolgt von ganz vielen Bs.
Und das U ist jetzt nicht irgendwo in dem Wort,
sondern das U ist ja am Anfang des Wortes.
Dann kommt das V und dann kommt das W. So,
wenn du weißt, UV hat höchstens die Länge K und
ist das vorne in den ersten K-Buchstaben des Wortes drin.
Und das sind alles As, die ersten K-Buchstaben.
Naja, wenn UV in diesen ersten KAs drin ist,
dann das V ganz bestimmt, also besteht das nur aus As.
Dann hast du aber noch diese Stellschraube mit,
du weißt nicht genau, wie lang es ist und weißt nicht genau,
wo es anfängt, aber das ist egal,
es ist halt auf jeden Fall irgendwo in den As drin
Noch fragen, ja. 3, 2 und ja,
dasselbe. Nee, also VSA hoch J. Du weißt also,
du hast ein Wort U, das sind irgendwie so und so viele As.
Dann kommt das Wort V, das sind gerade J
viele As
Und dann kommt das Wort weh, das sind möglicherweise nochmal
ein paar As und dann die ganzen Bs.
Und wenn du jetzt nicht UVW schreibst, sondern U-V-VW,
dann hast du von dem U wieder diese ersten As,
die du hattest, dann hast du diese J-Filen As von dem V zweimal.
Und dann kommt der Rest von dem weh.
Also das J kommt zwar von dem Quadrat her,
aber es ist nicht so, dass das Quadrat jetzt irgendwie,
also das ist die zweite, das J-File oder irgendwie sowas.
Also da steht, es ist aber UV-Quadrat W, ist gleich U-V-V-W.
Also habe ich irgendwie das U hingeschrieben und dann habe ich A,
HochJ zweimal, also A, HochJ, A,
HochJ und dann kommt noch das Weh.
Deswegen steht da A,
Nach Fragen. Der Sprachwort, der Ausdruck des Herrn,
der Zeichen, der Beister ist doch, dass ein Flieger,
der aus der Herrlichkeit, das bedeutet das.
Wo bist du jetzt gerade in welchem Setting?
Wir sind beim Pumping-Lemmer.
Du brauchst das endlich
Das Ende ist ja dieses N, wie das genau aussieht,
ist total lax. Wir benutzen das ja nur in Widerspruchsbeweisen
, eigentlich dieses Pumping-Lemmer. Und in den Widerspruchsbeweisen,
wenn ich da an dieser Stelle irgendwo davor sage,
sei K die Zahl aus dem Pumping-Lemmer.
Die kannst du gar nicht genau bestimmen, zumindest nicht,
wenn das funktioniert mit dem Widerspruchsbeweis,
weil dann ist die Sprache ja gerade nicht regulär.
Dann gibt es keine Automaten dafür, also macht überhaupt
keinen Sinn zu ermitteln, was das K ist.
Das wird nicht funktionieren. Aber im Beweis entspricht das
irgendwo der Anzahl der Zustände im Automaten.
Dass es da unterschiedliche Automaten für geben kann oder so,
das ist alles egal. Wichtig ist nur,
es gibt mindestens einen, der hat irgendwie eine bestimmte Anzahl
von Zuständen
Fertig. Damit arbeitest du, ne?
Aber sonst lauf da nicht in die Irre mit irgendwie,
dass ihr versuchen wollt, dieses K zu ermitteln oder so.
Das kann in den meisten Fällen auch gar nicht funktionieren.
Das hier? Machen wir nochmal kurz multimedialen Unterricht am Ende
Ich habe am Anfang K viele As und dann K viele Bs, ja.
So sieht mein Wort Z aus, das ist Z.
Wenn ich jetzt sage, ich zerlege Z in UVW.
Oh, Entschuldigung, ihr könnt gar nicht sehen, ne?
Also, ich drehe das gleich nochmal. Ihr habt K
viele As gefolgt von K vielen Bs. Wenn man jetzt sagt,
ich zerlege Z in UVW, UVB, dann bedeutet das,
Z gleiche UVW bedeutet das U-Mus ganz am Anfang sein.
Also das U muss irgendwo hier beim ersten Symbol starten
und geht jetzt bis, weiß ich nicht genau wohin.
Nehmen wir mal ein bis zum dritten A oder irgendwie sowas.
Da muss das U sein. Das U kann nicht
irgendwie hier losgehen. Ich zerlege Z ja in UVW,
also Z ist gleich UVW. Da kann es nicht passieren,
dass da vorne irgendwas vom Z nicht beachtet wird.
Jetzt kommt irgendwie das V. Geht irgendwie bis zum,
ich weiß nicht wievielten A. Ist auch nicht so richtig.
Und dann kommt das W. Und das W wiedergeht bis
zum Ende hier
Ja. Jetzt hat man also, wenn man
das parametrisieren will, dann ist U von mir aus...
Ess-Fiele As, dann ist das VJ-Fiele. Und wenn ich ursprünglich K-Fiele hatte,
dann bleiben für das B jetzt also k-j-s-as übrig,
also... Ess-Fiele As, J-Fiele As,
und dann müssen hier noch so viele As kommen,
dass die Summe hier gerade K gibt.
Weil das sind ja K-Fiele As.
Und danach ist hier noch
K-Fiele Bs
So sehen die aus. USA, hoch S, VSA,
hoch J, WSA, hochk-s-j, B, hochkab.
Und wenn man jetzt das Wort betrachtet, UV-Quadrat W,
was ja das Gleiche ist wie UVVW. Wenn du die jetzt hier,
so wie es hier steht, hintereinander schreibst,
dann hast du hier A, hoch S, A,
hoch J, A, hoch J. Und dann A,
hochkam minus j-sb, hochka.
Wenn du dann hier oben madierst, ne,
S plus J, plus J,
plus das da,
dann kommt da K
plus J raus
Ja. Genau, und das Wichtige ist eben
auch noch hier bei dieser Parametrisierung. Wir wissen halt,
V hat diese Form A hoch J,
aber das kann jetzt halt irgendwo hier in diesen A-Hochcast liegen.
Und das J kann auch irgendwie eine Länge zwischen 1 und K
haben. Also all diese Zerlegung betrachten wir auf einmal.
Frage beantwortet? Weil sonst frag nochmal, sonst...
Wie so ein V keine Bs drin sein können.
Nochmal. Dieses UV Also wir sagen Cast, die Zahl aus dem Pumpinglemmer.
Und dann nehmen wir das Wort A hoch KB hoch K.
Und wir wissen, naja, und wir zerlegen jetzt Z in UVW.
Und wir wissen, weil wir sagen, die Ersteigenschaft soll gelten,
das UV von der Länge höchstens K ist.
Wenn das beim ersten Symbol anfängt, kann das maximal
bis zu dem da gehen.
Kommt noch, wir machen eigentlich Feierabend, ne
Machen wir nächstes Mal, machen wir nächstes Mal,
machen wir nächstes Mal, machen wir nächstes Mal.
Oder einen anderen Namen. Viertmal. Nicht nächstes Mal,
mal gucken. Da ist noch mal ein Beispiel.
Und da ist die Zusammenfassung. Also ihr könnt mal
zu Hause euch einmal die vier Fragen hier angucken.
Die sollen ja so noch mal darauf schulen,
was wir jetzt eben diskutiert haben.
Wovon muss das gewählte Wort Z abhängen? Welche Zerlegung
muss man betrachten? Alle Zerlegungen kann man mit dem Pumping
ja mal zeigen, dass eine Sprache regulär ist.
Nein, nur das Gegenteil. Und dann als Frage hier,
ob das regulär ist, www.ref. Wir haben ja vorhin gesehen,
dieser Ref-Operator ist regulär, aber WWRF wird nicht funktionieren.
Und das kann man dann hier noch mal in einem
zweiten Beispiel sehen
Und genau, die letzten Folien sind dann einfach nochmal
die Zusammenfassung. Nochmal der Ablauf, Anmerkung zur Parametrisierung,
die wir jetzt eben hier gemacht haben. Und was wir
gemacht haben, die Tage. Kellerautomaten so nur Exkursartig.
Goodie, Aufgaben fast. Aufgabenzettel ist einmal potenziautomaten und Produktautomatenkonstruktion
anwenden. Also einfach Verfahren anwenden. Zweitens Abschlusseigenschaften machen.
Davon ist die erste Teilaufgabe okay. Da könnt ihr mal
beim Hinweis steht, denken Sie mal darüber nach,
was wir alles so für Methoden kennen, um reguläre Sprachen zu zu beschreiben.
Also DFAs, NFAs, reguläre Ausdrücke so,
mit einem davon geht es halt total einfach,
mit den anderen ist es ein bisschen umständlicher.
Die zweite bei den Abschlusseigenschaften, die ist ziemlich knifflig,
da kann man mal einfach, keine Ahnung,
irgendwas zwischen der Viertelstunde und 15 Stunden reinversanden,
müsst ihr mal gucken, wie viele da reinsteckt.
Und die dritte ist Pumping-Lämmer anwenden in einem noch relativ gut zu machenden Beispiel,
also wo das so funktioniert wie hier,
wo es einfach nur darum geht,
dass sie das mal benutzt.
So, jetzt sind wir fertig, Feierabend