Es gibt auf dieser Seite teilweise Fehler mit dem rendern von den LaTeX ausdrücken aufgrund der $ und # ich bitte um Entschuldigung während ich nach einer Lösung suche

Falls dieses Problem noch länger besteht, bitte einen Kommentar schreiben um mich daran zu erinnen

FSK7-1 Sprachen einordnen (2 Punkte)

Aufgabenstellung

Die formalen Sprachen , , seien definiert als

Für die -fache Wiederholung des Worts schreiben wir manchmal statt nur , um Anfang und Ende von zu markieren. Die Klammern sind daher nicht Teil des Alphabets der jeweiligen Sprachen.

Bearbeiten Sie die folgenden Arbeitsaufträge für jede der Sprachen .

a) Beweisen oder widerlegen Sie, dass regulär ist.

Aus dem Bauchgefühl raus: Nicht regulär L1 wegen der #

  • Regulär, da man es in einem RegEx darstellen kann

Pumping-Lemma (Myhill-Nerode auch möglich)

Gegeben:

Gesucht:

  • Wort in der Sprache , dass das Pumping Lemma verletzt

Lösungsweg

  • Angenommen, sei regulär. Dann existier eine Pumping-Länge
  • Das Wort ist in der Sprache enthalten, da genau einmal öfter drankommt als . Das kann außenvor gelassen werden, da alleine schon die Bedingung für die Sprache erfüllt

Pumping - xyz bestimmen

  • Für wähle ,da gilt sodass gilt:
  • Der Teil besteht dann aus den restlichen ‘s vor
  • sodass:
  • ist nun der ganze Rest

Pumping - y aufpumpen

  • Da ist , was bedeutet, dass die Bedingung nicht erfüllt ist.

Daher liegt das gepumpte Wort nicht in der Sprache und es ist gezeigt, dass die Sprache nicht regulär ist, da sie nicht die Bedingung des Pumping Lemmas erfüllt

  • Regulär, da man es in einem RegEx darstellen kann

Pumping-Lemma

Gegeben:

Gesucht:

  • Wort in der Sprache , dass das Pumping Lemma verletzt

Lösungsweg

  • Angenommen, sei regulär. Dann existier eine Pumping-Länge
  • Das Wort ist in der Sprache enthalten, da die Bedingung erfüllt wird, da:

Pumping - xyz bestimmen

  • Für wähle ,da gilt sodass gilt: Pumping - y aufpumpen

Da , hat das gepumpte Wort mehr als ab-Paare im ersten Teil. Dies bedeutet, dass die ab-Teile am Anfang und am Ende des wortes nicht mehr die gleiche Anzahl haben

Daher liegt das gepumpte Wort nicht in der Sprache und es ist gezeigt, dass die Sprache nicht regulär ist, da sie nicht die Bedingung des Pumping Lemmas erfüllt

b) Beweisen oder widerlegen Sie, dass deterministisch kontextfrei ist. (Deterministisch Kontextfreie Sprachen und Kontextfreie Sprachen)

  • Teilmenge ist durch DPDA darstellbar
stateDiagram-v2
    direction LR
    state DFA1 {
        [*] --> z0
        z0 --> z1 : a
        z1 --> z2 : b
        z2 --> z2 : b
        z2 --> z3 : ε

        z3 --> [*]
    }

  • Teilmenge ist durch DPDA darstellbar
stateDiagram-v2
    direction LR
    state DFA2 {
        [*] --> z0
        z0 --> z1 : c
        z1 --> z1 : c
        z1 --> z2 : a
        z2 --> z3 : ε

        z3 --> [*]
    }

Zudem auch regulär. Deswegen ist deterministisch kontextfrei. (Man hätte auch einfach sagen, dass aus Teilaufgabe a) folgt, dass es deterministisch kontextfrei ist)

Widerlegung, dass deterministisch kontextfrei ist:

  • Nehmen wir an sei deterministisch kontextfrei.

  • Dann gibt es eine Pumping-Länge .

  • Wähle das Wort $w = a^{p}b^{p+1}$$.

    • , da .
  • Zerlege in , wobei , und ist .

  • Da und sowie nicht leer sein dürfen (), muss vollständig innerhalb der ersten Zeichen von liegen, die nur ‘a’s enthalten. Das bedeutet, dass und ausschließlich aus ‘a’s bestehen.

  • Pumpe und : Betrachte das Wort .

    • w' = a^i a^{2j} a^k a^{2l} a^{p-i-j-k-l} b^{p+1}\ = a^{p+j+l} b^{p+1}$$.

