Brummel, Brummel, Brummel, Brummel, Brummel,
Brummel, Brummel, Brummel. Ah, kommt zum Ende.
So. Heute sieht man schon so kontextfreie Sprachen. Wir verlassen
jetzt langsam so den Bereich der regulären Sprachen oder der Familie der regulären Sprachen,
nachdem wir ja letztes Mal gesehen haben,
dass es irgendwie Sprachen gibt, die nicht regulär sind.
Da haben wir ja zumindest mal so einen Automaten uns mal kurz angeguckt mit dem Kellerautomaten,
der alles kann, was ein DFA kann.
Also zumindest die Familie der regulären Sprachen erfasst und zusätzlich auch
noch diese eine Sprache, die wir uns mal speziell angeguckt haben,
die nicht regulär ist.
Dieses A-Hoch-NB hoch-N, das kann der auch
Jetzt könnte man losgehen und sagen, okay,
dann nehmen wir dieses Automatenmodell und definieren darüber wieder eine Sprachfamilie.
Deswegen, wir sagen alles, was der Automat akzeptiert,
ist jetzt eine neue Sprachfamilie. Das könnten wir machen,
machen wir aber nicht. Wir machen das gleich ein bisschen anders.
Wir machen das mit Grammatiken. Und bevor wir da hinkommen,
noch einmal ein bisschen Wiederholung zum Pumping-Lämmer vom letzten Mal.
Erstmal, das waren alles die Formalismen,
die wir jetzt so kennen für reguläre Sprachen.
DFA, NFA, NFA mit Landerkanten, reguläre Ausdrücke. Ja,
immer wenn man jetzt eine Sprache hat,
ist dann halt irgendwie die Aufgabe gegeben,
die Sprache konstruiere mit einem von den vier Formalismen irgendwie etwas,
von dem man behauptet,
das akzeptiert oder in dem Beispiel der regulären Ausdrücke beschreibt
die Sprache und dann muss man dem noch zeigen,
dass das tatsächlich tut
Und dann ist man fertig. Dann haben wir noch gesehen,
es gibt jede Menge Abschlusseigenschaften bei den regulären Sprachen.
Sprich, wenn ich zwei reguläre Sprachen habe,
ist all das da auch wieder eine reguläre Sprache.
Also kompliment einer regulären Sprache ist regulär.
Vereinigung zwei regulären Sprachen ist regulär und so weiter.
Was haben wir noch gemacht? Und dann kommt man eben
auf jede Menge reguläre Sprachen und kann sich dann fragen,
aber irgendwie gibt es nicht auch Sprachen, die nicht regulär sind.
Und das Werkzeug, was wir dann entwickelt haben,
ist uns dabei helfen kann, dass das sogenannte Pumping-Lämmer gewesen,
dass eben eine Aussage macht über eine Eigenschaft,
die alle regulären Sprachen haben
Dass man sagt, wenn eine Sprache regulär ist,
dann gibt es irgendwie so eine natürliche Zahl N mit der Eigenschaft,
jedes Wort,
das mindestens die Länge N hat und in der Sprache drin ist,
lässt sich irgendwie zerlegen in den UVW mit eben diesen drei speziellen Eigenschaften,
das UV, kleiner gleich Ende ist,
V größer gleich 1 und dann eben diese Pumpeigenschaft UV,
IW ist immer in Älteren.
Und die Idee beim Beweis war, wenn die Sprache regulär ist,
gibt es ja einen endlichen Automaten, der sie akzeptiert.
Der hat irgendwie eine bestimmte Anzahl von Zuständen.
Das ist das N. Dann sage ich, naja,
wenn ich Endzustände habe und ich lege ihm jetzt ein Wort vor,
das mindestens die Länge N hat
Wenn er das jetzt also liest, er sollte akzeptieren,
es geht ja nur um Worte, die akzeptiert werden,
wenn er das liest, dann besucht er aber Endplus 1 viele Zustände.
Eine Übergänge machen, ich fange beim Staatszustand an,
wenn ich Endübergänge mache, besuche ich irgendwie insgesamt Endplus 1 viele Zustände.
Wenn ich aber nur Endzustände habe, muss irgendein Zustand
doppelt auftreten in diesen Zuständen, die ich da besuche.
Ja, und wenn einer doppelt auftritt,
dann nehme ich halt den, der sich das erste Mal wiederholt,
dann fange ich mit dem Staat zur Stadt an, nö
nö nö nö nö, wenn hier beim Zustand,
komm da wieder hin und dann lese ich irgendwie den Rest.
Und dieses, ich komme von da da wieder hin,
das kann ich halt beliebig oft machen.
Das ist diese dritte Eigenschaft, dieses UV Hoch IW
Und die anderen beiden Eigenschaften ergeben sich da auch,
wenn ich irgendwie von diesem Zustand wieder zu ihm selbst zurückkomme,
dann muss ich halt mindestens eine Kante langgegangen sein.
Deswegen ist mindestens, hat V mindestens die Länge eins.
Und das UV kleiner gleich N, das rührt daher,
dass ihr ja die erste Wiederholung nach spätestens Endschritten haben müsst.
Ihr habt ja nur endviele Zustände. Das heißt,
wenn ihr Endschritte gemacht habt und der erste zählt noch mit,
dann spätestens da die Wiederholung sein.
Und das ist schon der ganze Beweis. Ja,
und wenn man es aber benutzen will,
man benutzt es jetzt nicht, um zu zeigen,
dass eine Sprache regulär ist, sondern man benutzt es,
um zu zeigen, dass eine Sprache nicht regulär ist.
Jetzt kommt man also mit irgendeiner Sprache,
nimmt an die Wehre regulär
Und zeigt dann, dass eben dann die Eigenschaften des Pumpinglamers nicht gelten,
indem man dann sagt, okay, angenommen,
die Sprache wäre regulär, sei in die Zahl aus dem Pumpinglamer,
jetzt suche ich mir ein Wort aus,
das in der Sprache ist und das länger ist als N oder mindestens die Länge N hat.
Und dann zeige ich, dass alle Zerlegungen von Z in
dieses UVW im Widerspruch zumindest einer dieser drei Eigenschaften stehen.
Und praktikabelerweise macht man das so, dass man sich nur die Zerlegung anguckt,
die erstens so ein zweitens erfüllen, dann hat man nämlich was,
womit man ein bisschen arbeiten kann, dann weiß ich,
die Zerlegung muss irgendwie in den ersten,
oder das UV muss in den ersten in Symbolen drinstecken
Und ich weiß, das V ist größer,
gleich eins und dann kann ich das benutzen, um irgendwie zu argumentieren,
hoffentlich, dass die dritte Eigenschaft nicht erfüllt ist.
Da muss ich also, ich muss alle Zerlegungen betrachten,
dann reicht es mir, die anzugucken,
die die erste und zweite Eigenschaft erfüllen.
Aber ich muss mir immer noch alle Zerlegungen angucken,
die die erste und zweite Eigenschaft erfüllen.
Und dann muss ich zeigen, dass alle diese Zerlegung,
die dritte nicht erfüllen. Und bei drittens reicht es dann
ein E zu finden, sodass UV-Hoch-IV eben nicht in L ist.
Pumping, denn man sagt ja für jedes,
für den Widerspruch reicht es dann also eins zu finden.
Da ist das nochmal zusammengefasst, also an dem Elfer regulär,
zahlt das ein Pumping-Lemmer benennen
So ein Wort irgendwie finden mit dieser Eigenschaft.
Das ist so der erste kreative Akt,
weil das nicht immer mit jedem Wort funktioniert,
mit manchen funktioniert es gar nicht.
Mit einigen Wörtern ist es so, dass man dann Probleme hat,
das richtige I zu finden und sowas.
Da muss man also ein bisschen kreativ sein.
Und dann muss man hier eben alle Zerlegungen von Z in UVW
betrachten und für alle zeigen, dass die Widerspruch erzeugen.
Und auch da muss man eben zur Bestimmung des Is unter Umständen irgendwie kreativ sein.
Also hier alle Zerlegungen mit der ersten und zweiten Eigenschaft betrachten,
zeigen, dass man ein I finden kann mit der Eigenschaft,
das UV-IV eben nicht in L ist
Ja. Ist das Pumping Lamount der Ablauf? Beispiel dazu,
auch in BON, was wir letztes Mal noch gemacht hatten,
angenommen Elvire regulär, wenn ihr es jetzt zu Hause nachbereitet,
könnt ihr mal gucken, wie ihr sich die ganze Idee hier,
also wie sich der ablauft, nicht die Idee,
so eine Gesichterablauf, hier wiederfindet.
Also erster Schritt an dem Elvire regulär findet sich da genau wieder,
also angenommen, Elvire regulär, dann muss ja das Pumping Lamount gelten,
weil das Pumping dann mal sagt, ja wenn eine Sprache regulär ist, dann gilt bla bla
bla bla bla. Also anime-ell ist regulär,
dann weiß ich, regulär, Pampilam muss gelten,
gilt also das Pumping Lember, dann gebe ich dieser Zahl da,
die es dann geben muss, irgendwie einen Namen,
nenne ich die K,
Sei Karl die Zahl aus dem Pumpinglemmer.
Und jetzt muss man irgendwie ein Wort finden,
das in der Sprache älteren ist und das mindestens die Länge K hat.
Und wir nehmen jetzt einfach mal das Wort A, hoch KB hochkam.
Bei ganz vielen Beispielen, die wir am Anfang so betrachten,
reicht es meistens, die Exponenten da oben irgendwie durch die Zahl aus dem Pumpinglemmer zu ersetzen.
Vielleicht mit einer kleinen Manipulation, sowas wie K,
K, plus 1 oder sowas.
Aber das reicht dann meistens schon. Erst bei späteren Beispielen
wird das irgendwie komplexer. Jetzt überprüft man einmal,
dass diese zwei Eigenschaften tatsächlich gelten, dass ZNL ist.
Ja, gilt K-File As, gefolgt von K4&Bs.
Das gilt und die Länge ist offensichtlich auch größer als K,
die ist nämlich 2K,
ist also okay
Nach dem Pumping-Lämmer muss es jetzt eine Zerlegung geben von ZDUVW,
die alle drei Eigenschaften erfüllt.
Das wollen wir zum Widerspruch führen. Das heißt,
wir müssen zeigen, dass alle Zerlegungen von ZDUVW eben nicht
die drei Eigenschaften erfüllen, sondern mindestens einer widersprechen.
Jetzt gucken wir uns, wie gesagt, nur die Zerlegung an,
die die erste und zweite Bedingung erfüllen und zeigen,
dass diese im Widerspruch zu dritten dann stehen.
Dann hat man, wie gesagt, gezeigt,
dass alle Zerlegungen im Widerspruch zur dritten.
Genau, sie hat einmal gezeigt,
dass jede Zerlegung im Widerspruch zu einer der drei Bedingungen steht.
Entweder füllen die schon die erste oder zweite nicht oder wenn
die halt die erste und zweite erfüllen,
dann zeigen wir ja jetzt gleich gerade,
dass sie dann
die dritte nicht erfüllen
Wenn man annimmt, dass ich eine Zerlegung habe,
die die ersten beiden Eigenschaften erfüllt, dann heißt das UV,
also wenn ich Z in UVW zerlege,
UV ist kleiner gleich K,
wenn ich Z in UVW,
hier stehen sie auch praktischerweise beide direkt untereinander,
wenn ich das Z hier auch KBUK in UVW zerlege und das UV hier hat höchstens die Länge K. Naja,
dann muss das hier in den ersten K-fielden As drin sein.
Kann ja nicht in die Bs reingehen. Dann weiß ich noch,
das V hat mindestens die Länge 1, das heißt,
ich weiß, V besteht aus mindestens einem A,
maximal K-fiele,
mindestens eins
Also wenn ich so eine Zerlegung habe,
die UV-Kleine gleich K- und V-Größe gleich 1 erfüllt,
dann muss das V eben in diesen vorderen K-fielden Ars drin sein.
Und V hat mindestens die Länge 1,
also ist das CNA plus. Und was jetzt angenehm ist,
ist, wenn man das parametrisiert, man weiß halt,
V ist aus A plus. Das heißt,
es gibt irgendeinen J, das mindestens halt eins ist,
weil V ja mindestens die Länge 1 hat und maximal K,
weil UV ja maximal K ist hier,
der das V dann eben A hoch J ist.
Und beim Pfeil das V gleich A hoch K ist,
da ist U eben das leere Wort.
Und in allen anderen Fällen ist U
eben ein bestimmter Prefix von den ersten K4NAs
So recht das alles weiß, jetzt ist die Aussage des Pumping-Lämmers ja,
egal wie oft ich jetzt das V dahin schreibe,
also UV-Hoch-IW, ist immer in der Sprache drin.
Dann wäre ich jetzt schon alleine das Wort betrachte, also UV-Quadratme,
dann habe ich schon meinen Widerspruch, müsste in L sein,
ist aber gerade dieses Wort A hoch K plus J,
wie Hochkarne.
Ich schreibe ja die J vielen As von dem Foul
da jetzt zweimal hin. Bisher hatte ich K viele,
jetzt kommen die J vielen As nochmal dazu,
also sind es K plus J viel As.
Und dann hat man hier den Widerspruch.
K plus J ist nicht so viel wie K,
weil J ja
mindestens eins ist
Das Caplos J, also mindestens einer mehr,
ich glaube mindestens ein Armee,
als ich wie es habe und das widerspricht der Bedingung,
dass das Wort in L sein müsste,
habe ich also einen Widerspruch erzeugt und dann gilt eben die ursprüngliche Annahme und wir haben nur eine getroffen,
wir haben nur angenommen, dass L regulär wäre,
die muss also falsch sein und dann wissen wir,
L ist nicht regulär.
Ja,
Fragen dazu
Ob die Zahl aus dem Pumping-Lämmer, also das,
was da das K ist,
ob das in irgendeinem Zusammenhang steht mit der Anzahl der Zustände,
dem angenommenen DFA, kannst du ja fast schon selbst beantworten.
Du sagst ja, selbst der DFA ist angenommen und
wir zeigen ja gerade, dass es den nicht gibt.
Wir zeigen ja, die Sprache ist nicht regulär.
Im Endeffekt haben wir ja gezeigte Sprache, ist nicht regulär.
Also kann es den DFA nicht geben,
also kannst du auch keinen Zusammenhang haben mit Anzahl an Zuständen eines DFAs,
den es gar nicht gibt.
Also im Beweis hängt es damit zusammen, da nehme ich
ja auch wirklich eine Sprache, die regulär ist.
Dann gibt es ja wirklich einen DFA und dann macht es
Sinn zu sagen, okay,
der hat irgendwie eine bestimmte Anzahl von Zuständen
Seien das mal K, viele Zustände oder End oder was auch immer.
Da macht es Sinn. Aber hier bei dem Widerspruchsbeweis,
ich nehme an, die Sprache wäre regulär,
dann weiß ich, es müsste ein DFA geben,
der die Sprache akzeptiert und der müsste endfiele Zustände haben.
Aber nachher zeige ich ja quasi im Endeffekt,
es gibt diesen Automaten gar nicht,
also gibt es auch seine Anzahl an Zuständen nicht.
Noch Fragen. Und braucht man ja auch nicht.
Du hast es ja im ganzen Beweis nicht gebraucht,
nur gebraucht sei, kam halt diese Zahl und
ich mache irgendwie weiter.
Wenn was,
Entschuldigung,
sagen wir
Ich weiß nicht. Er meint gerade, was passiert,
wenn ich hier an der Stelle in der Mitte,
wo ich sage, J ist größer, gleich eins,
kleiner, gleich K, und ich da quasi vergesse,
anzugeben, dass das kleiner gleich K ist, ne?
Richtig verstanden? Okay. Ja,
im Endeffekt passiert nichts Schlimmes. Du sagst ja nur,
es gibt sogar einen J mit J ist größer,
gleich eins, sodass V gleich A hoch J ist.
Das reicht ja, um den Widerspruch herzustellen nachher. Das Wissen,
dass es gleichzeitig kleiner, gleich K sein muss,
das benutzt du ja eigentlich an der Stelle hier,
dass du sagst,
wenn UV-Kleider gleich K ist,
dann muss das V
in den ersten KA sein
Streng genommen ist es egal, das hier hinzuschreiben oder nicht,
weil dadurch, dass du sagst,
dass V gleich A hoch J ist, das impliziert das.
Und du brauchst es später nicht. Von daher,
das ist nur, wenn man vielleicht den,
wenn man ganz genau begründen möchte,
jetzt vielleicht aus didaktischer Sicht oder so, wenn man ganz genau sagen möchte,
wie viele Zerlegungen ich da gerade alles so betrachte.
Es gibt halt die Zerlegung, wo V ein einzelnes A
ist und dann kann das U am Anfang Lamda sein,
ein A, 2 A, 3 A,
4 As und so weiter.
Und dann kommt einmal das V,
dann ist der Rest ist das weh,
all die Zerlegung gibt es und dann gibt es die mit VS2 As und das gleiche Spiel.
Und irgendwann gibt es halt die eine Zerlegung auf UV
gleich A
hoch K ist
Und mehr dann halt nicht mehr.
Wenn man das betonen will, dann brauchen wir das.
Aber sonst bräuchte man das an der Stelle gar nicht.
Ja. In dem speziellen Beispiel geht es mit jedem I.
Also in dem speziellen Beispiel ist es hier ziemlich egal,
was man als UV-Hoch-IW betrachtet.
Das einzige, was klappt, ist UV-Hoch-1,
aber es ist irgendwie klar, da sind wir davon ausgegangen,
alle anderen sind ein Widerspruch.
Ja. Sonst noch. Aber es reicht ja,
um das nochmal zu betonen,
es reicht
eins zu finden
Morgen. Erstens, zweitens, drücken ist okay.
Haben wir eigentlich eben schon gemacht. Wovon muss das
gewählte Wort Set abhängen? Ach ne, haben wir eben
nicht gemacht. Wovon muss das gewählt über Z abhängen?
Was meint ihr? Eins, zwei,
drei oder vier
Äh, 3. Anzahl der Zustände des DFA nochmal,
das klappt, wenn wir tatsächlich zeigen, dass die Sprache
nicht regulär ist, dann gibt es gar keinen DFA.
Also es kann so ein Zusammenhang mit der Anzahl der Zustände gar nicht geben.
Das macht man im Beweis, da gehe ich,
also im Beweis des Pumpinglemmers, da gehe ich auch davon aus,
dass die Sprache regulär ist und zeige dann für jede reguläre Sprache,
gelten diese Eigenschaften des Pumpinglemmers.
Wenn ich es benutze nachher, also im Widerspruchsbeweis,
da nehme ich an, die Sprache ist regulär und komme hoffentlich daran,
dass sie gar nicht regulär ist.
Dann gibt es aber auch kein DFA für diese Sprache,
macht also gar keinen Sinn zu versuchen, so einen Zusammenhang zu diesen Zuständen hierherzustellen.
Also davon hängt es nicht ab, von der Zahl aus dem Pumpinglemmer,
die noch genauer spezifiziert werden muss, Wir spezifizieren die ja gerade nicht genauer.
Wir sagen nur Saikar, die Zahl aus dem Pumping-Lämmer und machen nicht mehr.
Also wir machen nicht solche Sachen wie Saikar,
die Zahl aus dem Pumping-Lämmer, von der ich ja außerdem weiß,
dass sie gerade sein muss und so weiter und so weiter.
Das mache ich alles nicht. Ich sage, Saikar,
die Zahl aus dem Pumping-Lämmer, fertig. Deswegen drittens,
von der Zahl aus dem Pumping haben wir die nicht genau spezifiziert behalten muss. Viertens,
wenn ich ein Wort nehme,
das lediglich in der Sprache ist,
wenn ich also eben in dem Beispiel,
wo wir A hoch KB hoch K genommen haben,
wenn ich da sowas nehme wie A hoch 4B hoch 4,
dann ist das Wort zwar auch in der Sprache drin,
ich kann aber gar keinen Widerspruch erzeugen,
weil diese drei Eigenschaften des Pumping-Lämmers gelten ja nur für
Worte,
die in der Sprache sind
Und die mindestens die Länge K haben. Und A hoch 4,
B hoch 4 oder weiß ich nicht,
das ist das mindestens die Länge Karte,
das hat je länger 8. Oder eigentlich weiß,
wie K aussieht, kann ich damit nicht arbeiten.
Also muss ich das Wort irgendwie abhängig machen von dieser Zahl Chaos dem Pumping-Lämmer. Sprich,
sei K die Zahl aus dem Pumping-Lämmer und jetzt muss ich irgendwie dafür sorgen,
dass das Wort mindestens die Länge K hat,
also muss das da irgendwie bei der Anzahl der Buchstaben drin auftreten.
Also drittens, diese ganze Formulierung ist einfach,
das kann man tatsächlich immerhin schreiben, wenn man sagen will,
ich will das bei dem Pumping nochmal beweisen,
angenommen die Sprache wäre regulär,
sei K die Zahl aus dem Pumping-Lämmer und dann lege ich los,
was kann ich immer machen und mehr sage ich
gar nicht über
Wie viele Zerlegungen müssen betrachtet werden
Musik Genau andersrum. Ich hätte gerne A bei B und D
bei C und also Eine muss zum Widerspruch geführt werden,
nein, nein, nein, nein, nein, alle,
alle, alle, alle, alle, alle, alle,
sag mal alle, alle, alle, alle, danke.
Also Kindergartenstyle, so sag mal eins, eins, zwei,
zwei. Also, alle Zerlegung, das Pumpinglemmer sagt,
für Worte Z DNL sind und die mindestens die Länge K haben,
gibt es eine Zerlegung von Z und UVW mit diesen drei Eigenschaften.
Wenn ihr das zum Widerspruch führen wollt, dass es eine Zerlegung gibt,
dann müsst ihr zeigen, dass es keine Zerlegung gibt.
Also, dass alle Zerlegungen im Widerspruch stehen.
Es gibt eine natürliche Zahl mit einer bestimmten Eigenschaft,
wenn ihr das zum Widerspruch führen wollt,
müsst ihr zeigen, es gibt keine.
Also müsst ihr zeigen, dass alle natürlichen Zahlen
diese Eigenschaft nicht haben
Alle, alle Zertigungen müssen betrachtet werden. Also zweitens,
oder man kann auch drittens nehmen,
Zerlegung mit bestimmten Eigenschaften müssen zum Widerspruch gebracht werden,
weil man nämlich sagt, naja,
eigentlich ja nur die Zerlegung, die erstens und zweitens erfüllen.
Und da zeige ich dann, dass die drittens nicht erfüllen.
Da steckt aber quasi noch diese ganze Idee hinter,
dass ich sage, Zerlegung, die erstens und zweitens nicht erfüllen,
naja, erfüllen ja schon irgendwie eine der drei Eigenschaften nicht.
Nämlich erstens oder zweitens. Und alle anderen erfüllen dann eben
drittens nicht. Und viertens genau das Gleiche.
Man muss eine Zerlegung mit bestimmten Eigenschaften finden, nein,
alle,
alle Zerlegung
Das sieht immer nur so aus,
als wäre es nur eine, weil wir sagen irgendwie,
sei J, so eine Zahl zwischen 1 und K
und das V dann A hoch J ist.
Aber da stecken ja ganz viele Zerlegungen drin. Da steckt ja drin,
dass J1 sein kann, zwei, drei, vier,
fünf, sechs, sieben bis hin zu K.
Und für jeden dieser Werte, oder für fast jeden,
gibt es sogar noch mehrere Zerlegungen in ihm.
Nämlich, je nachdem, nämlich, je nachdem,
wo das V ist in dem Wort.
Vorne kommt das U und dann kommt ja erst das V. Das heißt,
wenn V die Form A-Quadrat hat,
dann kann das die ersten beiden As sein oder das zweite und dritte,
das dritte und vierte,
das vierte und fünfte und so irgendwo da und
all das sind ja unterschiedliche Zerlegungen
Also nochmal, ne,
ich muss alle Zerlegungen betrachten und alle zum Widerspruch führen.
Kann mit dem Pumping nochmal gezeigt werden, dass eine Sprache regulär ist.
Nein, genau. Kann man nicht zeigen.
Es gibt auch Sprachen, die die Eigenschaft des Pumpinglemmers erfüllen
und die trotzdem nicht regulär sind
Und zum Nachdenken. Wenn ihr ja sagt,
dann müsstet ihr eine Idee haben,
wie man Automaten dafür konstruiert oder einen rationalen, regulären Ausdruck.
Und wenn ihr Nein sagt,
könnt ihr mal im Kopf versuchen,
das Pumpinglem anzuwenden innerhalb von 40 Sekunden
. . . . . .
Ja, ja? Idee für den Automaten
Ja, dann würdest du die Buchstaben immer direkt hintereinander lesen. Also A,
A, B, B oder sowas, ne,
dann liest du ja nicht zuerst A, B,
B und dann B, B,
A. Also da gab es noch nicht so ganz,
was, wir haben ja mal gezeigt,
dass die regulären Sprachen gegen eben gegenüber,
gegenüber dieses Reverse-Operators abgeschlossen sind.
Wer erinnert ihr das?
Kann man das benutzen
Das wäre ja eine doofe Aussage, wenn man sagen würde,
regulärisch, sonst, wenn ich reguläre Sprachen konkretiniere,
sind sie regulär, aber hier nicht.
Das wäre irgendwie doof, dann würde ich nicht sagen,
sie sind abgeschlossen gegenüber Konkretination, sondern nicht,
also manchmal gibt es eigentlich nicht bei abgeschlossen so.
Warum klappt das sonst für die Argumentation gut?
Warum klappt das mit dem, was ich eben gesagt habe,
warum klappt das nicht zu sagen,
die regulären Sprachen sind ja gegenüber dem Reverse-Operator abgeschlossen,
Was ist darin falsch? Mal davon habe ich gesehen,
dass es sehr kurz argumentiert ist. Okay, er sagt,
es gilt nur für das umgedrehte Wort und nicht für eine Konkertenation.
Ja, okay, die regulären Sprachen sind ja gegenüber Reverse
abgeschlossen und gegenüber Konkertenation.
Hier passiert Untertitel der Amara.org-Community Schöne Grüße von meiner Mutter.
Bist du an der Uni?
Ja. Ist gerade wichtig
Okay. Was wollte ich eigentlich jetzt sagen? Achso, genau.
Also, sie sind gegenüber Reverse-Operator abgeschlossen und gegenüber Konkretenation.
Jetzt hattet ihr ja 20 Sekunden zum Nachdenken jetzt. Ja,
das ist, ja, das ist die Argumentation von ihm,
so, die ich nicht laut wiederholt habe,
von wegen kam das Dokument, deswegen kam das so wahrscheinlich nicht an.
Es ist beides okay so als Gedanke,
aber ihr argumentiert nicht, worum mein Gedanke falsch ist.
Ihr sagt nur, ja, das kann ja nicht sein,
wegen irgendeinem ganz anderen Grund.
Aber warum stimmt denn die Argumentation nicht,
die sind doch gegenüber Reverse abgeschlossen,
ja oder nein?
Ich habe da WRF stehen. Super. Bin ich ja
abgeschlossen. Dann sind die gegenüber konkret der Nationen abgeschlossen.
Oder habe ich da noch so eine Konkretation stehen?
WWRF. Das ist auch super. Dann sind die
noch regulär. Oder nicht? Genau. Diese Sprachoperation
wie Reverse und so
Oder diese Abschlusseigenschaften, die beziehen sich ja auf Operationen auf die Sprache.
Also wenn ich weiß, ich habe irgendwie eine Sprache,
die ist regulär und ich drehe in dieser Sprache jedes Wort um,
dann ist das, was rauskommt, insgesamt die Menge.
Die ist wieder eine reguläre Sprache. Nicht,
wenn ich irgendwo bei dem Wort mal den Reverse-Operator anwende,
dass die Sprache dann regulär wäre.
Bei Korkadenation genauso. Genau, das erstens. Zweitens,
jetzt zu der Begründung, warum ist das nicht regulär?
Jetzt hattet ihr beide so ein bisschen argumentiert mit irgendwie,
naja, man könnte ja in dem W irgendwie noch was
einbauen und das müsste dann in dem WRF auch drin sein
und das kriegt man ja irgendwie gar nicht hin so.
Dieses Ding mit der Schleife und so,
das könnt ihr versuchen einzubauen,
so ein Pumping-Lamma-Beweis
Und weil er vorhin, ich meinte ja vorhin irgendwie so,
ihr habt eine Minute Zeit, euch einen Pumping-Nemmer falsch zu überlegen.
Tatsächlich könnt ihr euch auf den Level bringen, im Laufe des Semesters,
dass ihr sowas relativ schnell sehen könnt. Wenn ihr zeigen wollt,
dass das irgendwie mit dem Pumping aber nicht funktioniert, ist ja alles,
was ihr tun müsst, irgendwie ein Wort zu finden,
das irgendwie von dieser Zahl Chaos dem Pumping-Lemmer abhängt,
sodass wenn ihr in den ersten K-Buchstaben pumpt,
irgendwas passiert, was nicht sein darf.
Also sowas, wie wenn man jetzt irgendwie nimmt, 0 hoch K,
0 hoch K, dann habe ich zweimal 0 hoch K,
das ist WWF, ja, das ist vielleicht irgendwie doof,
weil wenn ich jetzt die Nullen hochpumpe,
dann habe ich vielleicht 2K plus sechs viele Nullen,
das kann ich immer noch so zerlegen,
dass das WWRF ist.
Dann baue ich mir in die Mitte noch irgendwas ein,
0 hoch K, 1 hoch K,
0 hoch K. Immer noch so irgendwie WWRF.
Wenn ich jetzt an die Nullen pumpe vorne,
dann kriege ich hinten keine dazu,
bin ich also nicht mehr drin.
So von der groben Idee her
Wollen wir das nochmal machen? WWRF nicht regulieren.
Angenommen, es wäre regulär, gilt das Pumping-Lämmer.
Sei eher Erden, die Zahl aus dem Pumping-Lämmer.
Und jetzt machen wir noch Folgendes hier, K,
der kleinste gerade Nachfolger. Also wenn er irgendwie eine ungerade
Zahl ist, dann ist K eben R plus 1.
Und wenn er schon gerade ist, dann ist Tag gleich er.
Jetzt kann ich dieses Wort betrachten, null hoch,
paar halbe, 1 hoch, K, null hoch, K-Halbe.
Also eigentlich steht da null hochk-halbe, 1 hochka-halbe.
Das ist das Wort W. Und dann 1 hochka-halbe,
null hochka-halbe. Das ist gerade das Wort WRF
Und diese Geschichte mit dem, gerade das Ka,
der kleinste gerade Nachfolger ist, die brauche ich nur,
damit ich hier sinnigerweise irgendwie mit Karl Halben und so rechnen kann.
Das Wort ist irgendwie in der Sprache drin und es ist länger
als K. Okay, das sieht man. Und Idee,
wenn ich vorne an den, an den Nullen hochpumpe,
fliege ich irgendwie raus, wenn ich an der Heinsen hochpumpe,
auch irgendwie, muss ich passen.
Sei U, VW, eine Zerlegung mit UV, kleiner KV,
Größe gleich 1. V kann in den ersten Nullen liegen,
in den Nullen und den Einsen oder in den Einsen.
Wenn V in den Nullen liegt,
wenn das V irgendwie sowas wie null hoch J,
ne, für irgendein J, dann ist UV-Quadrat weh.
Dieser, dieses Wort, null hochk halbe plus j,
1 hochk 0 hochk halbe. Da habe ich hier mehr nullen Erzieher.
Das werde ich nicht so zerlegen können in WWF.
Das wird nicht funktionieren. Das erste Wort muss irgendwie aus
Nullen und Einsen bestehen und das zweite Wort muss dann aus Einsen und Nullen bestehen.
Und dann habe ich aber irgendwie bei dem einen Wort mir
Nullen, also bei dem anderen, das doof.
Wenn V aus Nullen und Einsen besteht,
kriege ich damit auch einen Widerspruch,
dann habe ich nämlich plötzlich so ein Wort 0-1,
nur nochmal eine Null,
nochmal eine 1,
mehr 1 und 0,
da kriege ich schon
keinen WWReffen mehr richtig mit hin
Könnte man noch mal ausformulieren, aber da klappt es auch nicht.
Und wenn V aus Einsen besteht, dann sieht das Wort so aus.
Jetzt habe ich ein Problem. Wenn J gerade ist,
habe ich gar keinen Widerspruch. Wenn ich hier keine halbe,
viele Nullen lese und jetzt hier, keine Ahnung,
Carplus 2 habe, also wenn J2 ist,
dann habe ich Carplus 2 viele Einsen.
Das kann ich zerlegen, wenn einmal K halbe plus 1 viele.
Das ist mein Wort VRF. Und dann ist das
mein Wort wie? Und dann ist das Wort VRF eben
die restlichen Einsen, was wieder K
halbe plus 1 sind und dann die K halben Nullen
Das ist doof. Und auch mit den ganzen anderen Dingern
kriege ich keinen Widerspruch. Also UV hoch null kriege ich
keinen Widerspruch und UV hoch IV kriege ich auch keinen Widerspruch,
weil dieses Teilwort V in den Eisen drin sein kann.
Blöd. Funktioniert nicht. Jetzt hat man eben aber schon gesehen,
wenn ich das hinkriege, dass das V nur hier vorne
in den Nullen ist, dann klappt das alles super.
Also kann ich irgendwie versuchen, das so zu machen,
dass ich hier nicht mit K Alben arbeite.
Das war ein blöder Versuch,
sondern dass ich das so hoch mache,
dass ich da K viele Nullen habe,
dann ist das V nämlich auf jeden Fall in den Nullen drin.
Weil von Z war schlecht, ein neuer Versuch.
Angenommen, Elwe regulär, dann gilt das Pumpinglämmer,
sei K, die Zahl aus dem Pumpinglämmer.
Und jetzt betrachtet man als Wort
einfach den hier
Kaffee nullen, Kaffeele einsen, das ist das Wort B.
Und hier ist das Wort W-Ref, das Wort genau umgedreht.
Kaffeele einsen, Kaffee nullen. Wort ist in Älteren und hat
die Länge größer K. Und jetzt geht es ganz schnell,
was wir eben uns ja eigentlich schon überlegt hatten.
Wenn ich jetzt eine Zerlegung habe, die die ersten beiden Eigenschaften erfüllt,
dann muss das V vorne in den ersten Kaffee nullen sein.
Sieht also irgendwie so aus, V-gleich null hoch J.
Und wenn ich es jetzt wegfallen lasse oder auch dran pumpe,
das ist egal, dann kriege ich so ein Wort raus hier,
K-Minus J, viele Nullen.
Und das ist dann nicht mehr in L,
weil wenn ich hier K-Minus J, viele Nullen habe,
dann müsste ich hier hinten auch K-Minus J,
viele nullen haben.
Klappt nicht
Ja. Ja. Nee, haben wir nicht. Jede Zerlegung,
die die ersten beiden Eigenschaften erfüllt, die beiden hier,
ne? UV-Kleiner, Eich-K&V-Größe gleich eins. Daraus folgt,
dass V diese Form haben muss,
null hoch J für irgendein J zwischen 1 und K.
Das wähle ich jetzt nicht fest. Ich sage nicht,
J ist ein festes J. Ich weiß nur,
dass es dazwischen liegt, das ist irgendeins davon,
sondern ich sage,
die alle betrachte ich gerade
Also J ist aus der Menge eins bis K beliebig gewählt.
Bitte? Nochmal? Eins hoch J. Nee, kann es
nicht. Weil UV ist kleiner gleich K. UV,
kleiner gleich K. Ich zerlege das Wort Z in UVW.
Das heißt Z beginnt mit einer Null.
UV muss mit genau dieser ersten Null beginnen.
Und es kann nur die ersten K-Buchstaben sein.
Also muss es vorne in den ersten Kanulen sein
Zweite Anmerkung damit auch klar? Also deine erste Frage, auch klar?
Also ich wähle das J ja nicht fest. Ich sage nicht,
dass es ein bestimmtes J gibt mit dieser Eigenschaft,
sondern ich sage, jede Zerlegung, die die ersten beiden Eigenschaften erfüllt,
also UV-Kleine gleich K undV-Größe gleich eins,
für jede dieser Zerlegungen muss gelten, V ist null hoch J,
für irgendeinen J zwischen 1 und K.
Und alle diese Dinger, alle diese Zerlegungen auf einmal,
bringe ich jetzt zum Widerspruch,
weil alle diese Zerlegungen erfüllen gleichzeitig oder alle diese Zerlegungen
erfüllen,
dass UV null W
genauso aussieht
Je nachdem, wie das J ist, kommt da ein
anderes Wort raus, aber jedes dieser Worte ist ein Widerspruch.
Ja. Ja, Annahme falsch, ähnlich regulär.
Jetzt nochmal, was wir eben gerade kurz diskutiert hatten hier,
also das ist nochmal der Ablauf.
Und hier nochmal die Anmerkung bei dieser Zerlegung. Diese Sache,
dass man hier V gleich 0 hoch J setzt oder eben
VA hoch J beim ersten Beispiel mit diesem J zwischen 1 und K.
Das ist halt so eine Parametrisierung, mit der man
alle Zerlegungen erwischt
Also mit jedem dieser J,
wenn ich das J jetzt festwähle und das U auch noch festwähle,
dann habe ich eine ganz spezielle Zerlegung.
Aber alle diese Arten von Zerlegung, die charakterisiert eben die
Wahl dieses Js und alle kann ich zum Widerspruch führen.
Deswegen betrachte ich mir da nicht nur eine spezielle Belegung,
sondern ganz viele auf einmal. Ich muss mir halt bewusst machen,
dass ich dadurch, dass ich sage,
es gibt so ein J mit der Eigenschaft irgendwo zwischen 1
und K ist es,
dass ich dadurch jetzt eine ganze Fülle von Zerlegung
mir betrachte
Und zwar, um das nochmal zu betonen,
nicht nur diese K-Fielen, die ich kriege,
wenn ich dort gleich 1 bis 2, 3, 4,
5 bis K setze, sondern ich kriege noch deutlich viel mehr,
nämlich je nachdem, wo das V dann wirklich beginnt,
also wo das U endet und wo das V beginnt,
das sind auch alles noch unterschiedliche Zerlegungen,
aber alle diese Zerlegungen haben eben gemeinsam das V in dem Beispiel von eben 0 hoch J ist und wenn ich daran pumpe,
ist das Wort nicht mehr in L. Gut,
Zusammenfassung bisher, DFA, NFA und so weiter,
reguläre Ausdrücke, Potenzautomatenkonstruktionen,
Konstruktionstechniken,
Abschlusseigenschaften und die Grenzen von direkt mit Pumpinglämmer und eben einmal Exkursartig gestern,
letzten Dienstag
mit dem Kellerautomaten
Tschüss. So. So. Jetzt aber. Fragen. Da schließt sonst quasi dieses,
das, was wir zur Sprachfamilie der regulären Sprachen machen wollten.
Da schließt das jetzt ab. Wir haben jetzt mehrere Formalismen kennengelernt,
mit denen wir Sprachen, die regulär sind, beschreiben können.
Die oberen Vierter, NFA mit Landerkanten,
reguläre Ausdrücke
Dann haben wir insbesondere so Konstruktionstechniken kennengelernt. Wir haben gesehen,
dass die alle vier Äquivalent sind da oben für DFA,
NFA haben wir die Potenzautomatenkonstruktion kennengelernt.
Dann haben wir noch gesehen,
gegen was für Operationen die Familie alles so abgeschlossen ist.
Und wir haben die Grenzen jetzt so ein bisschen kennengelernt mit dem Pumping-Lämmer.
Also Grenzen, die wir uns vorher intuitiv überlegt haben,
können wir jetzt tatsächlich auch beweisen und können zeigen,
dass bestimmte Sprachen
eben nicht regulär sind.
Wie wir die nutzen? Wenn du weißt,
dass zwei Sprachen regulär sind, dann weißt du halt auch,
der Schnitt ist regulär und es kann manchmal ganz spannend sein,
wenn du, wir hatten doch dieses Beispiel von,
in den Präsenzaufgaben, wo man Automaten konstruieren sollte,
bei der die Wörter akzeptiert,
bei dem die Anzahl der Nullen ein Vielfaches von zwei ist und die Anzahl der Einsenvielfaches von drei,
so als Beispiel.
Es ist halt sehr viel einfacher in Automaten zu konstruieren,
der all die Wörter akzeptiert,
bei denen die Anzahl von Nullen
vielfaches von zwei ist
Automat und einen zweiten, der die Wörter akzeptiert,
bei denen die Anzahl der Einsen ein Vielfaches von drei ist.
Zweiter Automat. Und dann machst du einfach per Knopfdruck ein Produktautomaten und bist fertig.
Für sowas halt zum Beispiel. Oder auch für,
wenn man Grenzen zeigen will und das vielleicht nicht direkt mit dem Pumping dann mal geht.
Also wenn du eine Sprache hast, von der du vermutest,
die ist nicht regulieren, es geht nicht direkt mit dem Pumping-Lämmer,
dann kann man oft so Sachen machen wie angenommen,
die Sprache wäre regulär, dann müsste ich sie auch mit dieser Sprache,
von der ich weiß, dass sie regulär ist,
schneiden können.
Dann kommt eine Sprache raus, die dann regulär sein müsste,
weil die regulären Sprachen ja gegenüber Schnitt abgeschlossen sind.
Und die ist jetzt aber vielleicht einfacher und dann kann ich irgendwie zeigen,
oh, da kann ich vielleicht das Pumping dabei benutzen und zeigen,
dass sie nicht regulär ist.
Für sowas auch praktisch,
solche Geschichten
Sonst noch, erstens, zweitens, drittens, okay.
Dann wollen wir noch, das Pumping nehmen ist ein ganz schöner Brocken immer.
Jetzt wird es nochmal deutlich einfacher. Jetzt führen wir einen
neuen neuen Formulismus, eine neue Sichtweise ein auf Sprachen.
Bisher haben wir ja Automaten gemacht und die Automaten akzeptieren Wörter.
Und was wir jetzt neu machen wollen, ist Grammatiken und
Grammatiken generieren Wörter. Jetzt führen wir erstmal Grammatiken ein,
gucken, was das so ist und so.
Und im Anschluss können wir dann sehen, wie die mit Automaten zusammenhängen.
Aber erstmal führen wir die ein und gucken mal,
was da so passiert
Die meisten von euch werden Grammatiken wahrscheinlich auch schon mal in
irgendeinem Kontext gesehen haben, im Kontext von Programmiersprachen.
Kennt ihr bestimmt. Jetzt habt ihr irgendwie so was hier,
dass man sagen will, ich habe einen Identifier und der Identifier
darf ein Buchstabe sein oder eben wieder Identifier gefolgt vom Buchstabe,
Identifier gefolgt von Zahlen.
Und die Buchstaben ABC können ja auch mehr sein und
die Zahlen 01234 können auch mehr sein.
Und die Idee ist halt, dass ich damit definiere,
wie dürfen in meiner Programmiersprache irgendwie Identifier aussehen.
Und das, was ich der Konstrukteur hier gedacht hat,
ist eben, diese Identifier dürfen nicht mit einer Zahl beginnen,
sondern eben irgendwie sowas wie
Irgendwie sowas, ne? Und das erreicht man halt damit,
dass hier bei den hinteren beiden Regeln immer irgendwie Zahl oder Buchstabe steht und davor noch ein Identify,
aber wenn ich irgendwann damit mal abbrechen will,
dann muss ich als letztes halt so einen Buchstaben gewählt haben.
Kompaktere Schreibweise, E für Identifyer, Elfe Letter,
D für Digit und so weiter. Und dann kann man eben,
wenn man jetzt A, B, C 1 ableiten will,
dann leitet man den Identifyer auf Idee ab,
ganz hinten soll ja eine Zahl stehen, dann nochmal auf EL,
den auch nochmal auf EL und den letzten jetzt auf L.
Und jetzt geht mal los und bildet irgendwie die Letters und
die Digits auf das, was man haben will.
A, B, 1, 10. Der vorletzte Schritt,
um zu illustrieren, dass es relativ egal ist, wo ich was mache.
Wichtig ist nur, ich mache das. Das sind im Grunde
Grammatiken, also irgendwie Thermasetzung. Ich habe so Regeln,
die mir sagen,
wenn ich so ein Symbol hier auf der linken Seite sehe,
dann darf ich das durch irgendwas ja auf der rechten Seite
ersetzen und die Balken sind so oder Geschichten,
dass ich sage,
ich darf I durch ein L ersetzen oder durch EL
oder durch Idee
Und das wollen wir halt formalisieren und uns dann angucken,
was kriege ich für Sprachen raus,
wenn ich beim bestimmten Symbol starten darf und zu eben Wörtern kommen will,
die aus diesen kleinen Buchstaben bestehen.
Das wird gleich unser Ziel sein. Was kann ich damit
alles machen? Noch ein paar Begriffe, die Großbuchstaben,
also das ILD von eben, das werden wir die Non-Terminale nennen.
Das sind quasi die Dinge, die ich immer weiter ersetzen darf.
Kleinbuchstaben sind die Terminale, das,
was wir bisher so hatten, kleinen A,
Klein B,
0,1 und so weiter
Und die Dinger, das sind die Regeln oder Produktionen,
aus dem I wird quasi das EL produziert oder eben diese Regel wird angewandt.
Und was wir jetzt als erstes machen, ist,
dass wir die Grammatik ganz allgemein definieren.
Der Kern wird sein, was habe ich für Regeln und
wie darf ich, wie muss ich die benutzen?
Und dann schränken wir das immer weiter ein,
bis wir zu so Grammatiken kommen, die relativ einfach sind von der Struktur,
mit denen man aber schon eine Menge machen kann.
Formale Definitionen, Grammatik, Quadrupel, VN, VT,
P und S. VN soll die Menge der Non-Terminale sein,
also das, was eben GroßI,
GroßL,
GroßD war
VT, soll die Menge der Terminale sein,
also das ist eben Klein A, B,
C und 01234 war, mit der zusätzlichen Eigenschaft,
es kann eben kein Symbol gleichzeitig Terminal und Non-Terminal sein.
Das wäre irgendwie doof, dann weiß ich immer nicht,
wenn ich jetzt so ein Zeichen sehe,
ist das schon Terminalzeichen oder kann ich mit dem noch ableiten?
Das will ich nicht. Deswegen sind die beiden getrennt voneinander
und in der Schreibweise macht man das halt üblicherweise so,
dass man die Non-Terminale großschreibt und die Terminale klein oder dass die Terminale Ziffern sind.
Das reicht dann meistens. So, jetzt kommt die Produktion,
das ist das wirklich Schwierige jetzt, die Produktionen sehen halt so aus,
Das sind immer Tupel auf der rechten Seite, steht irgendetwas,
also ein Wort aus V-Stern, sprich irgendein Wort,
das sowohl aus Non-Terminalen als auch aus Terminalen bestehen darf.
Und auf der linken Seite steht fast so was ähnliches,
also auch hier V-Stern,
irgendein Wort aus aus Terminalen und Non-Terminalen bestehen darf,
aber es darf nicht aus VT-Stern sein.
Sprich, kein Wort, das nur aus Terminalzeichen besteht.
Was man also haben will bei einer Regel, ist,
auf der linken Seite steht mindestens ein Non-Terminalzeichen.
Und wenn ich dann dieses Wort finde,
dann darf ich es durch die rechte Seite ersetzen
Und zu guter Letzt Startsymbol, das ist quasi das Symbol,
von dem gehe ich los. Und mein Ziel ist es,
zu Worten zu kommen, die nur aus Terminalzeichen bestehen.
Und alle Worte, die ich so generieren kann,
packe ich mir wieder in eine Menge und sage,
das ist die von der Grammatik generierte Sprache.
Kurz noch Anmerkung zur Notation, so eine Regel,
das ist ja hier als Tubel, mit dem Kreuzprodukt hier,
so eine Regel wird eben meist mit dieser Pfeil-Notation gemacht.
Also statt UV da als Tubel zu schreiben, schreibt man einfach U-Pfeil-V. Wenn ich mehrere Regeln habe,
so wie wir das eben in dem Beispiel auch schon gesehen haben,
dann trenne ich die auf der rechten Seite mit dem Balken.
Also wenn ich Regeln habe,
die die gleiche linke Seite haben, aber unterschiedliche rechte Seiten,
spare ich mir die linke Seite mehrfach zu schreiben, schreibe einmal von u,
kann ich eben V produzieren oder weh und so weiter.
Und was ich eben schon gesagt habe, auf der linken
Seite steht mindestens ein Non-Terminal. Die Worte aus VT-Sternen,
also die Worte, die nur aus Terminalzeichen bestehen,
die schmeiße ich raus, dann müssen Wörter übrig bleiben,
die mindestens einen neuen Terminal haben.
Jetzt kommt die Ableitungsregel, die sieht ein bisschen kompliziert aus,
was im Grunde genommen einfach nur passiert ist,
ich suche im Wort einen Teil,
also ich habe bisher ein Wort irgendwie produziert,
da suche ich jetzt ein Teilwort,
das der linken Seite einer meiner Regeln entspricht
Wenn ich sowas finde, ersetze ich diese linke Seite durch die rechte Seite der Regeln.
Also nehme das aus dem Wort raus und schreibe die rechte Seite hin.
Dass das was passiert. Was formal definieren will,
einschrittige Ableitung, ich habe bisher das Wort U,
ich will zum Wort V kommen,
dann notiere ich mir das hier so mit so einem Doppelpfeil von U geht's in der Grammatik G,
wenn man das noch notieren möchte, zu V.
Und diese Relation ist so definiert, dass man sagt,
das gilt genau dann, wenn, das sieht jetzt kompliziert aus hier,
es gibt ein U1 und ein U2.
Und es gibt eine Produktion WLWR, also 11 für links,
er für rechts, linke Seite der Produktion,
Rechte Seite der Produktion, mit der Eigenschaft.
Ich kann das Wort U, von dem ich komme,
Das kann ich so zerlegen, dass es irgendeinen Anfang gibt,
dieses U1, dann gibt es diese Zeichenkette,
die die linke Seite der Regel ist, das WL.
Und dann gibt es eine Restzeichenkette U2. Und V sieht dann wie folgt aus,
dass ich U1 und U2 gar nicht angefasst habe, mit denen ist nichts passiert.
Und das WL, also die linke Seite der Produktion,
die habe ich quasi aus dem Wort rausgenommen und genau an
die Stelle die rechte Seite der Produktion hingeschrieben.
Das ist eine einschrittige Ableitung. Also nochmal,
ich nehme dieses Wort, uh,
ich lese das Wort von links nach rechts und versuche da
eben irgendwie ein Teilwort zu finden,
das einer linken Seite irgendeiner Regel entspricht
Und wenn ich das finde, dann darf ich diese linke Seite
aus dem Board rausnehmen und dafür die rechte Seite der Regel hinschreiben.
Das kann ich machen. Und jetzt noch hier,
wenn der Kontext klar ist, wenn wir eh nur eine Grammatik haben,
dann lasse ich dieses tiefer gestellte Geh weg.
Und was man auch sehr gerne macht, ist eben wieder
diese Sternbildung, wenn ich mehr schrittige Ableitungen habe.
Also wenn ich einfach nur sagen will,
von hier komme ich nach da, wenn ich fünf Regeln anwende,
dann mache ich da wieder so einen Stern,
genauso wie wir das bei Konfigurationsübergängen auch gemacht haben.
Ja, Beispiel, also gleich Beispiel, Vorgehen nochmal,
aktuelles Wort,
wir nehmen
Treten in wie linke Seiten von Regeln auf.
Falls ja, eine der Regeln auswählen, völlig beliebig.
Und DNW auftreten eine linke Seite der Regel durch die
rechte Seite der Regel ersetzen, dass das Vorgehen.
Beispiel, wenn ich die Grammatik hier habe, von S,
gibt es eine Produktion nach ASB oder nach AB.
Also wenn ich irgendwie es sehe, dann kann ich nach ASB
gehen oder nach Abi. Wenn ich ein AB sehe,
dann kann ich zu so einem kleinen Zeh gehen und wenn ich ein ACB sehe,
dann kann ich auch zu so einem kleinen Zeh gehen.
Das sind die vier Produktionen. Und jetzt kann man
ihm loslegen und kann erstmal die erste Produktion hier anwenden.
Es ist ja das Staatssymbol, von dem geht es immer los.
Und jetzt kann ich von S zu ASB gehen
Das könnte ich jetzt immer weitermachen, aber vielleicht reicht mir,
dass ich das einmal benutzt habe. Jetzt nehme ich als nächstes
die zweite Produktion hier von S zu AB zu gehen.
Jetzt wird dieses S hier rausgenommen und durch AB ersetzt.
Da habe ich also AABB. Als nächstes habe ich die
dritte Produktion hier benutzt, habe das innere AB genommen,
kann auch gerade nicht viel anderes machen und das durch ein kleines C ersetzt.
Und als viertes habe ich die letzte Produktion hier genommen
und habe ACB durch C ersetzt.
Und jetzt bin ich zu einem Wort gekommen,
das nur als Terminalzeichen besteht, das Wort C.
Und das ist immer das Ziel,
so irgendwie vom Staatssymbol durch Anwendung der Regeln
zu Wörtern zu kommen,
die nur aus Terminalzeichen bestehen
Und all diese Wörter packe ich mir eine Menge.
Und das ist die von der Grammatik generierte Sprache.
Formal sieht das so aus. Wenn G so eine Grammatik ist,
dann ist die von G generierte oder erzeugte Sprache eben die Menge,
all jener Wörter, die nur aus Terminalzeichen bestehen,
mit der Eigenschaft vom Staatssymbol S ausgehend,
komme ich über null bis irgendeine endliche Zahl von Schritten,
zu weh.
Also ich wende Produktion null bis endlich mal an und komme
irgendwie zu weh. Und dann kann man auch so,
wie wir das bei Automaten gemacht haben,
auch sagen, zwei Grammatiken sind äquivalent,
wenn sie eben die gleiche Sprache generieren
Gut, das waren die Begriffe bisher, also quasi Grammatik
eingeführt mit diesen Sachen, so Non-Terminal, Terminalproduktion, Staatssymbol.
Dann, das ist die Sintax quasi, dann,
wie benutze ich das? Also, was ist eine einschrittige
Ableitung, was ist eine mehrschrittige Ableitung?
Und darauf aufbauen und dann, das ist die von gegenerierte Sprache.
Dass man die drei wichtigen Basisbegriffe, die wir jetzt
so hatten,
Sag mal stopp. Hier? Weil VN-Stern werden ja
Wörter, die nur aus neun Terminalzeichen bestehen.
Was du aber haben willst hier ist Wörter,
die aus Non-Terminal- und Herminalzeichen bestehen dürfen, wo aber mindestens ein Non-Terminal auftritt.
Damit du sowas hinkriegst wie hier in dem Beispiel,
dass auf der linken Seite ACB stehen kann.
Also irgendwas ganz Beliebiges, aber es muss mindestens ein Non-Terminal
dabei sein. Deswegen. Sonst noch, zweitens,
drittens. Fragen
Musik Genau. Darf es nicht geben? Ist nicht gut,
darf es natürlich geben. Gleiche linke Seite bedeutet ja nur,
wenn ich ein U sehe, also so ein großes U-Non-Terminal,
dann kann ich auf der anderen Seite vielleicht mehrere Dinge tun.
Ich kann das, wie wir das beim einführenden Beispiel gesehen haben,
ich kann das L für Letter irgendwie durch den A ersetzen, BNCND.
Also das ist gleiche linke Seiten geben darf,
ist total okay
Und dann darf man es frei wählen. Es werden alle benutzt,
da könnte man auch noch so denken,
naja, irgendwie nach und nach werden alle benutzt,
um eben insgesamt zu gucken, was sich alles für Wörter generieren kann.
Das könnte man noch denken so, das wäre auch okay,
aber von der Idee her, man darf es frei wählen,
kann man einfach machen, wie man möchte.
Und das Ziel ist eben irgendwie zu Wörtern zu kommen,
die nur aus Terminal-Zeichen bestehen.
Kann man zwei Regeln mit gleicher rechten Seite haben
Ja, kann man haben,
man kann ja irgendwie von Groß A zu Klein A gehen und
von Groß B auch zu Klein A hindert da ja keiner dran,
kann man ja so definieren.
Kann man zwei Regeln mit gleicher linken und gleicher rechten Seite
Haben wir das haben? Kann man irgendwie, ja,
aber P ist ja eine Menge wieder, also die Menge der Produktionen.
Das heißt, wenn ich jetzt zweimal das Gleiche reinschreibe,
gibt es das Element eigentlich nur einmal.
Also jein, so, man kann das haben,
aber eigentlich ist es dann die gleiche.
Also mit gleicher linken und rechten, das führt zu nichts.
Und die letzte kann es mehrere Möglichkeiten geben,
um das gleiche Wort abzuleiten.
Denkt daran, dass sie beim Startsymbol ja
immer starten müsst
Und überlegt mal, ob ihr eine Grammatik generieren könnt,
die das machen kann oder nicht.
Adam, genau. Kann es geben,
von Großes geht es zu Großa oder Großb.
Und dann geht es von beiden eben zu Null.
So, dann habe ich zwei unterschiedliche Ableitungen,
um das gleiche Wort abzuleiten.
Kann man
also machen
So, jetzt, das, womit wir eigentlich arbeiten wollten,
die Grammatiken von eben, die sind nämlich zu mächtig.
Da nervt das, dass diese linke Seite,
dass diese linke Seite der Regeln überhaupt nicht eingeschränkt ist.
Das nervt deswegen, weil wenn ich beispielsweise dann eine linke Seite habe,
groß arg klein zäh und eine linke Seite Groß A,
dann könnte ich prinzipiell beide benutzen dann genau diese Stelle,
wenn ich dieses Thai-Wort auftritt.
Das stört, das will man nicht haben oder zumindest,
wenn man ein bisschen das übersichtliche Handhaben will, will man das nicht haben.
Deswegen wollen wir jetzt die Grammatik einschränken,
Non-Terminale lassen wir, Terminale lassen wir Startsymbol,
lassen wir das generelle Vorgehen beim Ableiten lassen wir,
was wir einschränken,
sind die Produktionen,
damit die so schön einfach aussehen
wie bei dem einführenden Beispiel
Und da nennt man die Grammatik Kontext frei.
Die sieht wie folgt aus. Non-Terminale, so wie eben.
Terminale, so wie eben. Und jetzt die Menge der Produktion
so einschränken. Dass man sagt, die Produktionen sind jetzt
Tupeln bestehend aus einem Element aus VN und rechte Seite bleibt so.
Also rechte Seite ist weiterhin irgendwas aus V-Stern.
Und halt Staatssymbolen. Wozu führt das hier?
Wie sehen jetzt die Produktionen aus? Und warum heißt das
dann wohl kontextfrei
Ja, durch engem Wort aus Symbolen. Das V-Stern hier oben,
das kann ja irgendwie aus VT-Vereinigt VN sein, das ist egal.
Aber genau, ich ersetze genau ein Non-Terminal durch irgendwie was Neues.
Und da ich nur ein Non-Terminal durch irgendwie was Neues ersetze,
wird dieses Non-Terminal also völlig unabhängig von dem Kontext,
in dem es steht, ersetzt.
Deswegen kontextfrei. Es ist egal,
ob das Ader gerade alleine steht, wenn ich das ersetze,
also das große A, oder ob da Groß A,
Groß B steht oder irgendwas anderes.
Ich kann halt auf das A einfach die Produktion anwenden,
egal was links und rechts
davon steht.
Deswegen kontextfrei
Und diese kontextfreien, wenn ihr das mal in der Literatur
seht, die werden als Typ 2-Grammatiken bezeichnet.
So, und mit denen wollen wir uns ein bisschen genauer beschäftigen.
Da nochmal der wichtige Unterschied zwischen den beiden Grammatiken,
bei allgemeinen, auf der linken Seite irgendwie ein Wort,
das aber mindestens ein Non-Terminal enthält und bei kontextfreien Grammatiken auf der linken Seite genau ein Non-Terminal.
Da steht es nochmal. Jo,
und jetzt kann man das noch ganz kurz,
wenn ich so eine kontextfreie Produktion habe von A zu Lamda,
dann wird das als Landerproduktion bezeichnet.
Und wenn so eine kontextfreie Grammatik keine Landerproduktion hat,
dann heißt sie Lamm da frei.
Einfach nur so als Begriffe brauchen wir morgen. Einfach nur,
dass man da schon mal im Hinterkopf behält,
dass es ja solche Produktionen hier gibt oder geben kann.
Die haben ja den Vorteil, dass sie Non-Terminal löschen.
Also das Non-Terminal ist dann einfach weg.
Und manchmal will man das aber gerade nicht haben,
weil das auch wieder so Sachen ein bisschen unübersichtlich macht.
Deswegen ist man aus auf kontextfreie Grammatiken,
die keine Landerproduktion haben und die heißen dann Lamm da frei
Das gucken wir uns morgen noch mal ein bisschen genauer an,
nur dass ihr das schon mal habt.
Und was wir jetzt einführen ist, die Familie der kontextfreien Sprachen.
Das soll jetzt nämlich genau die Familie von Sprachen sein,
für die es eine kontextfreie Grammatik gibt, die sie generiert.
Abgekürzt mit CF-Context 3. Und jetzt haben wir also unsere zweite
Sprachfamilie. Die erste Reck haben wir über Automaten definiert.
Die zweite CF definieren wir uns gerade über Grammatiken.
Und die Frage ist dann natürlich irgendwie, hängen die eigentlich irgendwie miteinander zusammen?
Kann ich zum Beispiel für jede Sprache aus Reck,
für die ich ja nur weiß,
es gibt einen Automaten dafür,
kann ich für jede dieser Sprachen eine kontextfreie Grammatik angeben,
die sie generiert
Müsste ich irgendwie so eine Brücke schlagen zwischen Automaten und Grammatiken.
Und falls ja, geht es vielleicht auch andersrum,
dann hätte ich doch nicht eine neue Sprachfamilie,
sondern dann habe ich zwei gleiche Sprachfamilien.
Aber hier steht schon unsere zweite, also sind die wahrscheinlich
irgendwie unterschiedlich. Und ich habe ja auch gesagt,
wir wollen aus Reck raus, also sind die sehr wahrscheinlich unterschiedlich.
Nochmal ein paar Fragen. Welche, von denen es
nicht kontextreiht
Musik Können wir
das rausschneiden?
Grammatiken. Nein, okay, das ist vielleicht ein bisschen übertrieben.
Nehmen wir die. Eine normale Grammatik. Ich habe eine Menge
von Non-Terminalen, Terminale, Non-Terminale werden großgeschrieben, Terminale klein.
Ich habe ein Startsymbol, auch groß geschrieben, auch ein Non-Terminal.
Und das Ziel ist, von diesem Startsymbol durch Anwendung von
Produktionen zu einem Bord zu kommen, das nur aus Terminal-Zeichen besteht.
Produktion bei der ganz normalen Grammatik sind so definiert,
links irgendwie ein Wort, bei dem aber mindestens ein Non-Terminal auftritt.
Rechts, ganz beliebiges Wort. Wobei V-Stern eben Terminal und
Non-Terminal sind alle zusammengenommen. Was ich jetzt mache,
wenn ich eine Regel anwende, ist,
ich fange jetzt beim Startsymbol an, habe also nur das S.
Jetzt suche ich mir irgendwie Produktionen, bei denen die linke
Seite ein S ist und die Rechte irgendwie was anderes.
Ich möchte die Produktion anwenden, wird das S also genommen
und durch diese rechte Seite ersetzt. Das Wort wächst also
sehr wahrscheinlich. Danach suche ich mir dann wieder Produktionen,
bei dem in meinem bisher produzierten Wort diese linke Seite,
irgendeiner Produktion auftritt. Jetzt kann ich,
von mir aus bin ich von S erstmal zu A,
B, C gegangen und jetzt habe ich vielleicht eine Produktion,
die mir sagt, B, C darfst du durch D ersetzen.
Jetzt habe ich das Wort A, B, C von S generiert.
Da drin ist das Wort B, C drin.
Also kann ich jetzt die Produktion B, C nach D benutzen,
B, C rausnehmen, D hinschreiben.
Da habe ich also A, D. Das kann ich hier relativ beliebig machen,
weil diese Produktion mir eben nur sagen,
linke Seite der Produktion soll irgendein Wort sein,
das aber mindestens ein Non-Terminal enthält
Bei der kontextfreien Grammatik, im Grunde genommen alles genauso definiert,
bis auf eben diese Geschichte mit den Produktionen. Da wird gesagt,
die linke Seite, also das, was ich quasi in meinem Wort,
ich gehe von S zu A, B,
C und jetzt will ich wieder irgendwie etwas da drin ersetzen,
die Produktion, die ich jetzt habe,
die sind aber von der Natur,
dass auf der linken Seite stets nur genau ein Non-Terminal stehen darf.
Also ein großes A oder ein großes B oder ein großes C,
aber eben nicht sowas wie linke Seite A,
B,
Wir versuchen das nochmal. Mal gucken. Cleverer wäre wahrscheinlich gewesen,
jetzt einfach die Lösung zu sagen und weiterzumachen, aber...
Vielleicht verfange ich mich ja gleich in der Endlosschleife,
wieder zurückgehen,
wieder zurückgenommen
Ich habe gerade überlegt oder fährt jetzt euch ja gerade
die Notation noch nicht klar.
Ich bin mal gespannt, was jetzt rauskommt.
Kurz ab
Es wird, ne, so ist... Ich habe gerade überlegt,
vielleicht war ich die Notation hier noch nicht klar.
Also der Pfeil illustriert ja Produktionen, ne? Das,
was links vom Pfeil steht, ist die linke Seite der Produktion.
Das, was rechts vom Pfeil steht, ist rechte Seite
der Produktion. Wenn ihr also steht, S-Pfeil AB,
dann gibt es eben die Produktion, linke Seite S,
rechte Seite AB, wenn ich also irgendwo das S sehe,
kann ich das durch AB ersetzen.
Komma soll bedeuten quasi, so das ist meine eine Produktion,
jetzt kommt die nächste. Das ist die nächste Produktion von
A, kann ich klein A Groß A produzieren.
Also wenn ich irgendwo das große A sehe,
dann kann ich klein A
Groß A produzieren
Der Balken, der ist dafür da,
dass ich sagen will, hier gleiche linke Seite.
Also von A geht es nach klein A Großa oder nach Lamda.
Von B geht es nach klein B Großb oder nach Lamda.
Also Kurzschreibweise für diese ganzen Produktionen. Linke Seite des Pfeils,
linke Seite einer Produktion, rechte Seite des Pfeils,
rechte Seite der Produktion. Wobei man eben mit Balken noch trennt,
dass all diese Regeln, die dadurch Balken getrennt sind,
die haben die gleiche linke Seite.
Was man also machen muss, um zu gucken,
ob eine Grammatik kontextfrei ist, man guckt,
ob auf allen linken Seiten des Pfeils Was steht?
Was muss auf allen linken Seiten des Pfeils stehen bei einer kontextfreien Grammatik?
Die linke Seite des Pfeils ist linke Seite der Produktion,
was muss da stehen? Genau, genau ein Großbuchstabe,
also ein Non-Terminal. So, jetzt wird es zu einfach,
wenn man das jetzt so verändert, jetzt geht man das so durch.
Und wo sieht man, das ist ja immer noch nicht
die Mehrheit, das ist ja schlimm.
Ich mache das, was alle guten Lehrer machen,
ich gebe euch die Lösung und dann stelle ich die Frage nochmal.
So. Und das schneiden wir dann in das Video.
So machen wir das
Man guckt sich jetzt alle Pfeile an, linken Seite der Pfeile,
auf der linken Seite der Pfeile, darf nur genau ein Non-Terminal stehen.
Jetzt geht man die ja durch. Hier steht auf der linken Seite ein S,
da steht ein A, da steht ein B,
erst ist okay, die erste ist Kontext 3.
Bei der zweiten S-A-B, auch okay, zweit ist auch kontextfrei.
Dritte S-A-B, äh, Abi, doof,
zwei neun Terminale, darf nur genau einstehen.
Zwei davon sind nicht kontextfrei, nein,
wir haben eben nur eine gefunden, alle drei sind nicht kontextfrei,
nein, wir haben eine gefunden,
keine Ahnung
Jetzt könnte noch jemand spitz, finde ich,
daherkommen und sagen, bei mir ist es aber so,
bei mir ist A, B, ein Non-Terminal.
Hat er gewonnen? Ja, das geht auch. Also das könnte man auch machen,
das ist aber ein bisschen fies, da würde man normalerweise irgendwie,
entweder muss man das am Rand schreiben oder man bedient sich halt so Hilfsmitteln wie,
keine Ahnung, Klammern drum machen,
großen Balken drüber machen oder irgendwie sowas,
wenn man das bei Konstruktionen braucht.
Aber jetzt zum Üben,
welche der folgenden Grammatiken ist nicht kontextfrei, die dritte,
weil bei der dritten als einziges auf der linken Seite
zwei Non-Terminal stehen,
also mehr als eins
So, nachdem wir das jetzt verstanden haben, ich habe leider
übrigens damit möglich. Also wir haben die Produktion von S,
geht es zu AB oder CC, dann haben wir die Produktion von A,
geht es zu AAB oder zum leeren Wort.
Von B geht es zu Baby oder zum C,
von C geht es zu CC oder zum Lander.
Welche Ableitungen sind möglich?
Oh weia
Musik Musik Musik Dieses F. Anwenden von Produktionen,
also erstmal dies Kontext rein, Pfeile angucken,
linke Seite der Pfeile, steht nur ein Non-Terminal, ist super.
Wenn ich jetzt Produktion anwenden will,
dann fange ich also hier überall mit dem S an,
nehme mal die Erste, ich fange mit dem S an,
ich will zu Abi.
Das heißt, es muss irgendwie eine Produktion geben,
die mir sagt, S darf ich durch A,
B ersetzen.
Die gibt es hier tatsächlich,
S nach Abi
Erster Schritt ist okay. Beim zweiten Schritt bin ich von AB
zu AC gekommen. Das heißt, es muss eine Produktion geben,
die mir erlaubt, das B durch den C zu ersetzen.
Anders komme ich ja nicht von AB zu AC. Nochmal,
dieser Kontext 3, das heißt, ich kann nicht,
ich brauche nicht nach so einer Produktion suchen,
dass ich AB durch AC ersetze.
Ich kann ja nur ein Non-Terminal durch irgendwas ersetzen.
Und da da offensichtlich das B weg ist,
habe ich also das B durch irgendwas ersetzt,
da ein C dazugekommen ist, muss ich B durch C ersetzt haben.
Das kann ich hier gucken von B geht es zu C.
Die Produktion gibt es also auch. Also ist der
zweite Schritt hier auch okay
Dritter Schritt, C wurde durch CC ersetzt.
Kann ich hier auch finden, die Produktion 10 nach CC.
Ist auch okay. Vierter Schritt, das A ist irgendwie weg.
Also brauche ich so eine Produktion von A zu Lamda,
die gibt es hier auch. Und fünfter Schritt,
das C ist irgendwie weg, gibt es ja auch.
Also die Erste klappt. Zweite, erster Schritt hatten
wir schon
Zweiter Schritt, das große B steht da immer noch.
Also muss vorne was passiert sein. Das heißt, das
große A muss durch kleinahrgroßart klein B ersetzt worden sein.
Gibt es da eine Produktion? Ja, hier oben.
Großa nach kleinahrgroßa klein B gibt es also auch hier.
Dann wieder hier B durch C, die kannten wir schon,
die haben wir oben als zweites gehabt,
die gibt es also auch die Produktion.
Dann ist hier das C gelöscht worden,
die gibt es auch die Produktion,
C nach Lamda und zuletzt das A gelöscht worden,
die gibt es ja auch A nach Lamda.
Also das zweite ist auch okay
Das dritte kann man jetzt durchwandern hier, den hatten wir oben,
den hatten wir oben, den hatten wir oben,
also bis hier brauchen wir uns nichts angucken,
das haben wir da oben alles schon geprüft.
Und jetzt der Schritt von AA, B, C zu AA,
B, Kleinzieh. Ob der okay ist. Dafür müsste es
eine Regel geben von Großzähl zu Kleinzäh. Ja, und gucken,
es gibt eine von Großzähl zu Kleinzieh Großzäh und zu Landa,
aber es gibt keine, die es uns erlaubt,
direkt aus dem großen zehn kleines Zäh zu machen.
Also der Schritt funktioniert nicht. Den kann man mit zwei Schritten machen,
aber nicht mit einem. Ich könnte von hier zu,
genauso wie ich, dass sie oben gemacht habe,
in der ersten Zeile,
könnte ich das C durch Kleinzieh Großzäher setzen und dann
das C durch Landa,
dann habe ich
das erreicht hier
Aber streng genommen geht der dritte eben nicht,
weil ich dafür zwei Schritte brauche und dieses Symbol ohne Stern steht eben explizit für einen Schritt.
Ob es möglich wäre, die Produktion besser voneinander zu trennen,
man kann hier so ein bisschen mehr Spacing einbauen oder so,
aber damit ich das alles auf die eine Folie kriege,
kann ich die halt nicht untereinander schreiben.
In Aufgabenzetteln stehen die immer untereinander, aber auf den Folien
ist das doof. Ich kann mir das nächste Mal hier
irgendwie mehr Spacing einbauen, dann sieht man das ein bisschen besser.
Genau, also zwei sind möglich, die erste und die
zweite,
die dritte nicht
Fragen dazu. Oh, danke. Ob es möglich ist,
aus zwei Non-Terminalen in einem Schritt irgendwie was zu machen.
Bei kontextfreien Dramatiken nicht, weil bei kontextfreien Grammatiken hast du
ja auf der linken Seite einer Regel immer genau ein Non-Terminal.
Das heißt, du kannst in einem Schritt dieses Non-Terminal
durch irgendwas ersetzen
Ja, aber zwei Regeln, zwei Schritte. Du kannst,
um dir die Arbeit zu ersparen, einfach über die Doppelpfeile einen Stern drüber machen,
wenn das dann klar ist, was da passiert,
dann sagt man, alles klar, so ich sehe,
was passiert, wenn es irgendwie umständlich ist,
dann musst du halt gucken, dass du an der richtigen Stelle abbrichst.
Genauso wie du bei Automaten, wenn du sagst,
ich lege ihm jetzt ein Wort vor,
auch mehrere Schritte auf einmal machen kannst,
wenn du irgendwie in einem Zustand bist und er hat eine A-Kante und du willst fünf As lesen,
dann gibt es auch nicht jede Nachfolgekonfiguration an,
sondern sagst irgendwie, okay,
von A auf 5 komme ich nach Landa oder irgendwie sowas.
Und so kannst du es ja auch machen.
Aber streng genommen,
ein Non-Terminal ersetzender Einschritt
Gleichfrage. Okay. Also so gesehen geht das dritte auch,
wenn man halt bei dem letzten da so ein Sternchen drüber macht.
Noch Fragen? Ich glaube, das ist die letzte.
Was gilt für die Menge der Produktion in einer kontextfreien Grammatik?
Noch mal überlegen, was darf links stehen,
was darf rechts stehen bei kontextfreien Grammatiken
Und ja, dann kriegt man es,
glaube ich,
gelöst,
Genau, der dritte hier. Links genau ein Non-Terminal und rechts was Beliebiges.
Also der dritte, die anderen klappen alle nicht aus unterschiedlichen Gründen.
Entweder steht da links zu viel oder rechts zu wenig oder sowas,
da klappt dann alles nicht. Super. Ich denke mal
hierbei können wir es dann für heute belassen. Danach,
genau, das was jetzt als nächstes kommt, sind Ja,
zehn Folien wollte ich eigentlich weiter sein, aber ist okay.
Was jetzt als nächstes kommt, ist, gegebene Sprache,
Grammatik konstruieren, die die Sprache tatsächlich generiert.
Was gibt es da so für Kniffe? Also das,
was sie auch bei DFAs gemacht haben, so Konstruktionsmethoden,
das machen wir noch. Und dann sieht man hier schon
so Grammatiken und Automaten, dass wir also versuchen,
eine Verbindung herzustellen zwischen Reck und CF oder allgemein zwischen Automaten- und Grammatikmodellen.
Das beides machen wir morgen dann hier einfach noch zu Ende.
Und ja, dann machen wir so ähnliche Sachen wie bei Reck, Abschlusseigenschaften,
Pumping, Lämmer. Und dann haben wir das Thema,
das wollte ich nur so in einer Woche mal ein bisschen behandeln,
haben wir das Thema schon abgeschlossen.
Kuschel, Gruschel, Gruschel. Gut, Feierabend,
bis morgen früh