diff --git a/Writerside/images/image_792.png b/Writerside/images/image_792.png new file mode 100644 index 0000000..303643c Binary files /dev/null and b/Writerside/images/image_792.png differ diff --git a/Writerside/topics/04/Theoretische Informatik/Hausaufgaben/ti_hausufgabe3.md b/Writerside/topics/04/Theoretische Informatik/Hausaufgaben/ti_hausufgabe3.md index ef0094e..a5d94fb 100644 --- a/Writerside/topics/04/Theoretische Informatik/Hausaufgaben/ti_hausufgabe3.md +++ b/Writerside/topics/04/Theoretische Informatik/Hausaufgaben/ti_hausufgabe3.md @@ -11,7 +11,11 @@ Wie viele Berechnungspfade gibt $e$, die das Wort `1111` lesen? Wie viele Berech Berechnungspfade (deterministisch) zu simulieren? Begründen Sie nachvollziehbar, wie Sie auf Ihre Antworten gekommen sind. +**Antwort:** +Da wir bei jedem Übergang in `a` bleiben, gibt es nur einen möglichen Berechnungspfad für das Wort `1111` + +Die Anzahl der deterministischen Berechnungsschritte liegt bei 4, da der Pfad 4 Eingaben verarbeitet. ### 1(b) Konstruieren Sie den Potenzautomaten $A_N$ zu $N$. Geben Sie bei der Konstruktion @@ -170,6 +174,7 @@ e --> e : 1 Gibt es einen deterministischen endlichen Automaten mit weniger Zuständen als $A_N$, der $L(N)$ akzeptiert? Begründen Sie Ihre Antwort. +**Antwort:** Um $A_N$ zu minimieren, könnte man nicht erreichbare Zustände, in diesem Fall {{b},{c},{d},{ε}}, entfernen. @@ -177,39 +182,76 @@ Ansonsten ist der Automat bereits in minimaler Form, da die Zustände sich alle Erreichbarkeit und/oder ihrem Umgang mit Eingaben unterscheiden. + + ## Übung 2 Betrachten Sie den nichtdeterministischen Automaten N aus Abbildung 2 über dem Alphabet $Σ = \{ x, y, z \}^*$. Weiterhin seien die Zeichenketten $s_1 = zzx$, $s_2 = xxyz$, $s_3 = yyy$, $s_4 = xxz$ und $s_5 = xxzxxzxxzxxz$ definiert. -![image_785.png](image_785.png) -Automat $N$ für Worte aus $\{x,y,z\}^*$, die kein $y$ enthalten und die Zeichenkette $xxy$ beinhalten +![image_792.png](image_792.png) ### 2(a) Geben Sie für jedes $s_i (i ∈ \{ 1, 2, . . . , 5 \})$ an, ob es eine Berechnung (Bearbeitungspfad) für den Automaten N gibt, welche die Zeichenkette si vollständig liest (also alle Zeichen abarbeitet bevor entschieden wird, ob $s_i$ akzeptiert wird oder nicht.) +**Antwort:** + +- $s_1$: ja +- $s_2$: nein +- $s_3$: ja +- $s_4$: ja +- $s_5$: ja + ### 2(b) Geben Sie für jedes $s_i (i ∈ \{ 1, 2, . . . , 5 \})$ die Menge aller Zustände an, die $N$ durch die Zeichenkette si erreichen kann +**Antwort:** + +- $s_1$: {a,b} +- $s_2$: {} +- $s_3$: {$e$} +- $s_4$: {a,d} +- $s_5$: {a,d} ### 2(c) Wie viele Berechnungspfade gibt es, die das Wort $s_5$ vollständig lesen? Begründen Sie nachvollziehbar, wie Sie auf Ihre Antwort gekommen sind. +**Antwort:** + +- $s_5 = xxzxxzxxzxxz = (xxz)^4$ +- Anzahl Pfade: + - 4x (xxz) in `a` → nicht akzeptierend + - 3x (xxz) in `a` → akzeptierend + - 2x (xxz) in `a` → akzeptierend + - 1x (xxz) in `a` → akzeptierend + - 0x (xxz) in `a` → akzeptierend +- **5 Berechnungspfade** + + + ### 2(d) Beschreiben Sie die Sprache $L(N)$ aller Worte, die der Automat $N$ akzeptiert (formal oder informal, Ihre Wahl). Welche der Zeichenketten $s_i (i ∈ \{ 1, 2, . . . , 5 \})$ gehören zu $L(N )$, welche nicht? +**Antwort:** + +- Automat $N$ für Worte aus $\{x,y,z\}^*$, die kein $y$ enthalten und die Zeichenkette $xxy$ beinhalten +- $L(N):=\{w ∈ Σ^* \space | \space w = a^n*b*c^n, n ∈ \mathbb{N}, a,c ∈ Σ\backslash\{y\}, b = xxz\}, Σ = \{c,y,z\}$ + ### 2(e) Beschreiben Sie die Sprache aller Worte, welche der Automat $N$ nicht vollständig bearbeiten kann, unabhängig davon ob $N$ die Worte akzeptiert oder nicht (formal oder informal, Ihre Wahl). Also die Worte, für die kein Berechnungspfad existiert der alle Zeichen liest +**Antwort:** +- Informell: Alle Worte, welche nach einem `y` ein `x` oder `z` beinhalten. +- Formell: $L(\not N) := \{w ∈ Σ^* \space | \space w = a^n*b^m*c^m*d^n, n ∈ \mathbb{N}, m ∈ \mathbb{N}_0, a,c ∈ \{x,z\}, b ∈ \{y\}, d ∈ Σ\}$ ## Übung 3 ### 3(a) @@ -218,6 +260,20 @@ Konstruieren Sie einen deterministischen endlichen Automaten $A$ in formaler Tup Darstellung, der genau die Worte akzeptiert die $A$ nicht akzeptiert. Beweisen Sie die Korrektheit Ihrer Konstruktion. +**Antwort:** +- $A' = (Σ,Q,q_s,Q'_a,δ)$ + - $Q'_a=Q\backslash Q_a$ +- Beweis: + - wenn $w ∈ Σ^*$ ein beliebiges Wort ist + - $δ(q_s, w) = q$ + - Falls $q ∈ Q_a$ + - $A$ akzeptiert das Wort + - da $q \not ∈ Q'_a$, akzeptiert $A'$ nicht + - Falls $q \not ∈ Q_a$ + - $A$ akzeptiert das Wort nicht + - da $q ∈ Q'_a$, akzeptiert $A'$ + - Es gilt also + - $w ∈ L(A') ↔ w \not ∈ L(A)$ ### 3(b) Gegeben sei ein beliebiger nichtdeterministischer endlicher Automat $N = (Σ, Q, q_s, Q_a, δ)$. @@ -226,6 +282,30 @@ endlichen Automaten $N$ konstruieren, der genau die Worte akzeptiert, die $N$ ni akzeptiert? Falls ja, beweisen Sie die Korrektheit der Konstruktion. Falls nein, geben Sie ein Beispiel für das die Konstruktion scheitert. +**Antwort:** +- Nein, kann nicht konstruiert werden + - in einem NEA gibt es _mindestens_ einen Pfad, der in einen akzeptierenden Zustand führt, damit das Wort akzeptiert wird + - durch einfaches Subtrahieren der Mengen ändert sich nicht automatisch die Gesamtaussage über (Nicht-)Akzeptanz aller Pfade +- Beispiel + - $Σ = \{a\}$ + - $Q = \{q_0, q_1\}$ + - $q_s = q_0$ + - δ + - | | (.,a) | + |-------|---------------| + | $q_0$ | $\{q_0,q_1\}$ | + | $q_1$ | | + - Verhalten von A + - für $w=a$ + - $q_0 \xrightarrow[a] q_0$ → nicht akzeptierend + - $q_0 \xrightarrow[a] q_1$ → akzeptierend + - es existiert ein akzeptierender Pfad → a wird akzeptiert + - $Q'_a=\{q_0\}$ + - für $w=a$ + - $q_0 \xrightarrow[a] q_0$ → akzeptierend + - $q_0 \xrightarrow[a] q_1$ → nicht akzeptierend + - es existiert ein akzeptierender Pfad → a wird wieder akzeptiert + ## Übung 4 @@ -236,15 +316,117 @@ Betrachten Sie die beiden deterministischen endlichen Automaten $A_1$ und $A_2$ Beschreiben Sie den Aufbau von Worten $w$ aus der Sprache $L(A_1) ∪ L(A_2)$ (formal oder informal, Ihre Wahl) +- informal: alle Worte, die genau drei `1` enthalten oder keine zwei `1` aufeinanderfolgend beinhalten + ### 4(b) Konstruieren Sie einen nichtdeterministischen endlichen Automaten $N_∪$, der die Sprache $L(A_1) ∪ L(A_2)$ akzeptiert +```plantuml +@startuml +scale 0.50 + +left to right direction +skinparam dpi 150 + +skinparam state { + BackgroundColor #FFFACD + BorderColor black + FontName Helvetica + RoundCorner 30 + Shadowing false + LineThickness 0 +} + + + + +[*] --> S +S --> A1 : ε +S --> A2 : ε + +' --- Automat A1 --- +state "A" as A1 { + [*] --> a0 + a0 --> a0 : 0 + a0 --> a1 : 1 + a1 --> a1 : 0 + a1 --> a2 : 1 + a2 --> a2 : 0 + a2 --> a3 : 1 + a3 --> a3 : 0 + state a3##[bold] +} + +' --- Automat A2 --- +state "B" as A2 { + [*] --> b0 + b0 --> b0 : 0 + b0 --> b1 : 1 + b1 --> b0 : 0 + b1 --> b2 : 1 + state b0##[bold] + state b1##[bold] +} + + +@enduml +``` + ### 4(c) Beschreiben Sie den Aufbau von Worten $w$ aus der Sprache $L(A_1) ∩ L(A_2)$ (formal oder informal, Ihre Wahl) +- Alle Wörter, die aus genau drei `1` bestehen und niemals 2x hintereinander eine `1` haben + ### 4(d) Konstruieren Sie einen nichtdeterministischen endlichen Automaten $N_∩$, der die -Sprache $L(A_1) ∩ L(A_2)$ akzeptiert \ No newline at end of file +Sprache $L(A_1) ∩ L(A_2)$ akzeptiert + + +```plantuml +@startuml +scale 0.50 + +left to right direction +skinparam dpi 150 + +skinparam state { + BackgroundColor #FFFACD + BorderColor black + FontName Helvetica + RoundCorner 30 + Shadowing false + LineThickness 0 +} + +[*] --> a + +' a: noch keine 1 gelesen +state a { +} + +a --> a : 0 +a --> b : 1 + +' b: eine 1 gelesen, darf nur 0 folgen +b --> b : 0 +b --> c : 0 + +' c: bereit für zweite 1 +c --> d : 1 + +' d: zwei 1 gelesen, darf nur 0 folgen +d --> d : 0 +d --> e : 0 + +' e: bereit für dritte 1 +e --> f : 1 + +' f: drei 1 gelesen – akzeptierend +state f##[bold] +f --> f : 0 +@enduml + +``` \ No newline at end of file