Nun enthält mehr ‘a’s als ‘b’s, was bedeutet, dass ist, da .

Dies widerspricht der Annahme, dass deterministisch kontextfrei ist. Daher ist nicht deterministisch kontextfrei.

Zusammenfassung

  1. Angenommen, ist kontextfrei.
  2. Es gibt eine Pumping-Länge .
  3. Wähle w = a^p b^{p+1}\ \in L_1$.
  4. Zerlege in mit den Bedingungen des Pumping Lemmas.
  5. Da , bestehen und nur aus ‘a’s.
  6. Pumpe und und erhalte ein Wort , das mehr ‘a’s als ‘b’s hat.
  7. Dies führt zu einem Widerspruch, da ist.

Daher ist nicht kontextfrei.

  • Ist eine reguläre Sprache und damit auch deterministisch kontextfrei, da reguläre Sprachen eine Unterklasse der deterministisch kontextfreien Sprachen sind

Widerlegung, dass deterministisch kontextfrei ist:

  • Nehmen wir an, sei deterministisch kontextfrei.
  • Dann gibt es eine Pumping-Länge .
  • Wähle das Wort w = (ab)^p\c^{p-1}$(ab)^p$.
    • , da .
  • Zerlege in , wobei , und für alle ist .
  • Da , liegt vollständig im ersten Teil .
    • Dies bedeutet, dass und ausschließlich aus ‘a’ und ‘b’ bestehen.

Nun betrachten wir das gepumpte Wort :

  • Da und ausschließlich aus ‘a’ und ‘b’ bestehen und , führen wir das Pumpen innerhalb des ersten Teils durch.
  • Dies führt dazu, dass der gepumpte Teil mehr ‘ab’-Paare hat als der Rest des Wortes.
  • Das resultierende Wort w' = (ab)^{p+k}\c^{p-1}$(ab)^pk \geq 1w’ \notin L_3$ ist.

Detaillierte Zerlegung

  1. Annahme: sei deterministisch kontextfrei.

  2. Wahl des Wortes: Wähle das Wort w = (ab)^p\c^{p-1}$(ab)^p \in L_3$.

  3. Zerlegung: Zerlege in , wobei:

    • ,
    • .
  4. Da , muss innerhalb des ersten Teils liegen.

    • Dies bedeutet, dass und ausschließlich aus ‘a’ und ‘b’ bestehen.
    • Sei , , , , z = (ab)^{p-i-j-k-l}\c^{p-1}$(ab)^pi, j, k, l \geq 0j + k + l \leq pj + l \geq 1$.
  5. Pumpen: Betrachte das Wort :

    • w' = (ab)^i (ab)^{2j} (ab)^k (ab)^{2l} (ab)^{p-i-j-k-l}\c^{p-1}$(ab)^p = (ab)^{p+j+l}$c^{p-1}$(ab)^p$
  6. Widerspruch: Das gepumpte Wort hat mehr ‘ab’-Paare im ersten Segment als im zweiten, was gegen die Struktur von verstößt, da nicht mehr erfüllt ist.

Dies widerspricht der Annahme, dass deterministisch kontextfrei ist. Daher ist nicht deterministisch kontextfrei.

Zusammenfassung

  1. Angenommen, ist deterministisch kontextfrei.
  2. Es gibt eine Pumping-Länge .
  3. Wähle w = (ab)^p\c^{p-1}$(ab)^p \in L_3$.
  4. Zerlege in mit den Bedingungen des Pumping Lemmas.
  5. Da , bestehen und nur aus ‘a’s und ‘b’s.
  6. Pumpe und und erhalte ein Wort , das die Struktur von verletzt.
  7. Dies führt zu einem Widerspruch, da ist. Daher ist nicht deterministisch kontextfrei.

c) Beweisen oder widerlegen Sie, dass kontextfrei ist. (Deterministisch Kontextfreie Sprachen und Kontextfreie Sprachen)

