Dienstagmorgen. Oh Gott, das ist ja nur noch zweistellig, bestenfalls.
50 Leute, du sagst. Und alle ausgeschlafen? Bei mir
war ja gestern schlimmer. Heute geht's so. Gestern,
mein Bruder ist gerade zu Besuch, mit seinen beiden Kindern.
Und dann hat uns die eine gestern in der Nacht von Sonntag auf Montag,
hat sie uns geweckt um eins, um zwei,
um drei, um halb vier, um vier und um fünf.
Das haben wir quasi gar nicht geschlafen
Ah, da war ich geredet, gestern. Heute geht's
so. Heute ist ganz okay. Mal davon abgesehen,
dass es acht Uhr morgens ist und man eigentlich lieber noch,
Moment mal. So, ich wiederhole mal erstmal das,
was wir gestern gemacht haben. Und, äh,
dann machen wir noch das, was wir gestern übersprungen hatten,
diesen einen Kellerautomaten für die Sprache WWF, also das mit dem Spiegelwort.
Und dann kommt das mit dem Pumping-Lemmer.
Genau. Und nächste Woche, damit ich das nicht vergesse,
am Ende, nächste Woche machen wir dann etwas,
was quasi zu diesen ganzen Automatenmodellen autogenal läuft, nämlich Grammatiken.
Und dann werden wir da auch sehen, dass Sprachen,
die man mit Grammatiken generieren kann,
dass die wieder äquivalent sind zu Dingen,
die man mit Automaten erkennen kann
Und für dieses Grammatikenthema gibt es dann wieder einen Lesestoff,
den stelle ich heute oder morgen dann wieder online.
Genau, da geht es dann eben um diese Grammatiken.
Und das Zweite, was ich noch so ankündigen wollte,
war das Tutorium, das haben wir jetzt organisiert gekriegt,
das geht jetzt diesen Freitag los,
ist immer 16 bis 18 Uhr in dem Höherseit B201. Niklas macht das wieder,
der hat das letztes Jahr auch sehr schön gemacht.
Und da sollen immer die Musterlösungen zu den Übungsaufgaben nachbesprochen werden.
Und der fängt jetzt irgendwie an,
diesen Freitag dann mit Blatt 1 und 2,
bespricht die nach, schicke ich nachher nochmal eine Stienemail rum,
wo das dann auch beides drinsteht.
So, Kellerautomat
Was wir gestern uns hier angeguckt haben, die sind nicht die terministischen Kellerautomaten,
wo die Idee ist, alles erstmal so wie beim DFA.
Ich habe dieses Eingabeband und alles. Und dann gebe ich
ihm jetzt zusätzlich noch diesen Keller, auf den er irgendwie schreiben kann.
Und er kann halt, wie das so beim Serg üblich ist,
immer nur obendrauf erschreiben und an das oberste Symbol kommt er dann eben ran.
So, dann hat er auch wieder eine endliche Menge von
Zuständen, ein endliches Alphabet von Eingabesymbolen.
Dann hat er ein endliches Alphabet von Kellersymbolen.
Das unterscheidet man, damit man da eben unterschiedliche Symbole nehmen kann.
Dann hat er eine Menge von Startzuständen,
eine Menge von Endzuständen und im Tupel noch mit drin,
das Kellerbodensymbol, damit man immer gleich weiß,
welches das ist
Und dann eben die Überführungsfunktion, wo gesagt wird,
zu jedem Zustand, in dem man ist, Symbol,
das man vom Eingabeband liest und Symbol, das man vom Keller liest,
kann man dann eben einen Zustandswechsel machen und ein Wort auf den Keller schreiben.
Und das, worauf man da jetzt aufpassen muss bei der Signatur von Überführungsfunktion,
ist eben, vom Eingabeband darf man auch nichts lesen,
also darf man auch das leere Wort nehmen,
vom Keller muss man immer genau ein Symbol lesen,
deswegen steht da Gamma und nicht irgendwie Gammahochstern und auf den
Keller schreiben darf man dann eben unter Umständen mehrere Buchstaben.
Man darf auch gar nichts auf den Keller schreiben,
wenn wir das Symbol einfach nur gelöscht.
Oder man schreit eben eher auf den Keller
Das war so die grafische Darstellung,
wobei man das Eingabeband oben und den Keller hier zur rechten Seite,
das lässt man nachher immer weg.
Das steckt dann in den Konfigurationen drin. Da kommen wir
auch gleich noch mal im Detail zu, was das alles bedeutet.
Erstmal informale Funktionsweise. PDA beginnt im Startzustand und im Keller
ist eben nur dieses spezielle Kellerbodenzeichen. So beginnt der PDA
eben. Und das Eingabewort ist auf dem eigenen bewandt.
Und wenn er dann irgendwie im Laufe der Rechnung irgendwie in einem Zustand ist,
vom Eingabeband ein Symbol liest,
wobei da eben das Lamm da auch möglich ist und vom Keller das X liest,
was jetzt ein Symbol aus Scammer ist,
Dann guckt man eben nach, was sagt die Überführungsfunktion,
welche Elemente sind in Delta ZAX enthalten.
Da wird man eins aus,
dieses Z-Strich-W. Und dann wird eben in den Zustand Z-Strich gewechselt,
auf dem Eingabeband ein Feld nach rechts, sich bewegt,
das X wird vom Keller gelöscht, also das,
was man gerade vom Keller gelesen hat, wird auch immer gelöscht.
Und das X wird durch W ersetzt,
wobei eben dann das erste Symbol von W ganz oben auf
dem Keller ist und das letzte Symbol vom W ist quasi da,
wo eben das X war.
Und wenn man das X nicht löschen will,
dann muss das Wort W eben auf dem Buchstaben X enden.
Und jetzt quasi nicht gelöscht. Also formal wird es
gelöscht und dann gleich wieder ersetzt, aber im Grunde genommen
wird es da nicht gelöscht
Und das ist so die Funktionsweise. So war die grafische Darstellung mit den Kantenbeschriftungen da nochmal an dem obersten,
linken Beispiel hier illustriert, wenn man so eine Kantenbeschriftung VR,
Komma, Bottom, dann dieser Balken, A-Bottom hat,
dann soll die Aussage eben sein,
dass sie das kleine A vom Eingabeband lese,
also immer das, was als erstes steht,
lese ich vom Eingabeband und das hinter dem Komma,
das ist dann eben das,
was irgendwie auf dem Keller passiert.
Und zwar wird der erste Teil,
soll vom Keller gelesen und gelöscht werden und der zweite Teil,
das Großarbottom, das soll auf den Keller geschrieben werden.
Und bei der kannte, da wird das Bottom quasi nicht gelöscht.
Also von der Idee her wird es gelöscht und
gleich wieder raufgeschrieben und ganz oben steht dann noch das
Das ist die grafische Darstellung von so einem Kellerautomaten.
Und um jetzt eben auch den Bandinhalt, also vom Eingabeband
und den Kellerinhalt darzustellen, dazu gibt es dann eben diese Konfiration.
Dann kann man eben in der Konfiration sein,
dass man gerade im Zustand Set 0 ist, das eingebewohrt ist,
AABB und im Keller ist nur dieses Kellerbodenzeichen. So,
jetzt kann man gucken, so welchen Kantenübergang kann man machen,
wenn man gerade in Set 0 ist,
der nach Z1, der geht irgendwie nicht,
weil man kein B auf dem Eingabeband gerade hat,
den von Z0 nach Z2,
den könnte man machen
Dann lese ich nicht zum Eingabeband,
vom Keller lese ich das Bottom und Lösches,
dann bin ich danach in der Konfiguration, dass ich ein Z2 bin,
der Keller leer ist und auf dem Eingabeband noch das Wort weiterhin steht.
Und da ich dann in Z2 nichts mehr machen kann,
würde ich dann blockieren. Das hier? Genau,
die Frage war gerade,
ob wenn da ganz hinten Lamda steht bei so einem Kantenübergang,
so wie eben bei dieser Kante von Z0 nach Z2. Ob das bedeutet,
dass man nichts auf den Keller schreibt.
Genau, das bedeutet, man schreibt nichts auf den Keller.
Insgesamt wird Lamda gelöscht, äh, Bottom gelöscht,
Eschuldigung, das Bottom wird gelöscht, weil das Symbol,
was man vom Keller liest,
dieses Kellerboden-Zeichen,
das wird gelesen und gelöscht
Und Lambda wird im Grunde genommen auf den Keller geschrieben,
aber da ist das leere Wort, das wird nicht auf den Keller geschrieben.
Ja, so, die Kante könnte man nehmen,
da passiert aber dann nichts mehr danach. Dann kann man da oben gucken,
ob man eine von den beiden Kanten nimmt,
die ein Z0, die in Z0 bleiben.
Die untere Kante kann man nicht nehmen,
weil man dafür ein großes A vom Keller lesen müsste.
Das geht auch nicht. Bleibt irgendwie nur noch die Kante
ganz oben über, die kann man halt nehmen.
Jetzt kann man irgendwie sagen, ich bin in Z0,
ich lese das kleine A und ich lese das Bottom vom Keller.
Und dann sieht die Nachfolgekonfluention so aus,
dass man in Z0 geblieben ist,
auf dem Eingabeband einfällt, nach vorne gegangen ist,
im Keller das Bottom-Symbol gelöscht hat und eben Großarbottom auf
den Keller geschrieben hat
Dann ist das die Nachfolgekonvention. Mit der Kante links oben
. Genau, und jetzt kann man das weitermachen,
dass man wieder sagt, okay, welche Kanten gehen jetzt?
Jetzt geht die untere Kante von Z0 nach Z2 nicht mehr,
weil ich jetzt an das Bottom im Keller nicht rankomme,
sondern nur an das große A. Das ist jetzt das Symbol,
was ganz oben im Keller steht.
Jetzt kann ich tatsächlich gerade nur eine Kante nehmen,
nämlich die klein A, Groß A und dann zwei große As.
Da wird das kleine A vom Eingebetband gelesen,
ein großes A wird vom Keller gelesen und gelöscht und durch
zwei große As ersetzt.
Das heißt,
ihr habt da jetzt irgendwie zwei große A stehen
Und danach kommen die Kante von Z0 nach Z1 machen.
Das kleine B-Lesen und das große A löschen.
Und dann kann man die Schleife ans Z1 nehmen,
das kleine B-Lesen und das große A löschen.
Und jetzt kann man diesen Kantenübergang von Z1 nach Z2 machen.
Und das Kellerbodenzeichen löschen. Fragen dazu.
Fragen zur Funktionsweise oder zur Notation oder so?
Ist euch
das allen klar
Ob man bei einer kannte, mehrere Symbole vom Keller lesen kann.
Nee, weil in der Definition hieß es,
da, bei der Übergangsfunktion, bei der Definition,
der Übergangsfunktion steht dann nur Gamma.
Das heißt, man kann nur ein Symbol vom Keller lesen.
Bitte? Aber du kannst beliebig wieder draufschreiben, ja.
Immer eins vom Keller lesen, beliebig viele draufschreiben.
Kann man nachher auch auf, oh Gott, kann man
nachher auch aufweichen. Mit so erweiterten Überführungsfunktionen und sowas.
Oder man kann es auch gleich so definieren,
dass man da mehrere Symbole lesen kann.
Aber für den Anfang ist das jetzt so definiert,
dass man da eben immer genau eins lesen muss
Ist sonst noch Fragen? Es gab diese zwei Akzeptierungsbedingungen,
das kommt auch gleich nochmal. Also die Frage war nach den Akzeptierungsbedingungen.
Es gibt hier zwei Möglichkeiten, wie der Automat akzeptieren kann,
entweder mit Lea im Keller oder mit Endzustand.
Und in beiden Fällen muss das Wort auf jeden Fall bis
zum Ende gelesen werden. Und in dem einen Fall sagt man,
und dann muss im Endzustand sein und in dem anderen Fall sagt man,
und dann muss der Keller leer sein,
dann würde ich akzeptieren
Nee, genau, da gibt es gar keine Endzustände. Das Wort, was da jetzt gerade vorgelegt wurde,
dieses 2A2B, das würde jetzt mit Leam Keller akzeptieren können,
weil in den Zustand Z2 kommt, was egal ist,
aber das Wichtige ist ja, das Wort bis zum Ende gelesen und der Keller ist leer. Genau,
und hier, wenn man das jetzt noch formal machen will,
das ist ja die Konfiguration,
das in den Tupeln und das mit dem zwei Balken,
das ist der Konfigurationsübergang, dann könnte man sagen,
die Konfiguration eines PDAs ist ein Element bestehend aus Zustand,
in dem ich gerade bin, Wort,
das noch auf dem Eingabeband steht und aktueller Kellerinhalt,
wobei eben bei diesem aktuellen Kellerinhalt V das erste Symbol von V ist,
das was ganz oben auf dem Keller steht,
das letzte Symbol von V ist das,
was ganz unten im Keller steht
Dann kann man sich noch die Überführungsrelation definieren. Und da sagt man dann eben,
wenn ich in so einer Konfrontation ZXU, YW bin,
dann kann ich eben den Übergang nach Z-U,
Y-Strich W machen, wenn eben, ich gucke dann nach,
was ist, was sagt die Überführungsfunktion,
was ich bei Z XY machen soll,
also Delta Z XY, was kann ich da alles machen?
Davon wähle ich mir eins aus.
Und dann mache ich halt hier einen Zustandsübergang nach Z-Strich und
das Y untersetzt sich durch Y-Strich
Genau. Und eine Rechnung ist dann wieder, wenn ich mehrere solche Übergänge hintereinander mache und eine Erfolgsrechnung wieder,
wenn ich irgendwie zu einer akzeptierenden Konfiguration komme und dann kann man sich eben die beiden Möglichkeiten definieren, wie man eine Sprache akzeptieren will. Das eine ist mit Lea im Keller,
entweder geschrieben mit so einem El Lamda oder eben als NA,
also El Lamda A oder NA, da ist die Idee eben,
ich kann all die Wörter aus Sigmar Stern akzeptieren,
bei denen ich in der Startkonfiguration anfange und irgendwie zu einer Konfiguration komme,
bei denen ich in irgendeinem Zustand bin,
Wort ist zu Ende gelesen und Keller ist leer,
dann würde ich das Wort akzeptieren oder alternativ kann ich mir auch eine Sprache angucken,
wo ich sage, der Pedia akzeptiert mit Endzustand,
das da akzeptiere ich all die Wörter aus Sigmar Stern,
bei denen ich wieder in der Startkonfigurtion starte und ich lande irgendwie in einer Konfiguration,
wo ich das Eingabewort bis zum Ende gelesen habe,
also die Mitte in dem Tubeless Lamda und der Zustand,
den ich erreiche, ist irgendwie ein Endzustand.
Und bei der Akzeptierungsbedingung mit Endzustand, da ist mir egal,
wie der Kellerinhalt nach ihr aussieht, also da ist mir egal,
ist dann auch was im Keller ist und bei der Akzeptierungsbedingung mit Lea im Keller,
da ist mir egal, in welchem Zustand ich lande,
da ist mir nur wichtig,
dass ich das nachher der Keller leer ist.
Beide Akzeptierungsbedingungen sind äquivalent, kann man zeigen, also zu jedem Automaten,
der mit Lea im Keller akzeptiert, kann ich einen Automaten konstruieren,
der mit Endzustand akzeptiert und der die gleiche Sprache akzeptiert und halt andersrum auch.
Das muss aber nicht der gleiche Automat sein.
Und da der PDA ja gleich nicht ideterministisch definiert wurde,
reicht es eben wieder, wenn es irgendwie eine Rechnung gibt,
in der ich dann diese Akzeptierungsbedingungen erreiche..
Da noch mal der gleiche Automat mit anderen Beispiel,
wenn ich jetzt irgendwie ABBBB da reingebe,
dann kann ich am Anfang wieder diese Schleife an Set nehmen und durch ein großes kleinerlesen und ein großes A auf den Keller schreiben.
Und dann mache ich ein großesen,
und dann mache ich das auf ein großes,
weil ich das auf den Kleiner leseen und ein großes,
weil ich ein Gro ist ein großes A auf den Keller,
das ist,
ein kleinen und ein großes,
und ein großes
Ganz hinten müsste als Zustand Z2 stehen. Also ich mache
hier den Übergang von, ich bin in Z1,
das B steht noch auf dem Eingebebelband und das Spottom ist im Keller.
Jetzt kann ich halt die Kante von Z1, Latze 2 machen,
dass ich nichts vom Eingebeband lese und das Spottom durch das leere Wort ersetzt, also das Bottom lösche.
Und dann bin ich in der Konfiguration Z2, nicht Z1,
sondern Z2b, laufe würde ich eben nicht akzeptieren,
weil der Keller zwar leer ist,
aber ich habe das Wort nicht zu Ende gelesen.
Frank, bis dahin. Ja, das ist so das,
was wir gestern gemacht haben und was wir dann gestern noch gemacht haben,
ist, dass wir gezeigt haben,
dass dieser Automat die Sprache A hoch NBO-Rennen akzeptiert.
Die obere
Also die, wenn mehrere solche, ich nenne es jetzt mal Triebel,
stehen einer Kante, dann ist damit immer gemeint, dass das mehrere unterschiedliche Kanten sind.
Also das ist jetzt einmal die Kante,
die von Z0 nach Z0 geht und ich mache,
lese das kleine A,
lese das Bottom und ersetzt es durch A,
Bottom und die andere Kante ist,
ich gehe von Z0 nach Z0,
lese das kleine A schreibt und vom Eingebewandt das Große A vom Keller und schreibst durch A,
also es sind zwei Kanten.
Und die Kante,
die man in diesem Fall nehmen kann, ist die obere,
weil ich bei der unteren müsste ich ja ein großes A vom Keller lesen,
da steht aber gar kein großes A ganz oben,
sondern da steht das Bottom ganz oben.
Also kann ich nur die obere Kante nehmen,
wo ich das Kleine A als erstes Symbol vom Eingabeband
lese und das Bottom als oberstes Symbol vom Keller
Und dann bleibe ich halt in Set 0,
gehe auf dem Eingabeband ein weiter, das heißt,
das kleine A ist weg.
Und im Keller lösche ich das Bottom und ersetzt es durch
groß A-Bottom. Also das Bottom wurde faktisch nicht gelöscht,
aber von der Definition her wird es gelöscht.
Okay. Sonst noch? Frag lieber jetzt
Genau, die Frage war, ob man quasi die gleiche Kante oder
die gleiche Kantenbeschriftung nehmen kann und die zu unterschiedlichen Zuständen führen lassen kann.
Genau. Ja, das ist dann halt gerade dieses Nicht-Deterministische,
dass man sagt, ich bin jetzt im Zustand Z,
ich will das kleine A vom Eingehörband lesen und das große
A vom Keller und das eine Mal will ich und irgendwas
schreiben auf den Keller und das eine Mal will ich in Z bleiben und das andere Mal nach Z-Strich gehen oder so,
kann man machen.
Passiert das hier auch gerade irgendwo, nee.
Sonst noch Fragen
Dann, ja. Ja, die Frage war,
warum das immer so definiert ist,
dass am Anfang was auf dem Keller ist unten,
weil man sonst, also kriegt man auch irgendwie definiert wird,
aber anstrengend, so kann man es halt so definieren,
dass immer was vom Keller gelesen werden muss.
Und das kriegt man sonst nicht hin, wenn der Keller
am Anfang leer sein kann. Kann man auch anders definieren,
indem man sagt, irgendwie man davon sieht,
man darf gar mal Stern lesen oder sowas,
aber so ist die Definition handlicher als andere Definitionen so
Sonst noch Fragen. Achso, und weil man sonst fällt
mir gerade noch ein. Und weil man sonst meistens genau
das als erstes machen würde, sich nämlich irgendwie markieren,
dass der Keller an dieser Stelle quasi leer ist.
Weil sonst, man kann ja sozusagen nicht überprüfen,
ob der Keller gerade leer ist.
Also du kannst ja nicht sowas machen wie,
ich lese jetzt das leere Wort und damit testen,
ob der Keller leer ist oder ob du nur gerade nichts lesen willst.
Und dann wäre genau das meistens der erste Schritt,
dass du am Anfang irgendwas draufschreibst,
um dir zu markieren,
hier ist mein Keller zu Ende
oder so
Das werden wir nachher bei den Touring-Maschinen, da wird es offensichtlicher.
Hier ist es nur so ein bisschen, dass man denkt,
okay, bei die Touring-Maschinen wird es offensichtlicher,
dass man dann irgendwie das Ende des Wortes sehen will.
Was soll es noch fragen? Zum ersten, zur Seite,
um 17. Dann ein paar Fragen, die erste zur Kantenbeschriftung,
die geht noch so. 1, 2, 3,
4, 5, 6. Wenn ihr so eine Kantenbeschriftung habt,
groß, klein, groß,
klein A,
was passiert denn da
Musik Wenn ich mir abends, wenn ich mir abends die Fragen überlege,
dann denke ich immer so, ja,
das ist ein guter Punkt, der ist wichtig,
das macht was klar.
Und dann ist mir das aber noch so in Erinnerung,
dass ich meistens vorher schon dreimal die Lösung dazu erzählt habe.
Das ist irgendwie noch nicht ganz ausgereift bei mir.
Mal gucken, was der da so klickert
5, 5, 5. Ein Großa auf den Keller geschrieben.
Also ein Großa vom Keller gelöscht, das passiert nicht.
Also die Erste ist falsch. Ein kleines A wird vom
Keller gelöscht. Ja, nicht nur, aber ja.
Ein großes A wird auf den Keller geschrieben, also die Antwort C.
Auch ja, aber auch nicht nur. Ein kleines A wird
vom Keller gelöscht und ein großes A auf den Keller geschrieben.
Jein, ne? Also es wird schon ein kleines A
vom Keller gelöscht und es wird auch irgendwie ein großes A vom Keller geschrieben,
aber halt auch nicht nur etwas anderes passiert.
Das weiß ich nicht, da kommen wir auch mal. Es wird,
also im Grunde genommen stimmt, ich glaube, zwei,
drei und vier, die stimmen alle so ein bisschen,
aber alle nicht so richtig.
Es wird das große A vom Angabeband gelesen.
Das ist immer das, was ganz am Anfang steht.
Dann wird ein kleines A vom Keller gelesen und gelöscht.
Und es wird halt gleich das kleine A wieder auf
den Keller geschrieben, wo es vorher stand.
Deswegen kann man sich darüber streiten, ob das jetzt gelöscht wurde oder nicht.
Und dann kommt obendrauf ein großes A. Also das,
was, wenn man das als Blackbox betrachtet und nicht wüsste,
dass ein kleines A gelöscht wird,
dann würde man sagen,
man hat ein großes A vom Eingabeband gelesen und
ein großes A auf den Keller geschrieben
Und als Zwischenschritt in der Blackbox wurde noch ein kleines A
vorm Keller gelesen und gelöscht und wieder hingeschrieben.
Also fünftens, würde ich sagen, sollte das Richtige sein.
3, 4, 5 und 6 dürft ihr klicken,
wenn ihr keine Meinung habt.
Wenn ein PDA ein Wort mit Liam Keller akzeptiert,
also er arbeitet irgendwie nun Lunu,
ist jetzt im Zustand und würde
das Wort akzeptieren
Kann er danach noch mit Lamda-Kanten weiterarbeiten. Beispiel NFA,
wenn ich einen NFA habe mit Lamda-Kanten und ich lese irgendwie ein Wort und jetzt
habe ich das Wort zu Ende gelesen und bin im Endzustand.
Würde ich akzeptieren, das ist eine akzeptierende Rechnung.
Wenn es Lamda-Kanten rausgibt aus dem Endzustand, kann ich die,
wenn ich Lust habe, noch entlang gehen.
Führt dann vielleicht wieder zu einer nicht akzeptierenden Rechnung,
macht ja nichts, weil die ursprüngliche Rechnung war eine akzeptierende.
Oder die eine spezielle Rechnung waren akzeptierende
Wer schon geklickert hat, kann sich ja schon mal fragen,
ob er mit, wenn er mit Endzustand akzeptiert,
ob er dann noch weiterlesen kann.
Das ist quasi die gleiche Frage,
nur nicht mit Leam Keller akzeptierter, sondern mit Endzustand.
Ja, nein. Nein, ist richtig. Wenn er
das Wort zu Ende gelesen hat und der Keller ist leer,
dann war die Überführungsfunktion so,
dass immer ein Symbol vom Keller gelesen werden muss.
Also wenn der Keller leer ist,
kann er nicht weitermachen
Bitte? Lamda ist, das ist kein Symbol, ne?
Wir lesen immer irgendwas vom Keller, immer, immer,
immer, immer. Wir lesen immer irgendein Symbol aus Gamma
vom Keller und lammen da ist nicht im Keller.
Lamda ist nicht im Kelleralphabet. Also kann ich, wie ist das,
wenn du mit Endzustand akzeptieren würde? Keiner dann? Genau,
wenn er irgendwie das Eingebewort zu Ende gelesen hat und in
deinem Endzustand ist und jetzt irgendwie noch ein Wort im Keller ist,
dann kann er halt mit Lamda kannten, also mit Lamda kannten,
wobei sich das Lamda jetzt auf die,
auf das Eingabewort bezieht,
ne,
da kann er dann einfach noch weiterlesen
Bringt halt nichts, weil wir wissen schon,
dass wir akzeptieren, aber kann man machen.
Letzte Frage. Wenn man zeigen will,
dass NA eine Teilmenge von M ist,
dann geht man ja von so einem Wort aus.
Und was, also von so einem Wort in NA?
Man weiß dann, dass der Automat B bis zum Ende
lesen kann. Weil sonst, also jedes Wort,
das ich irgendwie akzeptieren kann, kann ich bis zum Ende
lesen.
Und was weiß ich noch
Dass ich in einem Zustand ende,
in dem nur noch Bottom im Keller ist,
dass ich in einem Zustand ende,
bei dessen betreten Bottom gerade gelöscht wurde,
dass ich in einem Endzustand ende,
weiß ich
etwas anderes oder weiß ich nicht
Die elft Idee gedrückt haben, also viertens,
wer war das? Wer möchte, einer von elf?
Ja,
wer war das noch
5, 5, 5, 5, 5.
Vielleicht waren es auch irgendwelche Clicker aus den Boxen oder so.
Warum? Zwei und drei Stimmen. Dann ist das Wort
aber nicht in NA. Beide Akzeptanzbedingungen gehen nicht.
Wer hat das noch gedrückt?
Bist du lauter
Mhm. Mhm. Was muss passieren, wenn wir mit Lea
im Keller akzeptieren? Ich fange irgendwie an in einem,
ich fange im Staatszustand an, ne,
das Eingewohner-Wort steht auf dem Eingabeband und das Kellerboden-Zeichnis im Keller.
Jetzt arbeite ich irgendwie du, du, du,
du, du, du und wann akzeptiere ich,
wann ist das Wort jetzt in NA drin?
Genau. Was muss also passieren beim letzten Schritt?
Was muss ich löschen beim letzten Schritt
Nee, was muss ich beim letzten Schritt löschen?
Nee, hat er auch gerade gesagt. Hört man immer nicht,
ich weiß, aber das Kellerbodenzeichen muss man nicht als letztes löschen.
Was muss man als letztes löschen? Na? Ja,
ist gut, ne? Dafür bin ich doch eingestellt worden
. Wichtig ist, wenn ihr die Akzeptierungsbedingungen euch anguckt,
dass am Ende nichts mehr im Keller ist, ne?
Klar. Am Ende soll nichts mit dem Keller sein,
ne?
Keiner soll der sein
Sagt ja keiner, dass das Kellerbodenzeichen die ganze Zeit unten im Keller ist.
Vielleicht mache ich als ersten Schritt sowas wie, ich lese das Kellerbodenzeichen.
Oh. Vielleicht mag ich im ersten Schritt ja sowas,
wie ich lese, das Kellerbodenzeichen und ersetzt es durch ein großes X. Warum auch immer.
Ja. Also, wenn ich weiß,
dass ein Wort in NA drin ist, dann weiß ich nur,
dass ich im letzten Schritt das letzte Symbol im Keller gelöscht habe.
Und das kann irgendeins sein. Wichtig ist, dass ich
es im letzten Schritt gelöscht habe. Also zweitens,
ist üblicherweise richtig, dass ich in einem Zustand ende,
bei dessen Betreten ich Bottom gelöscht habe,
muss aber nicht richtig ist.
Ich ende in einem Zustand, bei dessen Betreten ich eben
das letzte Symbol, was im Keller war,
gelöscht habe
Manchmal macht man so Sachen, wie dass man sich noch ein Sonderzeichen,
also dass man Bottom erstmal ersetzt durch irgendwie ein anderes Zeichen und dann damit arbeitet und oben drüber nochmal ein Bottom schreibt oder irgendwie sowas.
Also, wenn ich weiß, dass wie,
also wichtig ist das nachher für diese Timemang-Beziehung,
die eine Richtung ist ja meistens ganz einfach,
wenn ich zeigen will, dass jedes Wort das in M ist,
auch in NA ist, also die Rückrichtung,
dann gehe ich von einem Wort aus M aus und zeige das irgendwie durch Konfigurationsübergänge,
dass mein Automat dadurch in einen Zustand kommt,
wo eben der Keller auch leer ist oder das Wort zu Ende gelesen hat.
Dann weiß ich, okay, die Timemang-Beziehung gilt,
die Rückrichtung ist meistens nämlich diese hier,
die ist meistens komplizierter
Jetzt gehe ich nämlich von einem Wort aus, dass der Automat mit Leam Keller akzeptiert.
Und anders als beim DFA oder so heißt das nicht,
dass ich weiß, in welchem Zustand er endet,
sondern ich weiß nur, dass er irgendwo endet und der Keller leer ist.
Und jetzt muss ich halt irgendwie erst mal argumentieren, naja,
wenn ich beispielsweise weiß eben, dass Kellerbo ein Zeichen wird,
nur an einer Stelle gelöscht und sonst nie,
dann muss das die Kante sein,
die ich zuletzt benutze und dann muss ich eben in dem Zustand enden,
in dem diese Kante führt oder so, weil ich weiß,
sonst kann nirgendwo der Keller leer werden.
Das sollte euch darauf vorbereiten, dass gleich die
eine Richtung in den Beweis länglich und kompliziert wird
Zum Nachbereiten richtige Antworten. Jetzt wollen wir uns nämlich nochmal
diese Sprache angucken mit WWRF. Wie Reffer dieses Spiegelwort.
Am Beispiel da unten sieht man es ziemlich schnell,
wenn ich ein Wort habe,
1-0-1-1,
dann ist eben das Spiegelwort gerade quasi das Wort von rechts nach links gelesen.
Also 1-1-0-1. Da drüber die
formale Definition und für Mengen kann man sich eben definieren,
ich nehme jedes Wort aus der Menge,
drehe es um und die Sprache nenne ich dann eben L-Reverse.
Also Spiegelwörter einfach das Wort umgedreht oder eben von rechts
nach links gelesen
Achso, und dafür brauchen wir noch einmal später diese Definition,
die genaue, wenn ich das leere Wort nehme,
dann ist das leere Wort eben sowohl von links als nach rechts gelesen, das Gleiche.
Wenn ich ein längeres Wort UX habe,
wobei X hinten jetzt das letzte Symbol des Wortes ist,
dann schreibe ich mir eben dieses Symbol nach vorne und dann drehe ich eben rekursiv den Rest um.
Und wenn ich das immer so weitermache,
jetzt würde ich eben von U das letzte Symbol nehmen,
das nach vorne schreiben, dann habe ich erst X,
dann das letzte Symbol von U,
dann den Rest und immer so weitermache,
ich müsste ich irgendwann die Abbruchbedingung habe,
dass U eben gerade das leere Wort ist.
Dann habe ich nach und nach die hinteren Symbole nach vorne geschrieben.
So, und jetzt wollen wir uns dafür
einen PDA konstruieren
Ideen? Wer hat gestern gut aufgepasst oder die Vorlesung nachbereitet,
eins von beidem? Nachdem ich sie gestern irgendwann um halb neun,
glaube ich, endlich ins Netz gestellt habe,
die Folien, Ideen dafür.
Wie kann man
das machen
Ja. Genau. Und dadurch, dass das Wort W,
also dadurch, dass das letzte Symbol von W ja ganz oben
auf dem Keller ist, muss es jetzt zuerst kommen.
Und dann wird das genau das Spielwort.
Genau, das war die Idee. So sah das irgendwie
aus. Bei dem Zustand Z0 gibt es sechs Kanten,
also es gibt sechs Kanten, die von Z0 nach Z0 führen.
Und bei den linken dreien hier, da wird quasi,
egal egal, was auf dem Keller ist,
wenn ich eine Null lese, schreibe ich eine Null dazu.
Also wenn ich eine Null lese und das Bottom ist aktuell auf dem Keller,
in der sich diese Null und schreibe eben null Bottom auf dem Keller.
Sprich, das Bottom bleibt da weiterhin und die Null wird oben raufgeschoben.
Wenn ich eine Null lese und ich habe schon eine Null im Keller,
lösche ich die, schreibe sie wieder dazu und dann kommt noch eine Null dazu.
Wenn ich eine Null, wenn ich eine Eins auf dem Keller habe,
dann schreibe ich eben die Eins wieder hin und eine Null obendrauf.
Also die ersten drei Operationen hier sagen,
wenn du eine Null vom Eingabeband liest,
dann ist es quasi egal,
was auf dem Keller steht,
schreib es wieder hin und schreibe noch
eine Null obendrauf
Und die drei Übergänge rechts daneben, die machen im Grunde genommen
das Gleiche für die Eins. Wenn man eins vom Eingabeband liest,
dann auch wieder egal, was im Keller steht,
schreibt es wieder hin und schreibt eine Eins obendrauf.
Dadurch kriege ich es eben hin, dass ich lese das
Wort Stück für Stück für Stück und schreibe dann eben den Buchstaben,
den ich lese, eben genau so in den Keller.
Und wie gesagt, wenn ihr jetzt beispielsweise das Wort 1110 habt,
erstmal so, und ihr lest das,
dann steht danach im Keller halt die Null ganz oben und
dann kommen die zwei Einsen und dann kommt das Kellerbodenzeichen
Genau, dann macht man irgendwann diesen Übergang von Z0 nach Z1.
Da wird quasi geraten, dass man jetzt das Wort W
in Z0 gelesen hat. Man weiß ja nicht,
ob man irgendwann das Wort W gelesen hat und jetzt das Spiegelwort kommt.
Das heißt, man muss das raten. Wenn ich
diesen Übergang hier, den kann ich ja immer machen,
ich lese nichts von Eingabeband und egal,
was im Keller steht, kann ich diesen Übergang machen.
Das heißt, den kann ich immer machen. Jetzt muss ich darauf aufpassen,
dass wenn ich falsch geraten habe, dass ich dann nicht akzeptiere,
sondern dass ich nur dann akzeptiere, wenn ich auch richtig geraten habe.
Wenn das Wort beispielsweise 1001 ist, also 1-0,
und danach kommt das Spiegelwort 01, Und ich rate diesen
Übergang an irgendeiner anderen Stelle als Nachlesen von 1-0,
dann wird der Automat nicht mehr akzeptieren, werden wir gleich sehen. Wenn er aber richtig redet,
also wenn ich quasi erstmal hier 1-0 gelesen habe in Z-0,
dann steht jetzt ja 0-1 auf dem Keller,
0-1 Bottom,
jetzt rate ich mir den Übergang von Z0 nach Z1 und hier kann ich jetzt mit den Kanten genau die Symbole 0 oder 1,
nur dann vom Eingeband lesen,
wenn eben auch 0 oder 1 auf dem Keller ist oben und dann lösche ich.
Das heißt, wenn ich erst 1-0 gelesen habe,
vom Eingeband, dann steht,
weil ich ja die 0 zuletzt gelesen habe,
0-1 auf dem Keller,
jetzt muss ich 0-1 lesen,
das heißt,
wenn ich zuerst 1-0 hatte,
kommt jetzt 0-1 und nur so komme ich dann
in dieses Kellerbodenzeichen ran und kann dann den Übergang von Z1
nach Z2 machen und den Keller leer machen
Wenn ich irgendwie falsch geraten habe,
dann wird entweder der Keller zu früh leer und ich habe
das Wort nicht zu Ende gelesen, das Eingeheimwort,
oder ich kriege den Keller nicht geleert,
weil es vorbei,
je nachdem,
ob ich
zu früh oder zu spät rate
Warte, was willst du machen, du willst die beiden
hier? Mir ist gerade nicht ganz klar, was das,
erzähl doch mal, was soll das bringen?
Also du möchtest erstmal kurz, damit wir uns darüber einig sind,
was du machen willst. Du willst die zwei Kanten hier,
dieses Lamda 0-0 und lande 1-1,
die willst du ersetzen.
Also die sollen weg und hin sollen die zwei Kanten.
Die Soldal, okay, das sind alle Änderungen,
habe ich richtig verstanden.
Und... Ne, du kannst dir nicht sicher sein,
wann du rübergehen willst. Weil du, also, weil der Automat,
wie soll der Automat das wissen? Dann müsstest du quasi wissen,
wenn ich dir ein Wort der Länge 16 gebe,
was jetzt tatsächlich ein Spiegelwort ist, ne,
müsstest du wissen, oh, jetzt habe ich 18 Symbole gelesen.
Und das steckte ja eben in deinen Ideen auch nicht drin.
Also, was du vielleicht hinkriegst damit, ist,
ne, kriegst du auch nicht hin,
also irgendwo muss nicht die Terminismus drin sein,
weil man eben raten muss,
wann dieser Übergang stattfinden soll
Bitte? Ja, das habe ich auch gerade überlegt.
Wenn man genau die Änderung macht, wird, glaube ich,
auch noch irgendwas akzeptiert, was man nicht akzeptieren will.
Er meinte gerade, null wird dann wahrscheinlich, also null wird akzeptiert.
Ja, genau, weil man einmal die kannte,
die er nehmen kann, da steht dann null drauf.
Oder nur die Null. Ja, ich bin mir
nicht sicher. Ich glaube, irgendwas wird akzeptiert.
0-0-Filler oder 0-1 oder irgendwie sowas.
Ja, ich bin mir nicht sicher. Auf jeden Fall
kriegt man den nicht, die Terminismus nicht raus,
weil man das raten muss, ne?
Was sonst noch Fragen
Aber es ist ein cooler Ansatz,
also sich irgendwie mal zu überlegen,
ob man das irgendwie optimieren kann oder so,
führt immer dazu, dass man irgendwie den Automaten,
den man da hat, irgendwie noch einen Ticken besser versteht,
weil entweder klappt die Optimierung, dann ist cool,
dann hat man es irgendwie verbessert oder die Optimierung klappt nicht,
dann hat man wieder verstanden,
warum irgendwas Spezielles bei dem Automaten jetzt so gemacht wird,
wie es gemacht wird.
Deswegen ist das immer schön,
wenn man irgendwie ein Beispiel hat, sich mal zu überlegen,
irgendwie geht das besser oder geht das anders oder warum
wird das genauso gemacht oder sowas, ne?
Sonst noch Fragen dazu, ist euch klar, wie der Automat funktioniert?
In Z0 lese ich quasi das W Dann mache ich den Übergang nach Z1.
In Z1 lese ich das WERF und dann,
wenn das zu Ende gelesen ist,
dann mache ich den Übergang nach Z2. Also das ist die Konstruktionsidee.
Jetzt muss man natürlich noch beweisen,
dass das irgendwie tatsächlich stimmt und dass er eben nicht sowas macht,
wie wenn er an einer anderen Stelle springt als genau in der Mitte,
dass er da nicht plötzlich auch akzeptiert.
Also beispielsweise so ein Wort wie 0-1-0,
das sieht ja auch irgendwie so aus,
dass das von hinten und vorne gelesen das Gleiche ist.
Das ist ja aber gar nicht das, was wir wollen.
Wir wollen ja, dass es im ersten Wort W
gibt und dann genau dieses Wort gespiegelt nochmal.
Und 0-1-0 zum Beispiel sollte der nicht akzeptieren.
Also ganz allgemein soll der keine Worte ungerade länger akzeptieren.
Alle Worte, die der akzeptiert,
müssen gerade
Länge haben
W hat irgendwie eine Länge X und die Länge steht da zweimal.
Einmal als Wort W und dann nochmal als Wort W REF.
Also der kann nur Worte gerade länger akzeptieren.
Klar. Funktionsweise. Dann der Korrektheitsbeweis. Die eine Richtung
ist, also die Richtung hier ist noch relativ einfach.
Wenn ich Ihnen so ein Wort vorlege, WWRF,
dass das dann tatsächlich auch mit Leam Keller akzeptiert wird.
Deswegen relativ einfach, weil man eben ja den Automaten da darauf hin konstruiert hat.
Wenn man also von so einem Wort ausgeht,
dass diese Form WWRF hat, dann weiß ich nach Konstruktion,
kann ich irgendwie argumentieren, in Z0 für jede vom Eingebetwandt gelesene Null,
eine Null auf den Keller geschrieben wird und für jede vom Eingabeband gelesen,
eins, eine Eins auf den Keller geschrieben wird.
Das kann man irgendwie mit den sechs Kanten an Z0 argumentieren.
Und gleichzeitig kann man sagen,
in Z1 kann ich nur dann eine Null vom Eingabeband lesen,
wenn sie auch auf dem Keller steht.
Und ich kann nur dann eine Eins vom Eingabeband lesen,
wenn die auch auf den Keller steht.
Und mit den beiden Ideen kann man eben sagen,
am Anfang, ich starte in Z0,
auf dem Eingabeband steht das Wort WWRF und Bottom ist im Keller.
Jetzt kann ich erstmal die ganzen Kanten an Z0 benutzen,
um quasi das Wort W zu lesen.
Und weil ich mir ja Wenn ich das dritte Symbol von W lese,
steht das jetzt an drittletzter Stelle im Keller.
Und dann steht das Wort W eben nachher genau andersrum im Keller.
Das heißt, das letzte Sombol von W steht ganz oben auf dem Keller.
Das ist genau die Definition für so ein umgedrehtes Wort, für so ein Spiegelwort.
Das heißt, wenn ich diese Kanten entlang gegangen bin,
dann bin ich irgendwann in dieser Konfiguration,
dass ich noch ein Z0 bin,
nur noch das Wort W-REF auf dem Eingabeband habe.
Und gerade auch genau dieses Wort W-REF im Keller habe.
Dass es auch ganz viele andere Rechnungen gibt,
wo das nicht so aussieht, ist egal.
Wir wollen ja nur zeigen, dass es eine Rechnung gibt,
in der wir akzeptieren. Weil hier,
wo da die Pünktchen sind,
da gibt es zu jedem Zeitpunkt auch die Möglichkeit,
dass sich die Kante von Z0
nach Z1 nehme
Will ich aber gar nicht machen, weil dann kriege ich
nur nicht akzeptierende Rechnung. Jetzt bin ich genau an der Stelle,
wo auf dem Eingeband und auf dem Keller das gleiche Wort steht.
Und jetzt mache ich diesen Übergang von Z0 nach Z1,
wo ich eben nichts vom Eingeband lese und faktisch auch nichts auf dem Keller ändere.
Also streng genommen wird gelöscht und wieder draufgeschrieben, aber da passiert nichts.
Und dann bin ich in Z1 und jetzt kann ich eben
auf dem Eingeband im Keller steht das gleiche Wort,
jetzt kann ich schön diese Schleife an Z1 entlang gehen und
eben nach und nach das Angeband zu Ende lesen und den Keller dabei löschen.
Und dann bin ich in der Konfiguration Z1 Lambda Bottom,
wenn ich das gemacht habe.
Und jetzt kann ich diese Kante von Z1 nach Z2
machen und noch das Kellerbodensymbol löschen und dann bin ich in
der Konfiguration Z2 Lambda Lambda
Und dann habe ich das Wort zu Ende gelesen und
der Keller ist leer, also akzeptiere ich.
Und wie gesagt, dass es noch Rechnungen gibt,
wo ich nicht akzeptieren würde, ist nicht so wichtig.
Wichtig ist, es gibt eine, wo ich akzeptiere.
Die Richtung ist noch relativ eingängig. Die Richtung wird jetzt
knifflig. Was kann man sich erstmal überlegen? Man kann
sich überlegen. Jetzt kann man nämlich für die Rückrichtung,
bei der Rückrichtung gehe ich jetzt ja von einem Wort aus,
dass der Automat da mit Lea im Keller akzeptiert.
Und ich will zeigen, dass dieses Wort dann eben auch
genau diese Form WWF hat
Und jetzt, deswegen war das vorhin als Frage drin,
jetzt kann man sich erst mal überlegen,
in welchen Zuständen muss ich denn enden, wenn ich mit Lea im Keller akzeptiere?
Und die einzige Stelle,
wo überhaupt mal was vom Keller gelöscht wird,
ist hier ein Z1 oder eben bei dem Übergang von Z1 nach Z2.
Und weil eben an keiner Stelle das Kellerbodenzeichen irgendwie an eine andere Stelle verschoben wird oder so,
bleibt das Kellerbodenzeichen die ganze Zeit unten im Keller, ganz unten.
Deswegen ist die Kante von Z1 nach Z2 die einzige Möglichkeit,
das Kellerbodenzeichen zu löschen oder den Keller leer zu machen.
Ergo, wenn ein Wort in NA ist,
dann muss ich in Z2 geendet sein und ich muss
als letztes diesen Übergang von Z1 nach Z2 gemacht haben
Also man kann sich überlegen, Z2 kann nur von Z1
aus erreicht werden und nur wenn auf dem Keller nur noch Lampen bei Bottom ist,
dass die einzige Möglichkeit, den Keller zu lehren.
In Z2 kann nichts mehr gelesen werden, das eine Wort
muss also schon in Z1 zu Ende gelesen worden sein. Weil,
sonst würde ich ja nicht akzeptieren, ich akzeptiere nur,
wenn der Keller leer ist und ich das Wort zu Ende gelesen habe,
wenn ich in Z2 aber nichts mehr mache, dann muss ich schon in Z1,
also dem vorherigen Zustand das Wort zu Ende gelesen haben.
Jede akzeptierende Rechnung startet in Z0, das ist eh klar,
das ist der einzige Staatszustand, gelangt dann von dort nach
Z1 und von dort kommt man nie wieder nach Z0 zurück.
Also das ist ja eh so,
ich mache irgendwas in Z0, ich komme nach Z1,
jetzt mache ich irgendwas in Z1 und dann komme ich
nach Z2 und da akzeptiere ich
Die drei Sachen zusammengenommen bedeutet, es genügt, wenn wir Bedingungen finden dafür,
dass wir von der Startkonfiguration ausgehend irgendwie zu dieser Konfiguration kommen.
Z1 lamnder Bottom, eingebewortet muss in Z1 schon zu Ende
gelesen worden sein und von da aus ist eben die Kante,
die ich dann die einzige Möglichkeit, die ich noch machen kann,
eben dieser Übergang zu C2, wo ich dann akzeptiere.
Das heißt,
wenn wir Bedingungen dafür haben können und dafür zeigen können,
dass das Wort W jetzt die Form haben muss,
irgendein Wort V und Spiegelwort von V,
dann weiß ich,
okay,
Wort ist auch in M drin
So, und was man jetzt macht, ist,
man zeigt diese etwas allgemeinere Behauptung, dass man eben nicht...
Dass man eben nicht von dem Kellerinhalt Bottom ausgeht,
sondern man sagt, wenn ich irgendwie in Z0 XV starte,
für beliebiges V, und ich dann eben nach Z1 Lamnder V komme,
dann hat X auf jeden Fall diese Form WWREF.
Naja, und wenn ich das da,
wenn ich sogar das zeigen kann,
dann kann ich auch ganz bestimmt zeigen,
weil das hier ja für beliebiges V gezeigt wurde,
dass das eben auch für den Fall VS Bottom gilt
Wenn das für den Fall VS Bottom gilt, dann,
genau, dann habe ich genau das hier.
Dann bin ich davon ausgegangen, Quatsch,
dann weiß ich, wenn diese Bedingung erfüllt ist,
dann hat das Wort weh, die Form XXRF,
wird also, ist in der Menge M drin.
Genau. So, und das wollen wir über Mittelsinduktionen
über die Wortlänge machen. Also, da steht nochmal,
was wir zeigen wollen, wir wollen zeigen,
wenn das hier gilt, dann hat X die Form WWRF.
Und das wollen wir zeigen per Induktion über die Länge von X.
Und oben ist der Automat.
Jetzt geht man irgendwie von XS Lamde aus.
Sei X
gleich Lamda
Dann wissen wir schon, dass X von dieser gewünschten Form WWREF ist.
Ja, und dann brauchen wir nichts zeigen,
dann ist es irrelevant, ob der Ventile gilt oder nicht.
Das ist so der, ja, das ist so ähnlich,
wie wenn man bei der natürlichen Induktion mit den natürlichen Zahlenwände
bei eng gleich Null manchmal nichts zu tun ist oder
nur wenig zu tun ist oder so.
Hier kriege ich mir das quasi geschenkt. Der Ventile ist uns egal,
weil wir wissen schon, dass X diese Form hat.
Tatsächlich gilt der Ventile ja auch, aber der ist geschenkt
der Teil.
Wenn die Behauptung für Worte der Länge bis zu N minus 1
gilt, äh Quatsch, gelte die überhaupt nicht wenden.
Also gelte die Behauptung für Worte der Länge bis N minus
1. Das heißt also, was jetzt gilt, ist,
dass wenn wir von Z0 XV nach Z1 LandaV kommen,
dann hat X genau diese Form WWRF für irgendein bestimmtes W.
Und das gilt jetzt für alle X bis zur Länge
in minus 1. Und jetzt müssen wir im Induktionsschritt zeigen,
dass es dann auch für Xe der Länge entgilt.
Hier also auch, wir nehmen jetzt nicht nur an,
dass es für Xe der Länge N minus 1 gilt,
sondern wir nehmen an,
dass es für alle Xe bis zur Länge N minus 1 gilt.
Das ist deswegen wichtig,
weil wir gleich den Schritt von N minus 1 zu Ende
nicht machen können, weil wir ja schon gesagt haben,
dass das eigentlich nur für Worte gilt,
die gerade Länge haben
Das heißt, wenn wir nur den Schritt zurück machen könnten
auf N minus eins, wird es das nicht helfen.
Also wir brauchen als Induktionsannahme, dass es für alle Worte bis zur Länge N
minus eins gilt. Alternativ könnte man das so machen.
Man hat es ja gerade für Worte der Länge null gezeigt.
Und jetzt macht man halt so eine Induktion für Wortelänge,
2, 4, 6, 8 und so weiter.
Aber so geht es auch. So, und jetzt kommt der schwierige Induktionsschritt. Wir fangen an,
nehmen so ein Wort der Länge A1 bis AN mit der Eigenschaft,
dass wir eben,
wenn wir in Z0 sind und von X X auf ihm eingebandt sind,
V ist irgendwie im Keller und wir gelangen irgendwie durch Konfigurationsübergänge zu diesem Z1 LanderV.
Das wissen wir,
dass das alles gilt und was wir zeigen wollen,
ist,
dass X dann eben
genau diese Form hat
So, und jetzt kann man sich wieder überlegen,
was kann als erstes passieren, was muss als letztes passiert sein und so.
Der erste Schritt kann nicht sein, dass wir von Z0
direkt nach Z1 gegangen sind. Das wäre zwar möglicher Übergang,
aber wenn wir jetzt in diesem Z1 sind,
dann können wir bei ZI,
also X müssen wir ja noch zu Ende lesen in Z1,
das soll ja leer werden hier, das eigene Wort.
Und hier löschen wir aber immer vom Keller in Z1
und wir schreiben nie mehr drauf. Das heißt,
wir würden V kleiner machen und kriegen es nachher nicht wieder.
Ja, wir gehen aber davon aus,
dass wir von Z0 XV nach Z1 LanderV kommen
Wenn Z1 nur Buchstaben vom Köller gelöscht werden und wegen X-Größe
1 auf jeden Fall mindestens ein Buchstabe gelöscht werden würde,
dann wäre aber nicht mehr V auf dem Keller.
Das ist doof. Also kann das nicht der Übergang sein,
sondern der erste Übergang muss irgendwas sein, dass wir hier in Z0 geblieben sind.
Der erste Schritt ist also irgendwie,
ich habe jetzt das Wort, dieses Wort X,
habe ich jetzt geschrieben als A1 bis AN hier.
Und der erste Schritt ist also, dass wir den Buchstaben
A1 lesen in Z0 und die Kantenübergänge in Z0 sagen,
ja, dass wir dann A1 direkt auf den Keller schreiben.
Das heißt, das sieht so aus,
dass jetzt A1 hier auf dem Keller ist
Da wird das da eins wieder vom Keller löschen müssen,
weil am Schluss soll ja hier nur das V wieder im Keller stehen.
Wir wollen ja zu der Konfiguration kommen, Z1 Lamder V. Kann 19Z1 gestehen,
muss der letzte Schritt irgendwie so aussehen,
dass ich bin in Z1,
AN steht nur noch auf dem Eingewand,
das letzte Symbol und ich lösche dieses Symbol A1 daneben.
Daraus folgt aber, wenn man sich jetzt die Übergänge an Z1 anguckt,
das AN gleiche 1 sein muss.
Weil sonst ist dieser Konfigurationsübergang nicht möglich
Und wir wissen nach Voraussetzungen, dass wir von Z0 XV
nach Z1 LandaV kommen. Und wenn wir das alles zusammennehmen,
also wir wissen jetzt, wie es insgesamt aussehen muss,
wir wissen, wie der erste Schritt aussehen muss und wir wissen,
wie der letzte Schritt aussehen muss, dann muss das insgesamt so aussehen,
dass wir von der Startkonfiguration den ersten Schritt so machen,
dass wir in Z0 bleiben und das A1 auf den Keller schreiben.
Dann irgendwie durch Übergänge zu der vorletzten Konfiguration kommen,
weil der letzte Schritt eben so aussehen muss.
Und das hier, das mit dem Stern in der Mitte hier,
das wissen wir eben, weil aufgrund der Voraussetzung.
Was heißt aber insbesondere, dass dieser mittlere Teil passieren muss,
Und da kann man jetzt,
weil das AN gar nicht benutzt wird,
also das AN bleibt in beiden Konfrontitionen ja hier auf dem Eingabeband.
Deswegen ist diese ganzen Konfrontationsübergänge, die sind gleichbedeutend mit den Konfigurationsübergängen,
dass man das AN einfach weglässt.
Und wenn man sich das jetzt anguckt,
dann hat man hier von A2 bis 1 minus 1 ein Wort der Länge kleiner als N.
Das hat die Länge nur N minus 2. Und
hier hat man mit A1V auf beiden Seiten den gleichen Kellerinhalt
und dann kann man die Induktionsannahme anwenden
Dann weiß man, dass dieses Wort A2 bis AN minus 1,
muss die Form XXRF oder X schlecht,
habe ich schon Y und Y-RF haben, nach Induktionsannahme.
Also A2-1-1 ist ein Wort der Länge,
N minus 2 kleiner N, Induktionsannahme ist anwendbar.
Es gibt also irgendwie einen V derart, dass ich dieses
A2-2 bis 1 minus 1 schreiben kann als VVF.
Und jetzt kann ich noch sagen,
gleichzeitig weiß ich ja A1 ist AN und dann kann ich hier sagen,
wenn ich jetzt A1 oder N vorne und hinten hinschreibe,
dann habe ich A1 bis AN,
ist das gleiche VA1,
Wenn A1 aber gleich AN ist, steht da A1,
VVFA 1 und dann ist, wenn ich für W jetzt setze,
A1, V, dann steht da WWRF.
Und das ist ein Wort, das in M sein muss.
Also habe ich insgesamt gezeigt, wenn das Wort mit ihrem
Keller akzeptiert wird, dann hat es tatsächlich diese Form.
Genau. Nochmal zu Hause angucken. So gehen solche Induktionsbeweise
über die Länge des Wortes,
wenn man das jetzt irgendwie für diesen PDA zeigen will,
ist sehr viel schwieriger als die Argumentation beim DFA oder NFA
Mit ein bisschen Übung kriegt man das aber hin.
Und das Wichtige ist eben, dass man eben seine Behauptungen irgendwie beweisen kann.
Also man baut irgendwie einen Automaten und sagt, ja,
der soll jetzt das tun, was er tut.
Und bei so einem Automaten wie dem eben,
auch wenn es da noch relativ klar ist,
dass der hoffentlich das Richtige tut,
es ist eben nicht unbedingt sicher, dass er das so tut,
dann muss man das eben beweisen und insbesondere in die Richtung,
wie gesagt, ausgehend von dem Wort, das der Automat akzeptiert,
zeigen, dass das dann auch tatsächlich in der Menge ist.
Da wird es dann so ein bisschen knifflig.
Also dass der Automaten nicht zu viel macht
Genau. Zu wenig macht er üblicherweise nicht,
weil man ihn beide Konstruktionen ja daraufhin gebaut hat,
aber manchmal macht er zu viel und das will man nicht.
Das muss man eben so ausschließen. Gut. Ja,
das nochmal zur Technik. Das war jetzt quasi die Technik,
dass man irgendwie so ein Wort W von der Eingabe
liest und eben Buchstabe für Buchstabe in den Keller schreibt.
Und dann steht es eben genau umgekehrt im Keller,
als man es gelesen hat.
Das kann man auch teilweise in anderen Kontexten gut benutzen.
Die andere Technik, die wir gestern schon hatten,
war den Keller halt einfach zum Zählen zu benutzen.
Also einfach Symbole drauf zu schreiben und ihn dann wie so
ein Uni an Zähler zu benutzen. Für jedes A,
das ich gelesen habe, mache ich mir ein Symbol drauf.
Dann habe ich genauso viele As,
wie ich gelesen habe, habe ich dann auf dem Keller
As stehen
Also das sind so die beiden Techniken, die man bei diesen Automatenkonstruktionen
hier benutzen kann. Ja, Fragen. Ich weiß,
dass das ein ganz schöner Killer war, der Beweis so,
ich wollte, dass ihr das mal seht,
damit ihr das auch irgendwie in den Präsenzaufgaben kommt,
auch sowas ähnliches dran, dass man das mal üben kann.
Wenn man das ein paar Mal gemacht hat,
wird es halt einfacher so, weil man irgendwie,
man geht halt immer von ähnlichen Sachen aus,
man geht irgendwie davon aus,
dass er irgendwie das Wort mit leerem Keller akzeptiert,
fragt sich dann,
was gilt denn jetzt und dann versucht man eben darüber zu argumentieren,
dass er dann tatsächlich,
dass das Wort tatsächlich in dieser Menge ist
Gut, was haben wir gemacht? Gestern und heute PDAs
und Kellerautomaten und wieder diese Begriffe eingeführt. Konfiguration, Rechnung
und so weiter. Dabei, um das nochmal zu betonen,
die können mit leerem Keller oder mit Endzustand akzeptieren.
Man sucht sich aber eine Akzeptierungsbedingung aus und betrachtet die dann eben.
Und beide sind auch äquivalent. Und dann haben wir
eben ein PDA für dieses A auch NBON konstruiert.
Das haben wir gestern gemacht. Das war der,
der ganz am Anfang bei diesen Beispielen dabei war.
Und wir haben PDA für WWF gebaut.
Das war der,
den wir eben hatten
Und ursprünglich sind wir ja aber davon ausgegangen, dass wir gesagt haben,
dieses A-Hoch-N-B-O-N kriegen wir irgendwie mit dem DFA nicht hin.
Also das war ja so unser ursprüngliches Ding, warum wir gesagt haben,
da erweitern wir den Automaten doch mal um irgendwas.
Mehrere Köpfe oder eben, was wir gemacht haben im Keller.
Und die Frage bleibt jetzt aber weiter mit dem Raum.
Wir wissen jetzt ja, dass das mit dem PDA geht.
Wir wissen aber nicht mit Sicherheit, dass es nicht mit dem DFA geht.
Wir vermuten das zwar, aber wir wissen es noch nicht mit Sicherheit.
Das müssen wir noch irgendwie zeigen. So,
und jetzt kann man sich überlegen, ob wir vielleicht irgendwie
eine Eigenschaft finden können, die alle regulären Sprachen haben müssen.
Also keine Ahnung, alle Worte dürfen nur die und die Länge
haben oder irgendwie sowas. Das wird es nicht sein,
aber dass wir irgendwie eine Eigenschaft haben, die alle regulären Sprachen haben müssen.
Und wenn wir dann zeigen können,
dass diese Sprache auch NBON diese Eigenschaft nicht hat,
dann kann L auch nicht regulär sein.
Also wenn ich eine Eigenschaft habe, von der ich weiß,
jede reguläre Sprache muss die haben, ich kann nachweisen,
L hat diese Eigenschaft nicht.
Nein, kann L nicht regulär sein.
Das ist so die Idee gleich beim sogenannten Pumping-Lämmer.
Wir wissen von regulären Sprachen das. Punkt, Punkt,
Punkt. Was wissen wir denn so? Was könnte man
vielleicht, was weiß man von regulären Sprachen
Was wisst ihr? Genau, das ist ein DFA-Dieb,
der sie akzeptiert, würde man sagen.
Ja, genau. Was noch? Aus dem NFA gibt,
der sie akzeptiert. NFA mit Landerkanten, regulären Ausdruck.
Bleiben wir mal über diese Geschichte mit dem DFA.
Jetzt nimmt man vielleicht noch einen vollständigen oder so,
muss man aber nicht. Aber wir wissen irgendwie,
okay, es gibt diesen DFA. Und was wissen wir
über den DFA? Wenn ich was charakterisiert den DFA,
was könnte man da vielleicht benutzen?
Was weiß ich da so
Eingabealphabet ist endlich, aber das wird mir wahrscheinlich nicht so helfen.
Was weiß ich noch? Ja. Kann mehrere Inzustände haben,
ne? Hat einen Startzustand, das könntest du vielleicht benutzen,
aber das können wir auch noch nicht benutzen.
Genau, hat einen Startzustand und mehrere Endzustände. Das hilft
uns aber auch nicht. Also könnte man auch überlegen,
ob das hilft, aber das hilft bei mir auch nicht.
Ja, es gibt nur endlich viele Zustände, genau.
Das ist cool. Und halt DFA, die Übergangsfunktion ist
deterministisch. Das wird uns aber wahrscheinlich auch nicht helfen,
dass die Übergangsfunktion deterministisch ist, weil es gibt ja noch den NFA,
der das Gleiche kann.
Also wird man das wahrscheinlich nicht ausnutzen können, dass er
deterministisch ist. Aber das mit den endlich vielen Zuständen,
das ist gut
Das war ja auch das, wo wir gesagt haben,
wahrscheinlich geht A auch in B hochendig,
weil wir irgendwie vermutet haben,
wenn ich irgendwie so und so viele As gelesen habe,
müsste ich mir das ja irgendwie im Zustand merken.
Wenn ich weiß, dass ich nur endlich viele Zustände habe.
Nehmen wir mal an, ich habe 15. Ich habe im
Automaten nicht 15 Zustände. Was weiß ich jetzt,
wenn ich dem Wort vorlege, dass die Länge 30 hat?
Was muss passieren
Ja, genau. Und wenn er den Zustand
mindestens zweimal betritt, dann gibt es Schleifen irgendwie.
Also dann geht er vielleicht vom Staatswischer los in irgendeinem Zustand.
Und jetzt arbeitet er irgendwie und besucht genau den Zustand nochmal.
Also gibt es irgendwie eine Schleife. Und dann geht er
vielleicht irgendwann in diesen Endzustand. Wenn es diese Schleife gibt
im Automaten. Also ich gehe vom Zustand Z0 zum Zustand Z.
Jetzt arbeite ich irgendwie, lande wieder ins Z und jetzt
gehe ich von Z nach ZE.
Diese Schleife da. Wie oft kann ich die entlang gehen?
Ja, genau. Irgendeine Zahl zwischen null und beliebig oft
, ne? Weil wenn ich die Schleife nicht entlang gehe,
muss ich das Wort akzeptieren.
Wenn ich die Schleife fünfmal entlang gehe,
muss ich das Wort akzeptieren und so weiter
Ne? Das ist im Grunde genommen die Kernidee beim Pumping-Lemmer,
dass man sagt irgendwie, deswegen pumpen,
dass ich quasi diese Schleife beliebig aufpumpen kann.
Also ich kann die beliebig auf den Land gehen.
Also Wörter, die akzeptiert werden und die mehr Buchstaben haben
als der Automat Zustände, müssen schleifen im Automaten durchlaufen.
Dieses Schleifen kann ich öfter entlang gehen. Und damit kann ich
neue Wörter erzeugen, die auch in der Sprache sein müssen.
Und wenn eine Sprache diese Eigenschaft nicht hat,
dass das geht, so mit diesem Hochpumpen und so,
dann kann die Sprache nicht regulär sein. Bei A,
auch in wie auch in wird das nicht funktionieren,
kann man sich überlegen, wenn ich ein Automat mit K-Zuständen habe,
Jetzt gucke ich mir A hoch K.B. hoch K an,
dann muss es eine Schleife geben, die ich entlang gehen kann.
Und wenn ich nur K-Zustände habe,
dann muss es diese Schleife schon bei den ersten K-Worten geben,
also in diesem AhoK drin, muss schon die Schleife sein.
Weil wenn ich AhoK lese, dann mache ich ja schon K-Zustandsübergänge.
Und irgendwann muss ich dann schon mal einen Zustand zweimal besucht haben.
Und diese Schleife kann ich mir nehmen und die kann ich
ja beliebig oft in Land gehen. Und dann werde ich
da aber beliebig viele As produzieren können. Das heißt,
der Automat wird auch irgendwie sowas akzeptieren wie A hoch K plus L,
also mehr As und dann diese B, diese KBs.
Und das ist aber kein Wort mehr dieser Form A
hoch J.B. Hochjod
Auch in Bio holen. Deswegen wird das da auch nicht klappen. So,
das fassen wir jetzt genauer im Pumping-Lemmer und dann benutzen wir das,
um tatsächlich zu zeigen, dass auch in Bio endlich regulär ist.
Und das schaffe ich auch. So, das ist das
fiese Pumping-Lemmer. Pumping-Lemmer sagt, sei ell eine reguläre Sprache.
Das soll ja auch eine Eigenschaft für reguläre Sprache sein.
Also sei ell eine Reguliersprache. Dann gibt es eine natürliche Zahl,
sodass sich jedes Wort, das in L drin ist,
also sprich für L kann ich einen Automaten konstruieren und dann sage ich jetzt,
das Wort, wenn das Wort vom Automaten akzeptiert wird,
Und dieses Wort soll jetzt eine gewisse Länge haben.
Soll größer gleich diese Zahl N sein.
Dann kann ich das Wort zerlegen in UVW,
wobei U quasi der Anfangsteil ist, bis zur Schleife.
V ist die Schleife und W ist dann der Teil von
der Schleife bis zum Ende. Oder ich kann das Wort
zerlegen in UVW mit der Eigenschaft UV, kleiner gleich N.
Das ist der Teil bis zur, bis einmal die Schleife gegangen.
V größer gleich Eins. Die Schleife enthält mindestens ein Element
. Und UV hoch IW ist immer in L. Sprich,
das V kann ich beliebig oft entlang gehen.
Inklusive Nullmal. Also UW müsste auch in L sein
Genau, das steht unten als Anmerkung nochmal,
dass man eben auch ihn null wählen kann, dass die rote Box könnt ihr erstmal ignorieren.
Wichtig nochmal, wenn er eine reguläre Sprache ist,
gibt es irgendwie eine natürliche Zahl N. Welche, das ist es uns total egal nachher.
Wir wollen nur sagen können, es gibt dann eine,
sodass sich jedes Wort, das in der Sprache drin ist,
dass eben mindestens diese Länge N hat,
zerlegen kann in UVW mit den Eigenschaften, UV,
kleiner gleich NV, Größe gleich 1 und UV,
IW ist immer in L.
Wenn man das jetzt beweisen will, dass diese Aussage tatsächlich gilt,
dann sagt man, okay, sei eine reguläre Sprache,
dann gibt es einen endlichen Automaten, der die Sprache akzeptiert.
Der hat so und so viele Zustände und dann passiert irgendwie was.
Also legen wir los, sei el regulär,
dem gibt es einen vollständigen DFA, der sie akzeptiert,
sei en die Anzahl der Zustände von A,
das ist eine natürliche Zahl
Und jetzt betrachten wir ein Wort, das von dem Automaten akzeptiert wird.
Also wenn ZNL ist, ist es ja insbesondere auch ein LA, wird also vom Automaten akzeptiert.
Und das Größte gleich Ende ist. Dann steht da noch, wenn es kein solches Z gibt, ist nichts zu zeigen. Sprich,
wenn es keine Worte gibt, die länger sind als die Anzahl der Zustände,
die auch akzeptiert werden, ist nichts zu zeigen,
weil hier steht ja nur so,
dass jedes Wort ZNL mit eben der Eigenschaft,
dass es größer gleich N ist, in diese,
dass dann so eine Zerlierung existiert, wenn es also gar kein Wort gibt,
das diese Länge hat und in Älteren ist,
naja, dann ist nichts zu zeigen so,
ne?
Dann gilt das
irgendwie bedingungslos
Also, Salz, Sets und Wort, das größer gleich Ende ist.
Und jetzt kann man das Wort eben A vorlegen,
also dem Automaten, der beginnt im Staatszustand,
da vollständig ist und Set auch akzeptiert wird,
kann Set komplett gelesen werden.
So, und da Z aber aus mindestens in Buchstaben besteht,
finden mindestens in Zustandsübergänge statt.
Wenn ich aber mit Z0 anfange und jetzt in Zustandsübergänge mache,
werden mindestens N plus eins Zustände besucht.
Wenn ich nur Endzustände habe und ich besuche N plus eins
viele,
muss irgendeiner
doppelt vorkommen
So, jetzt kann man sich die Zustandsfolge angucken,
die vom Staatszustand zum Endzustand besuche,
nennen wir die mal hier Z0, Z1 der 2,
2, 3, dünn, dünn bis ZE.
Das ist jetzt die Zustandsfolge, dass es nicht die Reihenfolge quasi der Zustände,
die ich besuche oder, also nicht nur,
das sind nicht die unterschiedlichen Zustände, die ich besuche,
soll bedeuten, in dieser Zustandsfolge können auch Zustände doppelt auftreten.
Also Z2 und Z5 können der gleiche Zustand sein oder so.
Das ist jetzt einfach die Zustände in der Reihenfolge,
wie ich sie besuche. So ähnlich wie auch irgendwie 1,
2, 3, 4, 2, 2,
3 oder so, das ist eine Folge von natürlichen Zahlen.
Da kann ich irgendwie sagen,
das ist die Folge von 0 für 1 vor 2,
V3 oder so, auch wenn da unterschiedlich,
auch wenn da die gleiche natürliche Zahl
dabei sein kann
Also, einige Worte länger N, mindestens N, ich besuche irgendwie
N plus 1 viele Zustände und da musste jetzt irgendwie ein Zustand
doppelt auftreten. Nennen wir die mal ZI und ZJ,
mit der Eigenschaftliches Ungleich-J und J soll größer sein, also ZI,
ZJ, das sind zwei Zustände, die doppelt auftreten.
Und ZJ soll außerdem der erste Zustand sein, der ein zweites neu auftritt. So,
wenn ZJ, der erste Zustand ist,
der das zweite Mal auftritt,
dann ist J Kleiner gleich N,
weil von Z0 bis ZN habe ich schon N plus 1 viele Zustände,
das heißt irgendwie in diesen N plus 1
vielen Zuständen muss einer das erste Mal doppelt auftreten,
das sind gerade ZI und ZJ
So, dann weiß ich, Jörg minus I ist größer,
gleich eins. Also wenn J größer ist als I,
dann muss, wenn ich hier die Differenz bilde,
dann muss da irgendwie ein Wert größer als 0 rauskommen.
Naja, und jetzt kann ich sagen,
als U nehme ich das Wort von Z0 bis ZI.
Als V nehme ich das Wort von ZI bis ZJ.
Und als W nehme ich dann das Wort von ZJ bis ZE.
Das kommt da oben auch nochmal, das ist das Gleiche hier oben.
Uh, das Wort von Z0 bis ZI und so weiter.
Dann ist jetzt UV, kleiner gleich N, Weil wir ja gesagt haben,
ZJ soll der erste Zustand sein, der Doppeltauftritt.
Deswegen musste das Kleiner gleich N sein.
V ist größer gleich eins, von der Länge her.
Eben wegen diesem J-Ego ist er gleich eins. So,
und dann kann ich die Schleife von ZI nach ZJ beliebig oft durchlaufen.
Weil von ZI und ZJ ist zwar der gleiche Zustand,
aber dazwischen liegen eben noch andere.
Das ist so eine Schleife, die kann ich beliebig oft durchlaufen.
Und trotzdem kann ich dann ja immer von ZJ noch dieses Wort
weh lesen, um zu dem Endzustand ZN zu kommen.
Und daraus folgt eben, dass sie dieses UV-IV-UV-Hoch-IW für
alle Egos gleich null akzeptieren muss
Und schon ist man fertig an der Stelle. Kernidee also zu sagen,
wenn ich nur Endzustände habe und ich da jetzt ein längeres Wort vorlege,
dann muss das Wort eben,
da müssen Zustände doppelt besucht werden und die Schleife,
die deswegen entsteht, die kann ich eben beliebig oft entlang gehen.
Das ist die Kernidee beim Pumping nimmer. Wenn man das jetzt benutzen will,
da steht es jetzt nochmal, sei Ellen eine reguläre Sprache,
dann gibt es dann natürlich die Zahl Endler.
Wenn man das jetzt benutzen will, dann ist das immer ein Widerspruchsbeweis.
Jetzt nehmen wir die Menge auch NBON und sagen,
okay,
angenommen,
die wäre regulär
Dann gilt ja das Pumping-Lämmer für diese Sprache. Das heißt,
es gibt irgendwie eine natürliche Zahl und dann nennt man
die irgendwie K oder so und sagt, okay,
jetzt nehme ich mir noch ein Wort aus der Sprache.
Das länger ist dann als dieses K. Dann nimmt man zum Beispiel AhoKB hoch K.
Und dann zeigt man, dass man alle Zerlegungen zum Widerspruch
führen kann zu eins, zwei oder drei.
Also dass es keine Zerlegung gibt, die alle drei Eigenschaften erfüllt.
Wenn man das gezeigt hat, weiß man,
das Pumping-Lämmer gilt nicht, so wie es eigentlich angenommen wurde.
Also kann die Sprache nicht
regulär sein
Hier nochmal der Ablauf. Annehmen, El wäre regulär.
Irgendwie die Zahl aus dem Pumpinglamer benennen. Es interessiert gar nicht,
wie die genau heißt, sondern einfach nur, dass man sagt,
okay, sei das, sei die Zahl aus dem Pumpinglamer,
sei die K. Dann ein Wort finden,
dass da muss man unter Umständen,
dass es je nach Sprache schwieriger oder nicht so schwierig,
ein Wort finden mit der Eigenschaft,
dass es eben größer gleich K ist.
Sprich, das Wort muss irgendwie parametrisiert von diesem K abhängen.
Und gleichzeitig muss es in L sein. Und dann muss
man alle Zerlegung von Z in UVW betrachten und zeigen,
dass die im Widerspruch zur ersten, zweiten oder dritten Bedingung sind.
Und was man üblicherweise macht, ist,
dass man alle Zerlegungen betrachtet, die erstens und zweitens erfüllen und zeigt,
dass die im Widerspruch zur dritten Bedingung dann stehen.
Warum genügt das? Weil man dann, ich habe gezeigt,
wenn die Zerlegung eins und zwei erfüllt, dann erfüllt sie drittens nicht.
Welche anderen Zerlegungen gibt es noch? Naja, die,
die erstens oder zweitens nicht erfüllen, aber dann erfüllen die
ja schon eins von eins, zwei oder drei nicht.
Das heißt, es reicht, die zu betrachten,
die erstens und zweitens erfüllen und zu zeigen,
dass die dann drittens nicht erfüllen.
Also alle Zerlegung, ZUVW, mit UV,
kleiner gleich K und V-Größe gleich eins betrachten und zeigen,
dass man dann immer ein E finden kann mit UV-IV
nicht in Ellen
Genau. Also das ist der Ablauf. Jetzt mal am Beispiel
von diesem A auch NBON. Also auch NBON ist nicht regulär
, ist die Behauptung. Wir können PDA dafür konstruieren,
wir behaupten jetzt, wir können kein DFA dafür konstruieren.
Angenommen, L wäre regulär. Dann gilt das Pumpinglemma.
Das fängt übrigens immer so an. Also die Beweise starten immer so,
angenommen, L wäre regulär. Und das ist teilweise total lustig,
was man als Abgaben dann in den Übungsaufgaben oder so kriegt.
Also man sagt dann vorher so,
weil bevor abgeben wir jetzt so hier,
der erste Satz ist immer angenommen, L wäre regulär,
weil das ist ja Widerspruchsbeweis und man nimmt das erstmal an und so.
Und dann gibt es Abgaben wie, sei a. ein Automat.
Und ich so, warum? Ich habe es
auch gerade gesagt, angenommen, elf wäre regulär.
Also beim Papilemmer immer starten mit angenommen, elf wäre regulär.
Und dann wisst ihr, dass das Papilemmer gilt.
Und jetzt könnt ihr sagen, sei Karl die Zahl aus dem Pumpinglemmer.
Und jetzt müsst ihr irgendwie ein Wort betrachten,
das in der Menge L drin ist.
Und das mindestens die Länge K hat. Sprich,
ihr müsst das Wort irgendwie mit K-Parametrisieren. Das,
was sich bei solchen Sprachen hier meistens anbietet,
ist die Ns einfach durch die Zahl aus dem Pumpinglemmer zu ersetzen.
Also durch K, sprich irgendwie das Wort A. hoch K.B.-Hochkart zu nehmen.
Das kann man aber nicht immer so machen.
Also man kann zum Beispiel auch zeigen,
dass die Zahl dass die Wortmenge A hoch P mit P
ist eine Primzahl, dass die eben nicht regulär ist.
Und da kann man nicht sagen, sei Ka,
die Zahl aus dem Pumping-Glamour und ich gucke mir jetzt A hoch K an.
Man weiß ja gar nicht, ob Karl eine Primzeit ist oder nicht.
Also kann man damit nicht arbeiten. Das muss man
irgendwie anders dann machen. Aber hier geht das meistens.
Also wir betrachten das Wort A hoch KB hoch K.
Dann wissen wir, das Wort ist in Älteren,
also gleich viele A's gefolgt von gleich viele Bs.
Und wir wissen, von der Länge her ist es größer als K.
Also die Länge ist ja 2K. So,
und dann sagt das Pumping-Glamour, es muss eine Zerlegung geben,
UVW, die die drei Eigenschaften erfüllt.
Also UV, Kleine gleich N, V größer gleich 1
und UV-Hoch-IW
in Älteren
So, jetzt betrachten wir nur jene Zerlegung,
die die erste und zweite Bedingung erfüllen und zeigen,
dass sie im Widerspruch zu dritten sind.
Weil die Zerlegung, die die erste oder zweite Bedingung nicht erfüllen,
naja, die erfüllen ja schon eine der drei Belegungen nicht.
Die muss ich also nicht machen. Dann habe ich nämlich gezeigt,
dass jede Zerlegung von Z in UVW im Widerspruch zu einer
der drei Bedingungen steht und sind dann fertig. So,
wenn wir jetzt also die Zerlegung von A hoch KB hochkarren in UVW betrachten,
die die erste und zweite Bedingung erfüllen, was wissen wir dann?
Sei also Z auch KB hoch KUVW,
eine Zerlegung mit UV Kleiner LKK und V-Größe gleich 1. Wenn ich das beides weiß,
dann weiß ich also,
UV ist vorne in dem Wort drin,
wenn UV Kleiner gleich K ist,
dann muss das in den vorderen As
drin sein
Das Wort fängt ja auch Kabiochka. Ich habe das Wort
KAs, KBs und ich zerlege das in UVW.
Dann muss das UV vorne in den ersten Cast drin sein,
wenn das von der Länge maximal K ist.
Und weil es gleichzeitig das V mindestens die Länge 1 hat,
ist V eben in A-Plus drin.
Also V besteht nur aus As wegen der ersten Bedingung und aufgrund der
zweiten Bedingung besteht es aus mindestens einem A. Das heißt,
es ist irgendwie ein A-Plus drin.
Da UV die ersten Buchstaben von Z ausmacht, aber davon nur Maximalkeit.
K einnehmen kann und der V mindestens die Länge 1 hat
Genauer kann man sogar sagen,
es gibt irgendwie so ein J zwischen 1 und K derart,
dass sich V gerade schreiben kann als A hoch J.
Das braucht man streng genommen nicht, aber hier,
um das noch einmal zu illustrieren, so, ne?
Da ist es jetzt übrigens so, dass wir,
wir wollten ja alle Zerlegungen betrachten, die die erste und zweite Bedingung erfüllen,
und durch die Zeile hier, mit diesem J,
haben wir quasi die Zerlegung jetzt auch noch parametrisiert.
Also wir gucken uns jetzt gleichzeitig all die Zerlegungen an,
wo J1 ist, J2 ist, J3 ist,
J4 ist, J5 ist und so weiter,
die haben wir schön parametrisiert.
Wir müssen ja alle Zerlegungs- und Widerspruch führen,
und damit das jetzt nicht zu aufwendig wird,
betrachten wir jetzt
quasi alle die gleichzeitig
So, und wenn wir jetzt aber das Wort UV-Quadrat W betrachten,
was ja nach der dritten Bedingung in L sein müsste,
dann sieht das so aus. UV-Quadrat W,
ich schreibe jetzt das V zweimal dahin,
sprich zu den KAs, die ich eh schon habe,
kommen noch J viele dazu.
Dann habe ich A hoch K-Plus JB hoch
K. Dann habe ich mir As, als ich Bs habe,
weil J ja größer gleich eins ist.
Ergo ist das Wort nicht mehr in L drin.
Und dann kann aber die ursprüngliche Annahme,
wir haben ja nur angenommen,
dass die Sprache regulär ist,
die kann dann nicht stimmen,
folgliches L nicht regulär
Das ist das Pumping-Glamour und wie man es benutzt.
Und jetzt weiß man halt mit Sicherheit, okay,
dieses Ahuch-N-B-H-N ist nicht regulär. Und jetzt kann man auf genau
die gleiche Art und Weise im Grunde genommen auch zeigen,
dass die Sprache mit den korrekten Klammer ausdrücken, dass die auch nicht regulär ist.
Gegeben die Sprache der korrekt geklammerten Ausdrücke, angenommen die wäre regulär,
dann muss das Pumping dann mal gelten und jetzt nimmt man sich als,
also dann sei gerade die Zeit aus dem Pumping-Nemmer und jetzt nimmt man sich als Wort einfach
K öffnende Klammern und K schließende Klammern. Also K öffnende Klammern gefolgt von K schließenden Klammern,
dann kann ich wieder in den öffnenden Klammern pumpen,
dann werden das zu viele, das Wort ist da nicht mehr drin,
also kann die Sprache nicht regulär sein.
Sprich, um sowas zu erkennen, wie korrekt geklammerte Ausdrücke Und wenn ihr jetzt irgendwie,
keine Ahnung, ihr wollt, ihr schreibt ein Programm,
wo ihr geklammerte Algebrage Ausdrücke einlässt, also irgendwie sowas,
ne, 3 plus 4 mal 5 oder so,
und das irgendwie noch geklammert, das wollt ihr einlesen.
Und dann wollt ihr ja meistens irgendwie die Klammerung rauslesen,
damit ihr wisst, dass ihr jetzt gerade einen Teil,
der irgendwie zuerst ausgewertet werden muss.
Und dann muss irgendwie was passieren. Und dafür würde dann
eben reguläre Ausdruck oder so nicht reichen. Da muss man
irgendwie dann mit anderen Techniken rangehen. Ja, also damit ist bewiesen,
dass der PDA tatsächlich mehr kann als der DFA,
dass er das kann, was ein DFA kann,
wussten wir schon sowieso.
Er kann aber noch A,
auch NBO-N und jetzt wissen wir auch,
der DFA kann das nicht
Also kann der PDA tatsächlich mehr. Das wird nachher die
Sprachfamilie der Kontext freien Sprachen. Warum die so heißt,
sehen wir dann bei den Grammatiken. Aber der kann also
tatsächlich mehr. Abschließend noch mal ein paar Fragen.
Ja, also wovon muss dieses gewählte Wort Z abhängen?
Wenn ihr irgendwie, wenn ihr, ihr nehmt an,
El wäre regulär, ihr sagt Kasa,
die Zahl aus dem Pumping-Lämmer,
wovon muss jetzt dieses gewählte Wort Z abhängen
Anzahl der Zustände von der Zahl aus dem Pumping,
über die man noch spezifizieren muss,
von der Zahl aus dem Pumping,
über die man nicht mehr spezifizieren muss oder irgendwie es muss in der Sprache sein.
Oder fünftens und sechstens für,
weiß ich nicht,
schon wieder vergessen einzuschreiben
Ja, genau. Schöne Gausskurve. Drittens ist es richtig
, also zehn. Wovon mussten das gewählte Wort abhängen?
Von der Anzahl der Zustände des DFA? Nee, das benutzen wir
nur im Beweis. Also wir benutzen im Beweis des Pumping-Lemmers die Anzahl der Zustände des DFAs,
aber wenn wir nachher irgendwie das Pumping-Lemmer benutzen wollen,
um zu zeigen, dass die Sprache nicht regulär ist,
dann sagen wir einfach angenommen, die Sprache sei regulär,
dann gilt ja das Pumping-Lemmer,
dann gibt es ja diese Zahl Chaos dem Pumping-Lemmer.
Wie die genau aussieht,
wissen wir
gar nicht
Das kann auch nichts mit der Anzahl der Zustände des DFAs zu tun haben,
üblicherweise, weil wir nehmen ja üblicherweise eine Sprache,
die nicht regulär ist. Also jetzt didaktisch,
wenn ich irgendwie sage, benutzt man das Pumping-Lämmer oder so,
dann gebe ich euch eine Sprache, die nicht regulär ist,
weil sonst wird der Beweis ja nicht funktionieren.
Wenn die Sprache immer nicht regulär ist,
dann kann es dafür gar kein DFA geben.
Also wie wollt ihr dann mit der Anzahl der Zustände arbeiten?
Das kann nicht funktionieren. Also die Anzahl der Zustände brauchte beim Beweis des Pumping-Lämmers,
aber nicht, wenn ihr das Pumping immer benutzen wollt,
um zu zeigen, dass eine Sprache irgendwie regulär ist.
Deswegen kann man die auch nicht genauer spezifizieren.
Deswegen stimmt es zweitens auch nicht
Drittens eben, ihr arbeitet irgendwie mit der Zahl aus dem Pumping,
aber die man nicht mehr genauer spezifizieren muss.
Man weiß nur, ja, die gibt es oder die
müsste es geben und damit arbeitet man dann einfach irgendwie.
Und das Wort muss lediglich in der Sprache sein,
nee, es muss in der Sprache sein,
aber eben nicht nur nachher, ne?
Also das gewählte Wort Z hängt von dieser Zahl K ab und ja,
es soll in der Sprache sein, aber eben nicht nur.
Wie viele Zerlegungen müssen betrachtet werden? Fünf und sechs
wieder für, wenn man sich nicht sicher ist.
Wie viele Zerlegungen müssen betrachtet werden? Eine muss zum Widerspruch geführt werden,
alle müssen zum Widerspruch Ah, zum Wiederspruch gemacht.
Zerlegung mit bestimmten Eigenschaften müssen zum Widerspruch gebracht werden.
Oder eine Zerlegung mit bestimmten Eigenschaften muss zum Widerspruch gebracht werden
Ähm... Richtig ist... Eigentlich zweitens, man kann drittens noch benutzen,
aber eigentlich ist es zweitens. Die Idee ist ja,
das Pumping-Lämmer sagt ja, Also packen die das ab,
wenn eine Sprache regulär ist,
dann gibt es so eine natürliche Zeit N mit der Eigenschaft,
dass alle Worte,
die länger sind als N. Das ist für die eine Zerlegung gibt,
mit den und den und den Eigenschaften.
Wenn ihr das zum Widerspruch führen wollt, müsst ihr
ja zeigen, dass es diese eine Zerlegung nicht gibt.
Das heißt, ihr müsst zeigen, dass alle Zerlegungen im
Widerspruch sind zur ersten, zweitens oder drittens.
Wenn die Aussage ist, es gibt eine Zerlegung mit eins,
zwei oder drei, mit eins, zwei und drei,
müsste zeigen, dass für alle Zerlegungen gilt,
nicht eins oder nicht zwei oder nicht drei.
Also ihr müsst alle Zerlegungen
zum Widerspruch führen
Und jetzt macht man es üblicherweise so,
dass man Zerlego mit bestimmten Eigenschaften nimmt, nämlich die,
die erstens und zweitens,
also die erste und zweite Eigenschaft aus diesem Pumping der Mal,
nur damit zeigt man quasi automatisch auch, dass die Zerlegung,
also die CDU, die ersten und zweitens nicht erfüllen,
die erfüllen ja schon etwas nicht.
Das ist ja falsch. Also richtig ist,
alle Zerlegungen müssen zum Widerspruch gebracht werden. Das macht man
dann eben so, indem man das Recht allgemein formuliert.
Seit Z, eine Zerlegung UVW mit der Eigenschaft 1 und 2
, dann passiert irgendwie was
Und zuletzt kann man mit dem Pumping dann mal zeigen,
dass eine Sprache nicht regulär ist,
dass eine Sprache regulär ist.
Es kann mit dem Zeitministersprachigen Lea ist
Genau, nein, ist richtig, ne?
Das Pumpinglam kann man nutzen, um zu zeigen,
dass eine Sprache nicht regulär ist. Man kann aber nicht zeigen,
dass eine Sprache regulär ist mit dem Pumpinglam.
Die Aussage ist, wenn eine Sprachregulär ist,
dann gilt bla bla bla. Die Aussage ist nicht,
wenn bla bla bla bla gilt, ist die Sprache regulär.
Die Aussage ist nur in die eine Richtung.
Wenn die Sprache regulär ist, gelten diese Aussagen des Pumpinglams.
Deswegen kann man es nicht benutzen, um zu zeigen,
dass eine Sprache regulär ist.
Das zur Nachbereitung. Und dann nochmal einmal
ganz kurz im Schnelldurchlauf, dass ihr es einmal kurz
nochmal seht
WWRF, die ist ja auch nicht regulär. Und eben haben wir
es ja sehr ausführlich gemacht bei dem Beweis, schneller,
wenn man nachher ein bisschen Übung hat und sagt, okay,
angenommen, L wäre regulär, dann gilt das Pumpingglamour,
sei Kardi Zahl aus dem Pumpingglamour.
Und jetzt muss man ja irgendwie ein Wort betrachten,
das in dieser Sprache L drin ist und das länger als K ist.
So, und da ist es jetzt schon so,
da muss man schon ein bisschen überlegen, welches man nimmt.
Weil wenn man jetzt zum Beispiel 0 hoch K 0 hoch
K nimmt, dann ist das ja ein WWRF drin.
Das lässt sich aber nicht zum Widerspruch führen. Wenn man
aber sowas nimmt, 0 hoch K 1 hoch K 1
hoch K 0
Da ist auch wieder das 0hoch-K1-Hochkasters wie vorne Einzug,
Karnullhochkasters VRF, dann ist das auf jeden Fall in älteren
und ist größer gleich K. Sei zeitgleich UVW,
eine Zerlegung, die die ersten beiden Eigenschaften erfüllt.
Dann weiß ich wieder, dass UV, das ist ja,
beginnt bei dem ersten Buchstaben des Wortes und geht maximal bis zum Kartenbuchstaben.
Das heißt, das UV ist vorne in den ersten K-Nullen drin.
Und weil V größer gleich Eins ist, folgt V hat
wieder irgendwie diese Form 0hoch-J für einen J irgendwie zwischen 1 und K.
Und wenn ich das jetzt wegfallen lasse, UV hoch 0W,
also wenn ich ausnutze, dass ich das V auch nullmal dahin schreiben kann.
Dann habe ich eben gerade wieder so eine Form nullhochk-j,
Einzugk, Einzugk 0hochk, das ist nicht mehr ein L,
Widerspruch zum Pumping-Lämmer, weil das Pumping dann mal sagt,
alle diese UV-hoch-IW müssen in Älteren sein, Annahme falsch,
Elde ist nicht regulär.
Und hier, ja. Bitte? Karl ist irgendwie die Tal aus
dem Pumping-Lämmer. Wir wissen nicht, wie K aussieht.
Das kann nicht theoretisch null sein. Nee, die Aussagen,
wie gesagt, diese Aussage kargenauer spezifizieren zu wollen,
macht keinen Sinn
Weil die, das Pumping, den man sagt,
wenn die Sprache regulierst, dann gibt es irgendwie eine Zahl.
Aus den natürlichen Zahlen. Und die kannst du jetzt nicht
genauer spezifizieren. Da kannst du jetzt nicht sagen,
ich will jetzt aber mal null. Es könnte null sein
, bei einer regulären Sprache. Die Aussage ist ja,
wenn die Sprache regulär ist, bei dem Pumping-Lämmer,
dann gibt es so eine natürliche Zahl, die so und so aussieht.
Du weißt, wenn die Sprache regulär ist, dann gibt
es eine natürliche Zahl. Ja. Das Ding ist,
das ist, das ist, das ist, Ja.
Aber bei dieses Karjasmuhl, ja. Das ist das,
was passiert. Weil das so etwas Einfaches gibt,
dass wir im Ort sein und das können wir machen.
Ja, das macht ja, also es macht ja auch
keinen Sinn zu sagen, zur Hälfte klappt es jetzt.
Lass das mal gleich nochmal ausdiskutieren. Ich mache das mal
kurz zu Ende, ja. Lass das mal gleich ausdiskutieren
. Also die Zahl genau spezifizieren zu wollen,
macht halt
keinen Sinn
Ja. Doch, doch, der Beweis ist korrekt.
Da bin ich mir sehr sicher, dass der stimmt. Machen wir gleich nochmal, ja? Wollen wir gleich nochmal. Da nochmal zum Ablauf,
für die Nachbereitung, dass das,
was wir vorhin auch schon mal hatten, Ablauf des Pumpinglemmers,
da der Hinweis, was ich vorhin auch erzählt hatte,
dass bei dieser Zerlegung oft eine Parameterisierung gelingt,
eben bei diesem Beispiel ein V war null Hochjord oder V war 1 Hochjord,
dass man dann eben gar nicht alle Zerlegungen im Detail betrachtet,
wo eins ist als 2 A3 A4,
sondern eben das Parameterisiert hat,
dass man sagt,
okay,
J ist irgendwo zwischen 1 und
So, und letzte Folie, was haben wir heute gemacht?
Und gestern Kellerautomaten kennengelernt zur Konstruktionsmethoden,
dieses mit dem Zählen und das mit der Zeichenkette,
die man dann eben andersrum auf den Keller schreibt.
Dann haben wir das Pumping-Lämmer kennengelernt und bewiesen und das Pumping benutzt,
um zu beweisen, dass Kellerautomaten tatsächlich mächtiger sind als endlich
Automaten.
Was meinst du genau
Ja. Ja. Also man kann, klar,
man kann sich an den Beweisen orientieren.
Nur die Beweisstruktur ist auch immer ziemlich ähnlich. Also dieses,
ne, angenommen, Elwere regulär ist immer ziemlich ähnlich.
Oder das immer genauso. Wo halt was passiert ist bei der Wahl des Wortes.
Das muss man halt immer irgendwie anpassen, wenn es man da wählt.
Und dass man dann irgendwie zeigen kann, wenn ich da dran jetzt,
was ergibt sich jetzt für mein gewähltes Wort,
wenn eins und zwei gilt.
Und folgt jetzt wirklich dann, wenn ich da dran pumpe,
dass das Wort nicht mehr in Älteren ist.
Die zwei Stellen sind eigentlich die einzige Wahl,
die du anpassen musst. Alles andere bleibt eigentlich immer gleich.
Sonst noch Fragen? Dann viel Spaß in den Übungsgruppen und
wir sehen uns
nächsten Montag