Answer to Question 1


a) Um einen DEA anzugeben, der für das Wort $01$ die Menge der gültigen Suffixe $S\_{01}(L\_3)$ erkennt, können wir die folgenden Zustände und Übergänge definieren:

- Zustandsmenge: $Q = \\{q\_{0}, q\_{1}, q\_{2}, q\_{01}, q\_{01, acc}\\}$
- Initialzustand: $q\_{0}$
- Endzustände: $q\_{01, acc}$
- Alphabet: $\\Sigma = \\{0, 1\\}$
- Übergangsfunktion $\\delta$:
  - $\\delta(q\_{0}, 0) = q\_{0}$
  - $\\delta(q\_{0}, 1) = q\_{1}$
  - $\\delta(q\_{1}, 0) = q\_{01}$
  - $\\delta(q\_{1}, 1) = q\_{2}$
  - $\\delta(q\_{2}, 0) = q\_{01}$
  - $\\delta(q\_{2}, 1) = q\_{01}$
  - $\\delta(q\_{01}, 0) = q\_{01}$
  - $\\delta(q\_{01}, 1) = q\_{01, acc}$

Die Zustände $q\_{0}$, $q\_{1}$, und $q\_{2}$ entsprechen den drei ersten Zeichen des Wortes, während $q\_{01}$ den Zustand darstellt, in dem das Wort mit $01$ beginnt. Der Zustand $q\_{01, acc}$ ist ein Endzustand, da das Wort $01$ ein gültiges Präfix ist.

b) Für eine beliebige Sprache $L$ enthält $S\_{\\varepsilon}(L)$ genau die Wörter, die in $L$ sind und deren Länge ein Vielfaches von 3 ist. Dies ist wegen der Definition von $S\_{w}(L)$ und da $\\varepsilon$ kein Zeichen enthält.

c) Wir zeigen zunächst, dass jede reguläre Sprache $L$ die Eigenschaft hat, dass $S\_{w}(L)$ für alle $w \\in \\Sigma^*$ regulär ist. Sei $A = (Q, \\Sigma, \\delta, q\_{0}, F)$ ein DEA, der $L$ erkennt. Wir konstruieren einen DEA $A' = (Q', \\Sigma, \\delta', q\_{0}', F')$ für $S\_{w}(L)$ wie folgt:

- $Q' = Q \\times \\{0, 1, 2\}$
- $q\_{0}' = (q\_{0}, 0)$
- $F' = \\{ (q, 2) \\mid q \\in F\}$
- $\\delta'((q, i), a) = (\\delta(q, a), (i + 1) \\bmod 3)$ für $i \\in \\{0, 1, 2\}$ und $a \\in \\Sigma$

Der Zustand $(q, i)$ entspricht dem Zustand $q$ von $A$ und dem Index $i$ des aktuellen Zeichens im Präfix $w$. Die Übergänge werden entsprechend aktualisiert, wobei der Index des aktuellen Zeichens im Präfix $w$ um eins erhöht wird.

Umgekehrt zeigen wir, dass, wenn $S\_{w}(L)$ für alle $w \\in \\Sigma^*$ regulär ist, dann ist $L$ regulär. Sei $A\_{w} = (Q\_{w}, \\Sigma, \\delta\_{w}, q\_{0, w}, F\_{w})$ ein DEA für $S\_{w}(L)$. Wir konstruieren einen DEA $





****************************************************************************************
****************************************************************************************




Answer to Question 2


a) Der DPDA A kann die Sprache erkennen, die aus Zeichenfolgen besteht, die mit A beginnen und mit B enden, wobei innerhalb dieser Zeichenfolge ein beliebiges Vielfaches von AB auftreten kann. Der DEA A' hat den expliziten Müllzustand X und drei weitere Zustände Z0, Z1, und Z2. Die Zustandsübergänge sind wie folgt definiert:

* Für jedes a ∈ Σ: δ'(Z0, a) = (Z1, a, Z0)
* Für jedes a ∈ Σ: δ'(Z1, a) = (Z2, a, Z1)
* Für jedes a ∈ Σ: δ'(Z2, a) = (X, a, X)
* Für jedes a ∈ Σ: δ'(X, a) = (X, a, X)
* δ'(Z0, ε) = (Z1, Z0, ε)
* δ'(Z1, ε) = (Z2, Z1, ε)
* δ'(Z2, ε) = (X, ε, ε)

b) Wir zeigen, dass jede Sprache, die von einem 1-Zustands-DPDA mit leerem Stack erkannt wird, präfixfrei ist. Angenommen, es gibt ein Wort w, das in der Sprache enthalten ist und ein Präfix z hat, das ebenfalls in der Sprache enthalten ist. Da der DPDA nur einen Zustand hat, muss er bei der Verarbeitung von z und w im gleichen Zustand sein. Wenn der DPDA das letzte Zeichen von z verarbeitet, muss der Stack leer sein, da der DPDA nur mit leerem Stack akzeptiert. Wenn er nun das erste Zeichen von w verarbeitet, muss er ein Symbol auf den Stack legen, da er sonst nicht mehr weiterarbeiten kann. Daher kann w nicht in der Sprache enthalten sein, was einen Widerspruch ergibt.