Hinweis:

N Nutzen Sie, dass manche Aussagen direkt aus anderen Aussagen folgen. Um zu beweisen, dass regulär/deterministisch kontextfrei/kontextfrei ist, genügt es, ein geeignetes Konstrukt (Grammatik, Automat oder regulärer Ausdruck) anzugeben und kurz zu begründen, warum gilt.

Ihre vorgeschlagenen Produktionsregeln für (L_0) sehen gut aus und entsprechen der Struktur der Sprache (L_0). Hier ist die vollständige Darstellung:

Beweis, dass kontextfrei ist:

Um zu beweisen, dass kontextfrei ist, konstruieren wir eine kontextfreie Grammatik (CFG), die erzeugt.

  1. Grammatik:

    • Variablen:
    • Terminale:
    • Startsymbol:
    • Produktionsregeln:
  2. Erklärung:

    • Die Regel erlaubt es, entweder mit einem ‘a’ zu beginnen und dann entweder in den ‘b’- oder ‘c’-Teil der Sprache zu wechseln, oder direkt mit ‘aa’ zu enden.
    • Die Regel erzeugt die Folge von ‘b’s nach dem anfänglichen ‘a’, wobei sie entweder zu weiteren ‘b’s oder zu ‘c’s führt.
    • Die Regel erzeugt die Folge von ‘c’s gefolgt von einem abschließenden ‘a’.

(Man hätte auch einfach sagen, dass aus Teilaufgabe a) und b) folgt, dass es kontextfrei ist)

Widerlegung, dass kontextfrei ist:

  • Nehmen wir an, sei kontextfrei.
  • Dann gibt es eine Pumping-Länge .
  • Wähle das Wort w = a^p b^{p+1}\ \in L_1_a(w) = p <_b(w) = p+1$.
  • Zerlege in gemäß dem Pumping Lemma für kontextfreie Sprachen, wobei , und für alle .
  • Da , muss innerhalb der ersten Zeichen von liegen, die nur ‘a’s enthalten. Somit besteht und ausschließlich aus ‘a’s.

Pumpe : Betrachte das Wort :

  • w' = a^{p+k} b^{p+1}\$$ für k \geq 1$.
  • Nun enthält mehr ‘a’s als ‘b’s, was bedeutet, dass ist, da .

Dies widerspricht der Annahme, dass kontextfrei ist. Daher ist nicht kontextfrei.

Beweis, dass kontextfrei ist:

ist regulär, daher auch kontextfrei. Wir konstruieren einen deterministischen endlichen Automaten (DFA), der erkennt, und beschreiben ihn mit einem regulären Ausdruck:

  1. Regulärer Ausdruck: (ab)^*\c^*$$

Widerlegung, dass kontextfrei ist:

  • Nehmen wir an, sei kontextfrei.
  • Dann gibt es eine Pumping-Länge .
  • Wähle das Wort w = (ab)^p\c^{p-1}$(ab)^p \in L_3j = p-1 < i = p$.
  • Zerlege in , wobei , und für alle ist .
  • Da , liegt vollständig im ersten Teil und besteht nur aus ‘a’ und ‘b’.

Pumpe : Betrachte das Wort :

  • w' = (ab)^{p+k}\c^{p-1}$(ab)^pk \geq 1$.
  • Nun hat mehr ‘ab’-Paare im ersten Teil als im letzten Teil, was gegen die Struktur von verstößt, da nicht mehr erfüllt ist.

Dies widerspricht der Annahme, dass kontextfrei ist. Daher ist nicht kontextfrei.

Zusammenfassung

  • ist kontextfrei, da regulär und eine kontextfreie Grammatik angegeben wurde.
  • ist nicht kontextfrei, wie durch das Pumping Lemma gezeigt wurde.
  • ist regulär und daher kontextfrei.
  • ist nicht kontextfrei, wie durch das Pumping Lemma gezeigt wurde.

FSK7-2 Turingmaschinen verstehen (0 Punkte)

Aufgabenstellung

Die folgende DTM ist als Zustandsgraph gegeben, wobei , und das Blank-Symbol ist.

Bild aus Blatt entnehmen

