Es sei denn, also inspeziell zu den Abgaben,
zu OLAT, nicht für diejenigen,
die das noch nicht gesehen haben,
das ist ein kleiner Quiz, der dazu dienen soll,
dass sie hier in der Vorlesung schon mal einige Definitionen und Begriffe angelesen haben,
um dann hier besser in den Genuss meiner Darstellungen zu kommen.
Ja, das hat natürlich seine Fristen, wann sozusagen die
nächste OLAT-Seite aufgelegt wird und die Fristen sind wie hier dargestellt.
Diese Woche haben wir noch eine Ausnahme und die Regel Darstellung
ist dann darunter beschrieben. Es soll auch ein Skript geben,
aber leider, wie sie ja schon in FG1 bemerkt haben,
können wir das nicht mehr kostenlos liefern.
Das soll also gegen Bezahlung und Bestellung natürlich ausgegeben werden.
Und ich nehme an, dass da noch die Gelegenheit besteht,
sich anzumelden, wenn sie das noch nicht in der Übungsgruppe gemacht haben.
Bitte alles bei Herrn Dr. Molt. Ja,
dann sind Sie natürlich zum großen Teil schon in Stina.
Wenn Sie die jetzt im Augenblick also hören oder nach dem
Skript arbeiten, wäre das dann die entsprechende.
Nicht diese Prüfung nehme ich nicht mehr ab,
das macht, würde dann Herr Dr. Molt machen
Ja, das war das Organisatorische, dann könnte ich jetzt zum Inhaltlichen kommen.
Haben Sie da nach dem jetzigen Stand noch eine Frage?
Sonst alles okay, scheint so. Das ist eine Meldung, oder?
Nein. Gut. Ja, und dann geht's los.
Und zwar als Einleitung wollte ich folgendes, folgenden Titel eines Buches wählen,
dass Sie jetzt in der Bibliothek unter der Signatur L finden,
Elvi Logik und Busi also dort einen offenbar missklugten Raketenstart sehen.
Und das Buch heißt in der Tat auch Logic and Computer Science und die Frage wäre,
was hat denn Logik mit fehlgeschlagenen Raketenstarts zu tun.
Ja, nebenbei ist das eben ein Buch,
was auf jeden Fall sehr zu empfehlen ist,
wenn sie in das Thema,
was ja hier jetzt im ersten Kapitel vorstellen,
nochmal von einer etwas anderen Seite lesen wollen, mit vielen Beispielen.
Ja, der Untertiteln erklärt diese Frage schon ein bisschen mehr,
dass der Untertitel ist, jetzt heißt es Modeling and Reasoning about systems.
Nicht ganz ähnlich wie hier diese Veranstaltung heizt.
FGI 2 hat ja den Untertitel Modellierung und Analyse von Informatiksystemen,
ist also sozusagen der Gleicher Fokus, den wir hier annehmen.
Ja, und konkret, was hat es mit diesem Raketenstart auf sich?
Das ist der misslungene Raketenstart der Rakete Ariane 5 vom 4. Juni
1996. Und das ist sozusagen der Einstieg in das Thema Modelchecking,
wie wir gleich noch genauer sehen werden.
Genauer am 4. Juni 1996 explodierte eine Ariane 5 Rakete,
40 Sekunden nach dem Start.
Die Untersuchungskommission stellte später als Grund eine Ausnahmebehandlung in der Fluggleitsoftware
Eine fehlerhafte Kleid-Festkomma-Konversion verursachte im Haupt, wie im Backup-Rechner einen Fehler,
der zu einer inkorrekten Datenübermittlung an den Bordrechner führte,
der seinerzeit daraufhin die Selbstzerstörung einleitet.
Daraufhin wurde die Software einer umfangreichen Verifikation unterzogen. Nicht,
dass danach hat natürlich große Folgekosten hervorgerufen und war aber gleichzeitig
auch eine Motivation, ein Anstoß,
die Verifikation von Informatik-Systemen voranzutreiben,
sowohl in der Forschung und
vor allem natürlich auch im Einsatz
Ja, das Computer fehlerhaft sind, ist natürlich eine alte Geschichte.
Das ist zum Teil, sind das lustige Ereignisse,
wie dieser Bug hier, der hier abgebildet ist,
welche und Bug heißt, ja Käfer oder Laus.
Das kommt von folgender Geschichte, die zu den Mythen der Informatik gehört.
Die Computerpionierin Craze Hopper hat Überlieferungen zufolge, diesen Begriff zuerst verwendet.
Sie hat am 9. September 45 eine Motte in einem Relais des Computers Markts Wahl
Und das Tier führte zu einer Fehlfunktion. Grace Hopper,
nicht die auch später noch eben bekannt geworden ist,
nach den Thüringen, wardwillkommen.
Er hat entfernte die Motte und schrieb in ihr Logbook First
Actoral Case of a Buck, a being found.
Das heißt also, sie haben schon mehrere davor gehabt.
Dazu klebte sie die im Relay gefundene Motte in ihr Logbuch,
wie hier dargestellt.
Nun aber zurück zu unserer Ariane-Geschichte
Dieser Junkernflug, dieser neuen europäischen Träger-Rakete, hatte eine Entwicklungskosten
von 11 Millionen D-Mark damals. Und die Wirkung war,
nach 37 Sekunden nach der Zündung der Rakete erreichte die Ariane
5 in 3700 Meter Flughöhe eine relativ große Horizontalgeschwindigkeit.
Und dieser Wert lag aber etwa fünfmal höher als bei der Ariane 4.
Und das ist auch der tiefere Grund gewesen,
dass eben die Software, die hier zum Fehler geführt hat,
zum Teil unreflektiert von der Ariane 4 übernommen worden ist und
dann zu dem Fehler führte
Nicht, das war ein ziemlich großer Schaden,
250 Millionen Sandkosten waren, Buchstäbel in die Luft gegangen,
850 Millionen Cluster-Satelliten konnten nicht benutzt werden,
600 Millionen für nachfolgende Verbesserungen, Dienstausfall für 2 bis 3 Jahre,
wo also die Rakete, nee,
kein Geld verdienen konnte, das war alles zu beklagen.
Der nächste Testflug konnte erst 17 Monate später durchgeführt werden,
die erste Stufe beendete vorzeitig das Feuern.
Der erste kommerzielle Flug fand im Dezember 1999 statt,
der Versuch, vier neue Cluster-Satelliten zu starten gelang,
im Juli und August 2000
mit zwei russischen Träger-A-Raketen
Ja, zu den Gründen, die der problematische Programmteil wurde,
nur für die Vorbereitung beim Start und den Start selbst gebraucht.
Das ist eine typische Erscheinungsform, dass eben solche Softwareteile,
die oft nur in ganz bestimmten Situationen gebraucht werden,
nicht die gehörige Aufmerksamkeit erfahren, obwohl der Schaden,
den sie verursachen, können, besonders eben grob ist.
Es sollte nur während einer Übergangszeit aktiv sein,
aus Sicherheitsgründen 50 Sekunden,
bis die Budenstation bei einer Schachtunterbrechung
die Kontrolle übernommen hätte
Trotz des ganz anderen Verhaltens der Ariane 5, wir hatten ja vorher schon gesehen,
denen die Unterschiede in der Geschwindigkeit, wurde dieser Wert nicht neu gesetzt.
Ja, und ein kleines Detail,
nur bei drei von sieben Variablen wurde ein Überlauf geprüft,
für die anderen vier Variablen existierten Beweise,
dass die Werte klein genug blieben würden.
Die Beweise waren für die Ariane 4 gemacht. Ich habe diesen Begriff Beweise jetzt hervorgehoben,
weil dies jetzt unser Thema ist, nicht Beweise kann natürlich bedeuten,
dass man in der Logik Beweise führt oder der Mathematik,
dazu Rechnerunterstützung hat durch automatischer Beweiser.
Hier haben wir es aber mehr mit dem sogenannten Model Shaking zu tun,
was dann eben in der Folge auch bei der Ariane vertieft eingesetzt wurde.
Nicht und Model Shaking heißt, dass der Zustandsraum,
den ein Programm aufspannt, das heißt also die Menge der
Zustände beginnt mit dem Anfangszustand gefolgt von den Nachfolgezuständen,
dann irgendwie formal dargestellt werden und analysiert werden.
Nicht so, dass man in Form dieses Zustandsraumes
meist dargestellt auch durch einen Graf,
also durch dieses Zustandsgrafis ein vollständiges Bild des möglichen Verhaltens hatte
Ich habe das zum Teil noch selbst erlebt, wie dieses Modelshacking entstanden ist.
Und wie wir später auch hier noch genauer sehen werden,
sind diese Zustandsräume, insbesondere bei nebenläufigen und parallelen Systemen,
von exponentieller Größe. Es gibt sogar ganz einfache Systeme,
deren Zustandsraum schneller wächst als jede primitiv rekursive Funktion,
nicht diejenige, die ein bisschen von Berechenbarkeit schon erfahren haben wissen.
Das bedeutet, man kann keinen Ausdruck schreiben, dieser Explosion in dem Wachstum abschätzt.
Das heißt, wir können schreiben zwei hoch, zwei hoch,
tausendmal zwei hochk und der Zustandsraum von diesen einfachen Systemen wächst schneller.
Das heißt also, in der Praxis,
im Prinzip keine Chance, dass jemals mit Rechnern abzudecken.
Und das war unser Eindruck damals,
aber trotzdem im Laufe der Jahre hatte dieses Model-Checking zunehmend Erfolg,
das hing damit zusammen, dass immere bessere Methoden entwickelt wurden.
Das hing damit zusammen, dass diese problematischen Systeme in der Praxis weniger auftreten,
weil sozusagen sexuierte Systeme, ein anderes Verhalten haben,
als theoretisch erdachte, Systeme.
Und es hängt eben auch damit zusammen,
dass die Rechner sehr viel schneller und effizienter waren.
Es gibt heute sogar Beispiele, schon seit längerem,
die Zustandsräume mit 10, hoch 100 Zuständen untersuchen.
Ich weiß, in früheren Zeiten als völlig utopisch erachtet worden ist.
So, das ist nur ein Teil des Inhaltes dieser Vorlesung.
Und ich komme jetzt zur Zum allgemeinen Überblick. Nicht,
wie gesagt, die Vorlesung heißt Modellierung und Analyse von Informatiksystemen.
FGI2 und ist dementsprechend an auch eine Fortsetzung von FGI1,
wo es ja hauptsächlich um die Grundlagen der theoretischen Informatik ging.
Das heißt, ein wichtiges Standbein, ein wichtiges Thema in dieser Veranstaltung ist die theoretische Informatik.
Und im Englischen sind also die sogenannten Formel Messerts,
die auf diesen Methoden der theoretischen Informatik fußen, ein gängiger Begriff.
Und gerade im Zusammenhang mit nebenläufigen und parallelen Systemen ist es so,
dass diese Firmel-Messolds von großer Bedeutung sind,
weil einfach durch nebenläufige Aktionen so viele unvorhersehbare oder unvorhergesehene Situationen eintreten,
die mit einfachen Mitteln wie Testen und dergleichen nicht mehr zu bewältigen sind.
Bei einem sequenziellen Programm hat man zunächst mal mental vielleicht eher
die Möglichkeit, sich den Ablauf vorzustellen.
Auf jeden Fall bei einem gefundenen Fehler kann man den
relativ eindeutig reproduzieren, weil ja die Folge der Aktionen
fest vorgelegt ist
Bei nebenläufigen Programmen gibt es so viele Möglichkeiten durch die unterschiedlichen Geschwindigkeiten der Komponenten,
dass eine Reproduktion nur zufällig eben möglich ist und eben
eine systematische Methode mit Formel Metroid absolut notwendig ist.
Nicht so, dass wir also in dieser Vorlesung auch Teile oder
Methoden der theoretischen Informatik kennenlernen, aber eben nicht ausschließlich.
Sie sehen das daran, wir werden auch Sätze haben,
Lämmerta und Beweise und dergleichen, aber nicht nur.
Der andere Teil ist der Fokus dieser theoretischen und Informatik liegt
auf den Grundlagen parallelen und nebenläufiger Systeme, was dadurch motiviert ist,
dass diese Formel-Methods ihre besondere Bedeutung gerade in dem Bereich haben.
Nicht theoretisch Informatik hat natürlich in praktisch allen Gebieten der Informatik
eine Bedeutung und dies ist hier zu sagen nur exemplarisch,
weil man sich so sagen, ja auf ein Gebiet festlegen muss,
um einigermaßen relevante Aussagen machen zu können.
Gut, dann würde ich jetzt ganz gerne eine Vorlesungsübersicht ergeben.
Wir fangen also an mit Model-Checking
Model-Checking besteht also, wie gesagt, auf der Untersuchung des Zustandsraumes.
Das heißt, die Menge der Zustände und ihren Übergängen.
Und da sie ja endliche Automaten schon ausgiebig im Grunde,
also im FGI 1 kennengelernt haben, können sie sich vorstellen,
dass man diesen Zustandsraum mit seinen Übergängen auch als Automaten modellieren kann.
Und nicht, und daher ist der Aufhänger am Anfang
eine kurze Wiederholung, der Ergebnisse,
die wir in FGI 1 über endliche Automaten kennengelernt haben
Welch hinzu kommt Logik, was Sie ja auch,
schon in FGI1 ausführlich hatten, hier aber in einer speziellen Form,
nämlich der sogenannten temporalen Logik, die dazu da ist,
die Abläufe zu beschreiben,
während klassischer Logik ja statische Aussagen macht über einen Zustand,
über logische Beziehungen, logische Implikationen,
Folgerungen geht es in der temporalen Logik darum, zeitlich geordnete Abläufe,
die also kausal voneinander abhängen oder nicht voneinander abhängen,
zu beschreiben.
Und deswegen werden Sie die logische Sprache als solche wiedererkennen,
die Logik als temporale Logik ist jedoch erneu
Ja, ich werde hier,
werden wir also zunächst mal endliche Automaten wiederholen,
weil nicht nur der Begriff in Form von Transitionssystemen von Bedeutung ist,
sondern auch die Analyse dieser Transitionssystemen aufsetzt auf das,
was wir von den endlichen Automaten gelernt haben.
Wobei gelernt haben, meint sowohl historisch in
der Forschung über Meutel-Checking als auch für sie im Studium.
Das ist aber relativ kurz und wir werden da wohl heute
mit fertig werden. Am Donnerstag kommen wir dann schon zu
den Büchi-Automaten
Diese Büchi-Automaten sind genauso definiert wie die endlichen Automaten
und sind auch endlich der große Unterschied ist aber,
dass dieser Büchi-Automaten nicht endliche Aktionsfolgen beschreiben, sondern Unendliche.
Das hängt damit zusammen,
weil man bei nebenläufigen Systemen häufig solche Probleme hat,
wie Fairness, nicht dass nach einer bestimmten,
aber unbekannten Zeit eine aktive Aktion auch mal gewählt werden muss
und nicht unfair gewissermaßen immer hinten angestellt werden muss.
Und solche Phänomene lassen sich also
besser durch unendliche Aktionsfolgen beschreiben
Das heißt, wir müssen unser ganzes Instrumentarium der endlichen Automaten erweitern auf unendliche Erfolgen.
Aber wie wir sehen werden, sind die Begriffe sehr ähnlich.
Es gibt dort eben auch Abschlussoperationen und Analysemethoden,
die eben vergleichbar sind mit dem,
was wir bei den endlichen Automaten kennengelernt haben.
Ja, und dann in der zweiten Woche werden wir dann zu den Transaktionssystemen übergeben,
die im Kontext der temporalen Logik Kripke-Strukturen heißen.
Das ist nur eine kleine Variante,
auch wieder von Transaktionssystemen und Automaten
Ja, und dann geht es weiter und jetzt werde ich ein bisschen schneller,
nicht, weil das ja mehr in die Zukunft geht.
Dann kommen wir zur temporalen Logik, die ist in der Form
von CTL und LTL gibt. Und danach haben wir schon gesehen,
fangen wir an mit dem Thema Nevenläufige und Parallele Systeme.
Nicht, wobei Anfang nicht stimmt, weil ja die Motivation,
wie gesagt, auch hier schon bei den Kripri-Strukturen und der temporalen Logik bei nebenläufigen Systemen ist.
Aber diese Überschrift wird sagen, hier beginnen wir mit der
Modellierung von nebenläufigen und parallelen Systemen. Das heißt,
nach der Beschreibung von grundsätzlichen Phänomenen, von Ordnungen,
Strickordnungen kommen wir dann zu der Modellierungswerkzeug der Petrinette,
das stellvertretend für viele andere Modellierungswerkzeuge steht.
Was aber den Vorteil hat,
dass es historisch das Älteste ist und deswegen eben auch in
der theoretischen Informatik am weitesten untersucht ist und viele Eigenschaften,
die wir dort kennenlernen werden,
gelten auch für alle anderen oder für die meisten anderen Methoden zur Darstellung von nebenläufigen und parallelen Systemen.
Nur bei dem Unterschied,
dass wir bei den Petrinetzen einen zum Teil sehr viel größeren,
theoretischen, formalen Kontext haben,
sodass das eben sehr viel besser in den Stil dieser Veranstaltung
eben passt
Ja, diese Petri-Netze gibt es in einer elementaren Form und in
einer höheren Form, was dann thematisch hier dann abgesetzt ist.
Ja, danach haben wir dann noch ein anderes Modellierungswerkzeug,
nämlich die sogenannte Prozess Algebra, die,
wie der Name sagt, einen Algebraischen Ansatz hat.
Dort werden, also bei den Petri-Netze sind sehr grafisch orientiert,
dort malen wir, also Grafen für die Systeme,
in der Prozess Algebra schreiben wir Algebraische Ausdrücke,
die so ähnlich aussehen am Anfang zumindestens,
wie arethmetische Ausdrücke und diese Prozessausdrücke beschreiben dann wieder Parallele und nebenläufige Prozesse.
Und auch dort gibt es jetzt dann Verifikationsmethoden. Ja,
und ganz am Schluss kommen wir wieder zurück auf die Methoden von FGI1.
Dass wir nämlich Parallele, Maschinen betrachten,
wie Turing-Maschinen und Registermaschinen und Komplexitätsbetrachtungen,
ähnlich wie das in der klassischen theoretischen Informatik eben gemacht wird.
Gut, das war jetzt der Abschnitt vom Überblick.
Haben Sie jetzt dazu noch
eine Frage
Bin ich zu schnell oder ist das okay? Sie können mir auch gern eine E-Mail schreiben,
wenn Sie Anregungen haben, normalerweise als Dozent,
hat man ja hier wenig Rückkopplung, sodass das auf jeden Fall willkommen ist,
auch wenn Sie sich nicht sicher sind,
ob das angemessen ist, ich kann das schon einschätzen,
brauchen Sie sich also keine Rückhaltung aufzuerlegen.
Gut, dann steigen wir jetzt noch mal ein bisschen genauer ein in das,
was Modelchecking bedeutet. Modelchecking heißt grob gesprochen Verifikation eines Systems,
das ist sozusagen die weitere Sicht, im Engeren heißt Modelchecking
Verifikation eines Systems durch den Zustandsgrafen, den Zustandsraum.
Bei allen Formen der Verifikationen geht es jedoch um zwei Komponenten,
nämlich, dass wir einerseits ein System verhalten haben,
also ein gegebenes Informatiksystem, ein großes Programm, ein Informationssystem,
ein Steuerungssystem, eines Flugzeugs oder Atomkraftwerkes oder dergleichen.
Und wir haben auf der anderen Seite eine Systemspezifikation,
die Sie vielleicht in der Softwaretechnik als Pflichtenheft oder andere Formen
der Spezifikation kennengelernt haben.
Und bei den großen Systemen ist, wie Sie wissen,
ist es notwendig,
auch die Systemspezifikation zu organisieren
Eben im Idealfall auch formal zu organisieren, weil es eben sich zu leicht eben Missverständnisse eintreten. Sie wissen ja auch,
ein Großteil der Software-Fehler,
nicht wir werden beim Beginn des Model Chatty noch auf andere Beispiele zurückkommen,
ähnlich wie bei der Ariane, wohnen ja darauf,
dass der Anwender, der beispielsweise ein System bestellt,
sich was anderes vorgestellt hat als das,
was der Informatiker oder Softwareentwickler nachher entwirft, sei es,
dass der Softwareentwickler ihn nicht gut verstanden hat,
sei es, dass der Anwender sich falsch,
falsch formuliert hat.
Und das sei es, dass er diese Formulierung gewählt hat,
weil er die Möglichkeiten des Informatikers nicht gekannt hat.
Es gibt auch eben sehr viele Gründe. Und hier sind wir
gewissermaßen auf der Seite des vorne, der Formel Messed.
Das heißt, hier beschreiben beide Seiten durch formale Systeme. Das ist natürlich eine Idealisierung,
die in der Realität normalerweise nicht vorkommt,
aber immer mehr ist es so,
dass in kritischen Systemen diese Formalisierung angestrebt wird,
weil einfach, wie bei dem Ariane-Beispiel gesehen haben,
die Kosten zu groß sind,
wenn man das erst im Nachhinein macht
So, wie verhalten sich nun die beiden Begriffe oder die
beiden Kästen der Grüne oder der und der Türkise?
Ist natürlich so, dass das Systemverhalten, die Systemspezifikation erfüllen muss. Das heißt,
alles, was ist in dem System passiert und passierend heißt,
alle Aktionsfolgen, die dort ablaufen,
sollen der Systemspezifikation genügen, nicht was irgendwelche Eigenschaften sind,
wie zum Beispiel eine bestimmte Aktion dürfen nicht gleichzeitig stattfinden oder bestimmte Ausgaben sollen auf bestimmte Eingaben erfolgen und dergleichen mehr.
Das heißt, wir haben hier eine asymmetrische Situation,
das heißt, Das Systemverhalten soll der Systemspezifikation genügen oder jede Folge,
die in dem System möglich ist, soll die Spezifikation eben erfüllen.
Wer kann sich denken, warum das asymmetrisch ist?
Warum ist der Pfeil nicht umgekehrt oder möglicherweise sogar ein Doppelfall?
Hat da jemand eine Idee, warum das so ist?
Ja, bitte?
Ja, das ist richtig. Also ich wiederhole nochmal,
Kommilitone sagte, weil wir uns nicht dafür interessieren,
wie wir aus der Systemspezifikation das Systemverhalten bekommen.
Das ist sozusagen die halbe Wahrheit. Nicht ideal werde doch
, wenn die beiden gleich wären. Dann hätten wir wirklich
ein System, was identisch mit der Systemspezifikation ist.
Nochmal die Frage, sozusagen zur Vertiefung.
Warum wird es im Normalfall so sein,
dass die das Systemverhalten in dem Falle spezieller ist als die Systemsspezifikation?
Wer hat da noch einen Vorschlag?
Wollen Sie nochmal
Spezifikation. Ja, genau, nicht? Also die Antwort ist,
die Systemspezifikation ist allgemeiner und fragt sich nur, warum.
Ja, deswegen, weil die Systemspezifikation wird nach irgendwelchen Anforderungen formuliert.
Bei dem Systemverhalten, was ja eine Art von Realisierung ist,
spielen natürlich noch viele andere Konstraintseinschränkungen mit, wie zum Beispiel,
welche Programmsprache ich wähle, welche Ressorts,
Ressourcen ich habe, wie viel Speicher und dergleichen.
Das heißt, aufgrund von weiteren Einschränkungen,
die mit Technik oder auch mit dem Verhalten der Umgebung
zu tun hat,
kann es doch
zu Einschränkungen kommen
Sodass wir viele Abläufe, die in der Systemspezifikation im Prinzip
möglich sind, in dem Systemverhalten nicht wieder vorgefunden werden können.
Nicht umgekehrt, und das wird natürlich jetzt durch dieses Verhältnis
nicht dargestellt, darf das Systemverhalten nicht so speziell sein.
Das heißt also, manchmal könnte man sagen, ja,
das Systemverhalten erfüllt die Spezifikation, aber ich habe vielleicht nur einen trialen Ablauf.
Dann wäre das formal erfüllt, aber das wäre dann nicht der Sinn der ganzen Geschichte.
Und dazu gibt es jetzt aber gleich auch noch eine Antwort.
Das heißt also, Wir überlegen uns jetzt im Kontext der
theoretischen Informatik, wie wir diese beiden Seiten darstellen.
Und hier habe ich jetzt eine Tabelle aufgelegt,
die jetzt also vier Formen beschreibt,
die wir alle in dieser Veranstaltung kennenlernen werden.
Also wir hatten ja schon gesagt, Transitionssysteme.
Und welche wir durch Automaten beschreiben bzw. Transaktionssysteme sind,
wie gesagt, eine Form von Automaten.
Und interessanterweise kann man natürlich auch die Systemspezifikation durch ein Transitionssystem darstellen,
indem ich dort genau die Abläufe beschreibe,
die gewünscht sind
Und dieser rote Pfeil wird sich dann hier unten formal übersetzen in einen Vergleich dieser beiden Transitionssysteme.
Nicht deswegen sollten sie also gleich erkennen und behalten,
dass es häufig um zwei formale Darstellungen ergibt, die miteinander verglichen werden.
Aber es gibt natürlich auch noch andere Formen. Ich kann
ein deutsches Transaktionssystem auch vergleichen mit einer logischen Formel, nämlich,
dass ich die Systemspezifikation hier in unserem Fall durch eine temporallogische Formel beschreibe,
die logische Formel sagt, jetzt, wenn die Aktion Alpha stattfindet,
dann soll irgendwann mal die Aktion Wetter stattfinden oder konkreter.
Wenn ich diese Eingabe an das System mache mit der und der Eigenschaft,
dann soll irgendwann mal später die Ausgabe mit der und der oder die Reaktion,
mit der und der Eigenschaft im Ebene kommen.
Dann würde jetzt also die Systemspezifikation durch diese logische Formel beschrieben
und ich muss mir dann natürlich die Semantik dieser logischen Formel verfügbar machen,
damit ich aus dieser Semantik die durch diese logische Formel
beschriebenen Abläufe dann formulieren kann und diesen Vergleich ausführen kann
Das wird das sein, was wir im ersten Kapitel machen.
Später kommen dann die Petri-Netze hinzu,
was die also auch eine formale Beschreibung von Systemen erlauben.
Und auf der anderen Seite werden wir dann auch wieder Eigenschaften durch logische Formeln beschreiben.
Dort benutzen wir aber allgemeine Formeln der Prädikaten-Logik. Und ganz
am Schluss haben wir ja, wie genannt, die Prozess-Algebra.
Dort gibt es Algebracher-Ausdrücke für die Systemdarstellung. Ja,
und interessanterweise wird gedacht, auch wie im ersten Fall,
die Systemspezifikation auch durch einen solchen Prozessausdruck beschrieben
Und dieser rote Pfeil bedeutet dann auch wieder,
ob diese beiden Prozessausdrücke das Gleiche verhalten oder diese Inklusion im Sinne dieses Pfeiles repräsentieren.
Okay, also so weit, so gut.
Wir fangen also zunächst mal nur mit diesem Paar an,
mit dem Transitionssystem, die wir jetzt in erster Ernährung
als Automaten verstehen können
Nächste Frage wäre also, wie beschreiben wir dieses Systemverhalten und
die Systemspezifikation? Und da haben wir in meiner Wortwahl
ja auch schon gemerkt, dass es um Aktionsfolgen gibt.
Und Aktionsfolgen eines Automaten haben sie ja als akzeptierte Sprachen kennengelernt.
Und da haben sie ja auch diese Schreibweise 11 von vielleicht kennengelernt.
Ich bin also das Traditionssystem TSS, heißt,
dass der Bezeichner ist, dann soll Elfern die Menge der Aktionsfolgen sein,
die dieses Transitionssystem ermöglicht wenn wir uns das Transitionssystem als Automaten vorstellen,
dann wäre also elf von die entsprechende Sprache.
Nicht schon genauso bei der Systemspezifikation,
da haben wir das Transaktionssystem TS Zweck und auch via elf von,
die also die Folgen beschreibt, die diese Spezifikation also darstellt.
Ja, und dieser rote Pfeil, dieser asymmetrische rote Pfeil,
der führt dann hier formal zu einer Inklusion.
Jede Folge, die hier links möglich ist,
soll auch rechtsmöglich sein, aber nicht unbedingt in der anderen Richtung
Gut, ich hatte ja schon angedeutet,
dass dieses manchmal in manchen Fällen zu schwach ist,
sodass es manchmal tatsächlich doch die umgekehrte Richtung wünschen wert wäre.
Dann würden wir diese Mengen theoretische Inklusion durch die Mengengleichheit eben ersetzen.
Nicht, was dann die Folgenäquivalenz bedeutet. Und die Äquivalenz
von Automaten haben sie ja auch schon in FGI1 kennengelernt.
Nicht zwei Automaten, zwei endliche Automaten heißen Äquivalent.
Wenn sie dieselbe Sprache akzeptieren, was jetzt durch dieses Elfern
, gleich Elfern dargestellt wird
Wo wir dann aber nochmal hier in diesem Kapitel kennenlernen,
ist das für manche Fälle auch nicht adäquat,
was insbesondere dann später bei der Prozess-Algebra ausgenutzt wird.
Wir werden nämlich noch eine stärkere Form der Verhaltensäquivalenz kennenlernen.
Das ist die sogenannte Bi-Simulation. Nicht, dass ein formales Gebilde
ein anderes simuliert, ist ein gängiger Begriff in der theoretischen Informatik.
Nicht, man kann zum Beispiel versuchen,
eine Turing-Maschine zu schreiben, die einen Kellerautomaten simuliert,
nicht der simulierende Mechanismus,
muss dann manchmal
mehr Schritte machen als der simulierte
Und die B-Simulation ist also eine spezielle Form von Simulation.
Wenn ich unterspiele, sagt eben nur aus,
dass dies in beiden Richtungen geschieht. Das heißt also,
wir haben hier also auch wieder ein Pfeil gewissermaßen in beiden Richtungen,
Richtungen ähnlich wie bei der Folgen-Äquivalenz. Gut,
das war jetzt alles nur Vorspann,
was eben ihnen möglicherweise erst wieder klar oder klarer wird im Rückblick,
wenn sie dann nochmal diese Folien,
die ich dann auch auf die Webseite von FGE 2 erlege,
wenn sie die nochmal später anschauen.
Nicht, was jetzt kommt, ist eine Wiederholung aus FGI 1,
dass wir die für uns relevanten Teile aus dem Bereich endliche Automaten wiederholen.
Nicht, dazu haben sie ja hoffentlich auch in Olat schon
ein bisschen was gelesen und sich hoffentlich auch ein bisschen interessiert.
Ich weiß nicht, ob die in FGI 1 folgenden Bezug kennengelernt haben.
Nicht der Begriff des endlichen Automaten geht auf einen Artikel von
1956 zurück von Moore mit dem Titel Gedanken Experiments on
Sequential Machines
Sie wissen vielleicht,
dass der Begriff des Gedankenexperimentes aus der Physik stammt,
wo man anstelle von realen, physikalischen Experimenten manchmal nur Experimente macht,
die in der Vorstellung des Physikers stattfinden.
Und weil dieses so bedeutend war, hat sich dieser Begriff
auch im Deutschen zum Teil in anderen Sprachen erhalten.
Und daher dieser Titel. Und dahinter steht natürlich,
dass man, dass dieser endliche Automaten ein abstraktes Modell eines
konkreten Systems oder eines konkreten Automatens war
Nicht und spät,
speziell war jetzt hier die Motivation oder das Beispiel in diesem Artikel waren sozusagen Höllenmaschinen,
dass man denkt, ja,
man hat hier einer so eine Bombe und man möchte gerne herausfinden,
wie eine Folge, also eine Folge von Aktionen,
Operationen auf dieser Bombe durchzuführen ist,
dass sie entweder zur Explosion kommt oder besser nicht zur Explosion kommt,
dass man sie vielleicht entschärfen kann oder dergleichen, also allgemein,
wie man in eine bestimmten Zustand eben kommen kann.
Und dann gab es verschiedene Szenarien, in denen man,
ob man zunächst mal den den Zustandsgrafen kennt,
was natürlich unrealistisch ist und später,
dass man ihn nicht kennt und versucht, diesen Zustandsgrafen eben zu ermitteln.
Und daraus ist dann die Theorie der endlichen Automaten entstanden.
Nicht während das Gebilde eines solchen endlichen Automaten natürlich schon viel früher benutzt wurde,
nicht eine Turing-Maschine wird ja auch durch eine Art endlichen Automaten gesteuert und sie wissen,
dass dieses ursprüngliche Papier von Turing sehr viel früher vor dem
Zweiten Weltkrieg geschrieben wurde und es dort eben auch schon entsprechende Vorstellungen gab.
Aber dieses Papier und noch ein anderes von Rebel und Scott
ist die Geburtsstunde der Theorie der endlichen Automaten
Ja, und hier in der Vorlesung haben wir jetzt als durchgehendes Beispiel keinen solchen Höllenmaschine,
sondern etwas Einfaches, nämlich einen Getränkeautomat,
der die Eigenschaft hat, dass wir hier Aktionen ausführen können,
indem wir Knöpfe drücken,
indem wir Tee oder Kaffee wählen,
einen Euro einwählen und dann unten hoffentlich das entsprechende Getränk entnehmen können und danach soll diese Maschine wieder im selben Zustand für die Benutzung bereitstellen.
Ja, und dazu können wir dann folgenden Zustandsgrafen aufschreiben,
nicht das bedeutet, hier ist der Anfangszustand,
haben wir hier noch mehrere andere Zustände und die Übergänge haben Beschriftungen,
die die einzelnen Aktionen darstellen.
Wenn ich das halt bedeuten, hier wird der eine Euro eingeworfen.
Hier habe ich die Wahl, entweder die Tätaste oder die Kaffeetaste
zu drücken. Ja, und danach steht also fest,
zum Beispiel, den ich Tee gedrückt habe,
dass Tee gekocht wird, nicht was eine interne Aktion ist,
die man außer vielleicht an irgendwelchen Geräuschen von draußen nicht merkt.
Und dann gemerkt wird dann wieder das Tee einfüllen,
wo also hier der Tee in diesen Becher oder Tasse
hinein sprudelt und danach kann es wieder von vorne losgehen
Ja, und solche Automaten werden eben mit Endzustand oder ohne Endzustand betrachtet,
nicht ohne Endzustand heißt, alle Zustände sind Endzustände,
was wir hier in unserem Kontext auch manchmal machen.
Aber klassischerweise hat man Endzustände hier,
vielleicht nehmen wir als Endzustand auch den Anfangszustand.
Und wenn wir sozusagen eine Simulation vorführen will,
können wir da irgendwie so eine Marke reinlegen und die Aktion,
der Euro wird eingeworfen, würde dann den Übergang von S0 nach S1 stattfinden.
Da sehen wir, diese Zustände haben auch Bezeichne abstrakte,
wie hier S0 S1,
S2 und so weiter
Ja,
und dann soll es jetzt hier mal weitergehen mit Taste für Kaffee drücken,
dann kommt die interne Aktion Kaffee kochen,
dann das Kaffee einfüllen und wir sind jetzt wieder im Anfangszustand,
der auch wieder der Endzustand ist,
nicht und es könnte nochmal losgehen,
diesmal vielleicht mit Tee und dann könnten wir wieder in den Endzustand kommen,
aber ob das eine erlaubte Folge ist,
wird nur daran entschieden,
in welchem Zustand
man am Schluss ist
Ja, wie gesagt, Formel Messet bedeutet,
dass wir nicht bei dieser Anschauung hier bleiben,
sondern ein Formalismus betrachten, was jetzt dieses berühmte Fünf-Tuppel ist.
Hier bestehend aus Zuständen, Eingabe-Alphabet, Zustand über Führungsrelation,
Anfangszuständen und Endzuständen. Und hier unten haben wir ein Beispiel,
da haben wir also zwei Zustände,
S0S1 und wir haben Übergänge 0 und 1. Das heißt,
hier am Anfang können irgendwelche Nullen passieren,
deine Eins und irgendwann mal isst man hier
rechts in dem Endzustand
Kann jemand so sagen mit Umgangssprachlich beschreiben, was die akzeptierte
Wortmenge ist, also genau welche Art von 0-1-Folgen
dieser Automat akzeptiert? Ja, da bitte. Ja,
und allgemeiner Abstrakt, das ist die Menge aller 0-
1-Folgen, mit welcher Eigenschaft?
Ja, da hinten bitte
Ja, genau. Das sind sozusagen eine ungerade Anzahl von Einsen,
die Anzahl der Nullen ist egal. Das heißt,
in diesem Beispiel haben wir hier also eine endliche Menge von Zuständen,
also der heißt endlicher nicht die terministische Automat.
Erstens, weil alles endlich ist. Hier haben wir die Zustandsmenge,
es ist 0S1. Sigmar ist das Eingabealphabet, ist 01.
Dann die Überführungsrelation ist jetzt hier ein Triple,
das heißt eine Relation von Kuh, eine Teilmenge von Kuh,
Kreuz, Sigmar,
Kreuz,
Nicht und gerne wird dann diese Relation eben auch als Trippel,
oder es sind ja Trippel,
aber dieses Trippel wird auch gerne in dieser Form hier geschrieben.
Erste Komponente P, die Mittlere Komponente ist die Aktion und die hintere Komponente
ist der Nachfolgezustand. Ja, und das heißt also,
in diesem Falle würde jetzt diese Übergangsrelation Delta aus 1,
2, 3, 4 Trippeln bestehen.
Dann haben wir eine Menge von Stachzuständen.
Hier haben wir
nur einen
Und wir haben eine Menge von Endzuständen hier, auch nur einen.
Und das Ganze heißt nicht deterministischer Automat, weil es auch deterministische Automaten gibt.
Da kommen wir später nochmal drauf zu sprechen. Und manchmal heißt
das Ganze auch, endlicher akzeptierender, nicht deterministischer Automat.
Und das ist der klassische Aspekt. Und auf den wollte ich hier
nochmal eben eingehen. Während wir hier diese Automaten dazu benutzen,
irgendwelche Aktionsfolgen zu beschreiben, die ein System hat,
also zum Beispiel Aktionsfolgen eines Assembler-Programmes mit den entsprechenden Zuständen in Form von Speicherbelegungen,
geht dieser Begriff des Akzeptierenden Automaten darauf zurück,
dass man mit dieser Maschine bestimmte Folgen von Zeichen,
also Zeichen folgen, von anderen unterscheiden wollte.
Wenn ich was zum Beispiel Bedeutung hatte, Überprüfung,
ob ein Programm in einer Programmsprache so taktisch richtig ist oder ob
ein Satz einer natürlichen Sprache einer bestimmten natürlichen Grammatik entspricht oder dergleichen mehr.
Nicht und die Vorstellung war da durchaus eine andere. Man stellte sich vor,
dass diesem Automat eine Folge vorgelegt wurde und er soll prüfen,
ob diese Formel nun zu der spezifizierten Menge gehört oder nicht.
Das heißt, ob der Automat diese vorgelegte Folge akzeptiert.
Nicht, dass es ein durchaus anderer Gedanke als der,
wenn ich sage, ich habe ein Automat und betrachte,
welche Aktionsfolgen der hat,
was eigentlich tatsächlich hier mehr zur Erklärung der unterschiedlichen Standpunkte
Man kann sich also vorstellen, dass diese Folge irgendwie vielleicht
auf einem Magnetband gespeichert ist und es einen Lesekopf gibt,
der zunächst auf dem ersten Zeichen steht.
Und der Automat ist im Anfangszustand. Und wenn er zum Beispiel
das Zeichen nur liest, bedeutet er, bedeutet das,
dass er den Übergang null zu wählen hat.
Das macht er dann auch und ist hinterher wieder im Zustand ein S-0.
Dann wird der Lesekorb um eins nach rechts bewegt und der Automat liest,
jetzt kommt eine Eins, geht er in den entsprechenden Zustand.
Und so geht das nun weiter.
Wieder eine Eins
Jetzt eine Null. Wieder eine Eins. Ja,
und bei der letzten Bewegung kommt er auf eine Markierung,
die zu sagen, dass End-of-File-Symbolen darstellt,
die also das Ende dieses Textes, dieser Zeichenfolge markiert.
Und erst dann wird nachgeguckt, in welchem Zustand ist der Automat.
Das heißt, in diesem Falle ist das ein Endzustand
und dann wird gesagt, okay, das ist akzeptiert.
Und wenn wir eine nicht-ungerade Anzahl von Einzelnen hätten,
wären wir hier in S0 gelandet und dann würde gesagt,
nicht akzeptiert
Also soweit zum akzeptierenden Automaten. Und wir gehen jetzt auch
wieder über zur formalen Darstellung. Das heißt, dieses L von A,
was wir kennengelernt haben, ist die Menge aller Zeichen folgen,
die jetzt hier von einem Anfangszustand in einen Endzustand führen.
Nicht, da haben wir hier an dieser Stelle aber was Neues,
also für Sie natürlich nicht neue,
aber so in der Form der Einführung was Neues.
Hier haben wir ein Drittel, wo jetzt hier in der Mitte ein Wort steht.
Nicht eben hatten wir ja nur Zeichen an diesen Erkannten erstehen.
Und dazu müssen wir also diese Notation, wo wir nur
ein Zeichen haben, zunächst mal auf Wörter erweitern.
Das haben sie alles kennengelernt. Man führt dann auch
den Übergang für das leere Wort ein. Ypsilon geschrieben,
was keine Zustandsänderung hervorrührt, ruft und dann induktiv ein Wort
Eine Zeichenfolge bestehend aus einem Anfangsteil weh und einem Endzeichen A
führt von P nach R. genau dann,
wenn es einen Zwischenzustand Q gibt,
sodass das W von P nach Q überführt und das Kuchen mit dem A nach R.
Das ist eine induktive Definition, die dann diese Definition der
Zustandsüberführung auf endliche Wörter dann erweitert.
Und auf diese Art und Weise kommen wir dann zu der
aktierten Sprache eines Nächteterminier, Nichteterministischen, endlichen Automaten.
Nicht das Elf steht natürlich für Finalt.
Norddeterministic, Finalt, Automatan
Ja, und jetzt können Sie das hoffentlich auch lesen.
Nicht, es gibt einen Anfangszustand P aus Q0 und
es gibt einen Zustand Q aus den Endzustandshängen der Gestalt.
Das mit diesem Weh, was ich hier vorhin in
der Menge Beschreibung habe von Pe nach Kuh eben überführt.
Wenn wir uns das jetzt nochmal an unserem Automat überlegen,
wieder mit Endzustand, dann wäre diese Folge, die wir vorher hatten,
diese hier, nicht wohl, also die einzelnen Symbole,
jetzt nicht wie in den abstrakten Darstellungen, meist kurz A,
B, C, oder der gleiche genannt, sondern hier aus diesen Bezeichnern der Aktionen eben bestehen.
Und diese Folge beschreibt also genau das Verhalten,
was wir eben auch schon studiert haben
Soweit alles klar oder gibt es da jetzt eine Frage dazu?
Gut. Ja, dann gibt es natürlich Eigenschaften in dieser
Theorie der endlichen Automaten, zum Beispiel die sogenannten Abschlusseigenschaften.
Das bedeutet, wenn man jetzt Automaten hat oder Wortmengen hat,
L1 und L2, die von Automaten akzeptiert werden,
wenn ich eine andere bezeichne, äquivalente Bezeichnungsform, waren ja die regulären Mengen.
Dann kann man fragen, wenn ich nun diese beiden Mengen vereinigen,
ob das wieder von einem Automaten akzeptiert wird,
das heißt,
das wäre die Abschlusseigenschaft gegenüber der Vereinigung
Im Hintergrund ist der, ich habe eine Spezifikation und ich habe
noch eine und ich möchte jetzt diese Spezifikation im Sinne des logischen Oders zusammenwerfen.
Entweder das eine oder das andere und das Ergebnis ist,
das geht, wie wir gleich später noch an einem einfachen Beispiel sehen werden.
Das Entsprechende gilt auch für den Durchschnitt und wie Sie wissen,
ist,
dass ein bisschen schon etwas Besonderes bei den höheren Modellen in der Champskircher Hierarchie ist es meist so,
dass die Vereinigung eine Abschlusseigenschaft ist,
aber nicht mehr unbedingt der Durchschnitt,
wenn dann gewissermaßen
die gemeinsamen Spezifikationen von zweigegebenen erhalten will
Ja, und dann, das Gleiche gilt auch für das Kompliment,
wobei wichtig ist, dass man wissen muss,
in Bezug auf welche Gesamtmenge in dieses Kompliment gewählt wird.
Nicht, das sind alles Abschlusseigenschaften,
die jetzt hier auch für unser Modelchecking von Bedeutung ist.
Und dann gibt es noch den sogenannten Cleanie-Abschluss, L1,
Stern, nicht was die Menge aller Folgen von Wörtern ist,
die also in L1 sind, wobei also auch das leere Wort dazugehört.
War da eine Frage oder nein? Gut,
alle diese Abschlusseigenschaften sind gegeben und werden zur gegebenen Zeit
eben auch ausgenutzt
Gut, dann kommen wir jetzt zu dem Begriff des
deterministischen Automaten, was ich vorhin schon angesprochen habe.
Gucken wir erstmal dieses Beispiel, was wir hatten. Frage an Sie,
ist das ein deterministischer Automat oder ein nicht-deterministischer Automat? Nicht,
dass es ein nicht-deterministischer, automatisch auf jeden Fall,
denn ein D-Themen ist auch ein nicht-deterministischer, aber die Frage ist,
ob der Spezialfall gilt.
Ja, Sie bitte? Ja, und Sie auch
und können Sie Begründung geben?
Genau. Also ich wiederhole es noch mal für jeden Zustand,
gibt es eine Kante. Nicht, dass ihr es gleichzeitig vollständig,
wenn man das genau eine, ihn höchstens eine nimmt,
dann hätte man die Definition des deterministischen Automaten.
Nächstes Beispiel, das ist der Automat,
den Sie in der Übungsaufgabe von dieser Woche haben. Nicht,
das ist der Automat akzeptiert, die Wortmenge aller Wörter,
die die Eigenschaft haben, dass irgendwo mal in der Mitte
die Zeichenfolge ABB vorkommt und davor und dahinter kann was Beliebiges kommen.
Nicht, Sie sehen, da haben wir also A,
B, B, wenn ich direkt hingehe,
aber auch wenn ich hier was Beliebiges mache,
da kommen irgendwelche Bs und das erste A
wird schon gezählt
Dann kommt aber, wenn wir weitere As kommen,
ist das ja nicht relevant für unsere Wortmenge.
Dann bleiben wir hier. Erst wenn das B kommt,
dann, also das B nach dem A kommen.
Wenn danach aber wieder ein A kommt, müssen wir wieder zurückspringen.
Und wenn dann das zweite B danach kommt,
gehen wir in den Endzustand, wo danach dann aufgrund dieser
Schleife hier auch wieder beliebige Wörter kommen können.
Ist das ein deterministischer oder nicht determinister Automat?
Der entscheidet elektrizisch. Ja, er scheint nicht nur,
sondern er ist auch deterministisch, wie wir, der Grund,
warum ich den hier aufgeführt habe, er kommt ein bisschen später.
Vorneweg möchte ich also nochmal die Erklärung einblenden.
Also ein nicht deterministischer, endlicher Automat heißt deterministisch,
Abkürzung, DFA. Wenn er genau einen Startzustand besitzt,
also wenn ich mehrere Startzustände zugelassen habe,
ist das ja auch eine Form von Nicht-Determinismus.
Und die Relation funktional in den ersten beiden Argumenten ist,
das bedeutet,
wenn hier PA in zwei Treppeln gleich sind,
dann muss die dritte Komponente auch
gleich sein
Und das heißt, ich kann das Ganze auch als eine
partielle Funktion darstellen. Und wenn er auch noch vollständig ist,
sogar als eine Funktion von Kuh-Kreuz-Sigma nach LQ. Ja,
und dann wissen Sie wahrscheinlich, dass man dadurch keine wesentliche Einschränkung hat.
Nicht deterministische Automaten sind ja irgendwie natürlicher. Ein nicht deterministischer
Automat fragt man, wo sowas vorkommt. Ja,
die Begründungen dafür sind zum Beispiel,
es könnte irgendwie ein Zufallsmechanismus eingebaut sein,
der zum Beispiel in Verschleiß liegt,
dass irgendwelche Übergänge nicht mehr funktionieren oder anders funktionieren und aus uns unbekannten Ursachen jetzt dann verschiedene Übergänge möglich sind.
Oder es, das ist eigentlich hier unsere naheliegendere Interpretation,
dass das einfach nur ein nicht interministischer Automat,
ein Schema ist von Dingen,
die sein können und ich nicht direkt gleich an eine
technische Realisierung
eben denke
Ja, nicht und in vielen Fällen ist es so,
wenn ich ein Automatenmodell auf Deterministisch einschränke,
dann ist sozusagen die Leistung eingeschränkt, was in unserem Fall,
wie Sie ja wissen, nicht der Fall ist,
sondern man kann zu jedem nicht die terministischen Automaten einen äquivalenten,
deterministischen,
endlichen Automaten konstruieren,
wobei Äquivalenz bedeutet,
dass dieselbe Wortmenge akzeptiert wird
So, und jetzt komme ich zu dem Beispiel hier rechts.
Man könnte ja das Ganze hier so sagen, als eine Textverarbeitungsproblematik auffassen,
dass man irgendwie ein System hat, was Texte dieser Form akzeptiert.
Wobei das ABB zum Beispiel auch natürlich sprachliche Wörter sein könnten,
wie Regeln oder dergleichen. Und die Aufgabe soll jetzt darin verstehen,
diese entsprechende Wortmenge zu akzeptieren, wobei dieses Mittelwort gerade in umgekehrter Reihenfolge vorkommt.
Das heißt, statt Regen, Neger oder dergleichen. Das heißt,
ich möchte gerne 11 und A gleich Sigmar Shan,
BBA, Sigmar Stern haben. Denn wir sehen ja schon,
auch dieser Automat, den schreiben sie nicht so unmittelbar gleich hin,
wenn sie nicht schon viel Übung haben.
Und man könnte sagen, wie kann ich den Programmierer jetzt
die Arbeit erleichtern, wenn ich jetzt diese neue Sprache akzeptieren möchte.
So, dann könnte man sagen, die einfache Lösung ist,
ich stehe einfach die Pfeile um.
Ich mache aus dem Endzustand den Stachzustand oder aus dem Stachzustand
den Endzustand und alle Pfeile werden umgedreht.
Und in direkter Form habe ich jetzt hier auch schon statt ABB und statt BBA
Ein Wort und alle anderen Wörter erscheinen auch in umgekehrter Reihenfolge.
Jetzt nochmal die Frage, was ich jetzt da bekommen habe,
ist das ein detailmäßiger oder ein Nichte, der ministlicher Automat, ja bitte?
Ja. Ja, da haben wir ja zweimal ein B,
aus einer B geht von P3 nach P2 und das andere von P3.
Gibt es noch eine andere Stelle, wo wir nicht
die Terminismus sehen, ja ganz hinten vielleicht.
Ja, nein, sie sind jetzt
der letzte Jahr
Genau, nicht in P1, da haben wir sogar drei Kanten,
die in verschiedene Richtungen gehen. Und das ist natürlich für einen Programmierer,
der dazu ein Programm schreiben will, zum Beispiel in Java,
natürlich nicht so erfreulich, weil dieses Java ja diesen Text,
also sozusagen in einem Durchgang akzeptieren will und kein Backtracking machen sollte,
um effektiv zu sein.
Und dazu wäre es eben günstig, diese Funktion anzuwenden,
die hier dem Satz zugrunde liegt,
nämlich aus dem Nicht-Eterministischen Automaten einen deterministischen zu machen,
der dieselbe Wortmenge akzeptiert
Nicht nur in der Übungsaufgabe sollen sie das mit einem anderen Problem machen,
wo dann jetzt hier immer diese Zeichen verdoppelt werden.
Das heißt, statt A haben wir AA und statt ABB haben wir A,
B, B, B, B und sagt weiter.
Ja, die Konstruktion ist der sogenannte Potenziautomaten, Potenziautomat,
in dem man jetzt als neue Zustandsmenge die Potenzmenge nimmt,
was ja, wie Sie wissen, die Menge aller Teilmengen der gegebenen Menge ist.
Und das Ergebnis sieht hier in unserem Falle dann eben so aus,
der Stachzustand ist jetzt immer noch derselbe P3,
wenn ich hier ein A lese, bleibe ich immer noch in P3,
aber wenn hier jetzt ein, hier unten sind wir,
Entschuldigung, wenn hier ein B komme,
kann ich ja nach P2 kommen oder in P3 bleiben.
Nicht, und das wird hier in Potenzautomaten, dadurch berücksichtigt,
dass ich jetzt hier in einen Zustand komme,
der den Namen P2, P3 hat. Das heißt,
diese Teilmengen sind jetzt die neuen Namen des Potenzautomaten, naja,
und in diesem Bild sind sie nur ein bisschen dicker gemalt,
weil das Tool, das sozusagen produziert hat,
aber ist auch irgendwie anschaulich, nicht die Zustände sind dicker,
weil da dickere Mengen drin stehen, Diese Dicke,
der Zustände hat keine Bedeutung.
Wenn wir unsere Formate-Definition anschauen, ist das ein Determinist sicher, endlicher Automat.
Also hier hat es das Tool, wurde der Zustand,
als ich das gemalt habe, zu groß.
Da haben wir sozusagen alle Zustände, außer P.0,
dann habe ich das so geschrieben. Und hier am Schluss haben wir dann alles Gesamtkuh. Ja,
und wenn Sie hier jetzt so sagen,
wenn Sie ihnen das stört, könnten Sie sagen,
die ganzen Zustände umbenennen, jetzt in Q1, Q2,
Q3, Q4. Und dann haben Sie einen Automat,
der Ihnen nicht so komisch vorkommt, der aber genau das leistet,
was er sollte, nämlich diese neue Wortmenge akzeptieren.
Und das sollen Sie in der Übungsaufgabe Dann mit dem anderen Beispiel machen. Nicht,
und das ist natürlich nur zu empfehlen,
Erfahrungen haben die ja gemacht, auch bei großem Stress,
lernt man natürlich erst richtig was, wenn man was selber macht,
auch wenn es in der Vorlesung alles klar ist, wenn man es selber schreiben muss,
dann merkt, kommt man erst überhaupt auf die Dinge, die noch erfraglich sind.
Haben wir dazu noch eine Frage? Ich sehe keine Wortmeldung
Gut. Ja, und dann kommen wir zu den sogenannten Entscheidungsproblemen.
Nicht ein Entscheidungsproblem ist ein Problem, eine Frage zu einer Problematik,
die also die Antwort ja oder nein nur zulässt.
Und ein solches Problem heißt entscheidbar,
wenn es einen Algorithmus gibt, der diese Antwort zuverlässig produziert.
In der formalen Beschreibung ist das meist eine Turing-Maschine.
Welche und da haben wir jetzt wieder ausgesucht,
eine Liste, die jetzt für das Model-Chaking relevant ist.
Da haben wir zunächst das Lehrheitsproblem, was sagt,
Gegeben ist jetzt ein NFA. Wir haben natürlich auch
immer bei so einem Entscheidungsproblem die Eingabe zu formulieren.
Und die Eingabe muss endlich sein, der Meditorik-Maschine,
die am Anfang auch in endlicher Zeit lesen kann.
Und das wäre in dieser Form dann also die Beschreibung,
die formale Beschreibung des NFA. Und die Frage ist,
gilt elf von A gleich der leeren Menge?
Das heißt, akzeptiert dieser Automat kein Wort. Das heißt also,
egal was ich dann auf das Band vorherschreibe,
da kommt immer hinterher,
nein eben heraus
Nicht, dass das ist nicht unwichtig, dass diese Tatsache zu beachten,
dass die Eingabe endlich sein muss. Es könnte zum Beispiel,
man kann zum Beispiel nicht als Entscheidungsproblem schreiben gegeben,
eine Sprache,
zum Beispiel irgendwie auch ein BON-CON,
weil ich diese nicht auf das Band in endlicher Form schreiben kann,
sondern ich müsste dann eine andere Form der Darstellung zum Beispiel durch einen Kellerautomaten finden,
die das erlaubt,
dieses dem Algorithmus oder dem Turing-Maschine vorzulegen
So, ein anderes ist das Universalitätsproblem, was gewissermaßen dual ist.
Da fragen wir, ob statt keinem Wort alle Wörter akzeptiert werden.
Und das Äquivalenzproblem, das hatten wir ja auch
schon beim Model-Checking-Überblick, ob zwei Automaten dieselbe Sprache akzeptieren.
Jetzt wieder Frage an Sie, welches meinen Sie ist
relativ einfach von den drei Problemen?
Jetzt, ja bitte. Ja, also die Antwort war
das Lehrheitsproblem und wie
machen Sie das
Ja. Also die Antwort war,
indem ich jetzt den endlichen Automaten nehme und überprüfe,
ob er ein Wort akzeptiert,
aber da Automaten ja unendlich viele Wörter akzeptieren können,
könnt ihr das darauf irgendwie doch hinauflaufen,
dass ich unendlich viele Versuche machen muss.
Und ich habe vielleicht 1.3072 Versuche gemacht, der hat Automat hat
noch nicht akzeptiert und ich kann ja nicht daraus fließen,
dass er nicht vielleicht beim nächsten Wort das akzeptiert.
Also müssen wir irgendwie ein anderes Verfahren haben.
Wollt ihr das nochmal nachbessern
Ich stelle es auf. Ja. Ja, genau.
Vielleicht habe ich sie auch extra ein bisschen falsch verstanden,
um diese Problematik zu erläutern. Also man hat ja den
Graphen und man muss gucken, in welchem Automaten auch immer.
Ich brauche dazu den Potenzautomat gar nicht. Ich muss ja nur wissen,
ob es einen Vater von einem Anfangszustand zu einem Endzustand geht.
Das ist einfach Wegesuche in Graphen. Nicht so einfach hat
man das mit dem Universalitätsproblem eben nicht. Da müsste man
ja eben suchen, ob das eben für alle Wörter geht.
Man kann das zum Beispiel zurückführen, in nennt man das Kompliment,
versucht zu entscheiden, dann wären wir bei der Frage vorher.
Und das Äquivalenzproblem, das führt zu einem ganz klassischen Problem,
was ja, was sie jetzt ja in FGE 2 vielleicht kennengelernt haben,
mit der Äquivalenz zu Zuständen, was auch im Kontext mit der Reduktion von Automaten von Bedeutung ist.
Okay, richtig war also das Lehrheitsproblem ist relativ schlicht.
Die anderen sind ein bisschen schwieriger, aber alle drei
Probleme sind entscheidbar
Gut, dann kommen wir jetzt zu dem Begriff der
regulären Ausdrücke, was wir eben schon mal hatten.
Nicht die regulären Ausdrücke sind also Ausdrücke, die jetzt Sprachen beschreiben,
die von endlichen Automaten akzeptiert werden. So, und die Definition ist,
die regulären Ausdrücke über einem endlichen Alphabet sind definiert durch,
und das ist also eine Beschreibung, die jetzt ohne die Darstellung des endlichen Automaten auskommt.
Da haben wir hier einen Punkt 1, der noch nicht sichtbar ist,
und einen Punkt 2, der sagt, für jedes A
Also für jedes Zeichen des Alphabetes ist A, ein regulärer Ausdruck,
der die Menge MA, wo hier das A nochmal vorkommt, beschreibt.
Sie wissen natürlich alle schon, was das bedeutet, aber diejenigen,
die das vielleicht zum ersten Mal sehen, wird das merkwürdig vorkommen,
was denn der Unterschied zwischen diesem A ist und diesem A ist,
man kann sich an die formale Form halten.
Hier habe ich ein Element und hier habe ich eine Menge,
aber der Unterschied ist ja nicht besonders groß. Nicht,
das wird erst viel deutlicher, wenn ich mir mal den Punkt 3 anschaue,
wenn ich jetzt schon solche regulären Ausdrücke A und B habe,
dann kann ich formal den Ausdruck Klammer auf, A,
dann schreibe ich die formale Beschreibung von A hin,
dann schreibe ich eine Plus und dann schreibe ich B und Klammer zu.
Das ist zunächst mal nur eine formale Schreibweise. Und dann kommt dieses Beschreibt,
das sagen die Semantik, die Bedeutung, dieses Ausdruck,
der bedeutet die Vereinigung der Mengen, die jetzt durch das A und das B beschrieben werden.
Nicht das Ganze ist also induktiv zu verstehen,
wo ich jetzt mit den einzelnen Zeichen anfange und wenn ich schon welche habe ausdrücke,
kann ich daraus neue bilden,
wie hier zum Beispiel mit dem Plus,
nicht wobei vorne immer der Ausdruck steht, was ich formal beschreibe,
also die sind ja ein bestimmtes Syntax hat,
die ja auch da mitgegeben wird und hinterher die Bedeutung,
die Semantik,
die Menge,
die das eben beschreibt
Nicht genauso geht es jetzt mit dem sogenannten Komplexprodukt. Nicht,
was ja die Menge ist,
die durch Aneinanderreihung von Wörtern aus A und B entsteht,
die, dieser Ausdruck,
wobei man hier vorne manchmal auch den Punkt weglässt,
bedeutet dann, das Komplexprodukt der Mengen,
die durch A und B beschrieben werden.
Nicht also dieses MA und MB ist jetzt hier gewissermaßen nur zur Verdeutlichung da.
Meistens schreibt man da gar nicht MA und B,
sondern schreibt auch A und B,
aber das führt umgekehrt natürlich leichter zu,
dass man sich da vertut
Ja, und dann gibt es auch noch diesen Klinikstern,
dass sozusagen die Menge der Wörter,
die durch Aneinanderreibung von Wörtern aus A entsteht, inklusive des Lehrenwortes,
der beschreibt, die sozusagen, das sind taktische Beschreibungen,
A, Stern beschreibt dann also die Menge Stern.
Ja, fehlt jetzt noch die Eins,
die brauche ich noch als Sonderfall,
die leere Menge bekomme ich auf diese Art und Weise
nicht und für die habe ich dann hier auch noch eine
syntaktische Beschreibung
da stehen
Okay, so kennen Sie das, aber wenn Sie sich recht,
Erinnerung, gibt es auch noch einen vierten Punkt.
Und der vierte Punkt, sagt der, nur die mit ersten,
zweitens, so ein drittens erzeugte Ausdrücke sind reguläre Ausdrücke.
Wer weiß denn, warum das denn noch notwendig ist?
Warum brauchen wir den vierten Punkt doch nur? Der ist
doch nur zur, ja, wie heißt sie wieder?
Das ist keine reguläre Ausdrücke,
die immer diese Definition hinausgehen und dann entweder dann besonders,
wie es gibt,
dann kann ich jetzt mal nicht
mehr Investitions
dabei sein
Ja, also die Antwort ist die, wir müssen dafür sorgen,
ich will erhole erst nochmal, dass wir keine Menge beschreiben,
die zwar diese Eigenschaft hat, aber größer ist.
Ja, das ist sozusagen die kleinste Menge, die diese Eigenschaft hat.
Kennt jemand ein Beispiel einer Sprache, einer Sprachklasse,
wo alle diese Eigenschaften gelten, die aber nicht die regulären Mengen sind?
Als Gegenbeispiel sozusagen, was sind auch in der Definition,
auf die Definition passen würde, wenn ich Punkt 4 weglasse?
Kennt jemand sowas? Wie ist es denn zum Beispiel mit dem kontextfreien Sprachen? Nicht,
die haben alle diese Abschlusseigenschaften und sind,
wie sie alle wissen, mit dem Bestimmt mit dem Theoremen,
dass auch NBON keine reguläre Sprache, aber kontextfrei ist,
geht über die Menge der regulären Mengen hinzu.
Das heißt also, ich wiederhole nochmal,
wenn ich fürchtens weglassen würde,
dann könnte ich jetzt auch als Bedeutung von dieser,
von diesen regulären Ausdruck, die Kontext freien Sprachen nehmen.
Ich will aber ja gerade nur die Bejenigen für Sprachen beschreiben,
die die ähnlichen Automaten eben akzeptieren
Gut. Ja, das ist also ein Unterschied,
der häufig vorkommt, müsste auch in ihrem Studium immer wieder vorkommen,
wird aber nicht so häufig thematisiert.
Deswegen mache ich das hier nochmal. Das ist sozusagen der
Unterschied zwischen Syntax und Semantik. Nicht die Sonntags sind diese Ausdrücke,
die ich schreiben kann. Und die Semantik sind diese Mengen,
die diese Ausdrücke bedeuten oder was hier durch dieses beschreibt,
eben dargestellt wird.
Das heißt, die Syntax beschreibt eine bestimmte Semantik.
Nicht, und das führt dann natürlich dazu,
dass verschiedene syntaktische Beschreibung dieselbe Semantik haben können
Ja, ein ganz einfaches Beispiel ist dieses hier.
Ich habe das Alphabet AB und hier habe ich zwei Ausdrücke.
Also B gefolgt von A oder B gefolgt von A oder B
, gefolgt von A oder B A.
Beide beschreiben diese Menge BAA und BBA, sind aber syntaktisch unterschiedlich.
Das heißt also, hier haben wir, ich wiederhole es nochmal,
die Tatsache, dass zwei verschiedene syntaktische Gebilde,
dieselbe Semantik,
selbe Bedeutung haben können
Und das ist von großer Wichtigkeit, sich immer klarzumachen.
Das heißt, hier oben haben wir diese taktische Ebene und
die unter uns, die semantische Ebene. Wie gesagt,
die Verwirrung kommt manchmal auch dadurch zustande, dass ich natürlich
die Menge hier auch durch den regulären Ausdruck beschreiben kann, nämlich durch diesen.
Aber das wäre nur ein weiteres Beispiel der Mehrdeutigkeit der regulären Ausdrücke.
Das sehen Sie also, wenn Sie ordentlich schreiben,
immer an den Mengen, Klammern, wenn wir Mengenklammern schreiben, ist das die Menge.
Die ist eindeutig. Auch wenn ich sowas hier schreibe,
Wenn ich hier sozusagen die Menge schreibe, A,
A, B, oder sag mal B,
B und dann nochmal A, A. Nicht das A,
A, zweimal geschrieben, ist das immer noch dieselbe Menge,
wie nur mit einmal, weil der Mengenbegriff so ist,
dass jedes Element nur einmal gezählt wird.
Da habe ich also Eindeutigkeit. Bei den Ausdrücken,
aber nicht, weil die ja offenbar syntaktisch unterschiedlich sind.
Zum Beispiel diesen Unterschied zwischen Sonntags und Semantik kennen Sie natürlich
auch zum Beispiel woanders her in der Aussagenlogik FGI 1.
Da haben wir ja zum Beispiel die Söntax der Aussagenlogischen Formeln
Was ist denn dabei die Semantik? Die Semantik der Aussagen
logischen Formeln, wer kann das sagen?
Nochmal jemand anderes? Also die Frage ist,
die Semantik der Aussagen logischen Formeln, was ist das?
Die Bedeutung, was bedeuten die? Ja, sonst sie? Ja,
also die Semantik der Aussagen logischen Formeln ist die Wahrheitsfunktion,
die also eine Belegung,
Belegung für die Variablen
abbildet in den Wahrheitswert
Auch da können wir verschiedene Formeln haben,
die dieselbe bulture Funktion beschreiben, also ein ganz ähnlicher Zusammenhang.
Das gibt es natürlich auch in anderen Logiken, Prädikatenlogik unter der gleichen.
Aber nun zurück zu den endlichen Automaten. Nochmal zu
unserem Standardbeispiel. Was ich jetzt ein bisschen erweitert habe,
also hier in der Mitte sehen Sie unseren Automaten, wie wir bisher hatten.
Hier habe ich jetzt noch einen anderen Zustand eingefügt,
den man vielleicht sozusagen als Servicezustand,
also für den Technikern definieren könnte, der den einstellen kann,
wo er dann hier irgendwo in spezielle Zustände übergehen kann.
Nicht aber Es kann natürlich im Allgemeinen so sein,
dass es Zustände gibt in dem Automaten, die nicht erreichbar sind.
Nicht nur zu dem Zwecke habe ich dieses Beispiel
hier dargestellt und zur Übersichtlichkeit lasse ich mal diesen Rahmen.
Und die Sprache dieses Automaten, achso,
und hier sind auch noch kleine Unterschiede,
dass ich zum Beispiel hier eine Schleife drin habe,
damit dieser reguläre Ausdruck ein bisschen komplizierter ist.
Und den kann ich folgermaßen erklären. Am Anfang kommt also
ein A, also diese Klammer hier geht über das Ganze.
Und dann geht es weiter hier mit B und am Schluss
mit dem F. Das heißt,
ich habe hier B und ein F.
Und dann habe ich hier drin noch
diese Schleife mit DE
Ich aber den Einstieg habe ich hier so gewählt,
dass ich bei dem S4-Einstiege,
deswegen habe ich hier BD und dann habe ich hier diese Idee-Schleife,
also EDStern und dann kommt das F. Das heißt also,
dieser Teil hier beschreibt es,
also wenn die Entscheidung je nach B geht und das andere entsprechend,
wenn ich nach rechts gehe,
also erst das A wieder und dann hier mit CG,
dann habe ich hier diese HG-Schleife und dann mit I komme ich dann wieder zurück.
Ja und da ich immer wieder das Ganze wiederholen kann,
habe ich um das Ganze noch einen Stern herum und
dieser Zustand oder die Aktion J und K und M&N,
die kommen überhaupt nicht vor,
weil die vom Anfangszustand eben nicht erreichbar ist
So, und dann wissen Sie natürlich auch,
dass diese beiden Begriffe äquivalent sind,
dass ich also zu jedem endlichen akzeptierenden Automat einen regulären Ausdruck konstruieren kann,
der also die akzeptierte Sprache beschreibt im Sinne von eben.
Und umgekehrt auch, dass ich die entsprechenden Automaten
aus den regulären Ausdrücken konstruieren kann.
Dazu haben wir jetzt
ein folgendes Beispiel
So, also das Ziel ist jetzt,
wir wollen aus einem regulären Ausdruck einen NFA konstruieren.
Nicht unser Beispiel sei das hier. Da haben wir also A plus W,
also A oder B und dann kommt noch ein A und
dann kommt eine endliche Folge nur von Bs, inklusive von keiner Folge.
Ich weiß nicht, ob ich noch daran erinnern,
wie man dazu den endlichen Autobaten konstruiert.
Und zwar geht das induktiv über den Aufbau des regulären Ausdruckes.
Diese Eduktion haben wir ja eine Definition kennengelernt.
Und die sieht ja folgendermaßen aus. Ich fange zum Beispiel
Mit dem A und dem B an und mache daraus A plus B.
Oder ich aus dem B mache ich das B-Stern und
dann kombiniere ich das A und B-Stern zu A,
B-Stern und dann kombiniere ich das Ganze zu meinem Zielausdruck.
Nicht diese induktive Beschreibung kann ich natürlich aus dem regulären Ausdruck wieder gewinnen.
Und diese Konstruktion kann ich jetzt aber auch zur Konstruktion eines
entsprechenden Automaten ausnutzen, weil diese Operationen,
die wir da haben, die funktionieren alle auch für Automaten.
Ja, wer kann denn sagen, Wenn ich A als Menge betrachte,
wie sieht der Automat aus, der diese Sprache akzeptiert,
also nur das Zeichen A?
Ja, das ist so trivial, dass sie das wahrscheinlich gar nicht sagen wollen.
Nicht, das sieht natürlich so aus. Zwei Zustände,
ein Anfangszustand, ein Endzustand und zwischen den beiden gibt es nur ein A. So,
dasselbe machen wir mit B. Und wenn wir jetzt A plus B ist das ja,
die Bedeutung von dem Plus ist ja die Vereinigung,
da gibt es jetzt auch eine klassische Konstruktion,
die sieht so aus,
Ich habe hier sozusagen meine Ausgangsautomaten und ich führe jetzt hier einen neuen Anfangszustand und gehe jetzt gewissermaßen spontan zu den alten Anfangszuständen über.
Lichter steht Äpsel drin, was ich vorher ja auch mit
dem griechischen Zeichen dargestellt habe.
Und Y ist ja sozusagen die Einheit in dem freien Monoid,
was also bei der Bildung der Erfolge keine Rolle spielt.
Und wenn ich von hier von Q0 nach Q2 komme,
dann habe ich ja gerade dieses A akzeptiert und hier
unten dieses B akzeptiert
Und wenn sie das Äpsteron stört, wissen sie ja auch,
dass bei der Konstruktion des Potentautomators wieder rausfliegt,
sodass ich dann hinterher auch in Äpsteron freien Automaten eben habe.
So, aber um hier unten anzukommen,
brauche ich ja hier oben noch was. Das heißt,
ich mache mal hier erstmal bei B Stern weiter.
Das geht in, brauche ich gar keinen neuen Zustand einzuführen.
Und die Konkadination von A und B Stern sieht so aus.
Ich hätte natürlich diese Schleife von dem B auch hier anhängen können.
Nur soll das die allgemeine Konstruktion beschreiben, die immer geht.
Nicht, wenn nämlich hier noch was ausgeht,
weggehen würde und ich das B hier anhängen würde,
dann könnte ich zwischendurch das B machen.
Und was dann was anderes im ersten Automaten,
was in dem Komplexprodukt
nicht möglich ist
So,
jetzt habe ich alle Zutaten zusammen und brauche jetzt nur noch die letzte Konstruktion und das beides hintereinander zu hängen und dass sie dann so aus,
dass ich dann hier den ersten Teil habe mit den beiden Endzuständen und von denen gehe ich dann zu dem Anfangszustand des anderen Automaten,
den ich hier oben hatte,
nicht und das Ganze akzeptiert dann diese Wortmenge,
die dieser reguläre Ausdruck beschreibt,
also am Anfang A oder B und dann noch ein A und dann beliebe ich viele Base und dann ein Endzustand.
Ich meine,
diese Methode kann ich für jeden regulären Ausdruck ausführen,
nicht und die größte Arbeit ist dann natürlich hinterher,
der Potenzautomat,
wenn ich zum Beispiel
einen deterministischen Automat ohne Y haben will
Gut. Ja, und das führt uns jetzt zum Folgen allgemeinen Satz.
Die Menge der durch endliche Automaten akzeptierten Sprachen ist genau die Menge der durch reguläre Ausdrücke über Sigmar beschriebenen Sprachen,
sich und der Beweis folgt in eine Richtung dadurch,
dass gemäß der Induktiven Definition, also das,
was wir gerade gemacht haben, bis hier nochmal aufgeschrieben,
der Definition von regulären Sprachen,
nicht die terministische endliche Automaten gekoppelt werden und dadurch der Abschluss unter Vereinigung,
Produkt und Sternhöhle gezeigt wird.
Ja, der Satz fängt nochmal an,
es gibt auch natürlich die andere Richtung,
erinnert sich noch jemand,
wie die andere Richtung geht
Also gegeben ein,
endliche Automaten, wie ich dazu den regulären Ausdruck bekomme.
Ja, bitte? Bitte? Ich habe es einfach nicht verstanden.
Ja, Cleanie-Verfahren ist gut, aber das ist ja eigentlich
nur ein Lavel.
Wie sieht Atleni-Verfahren aus
Genau. Ich sag jetzt gleich schon mal laut,
nicht weil das sonst die anderen nicht hören.
Er war auch richtig, das Klinikverfahren geht so um,
indem man zunächst mal nur die Übergänge betrachtet, ohne Zwischenzustände.
Und dann wird induktiv immer ein neuer Zustand hinzugenommen und der dann der entsprechende reguläre Ausdruck gebildet,
bis man am Schluss alle Zustände erfasst hat.
Und das sieht so aus, die Rekursionsformeln ist so,
das heißt, also hier dieses REJ beschreibt, die reguläre Menge,
die durch I als Anfangszustand und J als Endzustand beschrieben wird.
Wobei ich nur die ersten K-Zustände zwischendurch besuchen darf.
Also ich habe hier Zustände durchnummeriert, S1 S2 und so weiter.
Und ich darf nur von S1 bis SK besuchen.
Und kriege dann die Menge der Wörter als regulären Ausdruck,
die von I nach J führen.
Nicht das für K gleich 0 sind das nur die direkten Übergänge.
Und allgemein haben wir dann diese Rekursionsformel,
die ich nochmal folgendermaßen illustriert illustriere
Also, da haben wir unten noch mal die Formel und dieser Teil hier vorne,
der beschreibt das, was ich vorher schon hatte.
Wenn ich bis zur Stelle kam, minus eins gehe.
So, jetzt nehme ich noch den Zustand K hinzu.
Das heißt, ich muss noch die Wörter dazu kriegen,
die entstehen, wenn ich von I nach K gehe.
Das ist also hier von I nach K,
ohne andere Zwischenzustände und von Kar nach Jörg, auch ohne andere Zustände.
Das ist hier ein sehr äußerer Teil,
aber es kann natürlich auch passieren,
dass ich hier irgendwelche Schleifen von K nach K habe und das mehrfach,
das wäre diese Schleife, was hier diesen mittleren Ausdruck eben beschreibt.
Dann sehen Sie hier in dieser Konstruktion kommt auch alles vor,
wie ich das gerne hätte,
nämlich die Vereinigung,
das Komplexprodukt und den Klinikstern
Und das ist natürlich leicht zu Automatisierung. Gut,
dann hätten wir das jetzt und ich komme jetzt zu dem sogenannten Produktautomaten.
Wir hatten ja schon gesagt, die regulären Mengen sind abgeschlossen gegenüber Durchschnittsbildung.
In FG1 und in anderen Büchern wird das gerne auf
die Vereinigung und das Kompliment zurückgeführt.
Aber hier in unserem Kontext ist die Produktautomaten von Bedeutung,
weil nämlich Produktautomatkonstruktion die direkte Konstruktion ist,
eine Art Synchronisation von zwei Automaten
Und wenn wir später ein Transitionssystem beschreiben, dann wollen wir
die auch wieder synchronisieren. Und das macht Adrian gerade
der Produktautomat. Ja, das geht ja jetzt folgendermaßen.
Wir haben also hier zwei Automaten und der Produktautomaten hat jetzt
als neue Zustandsmenge das Produkt der Zustandsmengen der ursprünglichen Automaten.
Nicht nur die Übergänge zwischen diesen neuen Zuständen,
also die Elemente des Produktautomaten, sind ja solche Paare.
Die sind jetzt so definiert, dass die genau dann gelten,
wenn ich mit diesem Übergang A in beiden ursprünglichen Automaten das auch schaffe.
Das heißt also, wenn ich in dem A1
diesen Übergang habe und in A2 den Übergang habe,
dann habe ich in den Produktautomaten den Übergang von dem Paar SR mit dem A nach S-S-Strich.
Nicht nur, wenn sie sich das Ganze dynamisch vorstellen,
dann sehen sie, ist das eine Art Synchronisation,
dass diese Aktion A in beiden Automaten gemeinsam durchgeführt wird.
Ja, und da haben wir da auch den entsprechenden Satz dazu.
Und das ist jetzt nur nochmal hier die formale Auffassung.
Also in den Beweis geht man eben davon aus,
in der Einrichtung, dass man jetzt diese beiden Folgen hat,
jetzt vom Anfangszustand in den Endzustand führen und in den Produktautomaten
hat man dann die entsprechende Folge mit den Paaren.
Und wichtig ist, dass der Anfangszustand aus Anfangszuständen der
ursprünglichen Automaten funktioniert und die Endzustände auch aus den Endzuständen.
Ja, jetzt ist da oben ganz vornehmend weggelassen,
ob es jetzt hier um ein DFA-Handel oder um ein NFA.
Was meinen Sie? Braucht man dazu,
also die Vorstellung ist ja meistens die natürliche,
dass es ein deterministischer Automat ist,
braucht man für diese Konstruktion einen DFA oder geht das auch für einen NFA,
nicht deterministischen?
Ja, bitte
Weil wir uns nur die Redaktion angucken. Genau,
da wir nur die Relation brauchen, geht das eben auch.
Aber eben, FC Lons, aber hatten wir ja sowieso nicht definiert.
Das heißt also, rückblickend können wir sagen, endliche Automaten,
das war ein Ausschnitt aus den formalen Sprachen.
Wir haben endliche Automaten wiederholt und reguläre Mengen.
Determinismus gegenüber Nicht-Determinismus, reguläre Ausdrücke, Abschlusseigenschaften und Entscheidungsprobleme.
Und das nächste Thema ist also, wie angekündigt,
sind die Büschi-Automaten, die also das entsprechende Programm haben,
aber jetzt mit entsprechenden Omega ausdrücken,
was jetzt Folgendes bedeutet
Deswegen haben wir ja nur endliche Sequenzen, endliche Folgen betrachtet.
Das heißt, Wörter aus Sigmar Stern. Und wie schon erwähnt,
für die Modellierung unbeschränkter Abläufe betrachten wir Omega-Wörter ein,
was nichts anderes ist als unendliche Folgen.
Und dazu betrachten wir jetzt auch die entsprechenden Sprachen.
Nur die Frage ist, wie akzeptiere ich ein unendlich langes Wort?
Sie erinnern sich ja, vorher war es ja so,
dass ich jetzt hier dieses Wort abgeklappert habe.
Und wenn der Lesekopf auf dem Enterfile-Zeichen stand, habe ich hier nachgeguckt.
Bei einem unendlichen Wort dritte das jedoch nie ein.
Und die Frage ist, wie kann ich jetzt diese Definition sinnvoll verallgemeinern? Ja,
dazu haben wir jetzt also nur noch mal den Einstieg mit Ahoch Omega,
bezeichnet man jetzt die Menge der unendlichen Folgenauszeichen aus A.
Also wir haben jetzt aus A. Stern für die Endlichen
und das A-Hochomega für die Menge der unendlichen Folgen.
Nicht und das schreiben wir dann auch manchmal so mit der Pünktchenschreibweise,
um auszudrücken, dass es immer weitergeht.
So und das war ja der klassische Fall,
wie wir jetzt endliche Wörter akzeptiert haben. Das heißt,
wir haben jetzt irgendwie nur ein Wort betrachtet und wenn das
jetzt mal zufällig jetzt hier von A, B, C,
A, Cs und das dann zu Ende und gucken wir nach im Endzustellen,
sagen wir, okay, akzeptiert.
Das geht jetzt nun aber bei unendlichen Wörtern nicht.
Man hat jemand eine Vorstellung oder haben Sie vielleicht schon mal gelesen im Skript,
wie man das jetzt nun verallgemeinern kann, auf den Fall,
dass das Wort jetzt unendlich oft weitergeht?
Oder hat jemand eine Idee, wie man das machen könnte
Nicht unter jedem, Idee ist jetzt folgende,
man betrachtet jetzt die Zustände, die immer wieder besucht werden.
Wenn jetzt also eine Folge die Eigenschaft hat,
wie geht jetzt die Rote, dass sie hier in dieser
Menge mal ankommt und dann immer mal wieder hier zurückkommt,
dann betrachtet man sie als akzeptiert.
Das heißt, zum Beispiel eine Folge,
die hier vorne immer nur BC machen würde und nie mehr
diese Menge hier der Endzustände besuchen würde, die würde als nicht akzeptiert gewählt.
Nicht, das hängt damit zusammen, dass zum Beispiel dem Modelchecking,
kann man das motivieren, obwohl diese Theorie von vielen Ändern ist,
als das Mortal Chaking, dass diese Endzustände irgendwelche Bedingungen bedeuten.
Und dieser Spezifikation, dieses Büchi-Automaten, beschreibt da die Situation,
dass irgendetwas immer wieder passiert.
Und da kommt das eben her. Ja, und nicht,
und dazu brauchen wir jetzt den Begriff Infinite oder Infinite von W,
ist die Menge aller Zeichen,
die in einem Wort W unendlich oft vorkommen.
Und dann haben wir jetzt die folgende Definition. Die Menge aller,
also das hatten wir schon, Haben wir auch noch mal das In-In-Feinheit.
Und ein Pfad. Und wir betrachten jetzt zu sagen,
die Pfade von Zuständen, die jetzt bei einem solchen Eingabe eines unendlichen Wortes eben betrachtet wird.
So, jetzt kommen wir zur Definition der Sprache El Omega von
A. Also El von A war die Menge der endlichen Wörter.
Und El hoch Omega ist die Menge der unendlichen Wörter.
Und die wird folgendermaßen definiert, die entsprechende akzeptierte Worte, akzeptierte Menge.
Ich betrachte einen solchen unendlichen Pfad. Und wenn es so ist,
dass in den entsprechenden Zustandsmenge Ein Zustand unendlich oft vorkommt,
das heißt also,
der Durchschnitt von Infinite mit dem Endzustandsmengen ungleich leer ist,
dann wird die ganze Geschichte, wird das Wort eben akzeptiert.
Ja, das gucken wir uns noch mal an einem Beispiel hier an.
Dieser Automat, der akzeptiert jetzt die folgenden Sprache.
Da haben wir jetzt auch einen kleinen Vorgriff.
Nächstes Mal werden wir auch die Omega-regulären Ausdrücke definieren.
Und das erklärt sich jetzt folgendermaßen. Das fängt hier,
also ich habe hier sozusagen zwei Möglichkeiten
Ich kann so sagen, AC machen. Und dann hier
bei dem Däne-Schleife durchlaufen und dann wieder nicht sie.
Oder ich kann hier unten PAD machen und das Ganze wiederholen,
sodass um das Ganze herum noch ein Hochomega steht.
Also wäre nett, wenn sie sich das Ganze zum nächsten Mal
nochmal angucken und da jetzt am Anfang ging es vielleicht ein bisschen schneller als vorher.
Das wiederhole ich dann am Donnerstag nochmal ganz langsam.
Und dann geht es entsprechend weiter. Also erstmal vielen Dank
für heute