c) Eine nicht-reguläre Sprache, die von einem 1-Zustands-DPDA mit leerem Stack erkannt werden kann, ist {a^n b^n | n ∈ ℕ}. Der DPDA hat einen Zustand q und ein Stackalphabet Γ = {Z0, X}. Die Übergänge sind wie folgt definiert:

* Für jedes n ∈ ℕ: δ(q, a, Z0) = (q, aZ0)
* Für jedes n ∈ ℕ: δ(q, b, a^nZ0) = (q, ε)
* Für jedes n ∈ ℕ: δ(q, ε, Z0) = (q, ε)

d) Eine reguläre Sprache, die nicht von einem 1-Zustands-DPDA mit leerem Stack erkannt werden kann, ist {a^n b^m | n, m ∈ ℕ, n ≠ m}. Der DPDA müsste in der Lage sein, die Anzahl der a und b zu zählen, was er aber nicht kann, da er nur einen Zustand hat.

e) Für jeden gegebenen NEA A = (Q, Σ, δ, s, F) können wir einen 1-Zustands-NPDA B bauen, indem wir den NEA in einen DEA umwandeln und dann den DEA in einen 1-Zustands-NPDA umwandeln. Der DEA hat einen Müllzustand X und die Zustandsübergänge sind wie folgt definiert:

* Für jedes a ∈ Σ und jeden Zustand q ∈ Q: δ'(q, a, X) = (δ(q, a), X, X)
* Für jeden Zustand q ∈ Q: δ'(q, ε





****************************************************************************************
****************************************************************************************




Answer to Question 3


a) Wir zeigen, dass $L$ nicht regulär ist, indem wir das Pumping-Lemma für reguläre Sprachen verwenden. Angenommen, $L$ ist regulär, dann existiert ein $n \in \mathbb{N}$, sodass für jedes Wort $w \in L$ mit $\abs{w} \geq n$ gilt, dass $w$ sich in drei Teile $xyz$ aufteilen lässt, wobei $\abs{xy} \leq n$ und $\abs{y} \geq 1$ gilt, und für jedes $i \in \mathbb{N}$ das Wort $xy^iz \in L$ ist. Sei $n$ das Pumping-Limit. Wir wählen nun das Wort $w = \ta^n\tb^n \in L$ mit $\abs{w} = 2n \geq n$. Da $\abs{w} \geq n$, können wir $w$ in drei Teile $xyz$ zerlegen, wobei $\abs{xy} \leq n$ und $\abs{y} \geq 1$ gilt. Da $\abs{w} = 2n$ und $\abs{xy} \leq n$ ist, muss $x$ aus genau $n - k$ vielen $\ta$ und $y$ aus genau $k$ vielen $\ta$ bestehen für ein $k \in \set{1, \ldots, n}$. Wir betrachten nun das Wort $xy^2z = \ta^{n - k}\ta^k\ta^k\tb^n$. Da $y$ aus genau $k$ vielen $\ta$ besteht, ist $\abs{\ta^{n - k}\ta^k\ta^k} = \abs{\ta^{n - k}\ta^{2k}} = n + k \geq n + 1$. Da $\abs{w} = 2n$ und $\abs{xy^2z} \geq n + 1$, muss $\abs{z} \leq n - 1$. Da $\abs{y} \geq 1$, muss $z$ aus genau $\abs{w} - \abs{xy} - \abs{y^2} = 2n - (n - k + k + k) = n - k$ vielen $\tb$ bestehen. Da $\abs{z} = n - k$, muss $w' = xy^0z = \ta^{n - k}\tb^{n - k} \notin L$, da $\abs{w'}_{\ta} = n - k \neq n - k = \abs{w'}_{\tb}$. Widerspruch.

b) Wir zeigen die Gleichung $L(G_S) = \set{w \in \Sigma^* \given c(w) = 0 }$ indem wir beide Inklusionen zeigen.

$\subseteq$: Sei $w \in L(G_S)$. Wir zeigen $c(w) = 0$ indem wir zeigen, dass $\abs{w}_{\ta} = \abs{w}_{\tb}$ gilt. Wir zeigen dies durch Induktion über der Länge der Ableitung von $w$.

Induktionsanfang: $\abs{w}_{\ta} = \abs{w}_{\tb} = 0$ für $w = \varepsilon$.

