Mit ein bisschen Verspätung. Bitte? Galt das mir?
Nö. Vorab, was wollte ich alles erzählen? Erstens,
der neue Aufgabenzettel kommt gleich eine halbe Stunde nach der Vorlesung
oder so online. Da wollte ich noch was austauschen.
Deswegen kommt jetzt ein bisschen später. Zweitens,
das Skript ist soweit geschrieben, wie wir jetzt sind.
Als PDF stelle ich das auch gleich nach der Vorlesung online,
in dem FG1-Skript.de kommt das jetzt auch die nächsten Tage.
Da hatten wir am Wochenende irgendwie ein bisschen Probleme,
das reinzupflegen.
Aber das kommt dann jetzt auch
Und dann dachte ich, stelle ich schon mal
das PDF online, dann habt ihr das schon mal.
Das ist ein relativ großer Batzen, der da jetzt auf einmal kommt.
Das sind irgendwie so 30 Seiten oder so,
weil das halt die letzten zwei Vorlesungen oder sowas sind.
Und der Text so ein bisschen ausführlich ist.
Also es ist jetzt nicht so wirklich dicht geschrieben,
sondern mir so ein bisschen in Laberhaltung geschrieben sozusagen.
Also sehr ausführlich. Guckt mal, dass sie das überfliegt
oder lest und wenn ihr irgendwo Probleme habt, sagt ihr Bescheid.
Genau, bei dem FG1-Crip.de,
jetzt wo das durch ist mit den ganzen Stienenanmeldungen und so
schicke ich dann demnächst jetzt auch die ganzen Gruppenanmeldungen nochmal raus
und dann haben wir die holprigen zwei Wochen überstanden und
dann sollte eigentlich alles immer zeitnah kommen
Gut. Bisher hatten wir DFAs, NFAs und Potentautomatenkonstruktionen,
haben uns ein bisschen Konstruktionstechniken angeguckt. Ich wiederhole das jetzt gleich nochmal alles
, so was wir die letzten zwei Wochen gemacht haben.
Das geht so bis Folie 18. Dann könnt ihr Fragen stellen und dann,
oder auch zwischendurch, und dann machen wir was Neues heute,
soll um Abschlusseigenschaften gehen,
da bleiben wir nochmal bei dieser Sprachfamilie der regulären Sprachen und wollen uns dann so Sachen angucken,
wie wenn ich über zwei Sprachen weiß,
dass die regulär sind,
kann ich die auch irgendwie so verknüpfen,
dass ich weiß,
dass wieder
eine reguläre Sprache rauskommt
Zwei reguläre Sprachen habe und ich vereinige die, ist das wieder eine reguläre Sprache.
Wenn ich die schneide, ist die wieder regulär, solche Fragen.
Das wollen wir machen und dann wollen wir heute Morgen anfangen,
uns da mal drüber hinaus zu bewegen oder zumindest Gedanken zu machen,
ob wir uns darüber hinaus bewegen können.
Sprich, wenn ich weiß, zwei reguläre Sprachen,
die Vereinigung ist auch wieder regulär und so weiter.
Irgendwann stelle ich mir immer die Frage, gibt es nicht
auch mal irgendwas, was nicht regulär ist so?
Und falls ja, wie kann ich das nachweisen?
Da wollen wir uns dann langsam hinbewegen. Ja, erstmal
Wiederholung. Der ganz Anfang, der deterministische endliche Automat,
wichtig halt endliche Mengen von Zuständen, steht da deswegen,
damit wir jetzt gleich diesen Unterschied sehen können in
der Überführungsfunktion hier
Dass wir sagen, abhängig vom Zustand,
in dem ich bin und Symbol, dass ich lese,
einen Nachfolgezustand und beim nicht deterministischen endlichen Automaten eben hier in Überführungsfunktion
nicht ein Nachfolgezustand, sondern irgendwie eine Menge von Nachfolgezuständen.
Das heißt, wenn ich in einem Zustand bin und ein Symbol lese,
kann ich in all den dann angegebenen Zuständen nicht deterministisch sein.
Und so Schritt für Schritt sammelt sich das dann immer mehr,
dass das immer größere oder kleinere Mengen werden,
in denen ich da nicht deterministisch sein kann. Ja,
und der andere Unterschied hier nochmal,
in der Ionen sieht man,
man hat genau einen Startzustand und beim NFA hat man eben eine Startzustandsmenge,
um quasi diese Idee der Überführungsfunktion noch so weit zu generalisieren,
dass man sagt,
auch nach null Schritten kann ich schon eben in verschiedenen Zuständen
nicht deterministisch sein
Genau, und dann gab es die Alternative statt hier eine Funktion zu nehmen,
eben so eine Kantenrelation zu nehmen, hat den gleichen Effekt,
das ist einfach nur eine andere Notation.
Genau, dann definiert man sich dieser weitere Überführungsfunktion. Beim DFA war die relativ einfach,
da hat man immer einfach gesagt,
wenn ich hier vorne im ersten Argument in einem Zustand bin und ich lese das Symbol X,
dann habe ich einen eindeutigen Nachfolgezustand und dann bin ich eben bei Data Dach Nachfolgezustand,
komme am Restwort, das ich noch lese.
Hier ist jetzt ein bisschen schwieriger, weil ich eben,
wenn ich dieses X lese von einem Zustand aus, mehrere Nachfolgezustände haben kann.
Und die sammle ich mir dann eben immer auf und hier
unten bei der alternativen Definition sieht man das ganz gut. Man geht eben alle Zustände,
in denen man bisher nicht deterministisch sein kann,
also alle Zustände aus Z-Strich, die geht man alle durch,
guckt, wo kommt man mit dem X hin,
das sammelt man alles zusammen,
kann auch die leere Menge irgendwie mal dabei sein,
dann kommt da irgendwie nichts dazu und liest dann eben von dort aus noch das Restwort und guckt,
wo man hingeht.
Da das Beispiel mit diesem Automaten,
der als vorletztes Symbol das A lesen soll,
wenn man halt in Z0 ist und das A liest,
dann kann man den prinzipiell nach Z0 oder Z1
gehen,
also sammelt man das da
Und dann kommt jetzt dieser Effekt, dass man sagt,
okay, jetzt gehe ich alle diese Zustände durch und gucke immer,
wo komme ich mit dem B hin,
wenn ich ins Z0 bin und ein B lese,
kann ich dann nach Z0 kommen und ich ins Z1 bin und ein B lese,
kann ich nach Z2 kommen, die beiden Mengen vereinigen,
konnte halt gerade Z0-Z2 raus.
Dann mache ich das nochmal für ein A,
wenn ich ins Z0 bin und ein A lese, kann ich nach Z0-Z1,
wenn ich nach Incept 2 bin und ein A lese,
komme ich nirgendwo hin, also leere Menge, beides vereinigen,
kommt wieder Z0-Z1 raus.
Und dann letzter Schritt hier die Abbruchbedingung in der allerersten Zeile hier,
wenn ich eben nichts mehr lese,
dann kommt da eben diese Menge raus.
Und was ich jetzt gucken will bei der Akzeptanz ist,
ist in dieser Menge ein Endzustand drin.
Das würde dann ja bedeuten, es gibt irgendwie einen Weg vom Staatszustand zu diesem Zustand.
Und falls ja, will ich akzeptieren. Da deswegen diese akzeptierte Sprache,
dass man sagt, ich will genau die Wörter akzeptieren,
die mich irgendwie von einem der Staatszustände zu einem Endzustand führen.
Genau, und da drunter eben als Kantenrelation.
Da das Beispiel hatten wir letztes Mal auch schon,
der Automat akzeptiert die Wörter,
die als letztes Symbol
eine Eins haben
Und dann kann man eben auf diesem Eingebetwort 0-1-1-
3 Rechnungen haben, in dem Fall blockiert dabei einer,
lehnt bei der anderen ab und bei der dritten akzeptiert er.
Und da da eben eine dabei ist, bei der er akzeptiert,
sagen wir, okay, dann alles gut.
Und in dieser Schreibweise von eben mit dem Delta,
da wäre eben Delta-Dach, Z0,01-1,
das wäre eben die Menge Z0 Z1, da ist das Z1 drin, also akzeptieren wir.
Ja, jetzt hat man das alles, jetzt hat man so DFA,
NFA, und dann kann man sich fragen, irgendwie, wie verhalten die sich zueinander?
Ist einer mächtiger oder nicht? Und dann sieht man relativ schnell,
dass zumindest der NFA schon mal mindestens so mächtig ist wie der DFA,
weil man einfach jeden DFA auch als NFA ansehen kann,
der eben im Zustand und Symbol immer nur genau einen Nachfolgezustand hat und eben nicht mehrere,
sprich, der nutzt das gar nicht aus,
dass er eine ganze Menge von Nachfolgezuständen haben kann,
sondern halt immer nur ein.
Und wenn man das denn unbedingt ganz formal machen will,
dann definiert man sich die Überführungsfunktion Data Ende des NFAs eben so,
dass der Nachfolgezustand von Z, wenn ich X lese,
eben gerade die Menge ist, die diesen einen Zustand enthält,
in den der deterministisch hingeht.
Und die Staatszustandsmenge, eben die Menge ist,
die diesen einen einzelnen Staatszustand enthält.
Und dann ist man da fertig. Und die Richtung war
relativ einfach und die spannende Richtung war dann irgendwie die Rückrichtung
mit dieser Potenzautomatenkonstruktion
Die sah dann so aus, dass wir gesagt haben,
wenn ich jetzt so ein NFAA habe, dann kann ich ein
DFAB konstruieren und mache das da 1, 2,
3, 4, 5,
dass ich sage, die Zustandsmenge dieses DFAs,
das sind gerade alle Teilmengen von Zuständen des NFAs.
Also z-strich gleich 2 Hochzeit. Da kommt auch dieser Name Potenzautomatenkonstruktion her,
weil das eben die Potenzmenge der Zustände von A ist,
also des NFAs.
Eingabealphabet lässt man so. Ich will ja die gleichen Symbole
lesen können. Ich will ja die gleichen Sprachen akzeptieren,
muss ich auch irgendwie die gleichen Symbole lesen können
Viertens ist es auch einfach, als Startzustand nehme ich mir gerade die Menge der Startzustände des NFAs,
also jede Sonnemenge ist jetzt ja ein Zustand im DFA.
Und dann definiere ich mir eben die Übergangsrelation drittens so,
dass ich im Grunde genau das tue,
was ich bei dieser erweiterten Überführungsfunktion des NFAs auch mache.
Wenn ich im DFA jetzt in einem Zustand bin,
das ist dann eine Menge von Zuständen des NFAs,
gehe ich die alle durch, also all die Zustände,
die da drin sind, für ein spezielles Symbol X,
guckt mir an, wo geht der NFA da so hin,
sammle das in einer Menge auf, also genau das,
was ich bei der weiteren Überführungsfunktion des NFAs mache.
Und das, was da rauskommt,
ist der Nachfolgezustand des DFAs
Und dann bleibst du zuletzt diese Endzustandsmenge zu definieren und da mag ich
es eben auch genauso, wie man Erfolgsrechnungen im NFA definieren würde.
Man sagt nämlich, die Teilmengen, also sprich die Zustände des DFAs,
die Timing von Zuständen des NFAs,
bei denen in der Menge mindestens ein Endzustand drin ist,
das sind jetzt die Endzustände des DFAs.
Und dann hat man die Konstruktion fertig.
Dann hatten wir das Beispiel hier irgendwie,
dass wir wieder den Automaten da oben genommen haben mit
vorletztes Symbol
Und dann war ein dieser Unterschied bei dem Beispiel,
dass wir gesagt haben, wir konstruieren nur die initiale Zusammenhangskomponente
und machen das nicht so wie hier über dieser statischen Konstruktion,
dass wir von vornherein sagen, wir nehmen alle zwei hochzeitfielen Zustände,
sondern wenn eben halt nur die, die wir wirklich erreichen können.
Und wir fangen gleich mit dem Staatszustand an. In dem
Fall ist das nur die Menge, die Z0 enthält.
Der NFA hat ja nur einen. Oder guck mal,
wo komme ich mit dem A hin,
wo komme ich mit dem B hin im NFA?
Und die Menge, die da rauskommt,
das ist dann der Nachfolgezustand im DFA.
Mit dem A komme ich irgendwie nach Z0 oder Z1,
also in die Menge,
die Z0 wird 1
Und mit dem B bleibe ich bei Z0.
Und dann machen wir da so sukzessive weiter für alle Zustände,
die man da so hat, also die man jetzt so generiert,
als nächstes irgendwie mit dem Z0, Z1, alle Zustände durchgehen,
gucken, wo ich im NFA mit A hingehe und so weiter.
Macht man das weiter, jetzt hat man zwei weitere Zustände generiert.
Macht das weiter. Und als letztes, nicht vergessen,
dass man noch die Endzustände macht und Endzustände,
halt all die Mengen, die Endzustände des NFAs enthalten.
Jetzt hat der NFA hier nur Endzustand,
Z2. Und dann sind halt alle Mengen,
die irgendwie Z2 enthalten, also nur die unteren beiden,
werden dann Endzustände des DFAs.
Dann kriegt man
den so raus
Wenn man das so definiert hat, nein,
das habe ich schon mehrmals betont jetzt,
dass irgendwie diese beiden Überführungsfunktionen sehr ähnlich aussehen,
diese erweiterten Überführungsfunktionen und genau das macht man sich dann im Beweis zunutze und zeigt eben mit dieser Induktion über die Wortlänge,
dass man,
wenn man auf der rechten Seite im NFA irgendwie in dieser,
nicht deterministisch in einem Zustand aus M ist und das W liest,
dann kommt man ja irgendwie wieder eine neue Menge von Zuständen des NFAs,
in die man nicht deterministisch ist und das ist genau die Menge,
die eben beim DFA immer hier auf der linken Seite,
die da
auch immer rauskommt
Und dann geht man halt los und zeigt das.
Induktionsanfang ist einfach, weil man dann irgendwie,
wie das leere Wort ist und dann kommt bei beiden Seiten
links und rechts kommt halt dann die Menge M raus.
Das ist bei beiden die Abbruchbedingungen in der erweiterten Überführungsfunktion,
kommt M raus, ist man fertig.
Annahme nehmen wir mal an, das gilt für Wörter der Länge N,
was da oben steht und zumindest für Wörter der Länge Null
haben wir es ja gezeigt.
Und dann macht man den Schritt mit Wörtern der Länge N
plus 1. Jetzt muss man sich einmal überlegen,
wie macht es Sinn, das Wort zu zerlegen?
Also will ich das Wort so zerlegen,
dass ich sofort die Induktionsannahme anwenden kann und dann noch
einen Schritt mache oder mache ich das lieber andersrum
Hier machen wir es so, dass wir sagen,
wir spalten vorne einen Schritt ab und wenden dann auf den Rest die,
versuchen dann auf den Rest die Induktionsannahme anzuwenden.
Also jetzt hat man hier, gut,
jetzt hat man hier W zerlegt in XV. Das W,
also das Wort, das erste Symbolix und dann kommt der Rest V.
Und jetzt guckt man halt, wo komme ich mit dem X hin?
Und dann versucht man auf das,
was da rausgekommen ist, die Induktionsannahme anzuwenden,
also dass beides hier dann irgendwie gleich wird für den Rest.
Das Rest wurde versucht mal zu Schlussfolgern, dass dann auch das
ursprünglich irgendwie gleich sein muss. Und wenn man das macht,
Dann wendet man bei beiden hier oben für den NFA,
unten für den DFA, auf beiden erstmal die Definition der erweiterten Überführungsfunktion an.
Also macht eigentlich noch gar nichts, sondern schreibt nur hin,
was die Definition sagt.
Genau, hier oben einfach die erweiterte Überführungsfunktion des NFAs,
unten die erweiterte Überführungsfunktion des DFAs.
Und dann in der zweiten Zeile als zweiter Schritt,
da benutzt man einmal die Definition aus der Konstruktion.
Bei der Konstruktion haben wir ja die Überführungsfunktion des DFAs definiert,
also dieses Delta-MX. Das haben wir gerade so definiert,
dass wir gesagt haben,
Delta-MX ist Vereinigung aller Zustände aus M von Delta-ZX
Und dann sieht das beide schon sehr ähnlich aus,
mal von dem Strich abgesehen. Wenn man jetzt setzt man noch,
wenn man möchte, muss man nicht, man möchte,
setzt man noch zur Abkürzung hier für diese Vereinigten Mengen.
Da schreiben wir jetzt einen Strich für und dann steht hier halt Delta,
Dachstrich von M-Strich, V. und hier steht Delta Dach von M,
V. und das V hat jetzt ja nur noch die Länge N.
Das heißt, wir können die Induktionsannahme anwenden, also das hier.
Und da wissen wir, das ist gleich.
Wenn die beiden rechtsstehenden Sachen gleich sind,
dann sind auch die beiden linkstehenden Sachen gleich.
Und wenn ich noch benutze,
dass XV gerade W ist, habe ich gezeigt,
was ich zeigen will
Weil dass die beiden hier gleich sind. Dann weiß ich also,
wenn ich in irgendeiner Menge von Zuständen des NFAs bin und was lese,
dann komme ich in irgendwie eine Menge von Zuständen.
Und beim DFA komme ich in genau die gleiche Menge,
nur dass diese Menge eben dann ein Zustand des DFAs ist.
Aber ich komme halt in die gleiche Menge von Zuständen.
Und das nutze ich jetzt noch einmal aus,
indem ich sage, na gut,
dann nehme ich jetzt für M nicht irgendeine beliebige Menge,
sondern ich nehme halt die Menge der Startzustände.
Also beim NFA die Menge der Startzustände und beim DFA den Startzustand,
was ja nach der Konstruktionsidee hier Ja, nach der Konstruktionssidee hier das Gleiche ist.
Genau, und dann kann man den Satz abschließen,
indem man dann da eben die Startszustandsmenge nimmt.
Und wenn man sich jetzt noch anguckt, wie die Akzeptanzbedingungen definiert ist,
dann stellt man eben fest, dass das genau passt. Also wenn ich rechts akzeptiere,
sprich beim NFA, akzeptiere ich genau dann,
wenn bei diesem Dell der Dachzelt-Staat weh,
wenn das geschnitten mit der Endzustandsmenge des NFAs nicht leer ist,
sprich wenn da irgendwie ein Endzustand auftritt, Und links akzeptiere ich ja dann,
wenn ich in eine Menge komme, wo nach Konstruktion,
so ist halt diese Definition, in der Potenzautomatenkonstruktion,
wo ja nach Konstruktion ein Endzustand des NFAs drin sein soll.
Also sprich genau das Gleiche. Sprich,
beide akzeptieren entweder ein Wort oder lehnen beide ein Wort ab
und nehme mich fertig
Und letztendlich weiß man dann, ich kann für jede reguläre Sprache
entweder einen NFA angeben oder einen DFA, ist das Gleiche.
Beide Automatenmodelle sind also äquivalent und beide Automatenmodelle erfassen genau diese
Sprachfamilie der regulären Sprachen. Und da nochmal die Anmerkung,
wenn man das praktisch ausführen will oder eben implementieren will,
dann macht man das so,
wie wir das in der algorithmischen Variante aus dem Beispiel gemacht haben,
dass wir bei den initialen,
dass man im Staatszustand anfängt und die initiale Zusammenhangskomponente baut.
Ja, bis dahin,
das haben wir gemacht.
Bitte? Was das bedeutet. Das rührt daher,
dass die, die Frage war, was potenziautomat bedeutet,
es ist einfach eine Bezeichnung,
hätte man auch irgendwie anders nennen können, rührt daher,
dass die Zustandsmenge des DFAs gerade die Potenzmenge der Zustände des NFAs sind.
Deswegen potenz auch nochmal. Nee, NFA ist ein NFA, DFA ist ein DFA.
Und wenn du aber speziell zu einem NFA ein DFA machst,
also wenn ich dir den NFA A gebe und du bastelst ein DFA B,
dann sagst du, das ist der Potenzautomat zu diesem NFA.
Oder eben auch der DFA der Äquivalent ist dazu
Ja, ja. Nee, also die Frage ist,
ob das nicht ein Widerspruch ist zu sagen,
die sind äquivalent und gleichzeitig bei dem IMD-Terminismus zu haben und bei dem anderen nicht die Terminismus.
Wenn ich mir das Automatenmodell angucke, dann kann ich bei dem einen Modell sagen,
da ist alles determiniert, das ist ein deterministischer Automat.
Wenn ich irgendwo bin und Symbol lese, ist der Nachfolgezustand
eindeutig definiert. Bei dem NFA ist das nicht so.
Da bin ich irgendwo und kann mit der A-Kante zweimal raus. Der Äquivalenzbegriff bedeutet nicht,
dass die beiden Automaten gerade die gleichen Dinge tun,
die Äquivalenzbegriff bedeutet nur, wenn ich den einen Automaten habe,
dann kann ich einen Automaten des anderen Typs konstruieren und beide akzeptieren die gleiche Sprache.
Die arbeiten also nicht gleich, sondern sie akzeptieren nur die gleiche Sprache.
Das ist der Äquivalenzbegriff. Ob die Zustandsmengen beim DFAD,
ja, also wenn du jetzt dir immer diese Mengen da aufsammelst,
in der erweiterten Überführungsfunktion, die Schritte,
die sind in gewisser Weise determiniert, aber das ist halt nicht das,
was der NFA tut.
Also wenn ich draufgucke, dieser Nicht-Eterminismus kommt durch diese Kanten
Weil wenn du so da drauf guckst, dann guckst du
quasi schon mit der Brille der Potenzautomatenkonstruktion da drauf. Und eigentlich,
wenn ich dem nur den Automaten gebe und ich sage,
ich bin in dem Zustand und lese ein A,
dann bist du eben nicht in dieser Menge,
sondern du bist irgendwie nicht eterministisch in einem dieser Zustände.
Die Mengennotation hilft dir nur, dass irgendwie notationell aufzuschreiben.
Warte kurz. Darf ich noch ganz kurz? Ganz kurz noch. Vor allem deswegen wichtig,
weil hier sind sie zwar äquivalent,
aber wenn wir bei anderen Automatenmodellen nicht die Terminismus einführen,
den Film ist im Grunde genommen auch so ein,
dass wir sagen, ja, jetzt haben wir irgendwie mehrere Kanten,
gleicher Ursprung,
aber geht zu unterschiedlichen Dingen.
Und da ist es dann tatsächlich unterschiedlich
Deswegen ist es hier natürlich so ein bisschen so,
dass man sagt, ja, nicht die Themen ist das D-Themen,
das ist doch irgendwie fast das Gleiche, muss es ja auch,
sonst wäre es ja nicht Äquivalenz so, je nachdem,
wie man jetzt gerade drauf guckt,
aber dieses Konzept ist nicht Determinismus,
sagt nur so Snapshot-artig, wenn ich jetzt drauf gucke,
ich bin in dem Zustand, es gibt mehrere Kanten raus,
also können unterschiedliche Dinge passieren und später brauchen wir das dann,
weil es da dann auch nicht mehr
äquivalent ist.
Genau. Und die Frage war gerade, ob ich,
wenn ich jetzt irgendwie ein Problem habe für den schnellen NFA angeben kann,
aber vielleicht nicht so schnell DFA,
habe ich das dann einfach benutzen kann.
Genau dafür ist es gedacht. Also wenn du jetzt irgendwie was konstruieren willst,
interessiert es dich für eine bestimmte Sprache,
dann baust du halt einen NFA dafür,
weil das schön schnell geht und du da vielleicht auch schnell beweisen kannst,
dass der korrekt ist.
Also zum Beispiel sowas wie drittletzter Buchstabe A oder irgendwie sowas.
Dafür kann man ganz schnell einen NFA bauen,
der DFA wird total unübersichtlich so. Und dann weißt du,
der still, oder kannst nachweisen,
der stimmt und per Knopfdruck innerierst du deine DFA und weißt,
das ist alles richtig
Braucht man dann auch nicht einzeln nachweisen.
Ich habe ja eine korrekte Konstruktion, benutze es fertig.
Was ist sonst noch? Bei einem Potenzautomaten? Ja.
Der Staatsdurchstand kommt nicht von der Lehrmenge. Das ist einfach
nur, also geht gerade um die leere Menge.
Nee, das ist einfach nur eine Notation.
Ich hätte auch sagen können, den Staatszustand,
den markieren wir mit Dreiecken oder kleinen pinken Herzchen,
wenn der das lieber ist oder so.
Das kannst du machen, was du willst.
Der ist einfach
nur eine Notation
Zu der leeren Menge noch. Bei dem DFA einer Poetensautomatenkonstruktion
, da tritt die leere Menge als Zustand auf.
Alle Zustände des DFAs in der Potenzautomatenkonstruktion sind ja Teilmengen der
Zustände des NFAs, oder Teilmengen der Zustandsmenge des NFAs.
Die leere Menge ist eine Teilmenge, die tritt also als Zustand auf.
Und die tritt im Grunde genommen genau dann auf, wenn der NFA blockieren würde.
Also wenn der NFA irgendwo komplett blockieren würde,
weil er gar nicht mehr weiter kann,
dann geht man bei dem DFA bei der Potenzautomatenkonstruktion dahin und kommt da auch nicht mehr raus.
Also das ist quasi das, was wir beim Vervollständigen
so als Senke eingeführt haben und so.
Sonst noch
Das war ja ein Teil. Sieben, gut.
Dann. Sowas ähnliches hatten wir ja schon mal.
Wenn A jetzt nicht deterministisch, endlicher Automat ist,
was ist dann 11 und A
Die hatten wir ja eigentlich schon,
aber um das in eure Gehirne reinzuprügeln
Letztes Mal hatten wir da ja so eine komplette Gleichverteilung.
Ich glaube, letztes Mal waren es viermal 25 oder so.
B ist richtig, ne? L von A ist eine Menge
von Worten. Also keine Ahnung, die Menge von Worten,
die all die Wörter über A und B enthält,
die auf B enden.
Und Reck ist eine Familie von Sprachen. Da sind also
Sprachen drin, sprich da sind Mengen von Worten drin.
Also das L.A. ein Element von Reck,
nicht eine Teilmenge
Mal gucken, vielleicht stelle ich die morgen einfach
noch mal.
Wie hieß die
Bitte? Warum das nicht per App geht,
muss ich das für all die ganzen Smartphones testen,
weil definitiv, wenn ich das per Apps mache,
jede Vorlesung fünf Leute nach vorne kommen und sagen,
bei meinem Handy hat es
nicht funktioniert.
Das nächste Mal lage ich das an dich aus.
Dann sagst du, okay, dann kannst du das mal...
B. ZN ist die Menge an der Menge. Ja,
B und D, ne? Also zweitens und viertens sind
richtig. ZN ist die Menge aller Endzustände des NFAs.
Denn wer ja ZN in Biden das Gleiche, das haben
wir irgendwie nicht gemacht. Das wäre auch deswegen doof,
weil dann hätte der DFA in der Potenzautomatenkonstruktion nur eine Endzustand,
also nur ein Zustand davon wäre ein Endzustand,
nämlich die Menge,
wo gerade alle Endzustände des NFAs drin sind.
Also A, funktioniert nicht. Zweitens ist richtig.
Viertens ist es auch richtig, es nimmt die gleiche Beschreibung
Also in der ZN ist die Menge aller Mengen,
die Endzustände des NFAs enthalten,
ist das Gleiche wie die Menge aller Mengen,
die geschnitten mit der Menge der Endzustände nicht leer sind.
Und wenn sie leer wäre, also drittens,
das wäre ein bisschen doof, weil dann hängt das irgendwie
gar nicht mit den Endzuständen des NFAs zusammen.
Also das will man irgendwie nicht. Also zwei oder vier.
Und die schön. Welche Aussage stimmt für einen Potenziautomaten,
der wir im Beweis angegeben konstruiert wurde?
Also nicht wie ein Beispiel, sondern wie im Beweis.
Was meinte, was stimmt da? Geht um Vollständigkeit und
Initialzusammenhänge. Gilt beides, gilt keins davon,
gilt genau eins davon
Musik Wer möchte sein Clicker-Ergebnis verteidigen? A, gewinnt ganz schwach,
ne? A, ist einer mehr, A gewinnt.
Wer möchte begründen? Was hast du überhaupt genommen?
Welches hast du genommen?
B, okay
Genau, also der Initial zusammenhängt eher nicht,
sonst hätten wir diesen Akt doch gar nicht gemacht,
bei dem Mann haben wir nur die initiale Zusammenhangskomponente machen,
also initial zusammenhängt, ist er nicht zwingend, warum ist er vollständig?
Genau. Nicht können, sondern tatsächlich machen nach Konstruktion so. Vollständig muss er sein,
ich gehe ja immer in jedem Zustand, in dem ich bin,
alle Symbole durch und generiere mir da oder konstruiere mir daraus einen Nachfolgezustand.
Und in dem Fall, dass ich im NFA tatsächlich nirgendwo hin kann,
dann geht der DFA eben zur leeren Menge.
Also vollständig wird er sein und initial zusammenhängt, ist er eben nicht zwingend,
müsste man jetzt irgendwie Gegenbeispiel konstruieren, aber bei dem Beispielautomaten,
den wir hatten, da ist es ja zum Beispiel so,
da ist die initiale Zusammenauskompetenz, besteht nur aus vier Zuständen,
bei der statischen Konstruktion hätte man eben alle acht.
Wie ist denn das bei dem im Beispiel konstruierten?
Was gilt für den? Der Beispiel konstruiert, was gilt für den?
Eins, zwei, drei oder vier? Eins, ne
, genau. Wenn man das so wie ein Beispiel macht,
dann ist der initial zusammenhängt, deswegen machen wir das ja
gerade und trotzdem gehen wir ja immer alle Symbole durch,
also ist der vollständig
Der ist also in vielerlei Hinsicht praktisch. So, das
zur Zusammenfassung. Jetzt wollte ich einmal kurz mit euch,
oder relativ kurz, noch zwei Möglichkeiten ein, ja,
das Verhältnisautomat ist in dieser Kammer zustande.
Damit er vollständig wäre, bräuchten wir ja wieder was
alle Krankenhaus von der Sänger, zur deren Menge.
Aber da haben wir ja eigentlich keine, keine Kanten. Doch,
die kriegst du ja auch, weil du sagst,
also die Frage ist gerade, ob man aus der leeren Menge wieder Kanten kriegt für jedes Symbol.
Die Definition ist ja so, dass man sagt,
ich gehe alle Zustände durch Quatsch, alle Symbole, Entschuldigung, ich gehe nochmal.
Ich gehe alle Zustände der Menge durch und alle Symbole und gucke immer,
was ist in der Überführungsfunktion des NFAs da das Ziel.
Ja, okay, man muss das so machen,
dass man sagt, wenn ich da nichts durchzugehen habe,
dann ist es die leere Menge.
Das macht man ja auch üblicherweise so. Also wenn ich sage,
da kommt die Menge raus, derart über alle,
bla bla bla vereinigen und so und dieses für alle,
wenn da nichts ist,
dann hast du quasi eine leere Mengenvereinigung,
also du vereinigst über null Mengen und da kommt die
leere Menge raus
So, was ich jetzt noch machen wollte, war,
zwei weitere Formalismen einführen, mit denen man auf reguläre Sprachen gucken kann.
Das eine sind noch spezielle NFAs, mit noch so einem Feature,
das uns irgendwie vor allem bei Beweisen hilft.
Und das andere sind reguläre Ausdrücke, was die meisten wahrscheinlich
schon irgendwie so aus Programmiersprachen oder so kennen.
Die wollte ich mir noch einmal kurz mit euch angucken.
Also das eine ist NFA mit einer zusätzlichen Kante oder einer
erkannten Art, dass man nämlich solche Landerkanten einführt.
Lander war ja das leere Wort, Äpzilon auch,
deswegen steht da Landerkanten oder Äpzilon-Kanten. Und die Idee dabei ist,
wenn da so eine Landerkante irgendwie ist,
dann kann ich die quasi am Automaten entlang gehen,
ohne irgendwas vom Eingabeband
zu lesen
Also ein Beispiel hier, wenn ich in Z0 bin oder halt anfange,
dann kann ich als erstes, ohne irgendwie ein Symbol zu lesen,
entweder die Lamderkante nach Z1 gehen oder die Lamderkante nach Z3.
Von der Idee einfach. Sprich, ich mache einen Zustandswechsel,
aber ich lese nichts vom Wort.
Und danach kann ich eben gucken, was ich danach weitermache.
Und da ist das Beispiel relativ einfach.
Wir werden gleich bei so einem ein, zwei Beweisen sehen,
wie uns Lamderkanten da helfen können.
Und wir wollen die halt im Grunde genommen einfach nur informell benutzen.
Man kann zeigen, dass man jeden NFA mit Lamderkanten umwandeln kann,
einen NFA ohne Lamderkanten und dann letztendlich in DFA,
sprich auch mit diesen NFAs mit Lamderkanten,
kriege ich gerade die Familie der regulären Sprachen
Und was wir aber einfach machen wollen, ist,
wir wollen die einfach informell benutzen. Also sprich,
wir wollen hier irgendwie ein Zustandsdiagramm benutzen, aber nicht formal einführen.
Man müsste dann irgendwie diese ganzen Begriffe wie Rechnung und so weiter,
das muss man alles irgendwie übertragen, dass man halt sagt irgendwie,
wenn ich in der Konfiguration Z weh bin und ich nehme Landerkante,
dann bin ich danach eben in der Konfiguration Set-Strichweh,
sprich ich bin von Z nach Z-Strich gewechselt,
aber habe am Wort nichts gemacht.
Sowas muss man sich dann irgendwie einführen. Aber wollen wir nicht
formal machen. Den Satz wollen wir uns auch einfach nur merken,
dass wir wissen, zu jedem NFA mit Landerkanten können wir eben
so einen äquivalenten NFA ohne Lambnerkanten konstruieren und letztendlich dann eben DFA.
Sprich, der tut wieder genau
das Gleiche
Und da nochmal in Ruth fürs Vorgehen, was ich eben erzählt habe,
dass wir die halt einfach benutzen wollen und wissen wollen,
okay, das geht,
aber die Konstruktion wollte ich uns jetzt nicht im Detail,
wollte ich jetzt nicht im Detail machen.
Nur, dass ihr die mal gesehen habt, dass die auch gehen.
Wir sind klar, ne? Also statt irgendwie Buchstaben entlang zu gehen,
geht jetzt eine Landerkante entlang, Lander ist kein Buchstabe,
so kann beim Wort nichts passieren, fertig.
Das andere ist die gleichfolgende vierte Möglichkeit,
die drei kennen wir jetzt und jetzt kommen diese regulären Ausdrücke und zwar Solche Dinger hier,
kennt ihr bestimmt schon irgendwie aus Programmiersprachen oder irgendwie anderen Programmen, Suchsachen und sowas.
Dass man irgendwie mit A plus ausdrücken will,
die Menge, die A enthält, hoch plus.
Oder irgendwie hier mit dem mit dem Konkatinieren, die Menge,
die B enthält, konkatiniert mit der Menge, die C enthält.
Also man spart diese ganzen Mengenklammern und der Hauptunterschied eigentlich
zu der Mengennotation ist hier dieses nicht hochgestellte Plus,
sondern das Plus, was eben auf der gleichen Ebene hier ist,
das ist quasi die Vereinigung, also das oder A oder B mal C.
Das ist das Gleiche,
wie wenn ich bei der Mengenschreibweise sagen würde, die Menge,
die A enthält und B und C enthält,
also B,
C enthält und das Hochstern
Das wollen wir einführen. Und das führt man eben am
besten irgendwie induktiv ein, indem man sagt, induktiv,
was alles reguläre Ausdrücke sind. Wenn man sagen kann,
wenn ich zwei reguläre Ausdrücke habe, R1, R2,
dann ist auch R1 plus R2 ein reguläre Ausdruck und sowas.
Machen wir wie folgt, sieht man Alphabet. Und dann definieren wir,
das erste ist leider gleich so ein Spezialfall,
dass wir sagen, irgendwie dieses Symbol leere Menge,
das wird jetzt so richtig überladen.
Das Symbol ist gleichzeitig auch ein regulärer Ausdruck,
der eben diese Menge beschreibt,
die leere Menge halt
Und das Untergestellte soll immer halt der reguläre Ausdruck sein,
der uns gerade interessiert. Und wichtig ist eben,
es gibt den regulären Ausdruck und es gibt die Menge,
die von diesem regulären Ausdruck beschrieben wird.
Das ist halt streng formal, ist das ein Unterschied.
Also man kann dann irgendwie nicht sagen, A ist in A Stern,
sondern A ist eben eigentlich nur in der Menge,
die von dem Ausdruck als Stern beschrieben wird.
Dann für die einzelnen Symbole, für jedes A in Sigma,
SA, es wird wieder überladen, ist A gleichzeitig auch ein reguläre Ausdruck,
der diese Menge beschreibt. Das macht man deswegen,
damit man jetzt eben sehr schön sagen kann,
wenn ich zwei reguläre Ausdrücke X und Y habe,
die eben diese Mengen MX und M Y beschreiben,
dann ist eben X X plus Y, einer,
der die Menge MX vereinigt, MY beschreibt,
X mal Y, einer,
der die Menge MX mal im Y beschreibt und dann eben noch für Hochstern und Hochplus.
Und als letztes zum Abbruch nur die so erzeugten Ausdrücke sind eben reguläre Ausdrücke.
Und dann hat man die definiert. Sprich,
was wir nehmen dürfen, ist, die einzelnen Symbole und
dann eben als Operation plus mal Hochstern und Hochplus.
Lassen reguläre Ausdrücke. Beispiele, A plus B,
Stern, beschreibt eben gerade die Menge, die Menge,
die er alt hält, vereinigt mit der Menge,
die B enthält und das ganze Hochstern oder eben hier
einfach A,
B stern
Einmal die Menge, die er anhält,
konkadiniert mit Menge DB enthält oder Menge, die AB enthält.
Da merkt man jetzt so bei dem dritten Beispiel,
fängt man an zu merken, dass es angenehmer ist,
später diese regulären Ausdrücke zu benutzen,
weil man sich diese ganzen Mengenklammern da irgendwie sparen kann.
Also AB-Stern plus B-A-Stern ist halt viel schneller gesagt,
als irgendwie Menge, die er enthält, konkadiniert mit Menge,
die B enthält, Hochstern vereinigt mit, bla bla bla.
Aber man sieht halt auch, dass das sehr ähnlich ist.
Und null Stern nochmal, links quasi, um mal diese Unterschiede klarzumachen.
Links sind taktisch, ist der reguläre Ausdruck,
Rechtsemantik ist eine Mengennotation, leere Menge hoch Stern.
Und das ist dann eben gerade die Menge,
die Lamb da enthält,
also das leere Wort
Und jetzt kann man wieder losgehen und kann zeigen,
wenn ich so einen regulären Ausdruck habe,
der irgendwie eine Menge beschreibt,
dann gibt es dafür auch einen Automaten,
der genau diese Sprache akzeptiert und sogar einen endlichen Automaten.
Und andersrum, wenn ich so einen Automaten habe,
dann gibt es einen regulären Ausdruck, der genau die Menge beschreibt,
die von diesem Automaten akzeptiert wird.
Sprich, die Modelle sind wieder äquivalent,
und das ist die vierte Möglichkeit,
mit der wir reguläre Sprachen beschreiben können.
Ich habe keine hohe Flussklasse
Dings hier, Dachplus. Hochstärken ist aber auch nicht,
oder? Gibt es das so stellen? Ne, ne
, okay. Kann ja sein, für das ist ja
eine andere Tastatur. Gut. Fragen? Ne, ne?
Erstens, zweitens. Dann wollen wir uns einmal angucken,
weil das uns auch ein bisschen hilft mit diesen Lamna-Kanten,
mal was zu machen.
Von dem will ich einmal ganz kurz beide Richtungen
so ein bisschen skizzieren
Deswegen der Hinweis auch in der blauen Box,
das ist jetzt nicht so, wie soll man das ausdrücken?
Das ist jetzt nicht so super relevant, aber alle,
also wen es interessiert, der kann es nachlesen und alle können,
glaube ich, aus den einzelnen Konstruktionsschritten ein bisschen was rauslesen,
wie man eben diese Automaten, wie man Automaten konstruieren kann,
also so ein bisschen Techniken rauslesen, deswegen wollte ich das machen.
Der Beweis selbst ist jetzt für uns nicht so unendlich relevant,
vor allem,
weil der zweite Teil gleich ziemlich schwierig ist,
aber im ersten Teil sehen wir eben so
eine weitere Konstruktionsmethoden für die Automaten
Also, was macht man? Wenn ich einen regulären Ausdruck habe und ich will zeigen,
ich kann einen DFA machen, der genau die Sprache akzeptiert,
die von diesem regulären Ausdruck beschrieben wird. Den mache ich folgendes,
ich gehe quasi diese induktive Definition des regulären Ausdrucks durch und zeige,
dass ich für jeden dieser Schritte auch einen DFA basteln kann.
Wenn ich also irgendwie sage,
wenn es zwei rationale reguläre Ausdrücke gibt,
die zwei Mengen beschreiben und ich kann die jetzt mit einem Plus verbinden,
dann sage ich,
na gut,
dann habe ich für die Einzelnen jeweils einen DFA und jetzt gebe ich irgendwie eine Konstruktionsvorschrift an,
mit denen ich aus diesen beiden DFAs einbasteln kann,
der dann eben gerade
die Vereinigung akzeptiert
Und damit das ein bisschen einfacher ist, bastelt man die immer so,
dass man stets genau einen Staat und genau einen Endzustand hat.
Und dann hat man nämlich was, womit man arbeiten kann.
Da kann man nachher immer sagen, okay,
ich habe hier diese zwei Automaten, beide haben einen Start,
beide haben einen Endzustand, was passiert jetzt?
Und jetzt geht man eben sukzessive alle Schritte in dieser induktiven Definition der
regulären Ausdrücke durch. Beim Ersten ist es relativ einfach,
wenn ich den rationalen Ausdruck A habe,
dann beschreibt er die Menge, die A enthält.
Dann will ich also einen DFA bauen oder einen NFA mit Lamna kannten,
der genau die Menge akzeptiert, die A enthält.
Naja, Startzustand, Endzustand, A kannte dazwischen,
fertig.
Das ist relativ einfach
Ja. Da soll bestimmt regulär stehen. Da,
regulär soll er stehen. Man findet beides in der Literatur
absolut regulär. Eigentlich wollte ich überall regulär stehen haben.
So, jetzt haben wir den ersten Fall abgehakt.
Und jetzt gibt es ja diese Fälle, wo wirklich was passiert.
Diese Konkertination, die Plus-Operation, die Hochplus und die Hochstern.
Wenn ihr Konkertination nehmt, Dann wisst ihr,
also bin der Definition vor allem den regulären Ausdrücken,
wird gesagt, wenn ich zwei reguläre Ausdrücke habe,
dann kann ich die mit der Konkertination verbinden und kriege da einen neuen regulären Ausdruck raus,
der gerade als Menge die Konkertination der beiden beschriebenen Mengen beschreibt.
Jetzt muss ich also bei der Ebene mit Automaten sagen,
ich habe also zwei Automaten für diese ursprünglichen rationalen Ausdrücke R1R2.
Die sehen beide so aus, dass sie einen Staatszustand haben,
einen Endzustand, also genau einen Staatszustand, genau einen Endzustand.
Dazwischen passiert irgendwas, was ist mir aber egal.
Und jetzt muss ich aus den beiden einen Automaten basteln,
der genau die Konkertination akzeptiert. Das sieht also irgendwie so aus,
dass ich sage,
Der linke Automat ist jetzt von mir aus für den rationalen Regulären,
für den regulären Ausdruck A und der Rechte automatisch für den regulären Ausdruck B.
Ich will jetzt einen Automaten basteln,
der a. konkatiniert mit B. akzeptiert.
Wie mache ich das
Fast, er sagt, man macht eine Landerkante von ZE zu Z0-Strich.
Den Rest machst du wahrscheinlich einfach intuitiv, aber was muss man noch machen?
Das ist fast richtig. Was stört einen noch?
Sentinel auch perfekt nach hinten zu starten. Genau,
das ist klar, aber so, wobei, ich mache,
neben dem hier, dem ZE, den klaue ich,
seinen Endzustandsstatus, dem Z0-Strich-Klaus, seinem Staatszustandsstatus.
Und dann mache ich noch eine Lambla-Kante von ZE zu Z0-Strich.
Und der Automat akzeptiert jetzt gerade von Z0 zu ZE,
liest dann ein Wort aus A, dann macht er seine
Lambla-Kante zu Z0-Strich und liest davon da noch ein Wort aus B.
Also liest er insgesamt ein Wort aus A mal B.
Wie mache ich das bei Plus? Gibt es ja nicht.
Wir haben ja gesagt, wir konstruieren die Dinger immer so,
dass wir genau einen Staat und genau einen Endzustand haben.
Und bei der Verankerung hier, da, da haben wir
das auch so gemacht. Und jetzt sagst du, okay,
dann habe ich also, jetzt nehme ich quasi an,
ich habe zwei Automaten für A und B,
die genau einen Staat und einen Endzustand haben und bastel damit weiter.
Deswegen auch hier so dieses,
dass man dem das da wegnimmt und all sowas,
man will alles nicht haben.
Wie macht man das bei Vereinigung
Also bei Ration, bei den regulären, bei den regulären Ausdrücken,
das Plus, das drückt ja gerade Vereinigung aus.
Sprich, ich will gegeben zwei solcher Automaten hier,
so, will ich jetzt sagen, okay,
dann baue ich mir jetzt einen,
der genau A vereinigt mit B akzeptiert.
Wie mache ich das? Genau, ich mache einen
neuen Startzustand. So sieht das aus. Ursprünglich. Und
jetzt klaue ich diesem Z0 in seinem Z0-Strich den Startzustand-Status,
mache mir einen neuen Startzustand und gehe mit Lamnakanten zu Z0 in Z0-Strich.
Das Gleiche mache ich hinten auch nochmal,
damit ich genau einen Endzustand habe und dann bin ich fertig
Also die ihn klauen, das davor tun. Da habe ich die Kante vergessen,
deswegen steht es drunter,
also Z ist jetzt der neue Startzustand und das Ganze mache ich hinten auch nochmal,
damit wir eben genau diesen Fall haben, was er vorhin meinte,
dass wir immer genau einen Start und genau einen Endzustand haben.
Dann habe ich das auch. Was mache ich bei sowas
wie Hochplus
Nee, Hochplus ist ja nur,
du hast einen Zustand, eine reguläre Menge R. Alter,
einen regulären Ausdruck R und schreibst einen Hochplus ran.
Und in Mengennotationen hast du halt die Menge M oder MR
und machst da einen Plus rein.
Also da ist ja nur eine, eine Menge MR.
Und wir immer wieder hinschreiben, ist auch doof,
weil da musst du ja unendlich auf den schreiben.
Das funktioniert nicht. Wie kriege ich das hin? Genau
. Ich mache eine Lambla-Kante von hier ZE nach Z,
was auch immer, den Startzustand halt.
Und dann lese ich einmal von Z zu ZE auf jeden Fall,
habe also das Wort mindestens einmal gelesen und dann kann ich
es beliebig oft,
kann ich wieder
ein Wort aus dieser Menge lesen
Bei Sternen. Fast so, Sterne ist ja plus vereinigt mit Lander,
was mache ich da noch? Ja, das doof,
dann habe ich wieder mehrere. Ich will ja dabei bleiben,
dass ich genau einen Staat und genau einen Endzustand habe.
Also wie komme ich vom Staat zum End? Genau,
eine Landerkante vom Staat zum Endzustand. Und dann habe ich
alles. Ach so, ein Fall fehlt uns noch,
dieser Fall mit der leeren Menge. Der ist so
ein bisschen dusselig, weil man will ja trotzdem erreichen,
dass sich genau ein Staat und genau einen Endzustand habe.
Sprich, wenn ich die leere Menge habe als rationalen Ausdruck,
dann sieht eben der Automat dazu so aus,
dass ich einen Staatzustand habe, einen Endzustand und fertig.
Also es gibt keine Kanten dazwischen, sprich,
ich komme gar nicht vom Staat zum Endzustand, also akzeptiere ich die leere Menge.
Aber das muss ich deswegen so machen,
damit ich dann diese eben beschriebenen Operationen,
sowas wie leere Menge hochstern, eben genau damit auch wieder konstruieren kann.
Du willst ja, also du willst die leere Menge akzeptieren.
Sprich, du willst nichts akzeptieren. Elf von A soll
leer sein. Elf von A soll nicht die Menge sein,
die ist leere Wort, enthält das einen Unterschied.
Zwar ein relativ Doseliger und so, aber Genau,
das war das, wo ich vorhin gemeint habe,
das kann man machen, wollte ich aber nicht mit euch machen.
Also die Konstruktionstechnik kann man machen, die wollte ich überspringen.
Einfach nur, dass wir wissen,
wenn ich so ein NFA mit Landerkanten machen kann,
prinzipiell könnte ich den jetzt in den DFA ohne Landerkanten konvertieren,
also weiß ich, dass es Äquivalent zu DFAs und damit zu regulären Sprachen.
Genau, so macht man für alle Operatoren,
da kann man eben immer Schritt für Schritt den Automaten aufbauen.
Und wenn ihr das mal nachlesen wollt in Gänze,
dann steht das in diesem Move von Hopcraft Modvani und Ullmann
Das nur so als quasi eingebetteten blaue Folien deswegen,
das ist so Exkursartig,
aber was ihr halt versuchen solltet mitzunehmen,
ist eben so diese Ideen bei diesem Automatenbau,
dass man irgendwie so ein bisschen so ein Gefühl dafür kriegt,
was man machen kann mit Automaten,
wie man die manipulieren kann, um bestimmte Ziele zu erreichen.
Ja, Rückrichtung, also zu einem DFA
einen regulären Ausdruck zu machen
Untertitel der Amara.org-Community Untertitel der Amara.org-Community Untertitel der Amara.org-Community Untertitel der
Amara.org-Community Untertitel der Amara.org-Community Untertitel der Amara.org-Community Untertitel der Amara.org-Community Untertitel der Amara.org-Community Untertitel der Amara.org-Community Untertitel der Amara.org-Community Was,
wir, Moment, genau, und ihr solltet es benutzen können,
also ihr sollt mit den unteren beiden hier arbeiten können,
mit Lamnderkanten und mit regulären Ausdrücken, ihr solltet damit arbeiten können, ihr sollt die lesen können.
Ihr sollt wissen, dass die Äquivalent sind,
ihr braucht nicht die Konstruktion unbedingt können, außer das interessiert euch,
schön, dann wünsche ich das nachlesen,
aber Wenn ihr euch quasi auf den Stoff der Vorlesung vorbereiten wollt,
dann sind die Kernsachen, die wir bis dato hatten, wichtiger.
Gut, Fragen dazu? Gut, dann machen wir nochmal
eine Fragerunde. Sei er ein regulärer Ausdruck.
Was ist richtig
Moment. Das geht ja gar nicht. Naja,
wir lassen das mal so machen,
ist ja geil
Genau so werde ich Klausuraufgaben stellen, ja.
Es ist quasi überhaupt nicht möglich, die richtige Antwort auszuwählen.
Ja, es ist auch eine sehr dusselige Fangfrage.
Streng genommen ist richtig, nichts davon.
Warum? Das ist jetzt sehr dusselig, aber warum?
Genau. In Reck sind Sprachen drin und ein regulärer Ausdruck
ist eigentlich keine Sprache, sondern beschreibt nur eine Sprache.
Jetzt könnte man sagen, die Menge von Worten,
die der reguläre Ausdruck beschreibt,
die ist enthalten in Reck
Also hier müsst ihr irgendwie stehen, MR ist enthalten in Reck.
Was wir aber im Grunde genommen ab sofort auch immer machen werden,
ist, dass wir das natürlich zulassen, dass man irgendwie sagt,
naja, wenn ich einen regulären Ausdruck habe,
ob ich den da nun hinschreibe und den quasi benutze wie eine Menge oder ob ich immer noch dazu sage,
ja, ja,
das ist eigentlich meine ich die Menge oder so.
Das ist so ein bisschen egal. Also wir werden ab sofort
natürlich so Sachen schreiben wie A-A, enthalten in A-Stern oder irgendwie sowas,
dass man nicht diese Notation hat, die sonst anstrengend ist,
sonst spart man da ja gar nichts.
Oh, welche Sprache akzeptiert Obiger DFA
Da stehen auch wieder
alle Antworten zur Auswahl
Jupp, Mehrheitssieg, ne? B-Stern-A-A, ignoriert komplett,
dass ich auch wieder aus dem Z3 rausgehen kann,
also mit B-Stern-A akzeptiere ich zwar alles,
aber ich akzeptiere eben noch mehr,
ne?
Ich kann ja
B-A-A,
B-A lesen
Klappt das nicht. Das zweite ist richtig, die Idee,
ich kann diese B-Schleife entlang gehen, in Z1,
also B-Stern, dann gehe ich mit den zwei As nach Z2Z3.
Das würde ich jetzt akzeptieren, deswegen ist danach in
dem BA-Stern ja auch das leere Wort drin.
Oder ich lese eben dieses BA irgendwie beliebig oft.
Und das dritte kann es nicht sein, da würde ich jetzt also,
beim dritten würde ich auch behaupten, ich akzeptiere Worte,
die nur aus Bs bestehen, tue ich aber nicht.
Und das vierte ist im Grunde genommen so wie das zweite,
nur dass ich sagen würde, ich muss mindestens einmal diese Schleifen entlang gehen.
Und das stimmt ja auch nicht. Also zweitens macht
es Sinn
Wenn Ellen eine Timingphysik mal Sterne sprache, es ist dann
auch Sigmar Stern ohne Ellen eine Sprache und falls ja,
ist sie regulär.
Nein, nein, ja, nein,
ja und manchmal ja und ja
Okay, also erst mal, wenn es eine Sprache ist,
also Sprache ist ja einfach so definiert,
dass wir sagen,
eine Teilmenge von Sigmar Stern
ist eine Sprache
Naja, wenn El jetzt eine Timing von Sigmar Stern ist
und ich nehme dann Sigmar Stern und schmeiße alles raus,
was in L ist, dann ist das ja,
also Sigmar Stern ohne L ist halt alles,
was in Sigmar Stern ist, ohne die Worte aus L. Sprich,
da bleiben nur Worte aus Sigmar Stern übrig.
Ist also auch wieder irgendwie eine Timing von Sigmar Stern.
Also muss das eine Sprache sein? Also zwei, drei,
vier klingt schon mal gut. Sei eine Sprache ist,
dass dann auch eine Sprache, falls ja, ist es eine reguläre Sprache.
Ja und nein, ja und manchmal,
ja und ja, ist ein bisschen schwierig zu beantworten,
die Frage, wenn gar nichts über L gesagt ist,
außer dass es eine Sprache ist.
Jetzt kann man sich fragen, wenn ich weiß,
dass die regulär ist, Kann ich dann vielleicht Schluss folgen,
dass Sigmar Stern ohne L auch immer regulär ist?
Oder kann ich das vielleicht nicht oder sowas? Und das
ist dieses Gebiet mit den Abschlusseigenschaften. Wir machen das gleich
. Abschluss. Wer hat noch Energie? Alles gut,
wer hat noch Energie und dann nur so vorsichtig melden.
Wir machen da ein bisschen... Ja,
hier kommst du erst 13.20 Uhr,
ein bisschen machen wir noch
Bitte? Zu was? Ja. Teilmenge.
Oder meinst du jetzt, wenn das der Fall ist?
Ja, wenn es ganz Sigma Stern ist.
Ja, dann ist ja leer. Also,
wenn Freiberger gerade, wenn er ganz Sigma Stern ist,
dann ist ja Sigma Stern ohne L die leere Menge.
Da wissen wir ja zum Beispiel sogar, dass die regulär ist.
Dafür kann ich ja, also du musst in der Sprache sein,
das ist ja sogar eine reguläre Sprache für die leere Menge,
kann ich einen Automaten ganz schnell konstruieren, der die akzeptiert.
Ich mache einen Startzustand und das war es,
so keine Endzustände, kein gar nichts, der akzeptiert keine Wörter,
also akzeptiert er genau die leere Menge, also die Menge,
die keine Wörter enthält.
Genau. Nee, die Frage war gerade, ob Sigmar
Stern quasi regulär ist. Und Lösung wurde gleich mitgeliefert,
ich mache mir einen Zustand,
der Start- und Endzustand ist und mache mir für jedes Symbol,
das sieht meine Kante ran, Sigmar Stern ist also immer regulär.
Aber das heißt ja nicht, dass L regulär sein muss
Also von L weißt du nur, also L ist genau dann regulär,
wenn du einen DFA für L angeben kannst.
Nicht, wenn du einen DFA angeben kannst für eine Übermenge. Ja,
warum, diese Beispiele, wo man irgendwie sagt, naja,
wenn ich mehr akzeptiere, ist das ja vielleicht blöd.
Ich will ja nur die Sachen akzeptieren, die mich wirklich interessieren.
Also Abschlusseigenschaften. Gucken wir uns das Thema nochmal kurz an.
Die meisten Abschluss, also viele Abschlusseigenschaften kriegen wir auch geschenkt.
Was will man machen? Man hat entweder eine einstellige Operation
oder eine zweistellige Operation auf Mengen
Soll bedeuten, einstellige Operationen, zum Beispiel sowas wie Komplimentbildung.
Da habe ich eine Menge und dann schreibe ich mir da
ein Balken drüber oder nicht davor oder irgendwie sowas.
Das ist eine einstellige Operation. Zweistellig ist sowas wie Vereinigung
. Da nehme ich zwei Mengen und raus kommt wieder eine
andere Menge. Also wenn ich zwei Mengen habe,
dann wenn ich entweder diese einstellige Operation darauf an,
die hat eben als Argument nur genau eine Menge oder diese zweistellige,
die hat eben zwei Mengen.
Meistens schreibt man das auch so in Infix-Notationen,
also dass man nicht F-2 von M1M2 schreibt,
sondern eben M1. Kringel M2,
was auch immer man da mit dem Kringel meint.
Vereinigung, Durchschnitt, Konkordination,
irgendwas ganz anderes
Und jetzt interessieren wir uns dafür,
wann eine Sprachfamilie abgeschlossen ist gegenüber bestimmten Operationen. Sprich,
wenn ich eine Operation habe, dann möchte ich jetzt wissen,
wenn ich eine Menge aus dieser Sprachfamilie nehme,
eine Sprach aus dieser Sprachfamilie, eng so ein R,
ist dann immer auch F1 von R in dieser Sprachfamilie.
Oder wenn ich eben zwei habe mit dieser zweistelligen Operation,
ist dann auch F2 von R1 R2 in dieser Sprachfamilie.
Typische Beispiele, Vereinigung, Komplimentbildung.
Warum will ich das wissen, weil mir das oft
die Arbeit erleichtert
Also wenn ich dann für bestimmte Sprachen schon sehe,
naja, das kann ich irgendwie ausdrücken als zwei kleinere Sprachen,
die ich mit einer bestimmten Operation verbinden kann,
dann gucke ich mir nur die kleineren Sprachen an,
verbinde die und weiß sofort,
das Ergebnis ist auch wieder in Ordnung.
Reguliere Sprachen, die wollen wir uns jetzt angucken,
Vereinigung, Hochplus, Komplimentbildung, Durchschnitt, Homo Offismen anwenden,
was auch immer einem einfällt.
Und dann wollen wir gucken, gilt das hier tatsächlich.
Ist dann auch die Vereinigung immer regulär? Ist die Plusbildung
immer regulär und so weiter. Argumentation ist immer,
sein L1L2 regulärer Sprachen, dann,
also ist auch die Verbindung oder Verknüpfung
irgendwie regulär
Das wollen wir machen. Viele Abschlusseigenschaften kriegen wir geschenkt.
Warum? Steht ja mit regulären Ausdrücken. Warum kriege ich
die vier geschenkt? Warum weiß ich sofort reguläre Sprachen sind
gegenüber dir abgeschlossen? Noch ein Grund übrigens,
warum ich diese Clicker-Fragen nicht mit Handys mache,
so weiß ich mit Sicherheit, die Leute,
die aufs Handy gucken, arbeiten nicht mit.
Wobei stimmt ja gar nicht, vielleicht lesen die da
das Skript so irgendwie.
Sieben, sechs. Na, warum sind die abgeschlossen?
Ja, ja, fast, fast, ja, ja.
Ja, genau, genau, warum, ja,
die müsste man auch zeigen. Im Grunde genommen sagt ihr beide
das Richtige. Irgendwie haben wir das ja schon gemacht.
Wenn ich es streng durchführen will, dann sage ich,
ich nehme mir zwei reguläre Sprachen, L1L2,
dann weiß ich,
dafür gibt es zwei reguläre Ausdrücke,
Die kann ich jetzt zum Beispiel mit einem Plus verbinden.
R1 plus R2. Das ist nach Definition der regulären Ausdrücke
gerade die Menge MR1, vereinigt MR2.
Und dafür gibt es wieder einen regulären Ausdruck. Quatsch,
dafür gibt es wieder einen DFA, also weiß ich,
dass die regulär sind. Also wenn L1 der 2 in Reck,
gibt es eine reguläre Ausdrücke, die die beiden Sprachen beschreiben.
Dann ist nach Definition auch plus mal hoch plus hoch mal
ein reguläre Ausdruck, der gerade diese Mengen beschreibt.
Also, und ich weiß ja vom vorherigen,
jeder reguläre Ausdruck beschreibt eben eine reguläre Sprache.
Also sind diese Sprachen auch regulär.
Dann habe ich das erreicht, was ich erreichen will.
Also war beides richtig. Im Grunde genommen habe ich
das schon gemacht
Die waren also einfach. Jetzt kann man sich natürlich noch überlegen irgendwie, ja,
wenn ich jetzt aber vielleicht gerade, das zeigt zwar den Abschluss,
ist vielleicht aber aus Praxissicht nicht so hilfreich,
wenn ich irgendwie vielleicht für L1L2 gerade gar keinen regulären Ausdruck habe,
sondern vielleicht einen Automaten.
Vielleicht gibt es ja schnellere Sachen,
wie ich das irgendwie Vereinigung von zwei regulären Sprachen,
die als Automaten gegeben sind, machen kann,
aber das haben wir im Grunde genommen bei der Konstruktion gesehen,
wie man das ganz gut machen kann.
Spannender, solche Geschichten, Komplimentbildung, das,
was wir eben hatten
Also die Frage, die wir eben hatten,
wenn ich habe, Alice eine Teilmenge von Sigmar Stern.
Jetzt definiere ich mir die Komplimentbildung hier. Also das ist
im Grunde genommen Sigmar Stern ohne Elne. El Balken,
das sind all die Wörter, die eben nicht in L sind.
Das ist das Kompliment von Elton. Wie zeige ich das
denn? Das wird schon schwieriger. Oder kann ich das
überhaupt zeigen? Also im Grunde genommen die Frage von eben,
die letzte Clicker-Frage, nur dass hier explizit gesagt wird,
oder steht da jetzt gerade nicht explizit,
aber wir sind ja im Kontext reguläre Sprachen,
was uns jetzt interessiert ist, sind reguläre Sprachen gegenüber Komplimentbildung abgeschlossen.
Sprich, wenn L regulär ist, Ist dann auch Kompliment
von L. regulär. Ja, aber... Also,
ich nehme den Automaten und tausche quasi Endzustände und nicht Endzustände aus,
also dieses Fleck, ob ein Zustand Endzustand ist oder nicht,
tausche ich aus.
Gibt es noch ein ganz kleines Problem, das funktioniert fast.
Wo kann das, wo kann das Probleme geben?
Ja. Bitte
Ja. Was ist, warte mal, bringt es mal anders auf den Punkt,
was ist das Problem, was kann passieren?
Genau, genau das. Wenn der eine Automat,
also der von dem man ursprünglich ausgeht,
wenn der jetzt bei einem Wort blockieren würde,
er liest das Wort bis irgendwo und blockiert da,
dann akzeptiert er ja nicht.
Und wenn du da jetzt nur Stadt- und Endzustände austauscht,
dann akzeptiert der andere aber auch nicht,
weil er da auch blockiert
Blöd. Kann man aber ganz schnell machen. Man macht
das mit vollständigen Automaten fertig. Also mit fortigen DFAs.
Nicht mit richtigen... Ich kann so nicht arbeiten. Ich
bin... Hallo? Geht noch, oder? Geht wieder
. Okay. Mit vollständigen DFAs. Es ist schwierig,
das mit regulären Ausdrücken zu machen,
es leicht ist mit Automaten
zu machen
Wenn Ellien Reck ist, gibt es einen vollständigen DFA,
der die Sprache akzeptiert. Wichtig ist,
er ist vollständig und dann konstruiert man einen vollständigen DFA-A-Strich,
in dem man einfach alles genauso macht wie bei A,
mit dem einen Unterschied,
wenn ein Zustand in A und End-Zustand ist,
dann ist das in Arschstrich nicht.
Und wenn Zustand in A kein Endzustand ist, dann ist es
einer in Arschstrich. Das führt dazu, wenn A,
also beide Automaten können jedes Wort zu Ende lesen, wir sind ja vollständig.
Und wenn ich jetzt also ein Wort nehme,
das A vorlege, dann liest er das bis zum Ende,
endet in irgendeinem Zustand.
Wenn er jetzt im Endzustand ist, akzeptiert er,
dann akzeptiert A Strich gerade nicht,
weil da ist es ja
kein Endzustand mehr
Oder A ist nicht in einem Endzustand, akzeptiert also nicht,
dann ist A aber gerade, arschtrich gerade in einem Endzustand und akzeptiert.
Also genau diese Bedingungen einfach ausgetauscht und dann akzeptiert man genau das Kompliment.
Da nochmal, wir haben gerade End- und Nicht-Endzustände ausgetauscht,
wenn ein Wort von A akzeptiert wurde,
dann gibt es eine Rechnung,
die im Endzustand endet und genau die gleiche Rechnung mache ich in A-Strich,
ändere aber eben nicht in einem Endzustand.
Und wenn Wort von A nicht akzeptiert wurde, Rechnung endet dann im Nicht-Endzustand,
da gibt es genau die gleiche Rechnung in A-Strich,
da akzeptiere ich aber, weil es da ein Endzustand ist.
Und damit akzeptiert A-Strich eben gerade die Wörter,
die A nicht akzeptiert,
also das Kompliment
Und dann ist man da fertig. Das war... Kann
man machen? Schnitt. Ist auch schwierig mit rationalen Ausdrücken
. Gegeben zwei rationale Ausdrücke, den Schnitt zu formulieren.
Ideen. Es gibt eine schnelle Variante und eine komplizierte
Ja, dann müsstest du aber, du willst die Schnittmenge der Endzustände nehmen.
Dann müssten sie ja beide die gleichen Zustandsmenge irgendwie haben.
Oder zumindest ähnliche Endzustandsmengen, damit du Schnitt machen kannst.
Also wenn der eine jetzt irgendwie, was weiß ich,
Z0Z1 der 2 heißt und der andere ZAZB, ZC,
dann ist da nichts zum Schneiden.
Vor allen Dingen geht immer, so schneiden geht nicht.
Bitte? Nee. Wir können ja mal kurz
die einfache Variante zusammenbasteln. Welche Abschlusseigenschaften haben wir schon
Ja, ich bin morgen fertig. Also wir haben ja schon Vereinigung,
sprich diese Plus-Geschichte bei rationalen Ausdrücken, also Vereinigung.
Und wir haben eben ein Kompliment gemacht. Naja,
und mit Vereinigung und Kompliment komme ich mit den Demorgischen Gesetzen an den Schnitt ran.
Also irgendwie A vereinigt mit B ist das Gleiche wie irgendwie
nicht A geschnitten, nicht B und das noch komplementiert.
Also das kann ich mir irgendwie zusammenbasteln. Dann weiß ich zumindest,
dass es abgeschlossen,
aber es gibt eine schöne Methode zu zwei regulären Sprachen,
die als DFAs gegeben sind,
ein DFA zu konstruieren,
der genau
den Schnitt akzeptiert
Denkt mal an die sowas wie die Potenzautomatenkonstruktion.
Jetzt habt ihr zwei Automaten und ihr wollt genau dann akzeptieren,
wenn es in beiden auf dem Wort eine Rechnung gibt und beide dann in einem Endzustand landen.
Und ihr wollt halt nicht akzeptieren,
wenn einer von beiden nicht im Endzustand landet oder wenn einer blockiert oder irgendwie so,
naja, nehme blockieren mal raus, wir arbeiten mit vollständigen DFAs,
das macht es leichter.
Genau. Genau. Genau. Kernidee,
ich nehme mir ein Tupel, als Zustand jetzt,
erstes Element des Tupels ist Zustand des Einautomaten,
zweites Element im Tupel ist Zustand des anderen Automaten und dann simuliere ich
quasi in der ersten Komponente des Tupels immer eine Rechnung in dem einen Automaten,
im zweiten Komponenten des Tupels eine Rechnung in dem anderen Automaten.
Und wenn beide in einem Endzustand landen,
akzeptiere ich Wenn halt einer nicht, dann nicht.
Also man geht von zwei Automaten aus und der Neue muss
dann die Wörter akzeptieren, die beide Automaten akzeptieren.
Nun merken wir uns halt im Zustand des neuen Automaten jeweils,
in welchem Zustand der erste und in welchem Zustand der zweite Automat ist.
Deswegen nehmen wir auch keine Mengen, sondern halt Tupel,
weil wir im Tupel immer genau wissen, ja,
das erste Element im Tupel, das gehört jetzt zum ersten Automaten,
das zweite Element im Tupel gehört zum zweiten Automaten.
Wenn wir da mit Mengen arbeiten würden,
dann kommt man da nicht gut ran. Also gegeben zwei,
vollständige DFAs, das macht es ein bisschen einfacher,
geht auch mit nicht vollständigen,
aber vollständig ist das
schön einfach
Der erste akzeptiert die Menge L1,
der zweite akzeptiert die Menge L2 und dann konstruieren wir jetzt einen neuen,
vollständigen DFA-C, in dem wir folgendes machen,
Zustandsmenge von ihm ist gerade die Tubel, bestehend aus erstes Element,
Zustand des einen Automaten, zweites Elementzustand des anderen Automaten.
Dann nehmen wir als Eingabealphabet den Schnitt der beiden Eingabealphabete,
da kann man halt so ein bisschen sparen,
weil wenn der eine Automaten C lesen kann und der andere kann gar kein C lesen,
blockiert er also, dann will ich auch keine Kante haben,
weil ich dann gar keinen Nachfolgezustand hätte in dem ersten Tubel-Element oder sowas.
Als Startzustand nehme ich mir gerade das Tubel,
im ersten Element Startzustand des ersten Automaten ist und im zweiten Element Startzustand des zweiten Automaten.
Oder als Endzustandsmenge halt, da muss man auch nochmal aufpassen,
da nehme ich das Kreuzprodukt, weil es ja quasi egal ist.
Es geht ja nur darum, dass beide in einem Endzustand landen.
In welchem jeweils ist egal? Also wenn der erste irgendwie als Endzustände 1, 2,
3 hat und der andere A, B, C,
dann ist es okay, wenn ich in 1a lande oder 1b oder 1c oder 2b, 2C, so ist alles okay.
Wichtig ist nur, beide landen in einem Endzustand. Und die Überführungsfunktion,
die definiert man sich jetzt so,
dass man halt so ein Tupel nimmt und im ersten Tupel-Element,
also im ersten Element des Tupels gerade mit der Überführungsfunktion Delta 1 arbeitet und im zweiten Element des Tupels mit der Überführungsfunktion Delta 2. Sprich,
wir sagen Delta 3 von Z1 Z 2, wenn der ein X liest,
dann definieren wir uns das gerade als das Tupel-Zustandsübergang im ersten Automatenzustandsübergang im zweiten Automaten.
Und dann wird halt erste Komponentrechnung,
das ist eine zweite Komponentrechnung des anderen und dann kann man relativ schnell die Korrektheit zeigen,
nämlich dass man zeigen kann,
wenn ich in dem konstruierten Automaten, diesem C,
wenn ich da eben mit der erweiterten Überführungsfunktion vom Staat zu Staat ausgehen,
mit VNN-Endzustand komme, das passiert eben genau dann,
wenn ich beim ersten Automaten von Z-1-0 ausgehend mit WNN-Zustand komme und beim zweiten von Z-2-0 mit WNN-Zustand.
Da steigen wir morgen nochmal ein, dass wir da uns das nochmal genauer angucken,
aber so von der Idee, ich gucke halt,
dass ich in beiden eine Rechnung habe,
die zum Endzustand führt mit den gleichen Buchstaben.
Ja, und wenn man das händisch machen will,
man beginnt wieder im Staatszustand, im Grunde genommen so,
wie wir das beim Potenzautomaten auch gemacht haben,
dass man das halt nicht alles macht,
sondern dass man einfach nur die Teile nimmt,
die man wirklich braucht.
Man startet im Staatszustand und guckt dann eben sukzessive,
was ist jeweils für die einzelnen Symbole der Nachfolgezustand im ersten Automaten
und im zweiten und das Tubel ist dann eben Nachfolgezustand im Produktautomaten.
Ja, wie gesagt, an der Stelle machen wir dann nächstes Mal nochmal weiter,
dass wir uns den nochmal kurz ein bisschen genauer angucken.
Zusammenfassung für heute, reguläre Sprachen abgeschlossen gegenüber den sechs Operationen,
die haben wir uns gerade angeguckt.
Die ersten vier kriegen wir mit regulären Ausdrücken ziemlich schnell,
die unteren zwei kriegen wir mit Automaten.
Und es gibt noch weitere Abschlusseigenschaften,
1-2 gucken wir uns auch noch an,
aber es gibt noch weitere und kompliziertere,
die dann in der Literatur stehen
Frage, ja. Die Frage war gerade, warum man hier da,
warum man da Tupel nimmt und nicht eine Menge. Wenn du da eine Menge nimmst,
dann wird es schwer an die einzelnen Elemente ranzukommen,
um zu sagen,
ich will da jetzt ein Element rausnehmen und auf dieses Element
die Überführungsfunktion des einen Automaten anwenden und auf den anderen,
oh Gott,
auf das andere Element,
die Überführungsfunktion des anderen Automaten,
weil die ja
nicht unbedingt auf all diesen Zuständen definiert sein müssen
Das wird dann also einfach, das wird schwierig zu formulieren.
Es würde auch klappen so, aber es ist schwieriger an die Elemente ranzukommen.
Und es ist nicht so intuitiv, wie zu sagen,
irgendwie das erste Element im Tupel ist die Rechnung des einen Automaten,
das zweite, die Rechnung des anderen.
Sondern du müsstest dann sagen, alle Mengen sind zwei elementig
und es gibt auf jeden Fall ein Element da drin,
was dem ersten Automaten entspricht und eins aus dem zweiten entspricht,
das ist irgendwie was hässlich.
Und dann kriegst du auch noch Probleme,
falls doch der Fall auftritt, dass das gleiche Zustandsbenennungen gibt.
Das wird dann auch nochmal hässlich,
da ist es plötzlich nur ein Element in Gemengen.
Ja, so, jetzt kennen wir ganz,
ganz viel
Wir kennen jetzt also quasi mit diesen ganzen Abschlusseigenschaften,
können wir uns richtig viele Sprachen konstruieren und wir wissen von jeder, dass die regulär ist.
Weil vor allem können wir zum Beispiel auch noch sowas wie das Kompliment benutzen,
was es ja bei rationalen Ausdrücken gar nicht so gab,
aber regulären Ausdrücken,
dann kann man da über die Dinger auch nochmal einen Balken drüber machen,
kriegt noch eine Sprache, wo man weiß,
die ist auch regulär.
Und trotzdem weiß man ja irgendwie, man kann nur endlich
viele Informationen sich merken. Und jetzt kann man sich mal überlegen,
ob solche Sprachen, ob die gehen oder nicht.
Und da machen wir dann morgen weiter,
ihr werdet schon Wie heißt das, ihr werdet unruhig?
Danach kommt auch nur noch Wiederholung, hoffe ich.
Ja, genau. Danach kommt nur noch Wiederholung. Ihr stellt die
gleich ins Netz, dann könnt ihr euch die Wiederholung zu Hause angucken.
Und morgen machen wir weiter mit den Produktautomaten nochmal kurz und
dann uns solche Sprachen angucken und langsam mal dahin kommen,
dass es tatsächlich vielleicht auch Sprachen gibt,
die nicht regulär sind.
So,
feiern,
bis morgen