Gut. Wollen wir? Seid ihr alle soweit? Dann.
Ja? Okay. Kamera funktioniert, alles gut. Heute,
wir hatten ja, heute ist der vierte Termin,
wir hatten bisher ein paar Automatenmodelle oder zwei,
drei Automatenmodelle eingeführt, die regulären Ausdrücke eingeführt und so.
Und zum Ausgang der letzten Veranstaltung haben wir uns schon die Frage gestellt,
ob man bei welchen Sprachen man da wohl an die Grenzen stößt.
Also was wohl irgendwie mit DFAs und LFAs nicht mehr gehen wird.
Und was wir bisher gemacht haben,
ist, wir haben also einiges kennengelernt,
mit denen man reguläre Sprachen erzeugen kann oder erkennen kann
Also verschiedene Automatenmodelle, reguläre Ausdrücke. Dann haben wir Abschlusseigenschaften benutzt,
damit man eben aus regulären Sprachen, die man schon hat,
noch mehr reguläre Sprachen bauen kann.
Und Anwendungsfälle haben wir eben gesagt, Worterkennung in Texten,
speziell im Compilerbau, kann man auch noch etliches anderes später mitmachen.
Aber im Grunde genommen erst mit Automatenmodellen, die darauf aufbauen.
Deswegen sind die Anwendungsfälle hier noch ein bisschen eingeschränkt und
später geht dann eben sehr viel mehr damit. Genau,
so und bevor wir jetzt uns ein weiteres Automatenmodell angucken,
wollte ich mal alles, was wir jetzt die letzten Termine hatten,
nochmal so kurz Revue passieren lassen,
dass wir das alles noch einmal sehen und dann können wir
mal die Clicker-Technik hier testen
Also, was haben wir gemacht? Mengen, Mengen,
Operationen und so weiter. Einfach als Grundlage, so als
Basics für alles, was dann kam. Alphabete, Wörter,
Konkretination, damit wir dann mit den Sachen formale Sprachen oder Sprachen einführen konnten.
Und damit, das war so quasi die ganze Grundlage,
so damit konnte man dann sagen, okay,
jetzt führen wir irgendwie den DFA ein, also diesen deterministischen,
endlichen Automaten, deterministisch, weil man eben sagte,
okay, immer wenn ich ihm ein Eingabesymbol liest,
hat er genau einen determinierten Nachfolgezustand.
Formale Definitionen, ich habe eine Menge von Zuständen,
Betonung auf eine endliche Menge von Zuständen,
wenn ich eine unendliche Menge von Zuständen hätte,
dann könnte ich damit auch
irgendwie alles erkennen
Mit einer Endlichmenge von Zuständen eben nicht. Endliches Eingabealphabet,
eine Überführungsfunktion, da steckt eben der Determinismus drin in der Überführungsfunktion,
dass man sagt, Zustand, in dem ich bin und Symbol,
das ich lese, Nachfolgezustand ist eindeutig.
Ein Staatszustand und eben eine Menge von Endzuständen.
Genau, was tut er? Ich lege ihm Eingabewort vor,
er beginnt in seinem Staatszustand, liest irgendwie das erste Symbol von
dem Eingabewort und dann wird eben der Nachfolgezustand anhand der Überführungsfunktion bestimmt.
Das macht man dann in dem dann aktuellen Zustand immer weiter mit dem Restwort,
bis man das Wort eben zu Ende gelesen hat und wenn man
das Wort zu Ende gelesen hat und der Automat in einem Endzustand ist,
dann akzeptiere ich
das Wort
Grafische Darstellung, so. Das Obere lässt man ja meistens
weg und beschränkt sich dann irgendwie auf dieses sogenannte Zustandsübergangsdiagramm in der Mitte.
Unten drunter steht nochmal das mit der Konfiguration und der erweiterten Überführungsfunktion.
Und dann kann man eben sagen,
wenn ich in Z0 bin und noch das Wort A,
B, B, A zu lesen habe,
dann guckt man eben, gibt es eine Kante mit A raus aus Z0,
die gibt es.
Und dann macht man eben diesen Übergang in den eindeutigen Nachfolgezustand
und bei dem Wort geht man auch ein Buchstaben weiter vor.
Und an das A, also an den ersten Buchstaben
kommt man jetzt auch gar nicht mehr ran.
Und dann kann man da weitermachen,
dann liest man noch zweimal das B auf dem Zustand Z1
und dann mit dem letzten A geht man eben in den Endzustand
Und in dem Fall hat man das Wort
bis zum Ende gelesen, hat den Endzustand erreicht.
Also würde man sagen, man akzeptiert das Wort.
In allen anderen Fällen akzeptiert man das Wort nicht.
Dann kann man sich damit die akzeptierte Sprache einführen.
Dann sagt man nämlich, all die Worte,
die der Automat also akzeptiert, die packe ich mir in eine Menge.
Das ist dann die von dem DFA akzeptierte Sprache.
L.A. und all diese Sprachen, also alle Sprachen,
für die es irgendwie einen Automaten gibt, sodass er die Sprache akzeptiert.
Die packe ich mir wieder in eine Menge.
Das ist dann die Familie der regulären Mengen. Also die
Sprachfamilie Recki unten. Boah, das war das so zum DFA?
Also da hatten wir dann noch ganz viele Begriffe so mit Konfirmation,
Rechnung, Erfolgsrechnung, Konfirmationsübergang, all solche Geschichten.
Da steckt hier so ein bisschen drin,
das ist eine Konfiguration,
das Konfirmationsübergang
Und dann haben wir gesagt, okay,
wenn wir jetzt diesen DFA haben und der ist ja wegen des DS da irgendwie determiniert,
kann man das aufweichen, dann kommt man irgendwie zum NFA,
dass man dann sagt,
bei der Überführungsfunktion möchte ich jetzt nicht einen Nachfolgezustand haben,
sondern ich möchte sagen können,
wenn ich in einem Zustand Z bin und ein Angabesymbol X lese,
dann kann ich eben potenziell in mehrere Nachfolgezustände gehen.
Also nicht deterministisch kann der Automat in mehreren Zuständen sein.
Und damit er schon am Anfang nicht deterministisch in mehreren Zuständen sein kann,
ist eben, hat man auch eine Startzustandsmenge.
Das ist der LFA, so sehe er dann zum Beispiel aus,
also ein Beispiel für den NFA, eine schön kompakte Darstellung dafür,
dass man all die Worte akzeptieren will,
bei denen das vorvorletzte Symbol ein A ist
Also das sind all die Worte,
die jetzt irgendwie auf drei As enden oder auf A,
B, B oder auf A, B,
A und so, also das drittletzte Symbol muss ein A sein.
Und beim DFA sieht er schon sehr viel komplizierter aus,
dass der Ende vor allem eine schöne kompakte Darstellung.
Und unten steht nochmal drunter zur Arbeitsweise, wenn ich dem Wort vorlege,
in einer Rechnung arbeitet er quasi genauso wie ein DFA,
aber er kann eben in jedem Schritt,
also wenn ich ihm jetzt das A erstmal vorlege,
dann kann er eben in dem Schritt entweder in Z0 bleiben über die Schleife an Z0 oder er kann eben diesen Übergang zu Z1 machen.
Und das kann er quasi bei jedem Schritt wieder,
also wenn er das dann gemacht hat und das nächste Buchstabe kommt wieder ein A,
dann kann er eben,
wenn er in Z0 ist,
bei der Rechnung wieder in Z0 bleiben oder nach Z1
gehen und aus Z1 raus könnte er
nach Z2 gehen
Dann auch da akzeptierte Sprache, da steckt eben drin,
hier insbesondere, ich starte bei allen Startzuständen,
lege das Wort weh aufs Eingabeband und wenn es jetzt irgendeine Rechnung gibt,
die mich in Endzustand führt, dann akzeptiert der NFA das Wort.
Dann haben wir noch gesagt, wir könnten noch mit Landerkanten arbeiten,
sprich so wie beim NFA auch alles und dann sagen wir,
jetzt sind noch Landerkanten erlaubt.
Und bei den Landerkanten, da unten in der Grafik,
da liest man dem nichts vom Eingabeband, sondern macht einfach nur den Zustandswechsel.
Und in dem Beispiel unten könnte man sich eben als ersten Schritt aussuchen,
ob man nach Z1 oder Z3 geht und da kann man dann
alles lesen und im oberen Teil würde man als letztes Symbol die 1 erwarten und im unteren Teil als letztes Symbol die Null.
Die, die auf 1 enden, akzeptiert man die anderen nicht.
Das hatten wir aber nur so kurz angetatscht, das Thema,
nur dass ihr mal seht, dass es diese Landerkanten auch gibt.
Und dann hatten wir noch ein Nicht-Automaten-Modell, eben diese regulären Ausdrücke,
mit denen man auch die regulären Sprachen beschreiben kann,
die so wie da definiert sind.
Das Spannende sind eigentlich die Sachen beim dritten Punkt,
dass da drüber sagt eigentlich nur, naja,
jedes Symbol aus Sigma ist eben auch irgendwie ein reguläre Ausdruck,
der die Menge beschreibt,
die nur dieses Symbol enthält
Und dann kann man eben mit Plus Konkordination, Hochstern und Hochplus arbeiten.
Im Grunde genommen, so wie man es auch bei Mengen macht,
aber die Streitweise ist nachher kompakter und schneller. Ja,
und dann haben wir, ja, genau,
dann haben wir gesagt, wenn ich ähm, üblicherweise jetzt irgendwie sage,
für diese Sprache hätte ich jetzt irgendwie gerne ein Automatmodell oder einen regulären Ausdruck oder so,
dann würde ich ja irgendwie das Automatenmodell konstruieren.
Und dann muss ich eben immer noch zeigen,
dass es tatsächlich das tut, was ich jetzt beabsichtigt habe,
sprich, wenn ich euch eine Sprache gebe und die konstruierten Automaten A,
dann müsst ihr noch L.A.-Timing, äh,
dann müsst ihr noch L.A. gleich M zeigen,
also die zwei Richtungen dann, L.A.-Timing von M,
sprich jedes Wort, das vom Automaten akzeptiert wird,
ist auch in M und M-Timing von L.A.,
jedes Wort in M wird auch vom Automaten akzeptiert
Und ganz entsprechend kann man das eben auch für NFAs und für reguläre Ausdrücke machen.
Müsste man dann auch mal zwei Richtungen zeigen. Genau,
und dann haben wir gezeigt oder diskutiert,
dass all diese Modelle äquivalent sind,
das ist also der DFA, der NFA,
der NFA mit Lamna kannten und die regulären Ausdrücke,
dass die alle die gleiche Sprachfamilie beschreiben.
Also wenn ich euch eine reguläre Sprache gebe,
dann könnt ihr entweder einen DFA dafür basteln oder einen NFA
oder einen NFA mit Lamna kannten oder einen regulären Ausdruck.
Das ist alles äquivalent. Und durch diese Modelle wird eben
die Familie der regulären Sprachen beschrieben.
Es gibt auch noch ein paar andere,
aber das sind so die, die wir,
eine weitere Lernung auch kennen in der Vorlesung und die anderen
sind dann nicht mehr
so wichtig
Genau, und die Konstruktion, die wir kennengelernt haben,
ist die Potenzautomatenkonstruktion, wo eben gegeben ein NFA durch eine Konstruktionsvorschriften DFA konstruiert werden kann,
der bewiesenermaßen die gleiche Menge akzeptiert oder die gleiche Sprache akzeptiert.
Wenn man also so ein NFAA hat, dann lässt sich so ein DFAB definieren,
indem man eben sagt, die Zustandsmenge des DFAs ist die Potenzmenge der Zustände des NFAs,
also alle Teilmengen der Zustandsmenge des NFAs,
das sind alles Zustände in dem neuen DFA,
Eingabealphabet lässt man so Startzustand des DFAs ist die Staatszustandsmenge des NFAs,
Endzustandsmenge des DFAs sind all die Mengen,
die mindestens einen Endzustand des NFAs enthalten.
Und der Spann ist dann eigentlich nur die Überführungsfunktion und die,
auch wenn die Definition da ein bisschen kryptisch ist,
die wird einfach so gemacht,
indem man all die einzelnen Zustände in der Menge des Zustandes des DFAs durchgeht und immer guckt,
was in dem NFA die Nachfolgezustände und die packt man alle in eine Menge und das ist dann die Nachfolgemenge des DFAs.
Und dann hat man das, dann kann man das für jeden machen.
Und bei den anderen Modellen kann man das auch machen,
sonst würde die Äquivalenz nicht gelten,
aber das haben wir dann im Detail nicht mehr gemacht
Und zuletzt haben wir uns noch mit Abschlusseigenschaften beschäftigt, haben wir gesagt,
wenn wir jetzt in so einer Sprachfamilie wie Reck sind oder allgemeiner,
wenn wir in einer Menge sind und wir wenden auf die Elemente der Menge eine Operation an,
wenn wir immer in der Menge bleiben, dann sagt man,
diese Menge ist abgeschlossen gegenüber der Operation.
Wobei Sprachfamilien ist das dann eben interessant, weil man sagen kann,
naja, wenn ich jetzt zwei reguläre Sprachen habe, dann weiß ich,
es gibt für beide einen Automaten und jetzt möchte man zum Beispiel wissen,
ist der Schnitt dann auch auf jeden Fall wieder regulär,
gibt es dafür auch viele Automaten.
Und wenn man weiß, dass das so ist,
dann kann man das sehen,
nicht wie bei der Potenzautomatenkonstruktion auch einfach anwenden und braucht das nicht jedes Mal irgendwie explizit machen.
Ja, und die, die wir uns angeguckt haben,
Vereinigung, Konkordination,
hoch plus hoch Stern
Die hat man quasi per reguläre Ausdrücke geschenkt gekriegt,
weil das gerade Operationen bei den regulären Ausdrücken sind.
Und Komplimentbildung im Durchschnitt haben wir mit vollständigen DFAs bewiesen.
Also Komplimentbild, ja, Komplimentbildung, da war die Idee,
ich nehme einen vollständigen DFA und ich tausche die Endzustände und Nicht-Endzustände aus.
Also alles, was vorher Endzustand war, ist jetzt keiner mehr.
Alles, was nicht Endzustand war, ist einer.
Dann akzeptiere ich gerade das Kompliment. Und beim Durchschnitt hat man den sogenannten Produktautomaten konstruiert,
wo man als Zustände des Automaten die Tupel genommen,
die zwei Tupel genommen hat, wo man im ersten Tupel
den Zustand des ersten Automaten hatte und im zweiten Tupel-Element,
den Zustand des zweiten Automaten.
Und dann kann man eben quasi im ersten Element
des Tupels in der Rechnung des ersten Automatens nachvollziehen und in
den zweiten Elementen der Rechnung des zweiten Automatens
Ja. Das waren die Begriffe, die wir noch so hatten.
Das war die kurze Wiederholung. Kurz. Fragen dazu.
Oder habt ihr irgendwie Fragen bisher? Zu den ersten drei Vorlesungen.
Alles sitzt perfekt bisher vollständig verstanden alles und so beruhigend.
Fragen, Fragen, Fragen, Fragen, Fragen?
Okay, dann habe ich sechs Fragen, glaube ich.
Jetzt könnte man mit diesem Klicker-Ding
gleich rumspielen
Ja. Und zwar,
die sind teilweise so ein bisschen in der Kategorie Fangfragen,
also das ist jetzt nicht so,
mit Fangfragen kann man immer sehr gut überprüfen für sich selbst,
ob man, ob das Wissen schon wirklich gut sitzt so,
aber das sind dann nicht so die typischen Klausuraufgaben,
also bei Klausuraufgaben hat niemand ein Interesse daran,
komische Fangfragen zu stellen oder so,
da will man ja eher ein bisschen abprüfen.
So,
was will ich
denn machen
Also die Frage ist, wenn Ellen eine Sprache ist,
ob dann auch Sigmar Stern ohne Ellen eine Sprache ist und
falls ja, ob sie dann regulär ist.
Und dann für, nein, also wenn es keine Sprache ist,
dann ist es auch keine reguläre Sprache.
Das heißt, da gibt es nur die Kombination,
nein, nein. Und wenn es aber eine Sprache ist,
dann gibt es ja für die Antwort,
ob sie auch regulär ist,
mehrere Möglichkeiten.
So,
jetzt könnt ihr umklickern
So. Mal gucken
Da kann man mal sehen, dass nur noch 120 Leute anwesen,
also zumindest haben nur noch 120 Leute einen Klicker.
Das ist ja deprimierend bei der Vorlesung,
wo 400 Leute eingetragen sind. Liegt das an mir?
Liegt das am Thema? Liegt das an der Sonne?
Weiß es nicht. Was haben wir denn hier? Ja
und ja. Also nein und nein. Es ist falsch,
weil eine Sprache ist einfach nur darüber definiert,
dass es eine Teilmenge von Sigmar Stern ist.
Also dass da irgendwelche Worte drin sind. Wenn L also
eine Timing von Sigmar Stern ist und ihr betrachtet dann nach
Sigmar Stern ohne die Worte aus L,
dann ist das immer noch eine Teilmenge von Sigmar Stern.
Ihr habt halt aus Sigmar Stern irgendwas rausgeschmissen.
Das heißt, es ist weiterhin eine Sprache.
Also kannst du noch zwei, drei oder vier sein
Jetzt hatten wir ja diese Geschichte mit dem Komplimentabschluss, also wo wir gesagt haben,
wenn eine Sprache regulär ist, dann ist auch ihr Kompliment regulär.
Das war diese Geschichte mit dem Endzustand austauschen. Das heißt,
hier wäre die Antwort ja und manchmal,
weil wenn eine Sprache ist, muss ihr Kompliment nicht zwingend regulär sein,
aber wenn Ellen eine Sprache ist,
die gleichzeitig auch noch eine reguläre Sprache ist,
dann ist ihr Kompliment auch wieder regulär.
Also wenn die Sprache formuliert wäre, als sei Ell eine reguläre Sprache,
ist dann auch Sigmar Stern ohne Ell eine reguläre Sprache, ja.
Wenn jetzt aber einfach nur gesagt ist,
dass das eine Sprache ist, dann muss es nicht zwingend
eine reguläre Sprache sein.
Also ja und manchmal
So, dann... Ja, ein DFA.
Oder ein NFA oder ein NFA mit Landerkanten.
Meinst du gerade, dass es Sprachen L geben kann,
die nicht regulär sind, aber dass Sigmar Stern ohne L
trotzdem regulär sein kann
Ja. Ja. Ja. Achso,
die Aussage mit dem ganzen Kompliment sollte sein, wenn du wüsstest,
dass Ellen eine reguläre Sprache ist, dann weißt du auch hundertprozentig,
dass Sigmar Stern ohne Ellen eine reguläre Sprache ist.
Wenn du wüsstest, dass Ell keine reguläre Sprache ist,
dann weißt du auch hundertprozentig,
dass Siegmar Stern ohne L keine reguläre Sprache ist,
weil das Kompliment ja quasi sowas wie minus minus eins ist,
also etwas, was sich selbst rauslöscht.
Wenn Siegmar Stern ohne L regulär ist,
ist quasi Siegmar Stern ohne Siegmar Stern ohne L,
ja wieder L. So, und das muss dann wieder regulär sein,
so, ne?
Ja, genau. Und wenn L jetzt aber eine zu
den späteren Sprachfamilien gehört, die wir kennenlernen werden,
dann ist eben das Kompliment
nicht mehr regulär.
Die ist nicht so schwierig, glaube ich.
Welche Sprache akzeptiert der DFA
Musik Jetzt mal an. Das sieht doch gut aus.
Genau, B ist richtig, ne?
B-Stern kann ich in dem Zustand Z1 lesen,
dann komme ich mit zwei As zu dem Endzustand und dann kann ich mir noch überlegen,
kann ich da irgendwie von dem Endzustand wieder weg zu dem Endzustand kommen?
Das kann ich halt
mit dieser BA-Schleife machen
Und das erste B-Stern-A-A, all die Worte aus B-Stern-A-A,
werden zwar akzeptiert, aber es gibt halt noch mehr. B-Stern-A plus B-Stern,
da sind Worte drin, die gar nicht akzeptiert werden,
beispielsweise das Wort B. Dann nehme ich mir das Wort B
aus dem B-Stern und aus dem A plus B-Stern nehme ich mir das leere Wort Lamda,
dann habe ich das Wort B konstruiert,
das wird von dem Automat nicht akzeptiert.
Und das vierte ist ja fast so wie das zweite,
da verliere ich aber das Wort,
das nur aus zwei As besteht, unter anderem.
Weil ich durch die Hochplusse auf jeden Fall da zwinge,
dass ich aus dem vorderen und hinteren Teil
mindestens ein Wort rausnehme
Also, das Wort muss mit B beginnen und hinten muss
ein BA stehen. Vielleicht auch mehrere, aber mindestens eins
. Und deswegen akzeptiert er ein paar Worte zu wenig.
Dann... Was ist bei dem NFA da jetzt?
Was ist Delta Dach? Z1 der 2,
wenn ich dann B lese und Delta Dach Z0Z1,
wenn ich ein AB lese
Also dieses Delta Dach ist ja
die erweiterte Überführungsfunktion des NFA
Musik Ja, sieht auch gut aus. Wenn ich in Z1,
Z2 bin und ich lese das B,
dann komme ich von Z1 aus nach Z1,
Z2 und von Z2 aus nirgendwo hin, also vereinige ich die Menge,
die Z1, Z2 enthält mit der leeren Menge,
das ist die Menge Z1, Z2. Und wenn ich in Z0,
Z1 bin und erstmal das A lese,
dann bin ich nur noch in Z1 und wenn ich dann noch das B lese,
bin ich wieder in Z1, Z2. Z1, Z2,
also die Menge, die ist auch tatsächlich erreichbar,
die Menge Z0,
Z1 ist eigentlich gar nicht erreichbar.
Also wenn ich in Z0 anfange,
dann kann ich nur ein A lesen,
dann bin ich in Z1 und dann komme ich nie wieder nach Z0 zurück,
also dass ich nicht deterministisch sowohl in Z0 über den A
als auch in Z1,
das ist gar nicht möglich in dem Beispiel
Aber das ändert nichts an der Antwort, ne?
Nur so. Ja. Ja. Ja. Ja.
äh, äh, äh, äh, äh,
äh, äh, äh, äh m, maximal.
Also, äh, äh, äh, äh,
äh, äh, äh, äh, äh,
äh, äh mat mat, äh, äh,
äh m,
maximal m,
Musik Der Potenzautomatenkonstruktion, ich, die Zustandsmenge des DFAs ist per Definition,
die Potenzmenge des NFAs, also die Potenzmenge der Zustände des NFAs.
Und wenn ihr sechs Zustände im NFA habt,
dann habt ihr die leere Menge, ist eine Teilmenge,
all die einelementigen Mengen sind Teilmengen,
also schon mal eine Menge plus sechs Mengen,
macht schon sieben, dann all die zweielementigen,
das sind nochmal irgendwie sechs mal fünf, ne,
nochmal 30 Stück dazu, all die drei Elementingen und so,
ne, das stimmt nicht,
sechs mal fünf halbe,
ne,
All die drei elementigen, all die vier elementigen,
all die fünf elementigen und all die sechs elementigen.
Oder anders formuliert, wenn ihr sechs Zustände im NFA habt,
dann könnt ihr entweder zu allen Nein sagen,
also sechsmal die Null oder ihr könnt zu allen Ja sagen,
sechsmal die Eins und ihr könnt irgendwas dazwischen machen.
Also könnt ihr quasi von sechsmal 0 bis sechsmal Eins Biene näher durchzählen.
Also habt ihr genau zwei hoch sechs Zustände, das sind 64.
Nicht 6 hoch 2, sondern zwei hoch sechs.
Die habt ihr maximal im DFA.
Deswegen ist die dritte, die vierte richtig.
Und wie viel habt ihr mindestens
Ja, jetzt haben wir eine 5 Zuständen statt mit sechs.
Wie viele Zustände hat ein äquivalenter DFA mindestens
Ich glaube, das ist noch die vorletzte Frage.
Ja, sehen. In 8, 7. B&C,
also wer hat denn dabei C gedrückt?
D kann ich ja noch nachvollziehen,
wenn man halt wieder an die Potenzautomatenkonstruktion denkt
Nach der ist aber gar nicht gefragt. Also wenn ich deine fünf Zustand habe,
ich mache wieder die Potenziautomatenkonstruktion und genau nach Vorschrift,
dann habe ich auch mindestens 32 Zustände halt wieder,
2,5, 2,5 wohlgemerkt, nicht 5,2,
2,5. Und A und B, man könnte denken,
wie viel Zustand hat der Äquivalent der DFA-Minden,
der Wert bei B gedrückt?
Das müssen ja 67 sein. Wer hat bei B gedrückt
? Das sind nur drei verhaltene Meldungen.
Warum kann das mal einer kurz, warum 5?
Kann das einer begründen, warum er das gemacht hat,
ja?
Ja. Das ist der EFA, der ist der große. Genau,
die Antwort war, wenn er jetzt diesen Nicht-Eterminismus gar nicht ausnutzt,
dann ist es ja ein DFA und dann wird er
die gleiche Anzahl von Zuständen haben.
Gleiche Antwort. Okay. Jein. Da steht ja nirgends,
dass der NFA besonders clever wäre. Also nehmen wir mal,
ich habe ein NFA mit fünf Zuständen, alles in Staatszustände,
alles in Endzustände und überall steht A und B dran oder so.
Dann akzeptiert der A, B, Stern.
Ein äquivalenter DFA, der das Gleiche macht,
ist einfach eine Ein-Staatszustand-Endzustand an A, B-Kante.
Also mindestens einen hat er,
weil jeder Automat hat mindestens einen Zustand
Also mindestens ein. Das ist eine Kategorie Fangfrage. Die macht so,
da kann man mal drüber nachdenken und danach drüber schmunzeln,
aber das ist jetzt nicht so sonderlich relevantes Wissen.
Nur, dass ihr halt, ja, was man mitnehmen kann,
ist ein Automat mit so und so vielen Zuständen.
Da ist erstmal nicht gesagt, dass der minimal wäre oder so.
Dafür gibt es auch noch Konstruktionen, aber der kann erstmal umständlich sein.
Deswegen hat minimale, also deswegen könnte ein kleinster DFA,
der Äquivalent ist tatsächlich mit einem Zustand auskommen
Und letzte Frage noch zu dem regulären Ausdrücken,
welcher reguläre Ausdruck beschreibt die Menge A-Stern-Kompliment?
Das Kompliment von A-Stern. Siegmar Stern ohne A-Stern.
Unter der Annahme, dass in Sigmar Stern jetzt A
und B
drin ist
Musik Hm. Ausgeglichen. Also. Das mit den meisten Stimmen,
das dritte, das killen wir gleich mal,
weil es dieses, sorry, weil es hier das Meng-Minus hier,
das ist gar kein regulärer Ausdruck.
Wir haben mit dem regulären Ausdruck nur plus Konkordination,
hoch, ja plus Konkordination, hochplus und hochstern.
Also können wir das nicht machen als regulären Ausdruck.
Bleibt irgendwie 1,
2 und
Und wir wollen die Menge beschreiben, die, naja,
bei denen, Moment, also A-Stenn soll nicht drin vorkommen,
also wollen wir die Menge der Worte,
bei denen jedes Wort nicht nur aus As besteht,
sprich mindestens ein B enthält.
Und mindestens ein B, das ist dieser erste Ausdruck hier,
wo wir sagen, ab plus B Stern,
dann kommt irgendwie mal ein B und dann wieder A plus B Stern.
Das zweite, das sind all die Worte,
die nur aus Bs bestehen, da verlieren wir jetzt aber eine Menge.
Zum Beispiel das Wort A, B ist da nicht drin. Und das vierte,
was ja so ähnlich aussieht wie das erste,
das ist auch fast richtig,
das Doofe ist hier mit dem Stern,
also B Stern in der Mitte,
da könnte ich auch
das Lamm da rausnehmen
Nehme ich mir vorne irgendwie ein A raus, da aus dem B-Stern,
nehme ich mir das Lamda und hinten nehme ich mir,
wenn ich Lust habe,
noch ein A raus und dann habe ich das Wort,
das aus zwei As besteht und das will ich ja gerade nicht mehr haben.
Also hier sind noch Worte drin, die nicht mehr drin sein sollen.
Hätte das mit B plus geklappt? Also ich habe ja schon gesagt,
erstens ist richtig, aber wäre das auch richtig gewesen,
wenn ich da B plus hingeschrieben hätte?
Ja, weil jetzt weitere die, wäre ich
auch auf Abbetreuung mit diesem A. Genau. Jedes weitere,
er sagt gerade, jedes weitere B wäre auch hier hinten
noch in dem A plus B-Stern drin, genau.
Also man könnte eine Menge Gleichheit wieder zeigen. Jedes Wort,
das aus der, von dem einen regulären aus so beschrieben wird,
das kann ich auch mit dem anderen beschreiben und andersrum
Genau, also hier ist richtig, erstens.
Und eine Alternative wäre gewesen mit B plus. Gut,
dann, 60, 80,
90. Ich habe das ja letztes Jahr schon benutzt mit diesen Clickern und
wir haben das am Ende hin nochmal ausgewertet, so mit Fragebögen,
ob die Leute das gut fanden, ob das irgendwie,
ob sie es gut fanden oder nicht so gut fanden.
Ach gut, genau,
und wir haben ausgewertet zum Ende der Veranstaltung hin,
also nicht zum Ende einer Vorlesung, sondern zum Ende der Veranstaltung hin,
so Juni oder so, da wurde das merklich weniger.
Da waren immer noch eine Menge Leute im Raum,
aber dann hast du sowas wie irgendwie,
dann kommt dieses Histogramm so und stehen da plötzlich so,
Raum ist voll und dann sind da irgendwie
so 20,
20 Leute haben geklickert hinzu
So. Und dann haben wir halt das halt auch so ein
bisschen ausgewertet. Und die eine Antwort, das war,
dass man dann teilweise halt bei den späteren Fragen,
weil es ja auch komplexer wird, die Antwort irgendwie nicht mehr wusste.
Und ich hatte oft, so wie heute auch,
das Item vergessen für, weiß ich nicht, oder so.
Das baue ich das nächste Mal auf jeden Fall ein.
Und die andere Antwort, die fand ich spannend,
die war, naja, sinngemäß, ich möchte nicht,
also vielleicht wird das ja irgendwo mitgelockt,
dass ich das war.
Und dann passiert irgendwas
Ich finde es ja gut, dass die NSA-Affäre und so
so langsam in die Köpfe der Leute reingeht und so,
aber das ist vielleicht ein bisschen übertrieben.
Also um das mitzulocken, müssten wir ja irgendwie,
also hier steht jetzt so eine Kiste mit Klickern.
Jetzt müsste ich genau wissen, dass du den einen Klicker
genommen hast oder so, um das dir irgendwie zuzuordnen.
Es gibt solche Klicker, mit denen man das machen kann,
also wo jeder seinen personalisierten Klicker kriegt und so.
Aber das haben wir hier nicht. Also ihr könnt ohne Überwachungsstaat
und so munter durch die Gegend klickern. So. Ja,
richtige Antworten zum Nachbereiten, dass ihr einmal sehen könnt,
was die richtigen Antworten sind.
Und dann wollen wir auch mal hier mit dem
Da wollten wir jetzt aber mit dem Stoff von heute anfangen.
Also. Oder habt ihr noch Fragen zu dem ganzen Wiederholungsteil?
Habt ihr da noch irgendwie Fragen? Nee. Gut. Also,
was wir jetzt ja wissen,
also viele Sprachen sind regulär, vor allem,
wir können ja irgendwie unglaublich viele Sprachen nachher auch durch dieses Ganze,
also wenn man sich einfach überlegt,
was man alles durch reguläre Ausdrücke machen kann,
kriegt man unglaublich viel hin.
Trotzdem ist es schon für dann doch wieder relativ elementare Fälle schwierig,
eine sinnvolle, einen sinnvollen Automaten zu konstruieren oder einen sinnvollen
regulären Ausdruck.
Beispiel die Sprache aller
korrekt geklammerten Ausdrücke
Das braucht man alle Nase lang. Also wenn ihr irgendwie,
was weiß ich, aus einer Datenbank abfangen wollt und dann sind da irgendwie Klammern drin,
nee, aus einer Datenbank ist doof, ne?
Aber Klammern bei irgendwelchen Rechnungen von Excel von mir
aus oder so, ihr wollt korrekt geklammerte Pärchen abfangen.
Normalerweise steht da noch irgendwie was dazwischen, mit Zahlen und Rechnungen und so.
Aber erstmal wollen wir einfach nur die korrekt geklammerten Ausdrücke haben.
Also sowas hier, Klammer auf,
Klammer zu und dann zwei Klammern auf und zwei Klammern zu,
das wollen wir akzeptieren können.
Zwei Klammern auf und eine Klammer zu, wollen wir irgendwie nicht akzeptieren können.
Ist irgendwie nicht korrekt geklammert. Wenn man dafür jetzt versucht,
einen Automaten zu konstruieren oder einen regulären Ausdruck,
dann kriegt man da schon so einiges hin so,
aber irgendwelche Fälle fallen trotzdem immer runter.
Irgendwas kriegt man irgendwie nicht hin
Und jetzt kann man das versuchen,
mit der Sprache zu machen oder man kann das noch weiter runterbrechen,
um erstmal eine Idee für das Problem zu kriegen.
Also mit unseren bisherigen Techniken würden wir scheitern, ihr könnt ja mal versuchen,
irgendwie einen regulären Ausdruck dafür zu konstruieren oder einen Automaten.
Ja, und die Aussage hier ist, geht das überhaupt
so und jetzt kann man sich erstmal eine einfachere Sprache angucken.
Jetzt guckt man sich erstmal A hoch NBON an.
Die hatten wir auch als Ausklang bei der letzten Veranstaltung,
die erfasst halt den Aspekt, dass man sagt,
Endklammern gehen auf, das sind die As und Endklammern gehen zu,
das sind dann
die Bs
Und wenn ich die schon nicht mit dem Automaten hinkriege,
dann kriege ich diese sehr viel komplexere Sprache,
wo erst ein paar aufgehen können, dann gehen ein paar zu,
aber nicht alle und dann gehen wieder welche auf,
wieder welche zu und so,
die kriege ich dann ganz bestimmt nicht hin.
Und bei der kann man sich fragen, ist die regulär?
Und da hatten wir ja letztes Mal drüber geredet,
dass man da auch schon irgendwie denkt, so, hm,
wird irgendwie nicht klappen, weil man irgendwie sich ja merken müsste,
wahrscheinlich für all die As, wie viel ich gelesen habe.
Ich kann mir das aber nur in Zustand merken,
also bräuchte ich irgendwie für jede Kette von As irgendwie einen Zustand,
um mir zu merken,
dass ich 10 gelesen habe oder 100 oder 1000 oder
Das werde ich nicht hinkriegen, das werde ich nur hinkriegen,
wenn hier nicht steht, ah,
hoch NB hoch N, mit Anderson eine natürliche Zahl,
sondern wenn da sowas steht wie, ah, auch ein Beohrennen,
Anderson eine natürliche Zahl und Ende ist kleiner gleich,
1000 oder irgendwie sowas.
Aber wenn ich das mache, dann habe ich eh eine endliche Sprache,
da sind ja nur endlich viele Worte drin und endliche Sprachen sind immer regulär.
Ein Staatszustand und für jedes Wort macht ihr
quasi eine Kette von Zuständen raus und habt den NFA,
aber der akzeptiert genau die endliche Sprache, die ihr haben wollt.
Dann könnt ihr den ja nach Belieben noch zum DFA machen.
Also ist das regulär, kriegen wir auch erstmal nicht hin,
was noch kein Beweis ist,
es kann ja irgendwie einen Tweak geben,
mit dem das geht,
aber erstmal sieht es nicht so aus
Brauchen wir ein neues Automatenmodell, das Bild haben wir letztes Mal auch schon gesehen.
Wir erweitern den DFA um den Keller, also Stack oder Keller.
Da können wir uns Dinge merken, aber wir beschränken uns
ein in dem, was wir uns merken können gleich.
Wir wollen noch nicht, wir wollen das Automatenmodell nicht zu groß machen,
sondern dieses auch im Bio-Hennen ist erst mal unser Ziel,
dass wir das akzeptieren können.
Und dann gucken wir, was wir damit noch so machen können.
Den hier nennen wir dann Kellerautomat. Und die Idee ist,
anders als bisher, wo wir gesagt haben,
im Zustand, in dem ich bin,
gucke ich mir das Symbol auf dem Eingebeband an und mache dann irgendwas.
Hier sage ich jetzt, ich bin in irgendeinem Zustand, beispielsweise in Z0.
Ich habe einen Lese-Schreibkopf auf dem ersten Symbol des Eingabebands und ich habe
noch so einen Leseschreibkopf auf dem obersten Symbol im Keller.
Und dann kann ich immer sagen, die Kanten hier sagen jetzt irgendwie,
wenn ich in Z-0 bin und ein A vom Eingabeband lese,
ein kleines A vom Eingabeband lese und das Bottom-Symbol gerade vom Keller gelesen wird,
dann bleibe ich in Z-0,
gehe auf dem Leseband hier oben ein,
fällt weiter nach rechts und auf dem Stack lösche ich das Kellerbudenzeichen und schreibe dafür das USA und das Kellerbudenzeichen hin.
Wobei das, was hier hinten, also dieses A-Kellerbudenzeichen,
das soll bedeuten,
das Kellerbudenzeichen steht jetzt ganz unten und dann kommt das A. Also es wird quasi,
so wie das Wort dann da von links nach rechts steht,
so wird es dann von oben nach unten,
ist es dann auf dem Keller
Sehen wir auch gleich an den Beispielen. Ja,
das sind die Ideen, dann kann er immer weiter Zustandsübergänge machen.
Und hier bei dem Automaten wäre die Idee halt für jedes kleine A,
das ich lese, schreibe ich mir ein großes A auf den Keller.
Und das mache ich erst mal in Z0,
schreibe ich erst mal fröhlich große As auf den Keller.
Und irgendwann kommt das erste B und dann macht diesen Übergang
nach ZA und löschen großes A vom Keller. Und immer,
wenn ich jetzt in Z1 Bs lese,
also wie ich es vom eigenen Moment lese,
lösche ich mir die großen As vom Keller und irgendwann ist der Keller wieder so weit gelehrt,
dass nur noch das Kellerboden-Zeichen drauf ist.
Und wenn ich jetzt in Z1 bin,
nur noch das Kellerboden-Symbol im Keller ist und ich das Wort ganz bis zum Schluss gelesen habe,
dann kann ich diese in Anführungsstrichen Lamdakante von Z1 nach Z2 machen.
Da lese ich nämlich nichts vom Eingabelband,
aber ich lese noch das Bottom-Symbol vom Keller und dann bin ich in Z2,
der Keller ist Leon, ich habe das eingebewollt bis zum Ende gelesen.
Und dann würde man sagen, jetzt akzeptiere ich mit Lea im Keller.
Das ist die Idee bei diesem Kellerautomaten. Formale Definition,
was haben wir beim DFA gehabt, eine Zustandsmenge,
ein Eingabealphabet, eine Übergangsfunktion, Startzustand und Endzustand.
Das werden wir auch alles hier wieder brauchen.
Weiterhin brauchen wir vielleicht noch ein neues Alphabet für das,
was wir auf dem Keller machen dürfen,
zumindest das Kellerbodenzeichen kommt ja hinzu,
vielleicht noch irgendwas anderes
Das brauchen wir, was brauchen wir noch? Und die Zustandsübergangsfunktion,
die müssen wir irgendwie anpassen. Das müssen wir jetzt so machen,
dass wir abhängig vom Zustand, in dem ich bin,
vom Eingabesymbol, das ich vom Band lese,
vom Kellersymbol, das ich vom Keller lese,
mache ich einen Übergang in einen anderen Zustand und ich schreibe was auf dem Keller.
Das muss irgendwie abgedeckt werden. Also nicht die terministischer Kellerautomat.
Hier ist es so, dass wir gleich den Nicht-Eterministischen definieren,
also mit dem deterministischen, halten wir uns gleich erstmal gar nicht auf.
Wir machen das gleich nicht deterministisch. Ein Siebentubel mit,
endliche Mengen von Zuständen, hatten wir schon endliches Eingabealphabet,
hatten wir schon.
Jetzt kommt dieses endliche Alphabet von Kellersymbolen
Da wird auf jeden Fall dieses letzte Symbol in dem Tupel,
nämlich dieses Kellerbodenzeichen, das wird da auf jeden Fall drin sein und dann eben vielleicht noch weitere.
Und jetzt kommt diese Überführungsfunktion, die sieht jetzt ein bisschen wilder aus. Da sagen wir eben,
Zustand, in dem ich bin und Symbol,
das ich vom Eingabeband lese,
wobei hier jetzt explizit auch Lamda erlaubt ist,
also nichts zu lesen und Symbol,
das ich vom Keller lese und auch da,
ihr lest genau ein Symbol vom Keller,
also ihr müsst immer ein Symbol vom Keller lesen und
jetzt macht ihr einen Übergang in Tupel bestehend aus Zustand und
irgendwie ein Wort aus Gamma Stern
Und nicht die Terminismus halt hier wieder durch die Potenzmenge gegeben. Und jedes Tupel,
da sagt eben Zustand, in den ich wechsel,
das ist das Element aus Z und Wort,
das sich auf den Keller schreiben soll.
Das ist das, was in Ghamma Stern steht.
Wenn dann Lamm da steht, dann löscht ihr einfach nur das Symbol,
was ihr gelesen habt. Wenn da irgendwie mehr steht,
dann löscht ihr das Symbol, was ihr gelesen habt.
Und das, was da jetzt in diesem Tupel steht,
also dieses Element hier aus Ghamma Stern,
das schreibt ihr auf den Keller.
Dann habt ihr noch den Bengen von Staatszuständen,
eine Menge von Endzuständen und im Tupel eben schon extra darin,
dass man weiß,
was man als Kellerbodensymbol nimmt
Wenn man später irgendwie wilde Konstruktionen mit mehreren PDAs hat oder so,
dann hat vielleicht auch der eine mal das hier als Kellerbodenzeichen und
der anderen Dollarzeichen und der andere noch irgendwas anderes oder so,
damit man die dann auseinanderhalten kann.
Und deswegen steht das immer schon im Tupel mit drin.
Nee, Lamda ist nie in Enkenalphabet drin.
Er hat gerade gefragt, ob das Kelleralphabet Lamda enthalten kann.
Nee, Lamda ist das spezielle Symbol für das leere Wort.
Das ist nichts, was du lesen kannst.
Deswegen ist das nie in Alphabeten mit drin.
Also auch tatsächlich später nie in irgendeinem Kontext.
Das Lamda ist nie in dem Alphabet mit drin,
weil das eben explizit das Symbol ist für nichts, also nichts, was man lesen will. Was man machen kann,
ist, wenn man nachher so ähnlich wie dieser NFADFA-Konstruktion irgendwie Kellerautomaten machen will,
der irgendwie was ähnliches tut wie der andere und dann aber noch zusätzliche Dinge,
dann kann man beispielsweise dieses Kellersymbol des Einautomaten bei dem anderen als ganz normales Symbol benutzen und ein anderes Kellerbodenzeichen haben,
dann kann man beispielsweise den Keller des anderen Automaten simulieren,
weil man dann weiß, wann der sein Kellerbodenzeichen erreicht hat.
Ja, gut, wie beim NFA kann man statt dieser Überführungsfunktion auch so eine Kantenrelation machen,
dann ist das, sieht man sehr deutlich,
dass das genau die Kanten sind,
die wir eben kurz an diesem Übergangsdiagramm gesehen habt,
Zustand, in dem man ist, Symbol,
das man von der Eingabe liest, Symbol,
das man vom Keller liest, Wort,
das man auf den Keller schreibt und Zustände,
die man wechselt und die drei Dinge in der Mitte,
also das Sigmar vereinigt mit Lamdagamma und Gamma Stern.
Das waren die Sachen, die man an die Kante geschrieben hat und
die Kante geht von dem ersten Zustand aus und landet beim letzten Zustand.
Ja, dann kommen wir noch die Konfigurationen definieren,
anders auch wieder als beim NFA oder DFA,
wo man halt als Konfiguration nur den Zustand hat und das Wort,
was man noch lesen will, es besteht jetzt eine Konfiguration aus Zustand,
Wort, das man noch lesen will und Symbolkette, die noch auf dem Keller ist.
Mit der Bedeutung, A ist im Zustand Z,
wie es noch auf dem Eingabeband zu lesen und der aktuelle Kellerinhalt ist V.
Und da nochmal das V sieht dann so aus wie irgendwie A,
B, Kellerbudenzeichen, sprich das,
was ganz recht steht bei diesem Wort,
das ist im Keller ganz unten,
das was ganz links steht bei dem Wort,
das ist im Keller
ganz oben
Und dann kann man sich die Überführungsrelation wieder als von einer Konfiguration in die andere definieren,
also als Relation von einer Konfiguration in die andere.
Ja, und dann definiert man sich das wieder,
wenn ich im Zustand Z bin,
auf dem Band noch XY steht und auf dem Keller YW,
dann ist die Nachfolgekonfigurtion eben so wie hier definiert.
Ich bin von Z nach Z Strich gegangen,
auf dem Eingeband habe ich das X gelesen und wobei X halt
auch Lander sein kann und auf dem Keller ist aus dem Y-Y-Strich geworden.
Wobei dann eben das Z-Strich Y-Strich,
das muss eben ein Element sein in dieser Überführungsrelation.
Sprich, auf dem Eingeband lese ich das X,
was auch Lander sein kann,
auf dem Keller lösche ich auf jeden Fall
das Y und schreibe
Y-Strich hin
Sprich, wenn ihr nichts vom Keller löschen wollt, dann muss das Symbol,
was ihr gerade vom Keller gelesen habt, wieder hier bei dem Y-Strich auftreten.
Rechnung ist wieder eine Folge solcher Übergänge und eine Erfolgsrechnung nennt
man das dann wieder, wenn, na, das kommt gleich.
Die von MPDA mit Liam Keller akzeptierte Sprache,
da gibt es nämlich Unterschiede, jetzt sagt man,
ich kann mit Liam Keller akzeptieren,
das soll die Sprache sein, der Worte aus Sigmar Stern,
sodass ich im Staatszustand starte oder eigentlich in einem Staatszustand starte,
das Wort W
Im Staatsgeschäft starte ich das Wort W ist auf dem Eingriffelband
und auf dem Keller ist nur das Kellerbodenzeichen.
Und jetzt komme ich irgendwie durch Konfirmationsübergänge dahin,
dass ich in einem Zustand Z lande,
das Eingabewort bis zum Ende gelesen habe.
Das ist also genauso wie beim DFA auch,
das Eingewort muss bis zum Ende lesen.
Und der Keller muss komplett leer sein. Dann würde man
das Wort akzeptieren. Das ist akzeptieren mit Lea im Keller
. Da geht es also nicht darum,
ob ich irgendwie in Endzustand komme oder so, sondern nur darum,
dass ich das Wort bis zum Ende lesen kann und dann der Keller leer ist.
Dann würde ich sagen, ich akzeptiere. Und von einem PDA
mit Endzustand akzeptierte Sprache, das kann man auch machen,
Start genauso. Ich starte in der Konfirmation Z 0
wie Kellerbodenzeichen und jetzt muss ich aber irgendwie in einen Endzustand
ZE kommen und das eigene Wort zum Ende gelesen habe.
Und wie da der Keller aussieht, das ist dann egal.
Das sind beides die Akzeptanzbedingungen für PDAs, die unterscheidet man.
Da oben stehen sie nochmal und die Anmerkungen eben ungefähr das,
was ich eben auch gesagt habe,
bei dem Akzeptieren mit Leam Keller werden die Endzustände nicht benutzt.
Wenn ich mit Endzustand akzeptiere, dann ist mir der Kellerinhalt
am Ende egal. Bei beiden muss ich aber das Wort
bis zum Ende gelesen haben. Und jetzt die Anmerkung hier,
weil das im Skript ein bisschen anders ist,
statt diesem El Lamda ist im Skript immer NA.
Und statt dem LZ ist im Skript oft LA,
dass sie da nicht durcheinander kommt.
In den Aufgaben schreibe ich meistens explizit dazu,
was ich meine
Ich habe übrigens keine Ahnung, wie historisch dieses NA zustande gekommen ist.
Also für MT kann das ja irgendwie nicht stehen.
Für Keller irgendwie auch nicht. Ich habe keine Ahnung. So,
da das Modell nicht terministisch ist, genügt es wie beim NFA,
wenn eine Erfolgsrechnung irgendwie existiert. Wichtig ist, wie gesagt,
ihr müsst das Wort bis zum Ende lesen. Und wichtig ist auch,
diese beiden Mengen, also die Menge,
wo ich mit dir im Keller akzeptiere und die Menge,
wo ich mit Endzustand akzeptiere,
Also die schmeißt die nicht irgendwie zusammen oder so,
sondern ihr nehmt euch einen PDE, entweder konstruiert ihr den PDA,
wo ihr mit Lea im Keller akzeptieren wollt oder ihr konstruiert euch einen PDA,
wo ihr mit Endzustand akzeptieren wollt.
Oh, das ist eben PDA gegeben, wo ihr explizit gesagt wird,
da soll es mit Endzustand akzeptieren oder es ist ein PDA gegeben,
wo explizit gesagt wird, er soll mit Lea im Keller akzeptieren.
Man kann auch ein PDA vorlegen und nach beiden fragen,
aber was keinen Sinn macht, ist,
dass ihr quasi die Menge irgendwie zusammenschmeißt,
dass ihr sagt,
ja,
das eine Wort akzeptiert dann mit Lea im Keller und das andere Wort akzeptiert dann mit Endzustand und dann tue ich die irgendwie zusammen oder so.
Das kann man, wenn man möchte, auch untersuchen,
tut man da üblicherweise nicht.
Also deswegen
die Mengen schön voneinander trennen
So, was man jetzt aber zeigen kann, ist, beide Akzeptanzbedingungen sind äquivalent.
Das heißt, so ein PDA mit einer Sprache,
die ja irgendwie mit Endzustand akzeptiert, kann ein PDA-Strich konstruiert werden,
der die Sprache mit Lea im Keller akzeptiert und andersrum genauso,
wollen wir im Detail nicht machen, weil wer möchte,
kann sich das eben im Skript mal durchlesen.
Das ist eine relativ wilde Konstruktion,
weil man sich dann irgendwie Dinge auf den Keller schreibt,
damit man den anderen simulieren kann und sowas und irgendwie wissen kann,
wann der andere jetzt gerade,
wenn bei dem anderen der Keller leer ist,
kann man,
wen es interessiert,
kann sich das angucken
Führt jetzt erstmal zu nicht zu, also ich wüsste nicht,
wo man die Technik sonst noch gebrauchen kann, deswegen habe ich die mal rausgenommen.
Aber für euch zu wissen, beide Akzeptanzbedingungen sind äquivalent und meistens konzentrieren wir uns halt auf die mit Leer im Keller. Gut,
informale Funktionsweise nochmal, beginnt im Startzustand und mit dem Bottom-Symbol im Keller,
also mit dem Kellerboden-Symbol im Keller und wenn der Automat jetzt irgendwann im Zustand A ist,
vom Eingabeband, das A liest und vom Keller das X,
das X ist dann ganz oben auf dem Keller,
dann kann er eben ein Element aus dieser Zustandsübergangsfunktion aus dem Bild der Zustandsübergangsfunktion auswählen und dann,
wenn man jetzt dieses Element ausgewählt hat, seit Strich W,
dann wird eben in den Zustand Z-Strich gewechselt, der Lesekopf,
auf dem eingewandt ein Feld nach rechts bewegt,
das X vom Keller gelöscht und das X durch W ersetzt.
Das erste Symbol von W ist ganz oben auf dem Keller,
das letzte Symbol von W ist quasi da,
wo bisher das große X war. Und auch da,
weil man es hier jetzt nicht so gut sehen kann,
dieses A hier, das kann auch das Leere-Symbol sein,
also man muss nichts vom Eigenabelband lesen,
dieses X hier ist genau ein Symbol vom Keller,
also man muss genau ein Symbol vom Keller lesen und das
W hier können zwischen null und beliebig viele Symbole sein von den Kellerbodensymbolen,
das ist ein beliebig langes Wort aus Gammastern
So, jetzt haben wir die Sprache. Wie würdet ihr dafür
deinen Automaten konstruieren, der die mit leerem Keller akzeptiert oder
auch mit Endzustand haben, weil wir mit leerem Keller.
Wie würdet ihr das machen? Moment, hatten wir das
nicht schon? Das habe ich schon erzählt vorhin, ne?
Mensch. So sieht das aus. Den haben wir ja
schon. Genau, ich hatte mir nämlich vorgenommen,
auf der Folie nicht zu lange zu verweilen,
sondern nur zu sagen,
so sieht das aus.
Na gut,
also man liest in
Die kleinen As und schreibt sich für jedes ein großes A auf den Keller.
Und hier könnt ihr eben auch sehen, was ich vorhin erzählt hatte,
das Kellerbodenzeichen muss ja am Anfang gelesen werden so.
Und weil ich das aber weiterhin auf dem Keller haben will,
schreibe ich es mir hier auch gleich wieder hin.
Also ich lese das Kellerbodenzeichen,
lösche es und schreibe dann aber groß A-Kellerbodenzeichen auf den Keller,
sprich das Kellerbodenzeichen bleibt da und ein großes A steht da drüber.
Und hier durch dieses, was da drunter steht,
der Konfigurationsübergang da drunter, da wird dann immer ein großes A
vom Keller gelesen und gelöscht und zwei große As hingeschrieben.
Sprich, es ist eins dazugekommen.
Eins wird durch zwei ersetzt, also kommt genau eins dazu
Man kann das auch so definieren, dass man das nicht löscht,
was man liest, aber das wird umständlich.
Das ist so ein bisschen eleganter. Dann die Kante hier von Z0 nach Z2,
die braucht man nur, um das leere Wort zu lesen.
Also wenn man jetzt sagt, 0 ist auch eine natürliche Zahl,
dann ist A hoch 0B hoch 0 das leere Wort,
das soll also auch in Älteren sein, um das zu kriegen,
muss man eben nichts vom Eingemüllband lesen und löscht gleich das Kellerbodenzeichen.
Aber der übliche Weg wäre für all die anderen Worte,
für jedes kleine A, das ich lese,
schreibe ich mir ein großes A auf den Keller.
Und dann lösche ich die alle beim Lesen der Bs,
da muss ich genauso viele Bs gelesen haben, wie ich As gelesen habe.
Und da ich hier in dem Diagramm auch die ganze Zeit
nur von links nach rechts gehen kann,
kann ich eben auch nicht so Sachen machen wie ersten paar As lesen,
dann ein paar Bs lesen,
dann wieder ein paar As lesen oder irgendwie sowas,
das wird nicht funktionieren
Ja, Beispiel am AABB, wenn ich damit anfange,
dann lese ich eben ein kleines A,
schreib mir ein großes auf den Keller,
dann lese ich noch ein kleines A,
schreib mir noch ein großes auf den Keller und jetzt kommt dieser Übergang nach Z1,
wo ich schon mal ein großes A lösche,
dann sieht er schon so aus, dann bleibe ich in Z1,
lösche noch das weitere große A,
während ich das B lese und jetzt habe ich das eingebewahrt,
eben bis zum Ende gelesen und auf dem Keller ist aber noch das Kellerbodenzeichen und dann kann ich noch diese,
in Anführungsstrichen,
Lamda-Kante von Z1 nach Z2 machen und bin da und dann akzeptiere ich,
das Wort habe ich zu Ende gelesen,
der Keller ist leer,
also akzeptiere ich
das Wort mit leerem Keller
Und der Automat hat ja auch gar keine Endzustände, also der kann nicht mit Endzuständen akzeptieren.
Wenn ich hier aus Z2 in Endzustand machen würde, dann wären dem Beispiel,
die mit Endzustand akzeptierte Sprache und die mit leerem Keller akzeptierte Sprache identisch.
Kann man auch machen. Ja gut, anderes Beispiel A,
B, B, dann wird er jetzt ein A lesen,
danach den Übergang mit dem kleinen B, machen das A wieder löschen.
Und jetzt kann er zwar auch diese Lamderkante von Z1 nach Z2 nehmen,
sprich nichts vom Angebot wandlesen und das Kellerbodenzeichen löschen,
dann sieht das so aus,
aber jetzt hat er das Wort nicht zu Ende gelesen.
Und wenn das Wort nicht zu Ende liest,
akzeptiert er nie. Der Keller ist zwei leer,
das ist so schön, aber er hat das Wort nicht
zu Ende gelesen
Und mit Lea im Keller kann man auch nicht mehr weiterlesen.
Also wenn ihr euch an die Zustandsübergangsfunktion erinnert,
man muss vom Keller immer ein Symbol lesen.
Also hier jetzt noch irgendwie, ups, geh jetzt noch
irgendwie eine B-Kante ranzumachen oder so, das führt zu nix.
Ich muss vom Keller ein Symbol lesen.
Vom Eingabeband kann ich das leere Wort lesen vom Keller nicht.
Nicht akzeptieren, weil der Keller nicht leer ist, ne?
Da hat man zwar das Wort zum Ende gelesen bei zwei kleinen As,
aber der Keller ist nicht leer, also akzeptiere ich nicht.
Und es ist auch kein Endzustand,
also akzeptiere ich auch nicht mit Inzustand
Ja, so, jetzt kann man sich einmal überlegen,
alles, was der DFA kann,
kann auf der PDA, also ähnlich wie alles,
was der DFA kann, kann auch der NFA.
Jede Kante im DFA wird beim PDA einfach durch eine Kante
ersetzt, wo nichts mit dem Keller passiert.
Ich lese das Kellerbodenzeichen und schreibe es gleich wieder.
Und dann will man mit Leam Keller akzeptieren,
dann würde man an jeden Endzustand des DFAs noch so eine Kante anfügen,
wo man das Kellerbodenzeichen löscht.
Und wenn man mit Endzustand akzeptieren würde, dann kann man alles so lassen.
Sprich, PDA ist mindestens so mächtig wie NFA,
PDAs müssen so mächtig wie DFA oder damit auch mindestens mächtig wie der NFA.
Und Frage ist noch, ob er dann tatsächlich mehr kann
Das machen wir aber erst nächstes Mal. Was wir jetzt gesehen haben,
ist, dass er A hoch in Biochren akzeptieren kann.
Wir vermuten, dass der DFA das nicht kann.
Morgen beweisen wir das nochmal, dass er das tatsächlich nicht kann.
So, ui. Der Automat,
in welchem Zustand kann man nachlesen,
von 0011 sein
Das sieht zu wenig aus,
da macht das mal voll
Wer gehört denn zu den illustren 40 dabei C?
Ein Vorteil der Clickers übrigens, dass die anonym sind.
Deswegen frage ich dann auch immer, wer das geklickt hat.
C. Wie macht ihr denn den Zustandsübergang von Z1 nach Z2?
0, 0. Also ich meine,
vielleicht übersehe ich hier gerade was.
0,0,
1,1,1,1. Nee
Wie macht ihr den? Also ihr lest 0-
0 1, nee, erzähl mal irgendeiner,
wo seid ihr nach den vier Symbolen?
Wert, wert, drittens gedrückt, C.
Wer hat dritte Tönnies gedrückt?
Erzähl mal. Ja
Ja. Nee. Du hast ja gerade das Wort zu Ende gelesen,
oder? Okay, was liest du denn in Z0?
Du liest 001. Ja, also wenn ich hier irgendwie,
alles, was ich hier, das, was ich hier lese,
in Z0 vom Eingewöhnen, das schreibe ich mir auf den Keller.
Also die sechs Kanten bei Z0,
die sagen, wenn ich eine Null lese,
schreibe ich mir eine Null auf den Keller,
wenn ich eine Eins lese,
schreibe ich mir eine Eins auf den Keller
Jetzt mache ich irgendwann diesen Übergang von Z0 nach Z1 und in Z1
kann ich jetzt nur noch genau so wie die Symbole auf dem Keller sind, lesen vom Eingebeband.
Und dann muss das Eingebeband irgendwie leer sein,
damit ich dann eben diesen Übergang machen kann zu dem Zustand Z2.
Was ich machen kann, also ich kann,
die kannten ja die ganze Zeit benutzen,
dann bin ich in Z0 und ich kann den Übergang von
Z0 nach Z1 halt am Ende des Wortes machen,
dann bin ich bei Z1, aber weiter komme ich nicht.
Also die richtige Antwort ist B. A ist halt nicht richtig,
weil da nur Z0 steht
Z1 ist auch erreichbar, weil ich quasi,
nachdem ich das Wort 0011 gelesen habe,
ist ganz oben auf dem Keller die Eins.
Und dann kann ich halt hier den mittleren Übergang machen,
um von Z0181 zu kommen. Also Z00Z1 ist richtig,
Z2 ist gar nicht erreichbar bei dem Beispiel.
Unabhängig vom Eingabewort, in welchen Zuständen kann man sein,
sodass der Keller leer ist
Ja, das ist, das ist noch relativ einfach.
Wenn ihr euch die Kanten anguckt, könnt ihr mal gucken,
es gibt nur eine Möglichkeit, das Kellerbodenzeichen irgendwie zu löschen.
Und das ist halt die einzige Möglichkeit,
den Keller leer zu machen, ne?
Also zumindest letztendlich, alles andere muss ich vorher
auch mal löschen,
Ja, ne, genau, der dritte.
In Z1 kann ich zwar ganz viele Symbole rausschmeißen,
aber ich werde das Kellerboden-Zeichen, das Kellerboden-Zeichen nicht los.
Alle kannten, die irgendwas mit dem Kellerboden-Zeichen zu tun haben,
also die beiden Oberen bei Z0 und die untere bei dem Übergang von Z0Z1,
die schreiben das Kellerboden-Zeichen wieder zurück,
also wird es
nicht gelöscht
Und die einzige Stelle, wo das mal passiert,
ist hier bei dem Übergang von Z1 nach Z2. Also wenn es irgendwo
die Möglichkeit gibt, dass der Keller mal leer ist,
dann ist das in Z2 der Fall.
Also in, genau. Und in Z1 kann man den
nicht leeren, weil man zwar alles in Z1 löschen kann,
aber eben nicht das Kellerbodenzeichen.
Und jetzt, wo kann man nachlesen,
von 0-1-1-0 sein
Musik C ist richtig, ne? Ich kann 0-
1-1-0 komplett in Z0 lesen, wenn ich das möchte.
Dann habe ich es zu Ende gelesen und bleibe da.
Ich kann, wenn ich möchte, die Rechnung noch dadurch weitermachen,
dass ich noch die Landerkante nach Z1 nehme.
Damit ich in Z00 Rillaset 1. Oder ich kann es so machen,
dass ich das 0-1 in Z0 lese.
Jetzt steht 1-0 auf dem Keller,
weil durchlesende 0 kommt der Null auf den Keller,
durchlesen, von der 1 kommt die 1 auf den Keller,
es ist die 1 oben.
Jetzt mache ich die Landerkante nach Z1.
Jetzt lösche ich 1-0 vom Keller in
Und dann mache ich die Lamderkante tatsächlich nach Z2.
Das kann ich in Z0, Z1 oder Z2 sein.
Und damit würde ich jetzt in Z2 mit Leer im Keller akzeptieren.
Von Idee her, welche Sprache wird der Automat akzeptieren?
Was meint ihr? Das ist eine Idee. Also mit Leer im Keller?
Ja, genau. Symmetrisch, ne? Also irgendwie,
ich habe ein Wort und das halbiere ich quasi.
Und die zweite Hälfte muss das erste Wort genau andersherum sein.
Also wenn ich hier 0-1-1 habe als Anfang,
dann muss danach 1-1-0 kommen.
Weil ich das erste Wort quasi andersherum auf den Keller schreibe.
Das letzte Symbol des ersten Teil, wo das ist das
erste Symbol im Keller und dann kann ich es genauso wieder runterlesen.
Das werden wir
gleich Spiegelwörter nennen
Ja, das habe ich schon so oft gemacht,
das machen wir mal kurz so.
Bei diesem Automaten können wir mit Lea im Keller nicht mehr
lesen, weil es keine Kante aus Z2 herausgibt.
Also wir haben ja vorhin festgestellt, Z2 ist der einzige
Zustand, wo der Keller gelehrt werden kann.
Ist es im Allgemeinen möglich, bei leerem Keller weitere Aktionen auszuführen?
Also zum Beispiel eine Kante, dass ich von Z2
durch nichts lesen, wieder nach Z0 kann.
Ist das möglich, ja oder nein?
Nein, das ist nicht möglich. Nach Definition muss man
immer was vom Keller lesen, immer genau ein Symbol vom
Keller lesen
Ja, richtige Antworten. Und den hier, den Automaten,
den gucken wir uns, wenn wir gleich noch Zeit haben,
noch an. Ja, es wird schon eng.
Machen wir den nochmal? Da haben wir jetzt behauptet,
dass der A-Hoch NBO-Renner kennt mit Lea im Keller.
Das war dieser Automat, wo wir sagen,
wir schreiben erst die ganzen As auf den Keller,
die ganzen Große As auf den Keller,
immer wenn wir ein kleines A lesen und danach löschen wir die wieder.
Und auch da wieder zwei Richtungen sind zu beweisen,
genauso wie wir das die ganze Zeit bei den DFAs und
den NFAs gemacht haben, muss man wieder zwei Richtungen zeigen.
Meistens ist es recht hilfreich, sich so ein Sonderfall
wie das leere Wort, den gleich erstmal abzufrühstücken.
Man kann sich überlegen, das leere Wort ist in M
drin,
Und dann kann man eben sagen, naja,
wenn das leere Wort als eingebewortet vorgelegt wird,
dann kann man von Z0 diese untere Kante nach Z2 gehen und damit den Keller löschen.
Dann hat man nichts vom Eingebeband gelesen, das Eingebeband bleibt weiterhin leer.
Der Keller ist leer, also akzeptiert er. Und dann
kann man jetzt nachfolgend davon ausgehen, dass das Wort,
was wir untersuchen, mindestens die Länge eins hat.
Dann braucht man nicht immer diesen Sonderfall, dass das Wort leer ist.
Erste Richtung. Auch ein Bio-Rennen ist eine Teilmenge von N
hoch A. Die ist relativ einfach, die Richtung,
wenn ich irgendwie ein Wort kriege, das in dieser Menge ist,
dann sieht das eben irgendwie so aus, auch NBO-N mit Endgröße gleich 1.
Und in A kann man jetzt eben die unten angegebene Konfirmation,
die unten angegebenen Konfliktionsübergänge machen,
dass man eben am Anfang in Z0 bleibt und für das kleine A,
was man liest, ein großes A hinschreibt.
Das ist dieser oberste Konfirmationsübergang. Danach macht man die
zweiten Konfirmationsübergänge hier, bei denen man in Z0 bleibt.
Für jedes kleine A, das man liest,
schreibt man großes A auf den Keller und dann ist man irgendwann mit dieser Konfirmation,
dass man sagt, ich bin immer noch in Z0, B hoch
N muss ich noch vom Eingebüllmann lesen und Groß A hoch
Endes im Keller und das Kellerbundenzeichen. Und dann macht man eben den Übergang zu Z1,
das 1B weniger und ein Groß A weniger und dann macht man die Schleife an Z1 die ganze Zeit,
bis die Bs alle gelesen sind und die Großas alle gelöscht sind und dann hat man nichts mehr auf dem Eingebüllmann und auf dem Keller nur noch das Kellerboden zeichnen.
Und dann kann man eben den Übergang von Z1 nach Z2 machen,
landet in der Konfiguration, Z2 Lamda Lamda und nach Definition wird man sagen,
okay, ich habe das Eingeholwort zu Ende gelesen,
der Keller ist leer, also akzeptiere ich.
Folglich ist dieses Wort auch in Buchen wird mit leerem Keller akzeptiert.
Rückrichtung, jetzt will ich zeigen, dass alles,
was der Automat mit leerem Keller akzeptiert, tatsächlich diese Form auch in Buchen hat.
Wenn wir mit leerem Keller akzeptiert wird und länger ist als eins,
weil diesen Fall mit Länge Null,
den haben wir eben schon ganz am Anfang gemacht,
dann kann man sich überlegen,
der Kantenübergang von Z0 nach Z2 ist nur ganz zu Anfang möglich.
Danach steht nämlich was auf dem Keller und in Z0
wird nie vom Keller gelöscht
Und dann ist das Kellerbohnenzeichen nicht mehr erreichbar. Das heißt,
diese Kante hier kann ich entweder als allerersten Schritt machen oder danach nicht mehr.
Kann nur genutzt werden, um das Layoward zu akzeptieren,
ist hier nicht von Bedeutung.
Das heißt, man kann sich den Automaten so angucken,
als wäre die untere Kante von Z0 nach Z2 gar nicht da.
So, und jetzt kann man sich eben,
jetzt guckt man sich alle Kantenübergänge an und überlegt sich,
was kann ich alles vom Automaten benutzen.
Also ich will ja zeigen, dass alles,
was vom Automaten mit Leam Keller akzeptiert wird, genau diese Form hat.
Also muss ich irgendwie Eigenschaften des Automaten ausnutzen. Also gucke ich
mir alle Kantenübergänge an. Zunächst kann man sich angucken,
dass man in Z0 ausschließlich As lesen kann und nichts anderes.
Dann weiß man, für jedes gelesene A wird ein
großes A auf den Keller geschrieben
Und man weiß, wem es mindestens mit einem A beginnen,
weil sonst ist kein Übergang möglich. Weil hier,
um diesen Übergang von Z0 nach Z1 zu machen,
muss mindestens ein großes A auf dem Keller sein.
Das kriege ich aber nur hin, wenn ich irgendwann mal
ein großes A auf den Keller geschrieben habe.
Und ein großes A schreibe ich nur auf den Keller,
wenn ich ein kleines A lese.
Insgesamt, wem muss mit AI beginnen für irgendeinen Ego,
ist ja gleich eins.
Also mein Wort muss mit so und so vielen kleinen Ars beginnen.
Dann weiß ich schon mal, mein Wort sieht so aus,
dass es mit EAs beginnt und dann kommt ein V.
Und jetzt weiß ich, das Restwort muss mit B beginnen,
weil sonst kann nicht Z0 nicht verlassen,
sonst bleibt die ganze Zeit in
Dann bin ich also in der Konfiguration Z0,
V muss ich noch lesen, A auch Ebottom.
Und dann kann man wieder an diesen Kantenübergängen hier erkennen,
man muss ja all die großen As irgendwie löschen,
bevor man diesen Kantenübergang von Z1 nach Z2 machen kann.
Also muss ich auch ihm mal das B lesen,
weil ich ja E-Mail das große A löschen muss,
muss ich auch ihm mal das kleine B lesen.
Das ist die einzige Möglichkeit, das große A zu löschen.
Und sonst komme ich eben nicht an dieses Kellerbodenzeichen heran.
Das geschieht beim Übergang von Z1 und dann eben in Z1,
bei jedem Lesen eines Bs wird ein großes A gelöscht
Genau. Und da wir irgendwie in dieses Bottom herankommen müssen,
können wir weder weniger noch mehr, weder weniger noch mehr Bs lesen,
als wir vorher Ars gelesen haben.
Und damit muss V gerade diese Form BHI sein.
Dann ist der Keller leer oder dann ist das Bottom im
Keller reich, weil dann können wir ihn löschen.
Und dann muss V also diese Form haben. Das ist in
dem Beispiel noch relativ einfach, das aufzuschreiben und nachzuvollziehen.
Aber auch da wieder, damit die Übung darin kriegt,
dass man eben bei der einen Seite mit dem, was im Automaten ist,
argumentieren muss und bei der anderen nur so, wie der Automat arbeitet.
So, dann, das, was hier gemacht wurde,
war, das ist eine Technik für diese Automatenkonstruktion,
dass man eben den Keller quasi als Zähler benutzt hat
Ich habe den Keller als Unian Zehler benutzt,
indem ich eben für jedes kleine Aders ich lese,
mir quasi einen Strich mache an der Wand.
Also ich schreibe mir ein großes auf den Keller und weiß dann,
es sind genauso viele große Aßen im Keller, wie ich eben kleine Ars gelesen habe.
Varianten, A, auch NB hoch 2N. Und wenn ich
dann schreibe ich mir auch für jedes kleine A, das ich lese,
schreibe ich mir jetzt beispielsweise zwei große As auf den Keller,
damit ich dann eben beim Lesen von B genau doppelt so viele Bs lese,
wie ich vorher kleine As gelesen habe.
Oder für sowas, wenn ich mir Ass lesen will,
als ich Bs gelesen habe, Und dann kann ich das Gleiche machen wie eben,
aber dann ist der Keller eben beim letzten zu lesen im Angabesymbol nicht leer.
Und dann kann ich den da zum Beispiel noch lehren,
dann kann ich das auch machen. Oder andersrum,
dann würde man das auch so machen wie eben,
aber wenn dann das Bottom erreicht ist,
dann macht man nicht diese Lamderkante,
sondern dann liest man halt noch beliebig viele weitere Bs,
bis das Wort zu Ende ist und dann erst machen wir die Lamderkante.
Weitere Varianten, die sind jetzt,
also das hier kann man sich, glaube ich,
alles ganz gut vorstellen, wenn man das eben verstanden hat.
Hier wird schon ein bisschen kniffliger. Will man Worte akzeptieren,
bei denen jedes Präfix mehr Nullen als Einsen hat?
Also Präfix ist ein Anfangsstück des Wortes
Und jedes Prefix soll jetzt mehr Nullen als Einsen haben.
Sprich, ihr dürft nie sowas haben
wie 0011. Und jetzt nochmal eine Eins. Dann habt ihr
bei den ersten fünf Fußstaben mehr Einsen als Nullen gelesen.
Das will man nicht. Jetzt kann man auch wieder mit Zählern
arbeiten und erhöht und erhöht und verringert den aber dynamisch.
Immer wenn eine Null kommt, erhöhe ich den,
immer wenn eine Eins kommt, verringere ich den.
Und was halt nie passieren darf, ist,
dass ich nochmal eine Eins lesen will,
während nichts mehr auf dem Keller ist.
Also während keine Nullen mehr auf dem Keller sind.
Dann kann man die Prefixe gut lesen. Will man Worte akzeptieren,
die gleich viele Nullen wie Einsen haben,
also sowas ähnliches wie eben dieses A auch, NBON.
Nur das ist jetzt nicht NNAs sein müssen und dann NBs,
sondern es sollen einfach irgendwie gleich viele sein
Gleich viele Nullen wie Einsen. Kann man das so ähnlich machen
wie eben bei diesem Prefix? Man muss aber darauf achten,
dass man den Zähler quasi umdreht oder flippt, habe ich dahin geschrieben.
Ich mache das wieder so wie bei den Prefixen,
für die Null, die ich lese,
schreibe ich mir irgendwie eine Null auf den Keller.
Wenn da eins kommt, verringere ich das. Dann weiß ich immer,
wenn da jetzt so Nullen sind, das sieht immer ganz gut aus.
Wenn jetzt irgendwann ich aber dieses Bottom erreiche und ich will
weitere Einsen lesen, dann flippe ich jetzt so,
dass ich mir jetzt im Keller merke, oh,
ich habe mir Einsen gelesen als Nullen.
Wenn da Nullen kommt, verringere ich das. Und irgendwann am Ende,
wenn das Wort bis zum Ende gelesen ist,
dann muss der Keller gerade das Kellerbodenzeichen haben.
Dann habe ich gleich viele Nullen wie Einsen gelesen.
Das eine ist eine Präsenzaufgabe, das obere und das untere
wird eine Übungsaufgabe
Oder ist eine Übungsaufgabe? Ja, und da wird auch die,
bei beiden wird die Argumentation, warum der konstruierte Automat das tut,
was er tun soll, dann schon recht tricky so,
also muss man dann schon gut argumentieren.
Da einmal kurz die formale Definition des Prefix,
das ist halt einfach das Anfangsstück eines Wortes,
also wenn ihr so ein Wort weh habt hier,
so ein Wort weh aus Sigmar Stern,
dann ist ein Wort V-Element, Sigmar Stern eben Prefix von weh,
wenn sich weh so schreiben lässt, als weh ist gleich V-U,
also V sind vom ersten bis so und sovielten Symbol das Anfangsstück von weh.
Und als Spezialfälle Lambda ist ein Prefix von weh und weh
selbst ist auch Prefix von weh
Genau, ja. So, und dann das mit dem Spiegelwort,
das, wo wir den Automaten eben schon hatten,
in den Klickerfragen, wenn ihr W hoch Ref schreibt,
Referee Reverse, ihr habt irgendwie so ein Wort,
siegt mal Stern, wenn das das leere Wort ist,
dann ist das leere Wort andersherum geschrieben,
ist wieder das leere Wort,
wenn ihr irgendwie ein längeres Wort UX habt und X ist jetzt ein Symbol und U irgendwie etwas aus Siegmar Stern,
dann ist das Reverse davon eben X nach vorne geschrieben und verknüpft mit Gleichoperationen auf U anwenden rekursiv.
Sprich, ihr schreibt das Wort einfach,
so wie es da steht,
ihr schreibt es einfach von rechts
nach links
nochmal auf
Und ihr habt 1 011, dann ist das umgedrehte Wort eben 1-1, 01.
Und für Mengen kann man das auch machen,
dreht man jedes Wort in der Menge um.
Und jetzt halt den PDA hierfür, die Worte derart,
wie ist irgendwie eine Zeichenkette aus Nullen und Einsen.
Und jetzt steht die da einmal und danach kommt die Zeichenkette umgedreht nochmal.
Da ist die Frage, wie kann man da für ein PDA konstruieren?
Ein bisschen einfach ist es, wenn man sowas macht,
wie das Wort kommt, dann kommt ein spezielles Symbol,
Dollar-Zeichen oder so und dann kommt das umgedrehte Wort,
dann weiß man genau, wo die Grenze ist,
so wie es da ist,
muss man eben raten,
wann die Grenze ist
Deswegen ist hier bei diesem Übergang von Z0 nach Z1 sind hier diese Lamdeübergänge.
Da wird im Grunde genommen geraten, dass man sagt,
hier ist jetzt gerade, hier findet der Wechsel statt. Und das,
was da passiert, hier steht es schöner aufgeschrieben,
diese sechs Kantenübergänge bei Z0 hier einmal, so ein bisschen nebeneinander aufschrieben,
das, was hier links passiert ist, jede Null,
die ich lese, unabhängig von dem aktuellen Keller, oberen Kellersymbol,
egal ob da jetzt das Kellerbodenzeichen steht oder eine Null oder eine Eins,
das, was da steht oder stand,
schreibe ich genauso wieder hin und dann schreibe ich noch eine Null dazu.
Sprich, immer wenn ich eine Null lese,
schreibe ich eine Null auf den Keller.
Und daneben immer, wenn ich eine Eins lese,
schreibe ich eine Eins auf den Keller
Dann rate ich irgendwann, dass ich die Mitte des Wortes
erreicht habe, also dass jetzt das WEREF kommt.
Ich ändere nichts auf dem Keller und ich lese auch nichts vom Eingabeband.
Und in Z1 lese ich jetzt genau oder achte ich darauf,
dass die Symbole, die jetzt auf dem Keller sind,
die müssen jetzt genauso auf dem Eingabeband stehen.
Und daher das letzte Symbol, was ich auf dem Keller geschrieben habe,
ganz oben auf dem Keller,
das letzte Symbol des Wortes W ist,
wird das jetzt bei WEREF das erste Symbol.
Dadurch kriege ich es hin, dass ich
genau diese Worte WWREF lese
Und dann ganz zum Schluss,
wenn ich das zu Ende gelesen habe,
wenn ich WWRF gelesen habe,
dann ist das Eingehörband leer und dann müsste das Kellerbodenzeichen auf
dem Keller stehen und dann kann ich wieder diesen Übergang von Z1 der 2 machen.
Genau. Und wenn man da, mache ich das jetzt
noch? Wollte ich das heute noch sehen oder morgen?
Morgen. Wollen wir daraus eine Clicker-Frage machen?
Heute oder morgen, Morgen? Ich würde auch mal sagen
, das machen wir morgen. Dann steigen wir da morgen
wieder ein
Noch nicht gehen. Konstruktion, blablabla, Rückrichtung,
ne, ne, Induktion über die Wortlänge, eine andere,
na, na, na, na, na,
na, na, na, na, na.
Okay, ähm, da noch einmal kurz Fragen hier nur mit Handzeichen,
gilt stets für jeden PDA-LA-A-A-Gleich-N-A. Ja oder nein?
Also LA ist die Sprache, die er mit Endzustand akzeptiert,
N-A ist die Sprache, die er mit Lea im Keller akzeptiert,
gilt da stets, ja oder nein, wer ist für, ja.
Eins wäre es für Nein. Ja, die Mehrheit,
aber, äh, Nägelt, nicht stets, ne?
Was man machen kann, ist, man kann für jeden Automaten,
der jetzt eine Sprache irgendwie mit Endzustand akzeptiert,
einen Automaten konstruieren, der die gleiche Sprache mit Leam Keller akzeptiert,
aber das muss nicht zwingend der gleiche sein.
Und andersrum geht's auch. Also die beiden Automatenmodelle mit Endzustand
akzeptieren oder mit Leam Keller akzeptieren, sind Äquivalent,
aber ein spezieller PDA, wenn ich jetzt einen speziellen PDAA vorlege,
dann muss die Gleichheit hier nicht gelten.
Kann ein PDA noch weiter lesen arbeiten, obwohl sein Keller leer ist?
Nein, haben wir jetzt zu Genüge gehabt, ne?
Er muss immer ein Kellersymbol vom Keller lesen.
Muss ein PDA stets vom Band lesen,
ja oder nein
Nee, haben wir auch an den Kantenübergängen gesehen. Es gab Landerkanten,
also Bekannten, wo ich nichts vom Eingewand lesen muss,
aber ich muss auf jeden Fall vom Keller lesen.
Also dreimal nein. Was macht dann PDAs? Kellautomaten,
wieder die Begriffe eingeführt, PDAs mit leeren Keller oder mit Endzustand akzeptieren.
Und wir haben PDAs für diese beiden Sprachen gemacht,
für auch in BON und für WWF. Und das,
was wir nächstes Mal jetzt machen, also morgen machen wollen,
ist, wir gucken uns einmal das hier nochmal an.
Das ist auch ganz gut als Einstieg. Ich wiederhole nochmal ein bisschen,
was PDAs sind und dann machen wir den PDA für
die Sprache und beweisen, dass er korrekt ist.
Und dann wollen wir zeigen, Ja,
dann zeigen wir, dass es tatsächlich nicht geht,
das mit dem DFA zu machen.
Und da werden wir uns dann das allseits beliebte Pumping-Lämmer angucken,
für die, die wiederholen, das Pumping-Lämmer.
Genau, das machen wir morgen, ne?
Gut,
dann machen wir Feierabend