Induktionsschritt: Sei $w = xy$ mit $x, y \in \Sigma^*$ und $\abs{w}_{\ta} = \abs{w}_{\tb}$. Wir unterscheiden drei Fälle:

1. $w = \ta z \ta$ für ein $z \in \Sigma^*$. Dann ist $x = \ta z$ und $y = \ta$. Da $\abs{w}_{\ta} = \abs{w}_{\tb}$ gilt, muss $z$ aus genau $\abs{w}_{\ta} - 2$ vielen $\ta$ bestehen. Da $\abs{x}_{\ta} = \abs{x}_{\tb} + 1$ gilt, muss $y$ aus genau $\abs{





****************************************************************************************
****************************************************************************************




Answer to Question 4


Die Antwort auf die Prüfungsfrage lautet wie folgt:

a) Für 3SAT besteht eine Instanz allgemein aus einer Menge U an aussagenlogischen Variablen und einer Menge C an Klauseln mit je maximal drei Literalen. Ein Beispiel ohne leere Mengen könnte so aussehen: U = {x1, x2, x3} und C = {(x1 v x2), (¬x1 v x3), (x2 v ¬x3)}. Eine Lösung für diese Instanz wäre beispielsweise die Belegung x1 = wahr, x2 = wahr, x3 = falsch.

Für Green-Washing besteht eine Instanz allgemein aus einer Menge U von Elementen, einer Familie G von Teilmengen G1, ..., Gl ⊆ U, welche wir als grüne Mengen bezeichnen, einer Familie R von Teilmengen R1, ..., Rm ⊆ U, welche wir als Regenbogen-Mengen bezeichnen und einem Parameter k ∈ N+, der die Anzahl der verfügbaren Farben angibt. Ein Beispiel ohne leere Mengen könnte so aussehen: U = {a, b, c, d}, G = {{a, b}, {c}} und R = {{a, c}, {b, d}} und k = 2. Eine Lösung für diese Instanz wäre beispielsweise die Farbgebung a=rot, b=blau, c=rot, d=blau.

b) Um zu zeigen, dass Green-Washing NP-vollständig ist, können wir zeigen, dass es in NP ist und dass 3SAT darin reduziert werden kann. Green-Washing ist offensichtlich in NP, da eine vermutete Lösung in Polynomialzeit überprüft werden kann, indem man für jedes Element in U die Farbe überprüft und sicherstellt, dass jede grüne Menge mindestens ein grünes Element enthält und jede Regenbogen-Menge keine zwei Elemente der gleichen Farbe enthält.

Um Green-Washing aus 3SAT zu reduzieren, können wir für jede Variable in U eine grüne Menge mit zwei Elementen erstellen und für jede Klausel in C eine Regenbogen-Menge mit drei Elementen erstellen. Jedes Element in U entspricht genau einem Literal in C. Wenn ein Literal in einer Klausel wahr ist, wird das entsprechende Element in der Regenbogen-Menge grün gefärbt. Wenn ein Literal falsch ist, wird das entsprechende Element nicht grün gefärbt. Wir können dann den Parameter k auf 2 setzen, um sicherzustellen, dass jedes Element in U genau eine Farbe hat. Wenn es eine Lösung für die 3SAT-Instanz gibt, gibt es auch eine Lösung für die Green-Washing-Instanz, und umgekehrt.

Da Green-Washing in NP ist und 3SAT darin reduziert werden kann, ist Green-Washing NP-vollständig.





****************************************************************************************
****************************************************************************************




Answer to Question 5


a)

Um den Algorithmus A auf der Instanz I mit M = {Q1, Q2, Q3, Q4} auszuführen, wobei ℓ1 = 1, ℓ2 = 3, ℓ3 = 3, ℓ4 = 4 und ℓ = 7 aus, führen wir die folgenden Schritte aus:

1. Sortiere M aufsteigend, sodass ℓi ≤ ℓi+1 für alle i ∈ {1, ..., n-1}. In diesem Fall ist die Sortierung nicht notwendig, da die Reihenfolge von M bereits den Bedingungen entspricht.
2. Setze x = ∞, y = 0 und h = 0.
3. Iteriere über i von 1 bis n:
   a. Wenn x ≥ ⌈ℓ/2⌉, setze x = 0, y = y + h und h = ℓi.
   b. Platziere die linke untere Ecke von Qi bei (x, y).
   c. Setze x = x + ℓi.
4. Die durch M überdeckte Fläche von Q beträgt 19.

Eine optimale Überdeckung von Q beträgt 14.

Daher ist ℱ(I) = 19 und OPT(I) = 14.

b)

Zu zeigen, dass in einer von ℱ berechneten Lösung jeder Punkt in Q von höchstens zwei Quadraten überdeckt wird, führen wir einen Widerspruchsbeweis durch.