a) Geben Sie Läufe der Turingmaschine (Übergänge von der Startkonfiguration bis zur Endkonfiguration) für die Wörter , abcc und abc an.

Lauf für (das leere Wort):

  1. Start im Zustand .
  2. Übergang von nach durch den Übergang .
  3. Zustand hat einen Selbstübergang mit , dieser findet jedoch keine weiteren Zeichen.
  4. Übergehen nach durch .
  5. Von nach durch .
  6. Endkonfiguration: Erreicht .

Lauf für das Wort “abcc”:

  1. Start im Zustand :

    • : Übergang von nach mit .
    • Band:
  2. Lesen von ‘b’ in :

    • Übergang: .
    • Wir bleiben in und lesen das ‘b’.
    • Band:
  3. Lesen von ‘b’ in :

    • Übergang: .
    • Wir gehen von nach und ersetzen ‘b’ durch .
    • Band:
  4. Lesen von ‘c’ in :

    • Übergang: .
    • Wir gehen von nach und ersetzen ‘c’ durch .
    • Band:
  5. Lesen von ‘c’ in :

    • Übergang: .
    • Wir bleiben in und lesen das ‘c’.
    • Band:
  6. Lesen von in :

    • Übergang: .
    • Wir gehen von nach und lesen das ‘c’.
    • Band:
  7. Lesen von ‘c’ in :

    • Übergang: .
    • Wir gehen von nach und ersetzen ‘c’ durch .
    • Band:
  8. Lesen von in :

    • Übergang: .
    • Wir bleiben in und lesen das ''.
    • Band:

Ergebnis: Die Turingmaschine befindet sich in einer Schleife, daher kommt sie in den Müllzustand .

Lauf für das Wort “abc”:

  1. Start im Zustand :

    • : Übergang von nach mit .
    • Band:
  2. Lesen von ‘b’ in :

    • Übergang: .
    • Wir bleiben in und lesen das ‘b’.
    • Band:
  3. Lesen von ‘b’ in :

    • Übergang: .
    • Wir gehen von nach und ersetzen ‘b’ durch .
    • Band:
  4. Lesen von ‘c’ in :

    • Übergang: .
    • Wir gehen von nach und ersetzen ‘c’ durch .
    • Band:
  5. Lesen von in :

    • Übergang: .
    • Wir gehen von nach .
    • Band:
  6. Lesen von in :

    • Übergang: .
    • Wir bleiben in und lesen das .
    • Band:
  7. Lesen von in :

    • Übergang: .
    • Wir bleiben in und lesen das .
    • Band:
  8. Lesen von in :

    • Übergang: .
    • Wir bleiben in und lesen das .
    • Band:
  9. Lesen von in :

    • Übergang: .
    • Wir gehen von nach .
    • Band:

Endkonfiguration: Erreicht .

b) Welche Sprache akzeptiert die Turingmaschine ? Begründen Sie Ihre Antwort.

Lösung

Die Turingmaschine akzeptiert die Sprache .

Begründung:

  1. Startzustand :

    • Markiert jedes ‘a’ mit und wechselt zu .
  2. Zustand :

    • Markiert jedes ‘b’ mit und wechselt zu .
  3. Zustand :

    • Markiert jedes ‘c’ mit und wechselt zu .
  4. Zustand :

    • Bewegt sich nach links zum nächsten und wechselt zu .
  5. Zustand :

    • Bewegt sich nach rechts, um weitere unmarkierte ‘a’, ‘b’ und ‘c’ zu finden und zu markieren.
  6. Zustand :

    • Bewegt sich nach links und wechselt zu , wenn es ein leeres Feld findet.
  7. Endzustand :

    • Akzeptiert die Eingabe, wenn alle ‘a’, ‘b’ und ‘c’ markiert sind.
  8. Müllzustand :

    • Lehnt die Eingabe ab, wenn sie nicht der Form entspricht.

c) Die obige Turingmaschine mit Alphabet und Bandalphabet berechnet eine (partielle) Funktion , wenn für alle und gilt: g.d.w. mit Endzustand. (Beachten Sie: Diese Definition weicht leicht von der aus der Vorlesung ab, weil die Wertemenge von nicht ist, sondern .)

Welche Funktion berechnet ?

Die Turingmaschine berechnet die Funktion , die ein Eingabewort der Form in ein markiertes Wort umwandelt.

Definition der Funktion :

Für eine Eingabe gilt:

Funktionsweise:

  1. Die Turingmaschine beginnt im Zustand und markiert jedes ‘a’ mit , wechselt zu .
  2. In markiert sie jedes ‘b’ mit , wechselt zu .
  3. In markiert sie jedes ‘c’ mit , wechselt zu .
  4. Die Maschine bewegt sich zurück, überprüft und markiert weitere Symbole, falls vorhanden.
  5. Wenn alle Symbole markiert sind, wechselt sie zu und akzeptiert die Eingabe.

Beispiel:

Für die Eingabe :

  • Das markierte Ergebnis wäre

Zusammenfassung:

Die Turingmaschine markiert die Symbole ‘a’, ‘b’, und ‘c’ der Eingabe und transformiert sie gemäß der Funktion .

d) Bestimmen Sie asymptotisch, also in O-Notation, die Anzahl der Schritte (abhängig von ), die die Turingmaschine braucht, um das Wort zu erkennen.

Die Maschine beginnt im Startzustand und markiert jedes ‘a’ mit . Dieser Prozess dauert Schritte. Anschließend bewegt sich die Maschine im Zustand weiter nach rechts und markiert jedes ‘b’ mit , was ebenfalls Schritte dauert. Danach, im Zustand , markiert die Maschine jedes ‘c’ mit und kehrt schließlich im Zustand zum Anfang des Bandes zurück, was erneut Schritte benötigt.

Diese Markierungsschritte und die Rückkehr zum Anfang wiederholen sich, bis alle ‘a’, ‘b’ und ‘c’ markiert sind. Da diese Prozesse für jedes der Zeichen wiederholt werden, ergibt sich die Gesamtzahl der Schritte zu .

Zusammengefasst benötigt die Turingmaschine also Schritte, um das Wort zu erkennen.


FSK7-3 Turingmaschinen erstellen (2 Punkte)

Aufgabenstellung

Wir betrachten die Sprache über dem Alphabet .

b) Geben Sie für Ihre TM aus Teilaufgabe a) einen Zustandsgraphen an.

c) Geben Sie die Läufe der folgenden Wörter auf Ihre TM aus Teilaufgabe a) an: , , , .

Hinweis: Wörter, die nicht in liegen, erzeugen eventuell unendliche Läufe. Geben Sie in solchen Fällen ein Präfix an, aus dem ersichtlich wird, dass der Lauf unendlich ist.


FSK7-4 Konstruktion Grammatik zu PDA (0 Punkte)

Aufgabenstellung

Sei eine Grammatik in Greibach-Normalform mit Produktionen

a) Erzeugen Sie gemäß der Konstruktion aus der Vorlesung aus einen PDA mit , der mit leerem Keller akzeptiert.

Der Pushdown-Automat (PDA) , der mit leerem Keller akzeptiert, wird wie folgt konstruiert:

  • Zustände:
  • Eingabealphabet:
  • Kelleralphabet:
  • Startzustand:
  • Startsymbol:
  • Akzeptierender Zustand:

Übergangsfunktionen :

b) Erzeugen Sie gemäß der sogenannten Tripelkonstruktion aus der Vorlesung aus eine kontextfreie Grammatik mit .

Die kontextfreie Grammatik wird aus dem PDA wie folgt konstruiert:

  • Nichtterminale: für
  • Terminale:
  • Startsymbol:

Produktionen :

c) Vergleichen Sie die Grammatiken und . Beschreiben Sie die Gemeinsamkeiten dieser Grammatiken, sowie ihre Unterschiede.

Gemeinsamkeiten:

  • Beide Grammatiken und erzeugen die gleiche Sprache .
  • Beide sind kontextfreie Grammatiken.

Unterschiede:

  • Grammatik ist direkt in Greibach-Normalform, während durch eine Tripelkonstruktion aus einem PDA abgeleitet ist.
  • Die Produktionsregeln von sind einfacher und direkter, während die von komplexere Strukturen und Zwischenzustände enthalten.
  • verwendet Tripel von Zuständen für die Nichtterminale, um die Übergänge des PDA zu modellieren, was in nicht nötig ist.