Angenommen, es gibt einen Punkt p in Q, der von mindestens drei Quadraten überdeckt wird, die von ℱ berechnet wurden. Sei Qi, Qj und Qk diese Quadrate, wobei i < j < k. Da ℱ die Quadrate zeilenweise in aufsteigender Reihenfolge platziert, muss yk - yj > ℓj und yj - yi > ℓi gelten. Daraus folgt yk - yi > ℓi + ℓj > ⌈ℓ/2⌉.

Da p in Qk liegt, gilt yk - yi ≤ ℓi. Andernfalls würde p oberhalb von Qk liegen, was der Annahme widerspricht.

Somit ist yk - yi ≤ ℓi < ⌈ℓ/2⌉, was dem zuvor gezeigten widerspricht. Daher kann jeder Punkt in Q von höchstens zwei Quadraten überdeckt werden, die von ℱ berechnet wurden.

c)

Um zu zeigen, dass ℱ ein polynomieller Approximationsalgorithmus mit relativer Gütegarantie 4 für Square-Covering ist, müssen wir zwei Fälle betrachten:

1. Fall 1: Alle von ℱ berechneten Quadrate passen in Q.

   In diesem Fall ist die von ℱ berechnete Lösung optimal, da jeder Punkt in Q von höchstens zwei Quadraten überdeckt wird. Daher ist die Gütegarantie trivialerweise 1.

2. Fall 2: Mindestens ein von ℱ berechnetes Quadrat ragt aus Q heraus.

   Sei Qr das erste Quadrat, das aus Q herausragt. Dann ist die Höhe h von ℱ mindestens ⌈ℓ/2⌉. Andernfalls würde Qr in Q passen, was der Annahme widerspricht.

   Die von ℱ berechnete Lösung ist somit mindestens ⌈ℓ/2⌉ * ℓ, da die Breite von Q mindestens ℓ ist.







****************************************************************************************
****************************************************************************************




Answer to Question 6


a) Eine Sprache $L'$, die $0$-präfixfrei ist, ist zum Beispiel die Sprache aller Wörter, die mit $1$ beginnen. Dies ist eine einfache Menge von Wörtern, die kein $0$ enthält und daher kein Präfix von einem Wort sein kann, das mit $0$ beginnt.

b) Für die Sprache $S$ gilt $\tmcode{M_emptyset}#w 	in S$ für alle Wörter $w 	in Sigma^*$. Dies liegt daran, dass $L(M_emptyset)$ für jedes Wort $w 	in Sigma^*$ leer ist und daher $w$ kein Präfix eines Wortes aus $L(M_emptyset)$ sein kann.

c) Die Turingmaschine $T_{M,w}$ kann wie folgt konstruiert werden:

1. Lese das Eingabewort $x$ und simuliere $M$ auf $w$ bis zum Ende von $w$.
2. Wenn $M$ auf $w$ hält, akzeptiere $x$, wenn $x$ ein Präfix von $w$ ist, und lehne $x$ sonst ab.
3. Wenn $M$ auf $w$ nicht hält, simuliere $M$ auf $wx$ und akzeptiere $x$, wenn $M$ auf $wx$ hält, und lehne $x$ sonst ab.

Die Turingmaschine $T_{M,w}$ ist so konstruiert, dass sie $w$ als Präfix erkennt und dann entscheidet, ob $w$ ein Präfix eines Wortes aus $L(M)$ ist. Wenn $w 	in L(M)$, dann ist $L(T_{M,w})$ nicht $w$-präfixfrei, da $w$ ein Präfix eines Wortes aus $L(T_{M,w})$ ist. Wenn $w 
eq L(M)$, dann ist $L(T_{M,w})$ $w$-präfixfrei, da $w$ kein Präfix eines Wortes aus $L(T_{M,w})$ ist.

d) Wir zeigen, dass $S$ unentscheidbar ist, indem wir von der universellen Sprache $	L_u$ reduzieren. Sei $f(m#w) = m#m$ die Reduktionsfunktion, die ein Tupel aus der Gödelnummer einer Turingmaschine $m$ und einem Wort $w 	in Sigma^*$ auf ein Tupel aus der Gödelnummer einer Turingmaschine $m$ und dem gleichen Wort $m$ reduziert. Wenn $m#m 	in S$, dann ist $m 	in 	L_u$, da $m$ eine Turingmaschine ist und $m$ ein Präfix von sich selbst ist. Wenn $m#m 
eq S$, dann ist $m 
eq 	L_u$, da $m$ keine Turingmaschine ist oder $m$ kein Präfix von sich selbst ist. Da $m#m 	in S$ genau dann, wenn $m 	in 	L_u$, ist $m#m 	in S$ eine Entscheidungsproblem, das reduziert wird, und da $m#m 	in S$ unentscheidbar ist, ist $m#m 	in S$ ebenfalls unentscheidbar.





****************************************************************************************
****************************************************************************************




