Exam 2024_endterm.txt — anthropic/claude-sonnet-4

Exercise a b c d e f g Total
1: Quiz: Reguläre und kontextfreie Sprachen 2.0/2.0 2.0/2.0 2.0/2.0 2.0/2.0 2.0/2.0 3.0/3.0 0.0/3.0 13.0/16.0
2: Residualsprachen und Minimierung 5.0/5.0 2.0/2.0 2.0/2.0 2.0/2.0 3.0/3.0 4.0/4.0 18.0/18.0
3: NFA-Konstruktion 2.0/3.0 7.0/7.0 3.0/3.0 12.0/13.0
4: NFA zu regulärem Ausdruck 9.0/9.0 3.0/3.0 12.0/12.0
5: Kontextfreie Sprachen 4.0/6.0 4.0/4.0 3.0/3.0 11.0/13.0
6: Quiz: Berechenbarkeit und Komplexität 2.0/2.0 2.0/2.0 2.0/2.0 2.0/2.0 2.0/2.0 4.0/4.0 14.0/14.0
7: Reduktion 6.0/6.0 8.0/8.0 14.0/14.0
8: Bonus 2.0/2.0 0.0/1.0 2.0/2.0 4.0/5.0
Exam total 98.0/105.0

Exercise 1: Quiz: Reguläre und kontextfreie Sprachen

Teilaufgaben (a-e): Für diese Fragen ist eine Begründung nicht gefordert. Sie erhalten die Punkte auf eine Teilaufgabe genau dann, wenn Sie alle Antwortmöglichkeiten korrekt angekreuzt haben.
Es ist immer mindestens eine Antwortmöglichkeit richtig.
Jede Frage bringt 2P.

In dieser Aufgabe verwenden wir durchgehend das Alphabet Σ:={a,b}\Sigma:=\{a,b\}.

Subproblem a (2.0/2.0P)

Sei L⊆Σ∗L\subseteq\Sigma^* eine endliche Sprache mit ∣L∣=∣L∗∣|L|=|L^*|. Welche Aussagen sind wahr?
☒LL ist regulär☒ε∈L\varepsilon\in L☒∣L∣=∣LL∣|L|=|LL|

Subproblem b (2.0/2.0P)

Sei L⊆Σ∗L\subseteq\Sigma^* und L′:={w∈L:∣w∣2≤10∣w∣}L':=\{w\in L : |w|^2\le 10|w|\}. Welche Aussagen sind wahr?
☒L′L' ist regulär☒L′L' ist kontextfrei☒L′L' ist deterministisch kontextfrei

Subproblem c (2.0/2.0P)

Sei L⊆Σ∗L\subseteq\Sigma^* regulär und k>0k>0. Welche der folgenden Sprachen sind regulär?
☒{w∈L:∣w∣≡0(modk)}\{w\in L: |w| \equiv 0\pmod k\}☒{w1...wk:w1,...,wk∈L}\{w_1...w_k: w_1,...,w_k\in L\}☐{wk:w∈L}\{w^k: w\in L\}

Subproblem d (2.0/2.0P)

Sei L⊆Σ∗L\subseteq\Sigma^* kontextfrei. Welche der folgenden Sprachen sind kontextfrei?

Hinweis: LR:={xk...x1:x1...xk∈L∧x1,...,xk∈Σ∧k≥0}L^R:=\{x_k...x_1 : x_1...x_k\in L\wedge x_1,...,x_k\in\Sigma\wedge k\ge0\} ist die Spiegelung von LL.
☐L‾\overline{L}☒L∪LRL\cup L^R☐L∩LRL\cap L^R

Subproblem e (2.0/2.0P)

Sei GG die Grammatik mit Produktionen S→aTS\rightarrow aT, T→SbT\rightarrow Sb. Welche Aussagen sind wahr?
☐GG ist rechtslinear☒GG ist kontextfrei☒L(G)L(G) ist regulär☒L(G)L(G) ist kontextfrei

Subproblem f (3.0/3.0P)

Seien L1,L2,L3⊆{a,b}∗L_1,L_2,L_3\subseteq\{a,b\}^* Sprachen, sodass L1L_1 genau die Wörter gerader Länge enthält, L2L_2 genau die Wörter enthält, in denen auf jedes aa unmittelbar ein bb folgt, und L3:=L1∩L2L_3:= L_1\cap L_2. Es gilt etwa ε,ab,babb∈L3\varepsilon,ab,babb\in L_3 und b,ba,aabb∉L3b,ba,aabb\notin L_3. Geben Sie reguläre Ausdrücke r1,r2,r3r_1,r_2,r_3 an, sodass L(ri)=LiL(r_i)=L_i, für i∈{1,2,3}i\in\{1,2,3\}.
r1=((a∣b)(a∣b))∗r_1=((a|b)(a|b))^*
r2=(b∣ab)∗r_2=(b|ab)^*
r3=(ab∣b(ab)∗b)∗r_3=(ab|b(ab)^*b)^*

Subproblem g (0.0/3.0P)

Sei MM der folgende DFA. Gibt es einen DFA M′M', sodass L(M)L(M) und L(M′)L(M') die gleichen Residualsprachen haben, aber nicht gleich sind; also {L(M)w:w∈Σ∗}={L(M′)w:w∈Σ∗}\{L(M)^w:w\in\Sigma^*\}=\{L(M')^w:w\in\Sigma^*\} und L(M)≠L(M′)L(M)\ne L(M')?

Falls ja, geben Sie einen solchen DFA an; falls nein, begründen Sie Ihre Antwort kurz.
Zustände: 0, 1, 2
Startzustand: 0
Finalzustände: 2
Transitionen:
    0, a -> 1
    0, b -> 2
    1, a -> 0
    1, b -> 2
    2, a -> 0
    2, b -> 2
☐Wahr, DFA☒Falsch, Begründung
wrong answer for choice (0)
No such DFA M' exists. If two DFAs have the same set of residual languages, then by the Myhill-Nerode theorem they have identical equivalence classes. Since a language is completely determined by which equivalence classes have ε in their residual language, and the residual languages are the same, the languages must be equal: L(M) = L(M').

Exercise 2: Residualsprachen und Minimierung


Subproblem a (5.0/5.0P)

Minimieren Sie den folgenden DFA MM unter Verwendung des erweiterten Minimierungsalgorithmus. Bestimmen Sie also für jedes Paar an Zuständen (q,p)(q,p), ob diese äquivalent sind. Wenn ja, tragen Sie ein Gleichheitszeichen „==" in die entsprechende Zelle ein, wenn nein, tragen Sie ein möglichst kurzes Wort ein, das dies beweist.
Zustände: 0, 1, 2, 3, 4, 5
Startzustand: 0
Finalzustände: 5
Transitionen:
    0, a -> 3
    0, b -> 2
    1, a -> 4
    1, b -> 2
    2, a -> 5
    2, b -> 4
    3, a -> 1
    3, b -> 4
    4, a -> 1
    4, b -> 4
    5, a -> 5
    5, b -> 4
Äquivalenztabelle:
(0,1): ==
(0,2): aa
(0,3): baba
(0,4): baba
(0,5): ε\varepsilon
(1,2): aa
(1,3): baba
(1,4): baba
(1,5): ε\varepsilon
(2,3): aa
(2,4): aa
(2,5): ε\varepsilon
(3,4): ==
(3,5): ε\varepsilon
(4,5): ε\varepsilon

Subproblem b (2.0/2.0P)

Sei QQ die Menge der Zustände von MM, also Q={0,1,2,3,4,5}Q=\{0,1,2,3,4,5\}. Bestimmen Sie S:={q∈Q:[q]M={q}}S := \{q\in Q:[q]_M=\{q\}\}, also die Menge der Zustände, die nur zu sich selbst äquivalent sind. Beschreiben Sie, wie die Menge sich aus der Tabelle ergibt.
S={2,5}S=\{2,5\}

Erklärung:
Ein Zustand qq ist nur zu sich selbst äquivalent, wenn für alle anderen Zustände p≠qp \neq q das Paar (q,p)(q,p) in der Tabelle ein Trennwort (nicht "==") hat. Aus der Tabelle sehen wir, dass:
- Zustand 2: Alle Paare (0,2), (1,2), (2,3), (2,4), (2,5) haben Trennwörter
- Zustand 5: Alle Paare (0,5), (1,5), (2,5), (3,5), (4,5) haben Trennwörter
- Die anderen Zustände haben mindestens ein Paar mit "==": (0,1) und (3,4)

Subproblem c (2.0/2.0P)

Zeichnen Sie den minimalen DFA, der L(M)L(M) erkennt. Beschriften Sie jeden Zustand mit der entsprechenden Menge an äquivalenten Zuständen aus MM.
Zustände: {0,1}, {2}, {3,4}, {5}
Startzustand: {0,1}
Finalzustände: {5}
Transitionen:
    {0,1}, a -> {3,4}
    {0,1}, b -> {2}
    {2}, a -> {5}
    {2}, b -> {3,4}
    {3,4}, a -> {0,1}
    {3,4}, b -> {3,4}
    {5}, a -> {5}
    {5}, b -> {3,4}

Subproblem d (2.0/2.0P)

Wir betrachten den folgenden DFA M′M':
Zustände: 0, 1, 2, 3, 4, 5, 6, 7
Startzustand: 0
Finalzustände: 0, 3, 7
Transitionen:
    0, a -> 1
    1, a -> 2
    2, b -> 3
    3, a -> 3
    4, b -> 5
    5, a -> 6
    6, a -> 7
    7, b -> 7
    0, b -> 4
    1, b -> 6
    2, a -> 6
    3, b -> 1
    4, a -> 4
    5, b -> 1
    6, b -> 4
    7, a -> 3
Nach Vorlesung korrespondiert jeder Zustand von M′M' zu einer Residualsprache. Geben Sie für jeden Zustand das kürzeste Wort an, das in der entsprechenden Residualsprache liegt. Falls es mehrere passende kürzeste Wörter gibt, geben Sie das alphabetisch kleinste davon an. Falls die entsprechende Residualsprache leer ist, geben Sie stattdessen „∅\emptyset" an.
0: ε\varepsilon
1: abab
2: bb
3: ε\varepsilon
4: baabaa
5: aaaa
6: aa
7: ε\varepsilon

Subproblem e (3.0/3.0P)

Sei L:={wcwR:w∈{a,b}∗}⊆{a,b,c}∗L := \{wcw^R:w \in\{a,b\}^*\}\subseteq\{a,b,c\}^*. Es gilt also z.B. c,abcba∈Lc,abcba\in L und ε,abba,abcab∉L\varepsilon,abba,abcab\notin L.

Sei n≥0n\geq 0 beliebig. Bestimmen Sie die folgenden Residualsprachen und geben Sie sie als Mengen an.
Lanbnc={bnan}L^{a^nb^nc}=\{b^na^n\}
Lcban=∅L^{cba^n}=\emptyset
Lan={ycyRan:y∈{a,b}∗}L^{a^n}=\{ycy^Ra^n : y \in \{a,b\}^*\}

Subproblem f (4.0/4.0P)

Sei L:={anbm:n,m≥0∧n≠m}L := \{a^nb^m:n,m\ge0\wedge n\ne m\}. Zeigen Sie, dass LL nicht regulär ist, indem Sie für jedes n∈Nn\in\N ein Wort wn∈{a,b}∗w_n\in\{a,b\}^* angeben, sodass Lw0,Lw1,...L^{w_0},L^{w_1},... paarweise verschieden sind, und beweisen Sie dies.
wn:=anw_n := a^n

Beweis Lwi≠LwjL^{w_i}\ne L^{w_j} für i,j∈N,i≠ji,j\in\N,i\ne j:

Zunächst bestimme ich die Residualsprachen LanL^{a^n}:

Lan={v:anv∈L}L^{a^n} = \{v : a^n v \in L\}

Da L={akbm:k,m≥0,k≠m}L = \{a^k b^m : k,m \geq 0, k \neq m\} und anva^n v von der Form akbma^k b^m sein muss, folgt dass vv von der Form ajbma^j b^m mit j≥0,m≥0j \geq 0, m \geq 0 sein muss, wobei n+j≠mn+j \neq m gelten muss.

Also: Lan={ajbm:j≥0,m≥0,n+j≠m}L^{a^n} = \{a^j b^m : j \geq 0, m \geq 0, n+j \neq m\}

Nun zeige ich die paarweise Verschiedenheit:

Fall 1: i=0,j≥1i = 0, j \geq 1
Betrachte das Wort bjb^j. 
- bj∈La0b^j \in L^{a^0}, da bj=a0bjb^j = a^0 b^j und 0≠j0 \neq j (für j≥1j \geq 1)
- bj∉Lajb^j \notin L^{a^j}, da für bj=akbmb^j = a^k b^m mit j+k≠mj+k \neq m folgt k=0,m=jk=0, m=j, also j+0≠jj+0 \neq j, was falsch ist

Daher La0≠LajL^{a^0} \neq L^{a^j} für alle j≥1j \geq 1.

Fall 2: i,j≥1,i≠ji,j \geq 1, i \neq j
Betrachte das Wort bib^i.
- bi∈Lajb^i \in L^{a^j}, da bi=a0bib^i = a^0 b^i und j+0=j≠ij+0 = j \neq i (da i≠ji \neq j)
- bi∉Laib^i \notin L^{a^i}, da für bi=akbmb^i = a^k b^m mit i+k≠mi+k \neq m folgt k=0,m=ik=0, m=i, also i+0≠ii+0 \neq i, was falsch ist

Daher Lai≠LajL^{a^i} \neq L^{a^j} für alle i≠j≥1i \neq j \geq 1.

Da alle Residualsprachen Lw0,Lw1,Lw2,…L^{w_0}, L^{w_1}, L^{w_2}, \ldots paarweise verschieden sind, hat LL unendlich viele verschiedene Residualsprachen und ist somit nicht regulär.

Exercise 3: NFA-Konstruktion

Sei Σ:={0,1}\Sigma:=\{0,1\}. Für eine Sprache L⊆Σ∗L\subseteq\Sigma^* bezeichnet L↓0L^{\downarrow 0} die Sprache, die man erhält, wenn man den Wörtern aus LL jeweils genau zwei Nullen entfernt. Z.B. gilt {0,010,1}↓0={1}\{0,010, 1\}^{\downarrow 0}=\{1\} und {1,101,0}↓0=∅\{1,101, 0\}^{\downarrow 0}=\emptyset. Formal:
L↓0:={uvw:u0v0w∈L∧u,v,w∈Σ∗}L^{\downarrow 0}:= \{uvw: u0v0w\in L \wedge u,v,w\in\Sigma^*\}
Beachten Sie insbesondere, dass das Löschen nicht optional ist.

Subproblem a (2.0/3.0P)

Gegeben sind drei reguläre Ausdrücke r1,r2,r3r_1,r_2,r_3 über Σ\Sigma. Geben Sie jeweils reguläre Ausdrücke s1,s2,s3s_1,s_2,s_3 an, sodass L(si)=L(ri)↓0L(s_i)=L(r_i)^{\downarrow 0} für i∈{1,2,3}i\in\{1,2,3\}.
r1:=(0∣1)(0∣1)r_1:=(0\mid 1)(0\mid 1), s1=εs_1=\varepsilon
r2:=(0∣1)∗r_2:=(0\mid 1)^*, s2=(0∣1)∗s_2=(0\mid 1)^*
r3:=(01)∗r_3:=(01)^*, s3=(0∣1)∗1s_3=(0\mid 1)^*1
2: wrong language: contains 1

Subproblem b (7.0/7.0P)

Sei M=(Q,Σ,δ,q0,F)M=(Q,\Sigma,\delta,q_0,F) ein beliebiger NFA. Es gilt weiterhin Σ={0,1}\Sigma=\{0,1\}. Konstruieren Sie einen ϵ\epsilon-NFA M′=(Q′,Σ,δ′,q0′,F′)M'=(Q',\Sigma,\delta',q_0',F') mit L(M′)=L(M)↓0L(M')=L(M)^{\downarrow 0}, indem Sie Q′Q', q0′q_0', F′F', und δ′\delta' präzise angeben.

Sie können (müssen aber nicht) zusätzlich die Idee hinter Ihrer Konstruktion erläutern. Dies kann uns helfen, Ihre Definitionen zu verstehen.

Wenden Sie anschließend Ihre Konstruktion auf den nachfolgenden NFA M1M_1 an und zeichnen Sie das Ergebnis.

Hinweis: Sie können δ′\delta' in Form von Gleichungen „δ′(q′,x):={...}\delta'(q',x):=\{...\}" oder alternativ Mengen von Tripeln „{(q′,x,p′)∣...}\{(q',x,p')\mid...\}" mit q′,p′∈Q′,x∈Σ∪{ϵ}q',p'\in Q',x\in\Sigma\cup\{\epsilon\} angeben.
NFA M1M_1:
Zustände: q1, q2, q3
Startzustand: q1
Finalzustände: q3
Transitionen:
    q1, 0 -> q2
    q2, 1 -> q1
    q2, 0 -> q3
    q2, 1 -> q3
    q3, 1 -> q2
Q′:=Q×{0,1,2}Q':= Q \times \{0, 1, 2\}
q0′:=(q0,0)q_0':= (q_0, 0)
F′:={(q,2):q∈F}F':= \{(q, 2) : q \in F\}

δ′\delta':
For all q∈Qq \in Q and a∈{0,1}a \in \{0, 1\}:
- δ′((q,0),a):={(p,0):p∈δ(q,a)}\delta'((q, 0), a) := \{(p, 0) : p \in \delta(q, a)\}
- δ′((q,0),ϵ):={(p,1):p∈δ(q,0)}\delta'((q, 0), \epsilon) := \{(p, 1) : p \in \delta(q, 0)\}
- δ′((q,1),a):={(p,1):p∈δ(q,a)}\delta'((q, 1), a) := \{(p, 1) : p \in \delta(q, a)\}
- δ′((q,1),ϵ):={(p,2):p∈δ(q,0)}\delta'((q, 1), \epsilon) := \{(p, 2) : p \in \delta(q, 0)\}
- δ′((q,2),a):={(p,2):p∈δ(q,a)}\delta'((q, 2), a) := \{(p, 2) : p \in \delta(q, a)\}

Konstruktionsidee (optional):
The states (q,i)(q, i) track the current state qq of the original automaton and how many 0's we have "virtually consumed" (i=0,1,2i = 0, 1, 2). We start in phase 0, use ε-transitions to simulate the first 0 (moving to phase 1), then the second 0 (moving to phase 2), and only accept in phase 2 when in a final state of the original automaton.

Ihr Konstruktionsergebnis für M1M_1:

States: (q1,0),(q1,1),(q1,2),(q2,0),(q2,1),(q2,2),(q3,0),(q3,1),(q3,2)(q_1, 0), (q_1, 1), (q_1, 2), (q_2, 0), (q_2, 1), (q_2, 2), (q_3, 0), (q_3, 1), (q_3, 2)
Start state: (q1,0)(q_1, 0)
Final state: (q3,2)(q_3, 2)

Transitions:
- (q1,0)→0(q2,0)(q_1, 0) \xrightarrow{0} (q_2, 0)
- (q1,0)→ϵ(q2,1)(q_1, 0) \xrightarrow{\epsilon} (q_2, 1)
- (q1,1)→0(q2,1)(q_1, 1) \xrightarrow{0} (q_2, 1)
- (q1,1)→ϵ(q2,2)(q_1, 1) \xrightarrow{\epsilon} (q_2, 2)
- (q1,2)→0(q2,2)(q_1, 2) \xrightarrow{0} (q_2, 2)
- (q2,0)→0(q3,0)(q_2, 0) \xrightarrow{0} (q_3, 0)
- (q2,0)→1(q1,0),(q3,0)(q_2, 0) \xrightarrow{1} (q_1, 0), (q_3, 0)
- (q2,0)→ϵ(q3,1)(q_2, 0) \xrightarrow{\epsilon} (q_3, 1)
- (q2,1)→0(q3,1)(q_2, 1) \xrightarrow{0} (q_3, 1)
- (q2,1)→1(q1,1),(q3,1)(q_2, 1) \xrightarrow{1} (q_1, 1), (q_3, 1)
- (q2,1)→ϵ(q3,2)(q_2, 1) \xrightarrow{\epsilon} (q_3, 2)
- (q2,2)→0(q3,2)(q_2, 2) \xrightarrow{0} (q_3, 2)
- (q2,2)→1(q1,2),(q3,2)(q_2, 2) \xrightarrow{1} (q_1, 2), (q_3, 2)
- (q3,0)→1(q2,0)(q_3, 0) \xrightarrow{1} (q_2, 0)
- (q3,1)→1(q2,1)(q_3, 1) \xrightarrow{1} (q_2, 1)
- (q3,2)→1(q2,2)(q_3, 2) \xrightarrow{1} (q_2, 2)

Subproblem c (3.0/3.0P)

Es gilt weiterhin Σ={0,1}\Sigma=\{0,1\}. Für eine Sprache L⊆Σ∗L\subseteq\Sigma^* bezeichnet L↑0L^{\uparrow 0} die Sprache, die man erhält, wenn man den Wörtern aus LL jeweils zwei Nullen hinzufügt. Formal gilt
L↑0:={u0v0w∣uvw∈L∧u,v,w∈Σ∗}L^{\uparrow 0}:= \{u0v0w \mid uvw\in L \wedge u,v,w\in\Sigma^*\}.
Zeigen oder widerlegen Sie: Für jede nichtleere Sprache L⊆Σ∗L\subseteq \Sigma^* gilt L↑0≠LL^{\uparrow 0}\neq L.
Falls Sie die Aussage mit einem Gegenbeispiel widerlegen möchten, zeigen Sie auch die Korrektheit des Gegenbeispiels.
☒Wahr☐Falsch
The statement is true.

Proof by contradiction:

Suppose there exists a nonempty language LL such that L=L↑0L = L^{\uparrow 0}.

Case 1: If ε∈L\varepsilon \in L, then since L=L↑0L = L^{\uparrow 0}, we have ε∈L↑0\varepsilon \in L^{\uparrow 0}. This means ε=u0v0w\varepsilon = u0v0w for some u,v,w∈Σ∗u,v,w \in \Sigma^* with uvw∈Luvw \in L. But this is impossible since u0v0wu0v0w has length at least 2 while ε\varepsilon has length 0.

Case 2: If ε∉L\varepsilon \notin L, let w∈Lw \in L be a string of minimum positive length. Since w∈L↑0w \in L^{\uparrow 0}, we have w=u0v0zw = u0v0z where uvz∈Luvz \in L. But then ∣uvz∣=∣w∣−2<∣w∣|uvz| = |w| - 2 < |w|, contradicting the minimality of ∣w∣|w|.

Therefore, no such language LL exists, proving L↑0≠LL^{\uparrow 0} \neq L for all nonempty languages LL.

Exercise 4: NFA zu regulärem Ausdruck


Subproblem a (9.0/9.0P)

Wir betrachten den rechts abgebildeten NFA NN über dem Alphabet {a,b}\{a,b\}. Berechnen Sie mit dem graphischen Algorithmus aus der Vorlesung (nicht mit Ardens Lemma) einen regulären Ausdruck rr, sodass L(r)=L(N)L(r) = L(N). Geben Sie dabei nach jeder Anwendung einer Transformationsregel den Automaten graphisch an und vereinfachen Sie die regulären Ausdrücke in den Zwischenschritten nicht. (Ausnahme: Sie dürfen die Vereinfachung εα≡αε≡α\varepsilon \alpha \equiv \alpha \varepsilon \equiv \alpha anwenden.) Entfernen Sie die Zustände in aufsteigender Reihenfolge (bezüglich ihrer Zustandsnummer).
NFA N:
Zustände: 1, 2, 3
Startzustand: 1
Finalzustände: 3
Transitionen:
    1, a -> 2
    1, b -> 3
    2, a -> 1
    3, a -> 3
    3, b -> 2
Zwischenschritte:

**Ursprünglicher Automat:**
```
Zustände: {1, 2, 3}
Startzustand: 1
Finalzustand: {3}
Kanten: 
  1 --a--> 2
  1 --b--> 3
  2 --a--> 1  
  3 --a--> 3
  3 --b--> 2
```

**Schritt 1: Entfernung von Zustand 2**

Kanten durch Zustand 2:
- 1 --a--> 2 --a--> 1 ⟹ 1 --aa--> 1
- 3 --b--> 2 --a--> 1 ⟹ 3 --ba--> 1

Automat nach Entfernung von Zustand 2:
```
Zustände: {1, 3}
Startzustand: 1
Finalzustand: {3}
Kanten:
  1 --b--> 3
  1 --aa--> 1
  3 --a--> 3
  3 --ba--> 1
```

**Schritt 2: Entfernung von Zustand 1**

Kanten durch Zustand 1:
- Schleife an 1: aa
- 3 --ba--> 1 --b--> 3 ⟹ 3 --ba(aa)*b--> 3

Ausdruck vom ursprünglichen Startzustand 1 zu Finalzustand 3: (aa)*b

Automat nach Entfernung von Zustand 1:
```
Zustände: {3}
Finalzustand: {3}
Kanten:
  3 --a--> 3
  3 --ba(aa)*b--> 3
```

Regulärer Ausdruck: $r = (aa)*b(a + ba(aa)*b)*$

Subproblem b (3.0/3.0P)

Geben Sie eine rechtslineare Grammatik für L(N)L(N) mit höchstens 3 Nichtterminalen an.

Hinweis: In rechtslinearen Grammatiken sind keine ε\varepsilon-Produktionen außer S→εS \to \varepsilon erlaubt.
S -> aA | bB | b
A -> aS  
B -> aB | a | bA

Exercise 5: Kontextfreie Sprachen

Gegeben sind folgende drei Sprachen über dem Alphabet Σ:={a,b}\Sigma := \{a,b\}:
L1:={aibjak:(i=j∨j=k)∧i,j,k≥0}L_1 := \{a^ib^ja^k : (i = j\vee j = k)\wedge i,j,k\geq 0\}
L2:={anw:w∈Σ∗∧∣w∣≥n∧n>0}L_2 := \{a^nw : w\in \Sigma^* \wedge |w|\geq n\wedge n>0\}
L3:={aibjak:j>i+k∧i,j,k≥0}L_3 := \{a^ib^ja^k : j>i + k\wedge i,j,k\geq 0\}

Subproblem a (4.0/6.0P)

Geben Sie kontextfreie Grammatiken für L1,L2,L3L_1,L_2,L_3 mit jeweils höchstens 5 Nichtterminalen und 10 Produktionen an.

Hinweis: Sie dürfen ε\varepsilon-Produktionen verwenden.
Grammatik für L1L_1:
S -> A | B
A -> aAb | C
C -> aC | ε
B -> aB | D  
D -> bDa | ε

Grammatik für L2L_2:
S -> aAB
A -> aAC | ε
C -> a | b
B -> YB | Y
Y -> a | b

Grammatik für L3L_3:
S -> LMR
L -> aLb | ε
M -> bM | b
R -> bRa | ε
0: wrong language: does not generate abaa

Subproblem b (4.0/4.0P)

Genau eine der drei Sprachen ist sogar regulär. Entscheiden Sie welche und geben Sie einen regulären Ausdruck an, der die gleiche Sprache beschreibt.
☐L1L_1☒L2L_2☐L3L_3
a(a+b)+a(a+b)^+

Subproblem c (3.0/3.0P)

Untenstehend finden Sie einen PDA MM, der mit leerem Keller akzeptiert und das initiale Kellerzeichen ZZ verwendet. Bestimmen Sie für jede Sprache Li∈{L1,L2,L3}L_i\in\{L_1,L_2,L_3\} jeweils, ob Lϵ(M)=LiL_\epsilon(M)=L_i gilt. Falls nein, geben Sie ein Wort ww mit Länge höchstens 2 an, sodass ww in genau einer der Sprachen Lϵ(M)L_\epsilon(M) und LiL_i ist.

Hinweis: Es gilt Lϵ(M)=LiL_\epsilon(M)=L_i für genau ein i∈{1,2,3}i\in\{1,2,3\}.
Die Transition „q,a,X→p,YZq, a, X \rightarrow p, YZ“ eines PDAs bedeutet, das der PDA in Zustand qq ist, Zeichen aa liest, und das oberste Stacksymbol XX hat. Anschließend geht der PDA in Zustand pp, nimmt XX vom Stack, und legt YZYZ auf den Stack (YY ist oben). Eine Transition mit a=εa=\varepsilon ist erlaubt, in dem Fall wird kein Zeichen eingelesen.
PDA M:
Zustände: q0, q1, q2, q3
Startzustand: q0
Initialzeichen: Z
Transitionen:
    q0, a, A -> q0, AA
    q0, a, Z -> q0, AZ
    q0, ε, A -> q1, A
    q0, ε, Z -> q1, Z
    q1, b, A -> q1, ε
    q1, b, Z -> q2, B
    q2, b, B -> q2, BB
    q2, ε, B -> q3, ε
    q3, a, B -> q3, ε
    q3, ε, B -> q3, ε
☐L1=Lϵ(M)L_1=L_\epsilon(M)☒L1≠Lϵ(M)L_1\neq L_\epsilon(M)☐L2=Lϵ(M)L_2=L_\epsilon(M)☒L2≠Lϵ(M)L_2\neq L_\epsilon(M)☒L3=Lϵ(M)L_3=L_\epsilon(M)☐L3≠Lϵ(M)L_3\neq L_\epsilon(M)
L1L_1: ab
L2L_2: bb
L3L_3: -

Exercise 6: Quiz: Berechenbarkeit und Komplexität

Teilaufgaben (a-e): Für diese Fragen ist eine Begründung nicht gefordert. Sie erhalten die Punkte auf eine Teilaufgabe genau dann, wenn Sie alle Antwortmöglichkeiten korrekt angekreuzt haben.
Es ist immer mindestens eine Antwortmöglichkeit richtig.

In dieser Aufgabe verwenden wir durchgehend das Alphabet Σ:={0,1}\Sigma:=\{0,1\}.

Subproblem a (2.0/2.0P)

Welche der folgenden Sprachen sind entscheidbar?
☐{w∈Σ∗:φw ist total}\{w\in\Sigma^* :\varphi_w \text{ ist total}\}☐{w∈Σ∗:φw(0)=0}\{w\in\Sigma^* :\varphi_w(0) = 0\}☒{w∈Σ∗:φw ist berechenbar}\{w \in \Sigma^* :\varphi_w \text{ ist berechenbar}\}

Subproblem b (2.0/2.0P)

Sei LL eine beliebige unentscheidbare Sprache und a∈Σa\in\Sigma. Welche der folgenden Aussagen sind wahr?

Hinweis: LaL^a ist die Residualsprache bezüglich aa von LL.
☒L‾\overline L ist unentscheidbar☐LaL^a ist unentscheidbar☐Es gibt keine TM MM mit L(M)=LL(M) = L

Subproblem c (2.0/2.0P)

Sei MM eine beliebige deterministische Turingmaschine, sodass es eine Eingabe w∈Σ∗w \in \Sigma^* gibt, auf der MM unendlich viele Schritte macht. Welche Aussagen sind wahr?
☒w∉L(M)w \notin L(M)☐L(M)L(M) ist unentscheidbar☒L(M)L(M) ist semi-entscheidbar

Subproblem d (2.0/2.0P)

Welche Aussagen sind wahr?
☒Jede reguläre Sprache ist in NP\text{NP}.☒Jede kontextfreie Sprache ist in P\text{P}.☒Sei L∈PL \in \text{P}. Dann gilt L‾∈NP\overline L \in \text{NP}.

Subproblem e (2.0/2.0P)

Angenommen, P≠NP\text{P} \neq \text{NP}. Seien A,B⊆Σ∗A,B\subseteq\Sigma^* beliebige Sprachen, sodass A∈NPA \in \text{NP} und BB NP\text{NP}-vollständig ist. Welche Aussagen sind wahr?
☐A⊆BA \subseteq B☐B⊆AB \subseteq A☒A≤pBA \leq_p B☐B≤pAB \leq_p A

Subproblem f (4.0/4.0P)

Seien A,B⊆Σ∗A,B\subseteq\Sigma^* beliebige Sprachen, sodass AA unentscheidbar ist. Zeigen oder widerlegen Sie: Mindestens eine der Sprachen A∪BA \cup B und A∪B‾A \cup \overline B ist unentscheidbar.
☒Wahr☐Falsch
The statement is **true**.

**Proof by contradiction:**

Assume both A ∪ B and A ∪ B̄ are decidable. Then there exist TMs M₁ and M₂ that decide these languages respectively.

For any string w ∈ Σ*, we have exactly three possible cases:
- Case 1: w ∈ A → M₁(w) = accept, M₂(w) = accept
- Case 2: w ∉ A, w ∈ B → M₁(w) = accept, M₂(w) = reject  
- Case 3: w ∉ A, w ∉ B → M₁(w) = reject, M₂(w) = accept

We can construct a decider for A: given input w, run both M₁ and M₂, then accept iff both accept.

This contradicts the undecidability of A. Therefore, at least one of A ∪ B and A ∪ B̄ is undecidable.

Exercise 7: Reduktion

Zeigen Sie für jedes der folgenden Probleme AA entweder, dass es in P\mathsf{P} liegt, oder, dass es NP\mathsf{NP}-hart ist.
Geben Sie hierfür jeweils eine geeignete polynomielle Reduktion an und begründen Sie deren Korrektheit.

Reduktionsfunktionen müssen präzise definiert sein und Sie müssen klar angeben, welche Probleme Sie reduzieren. Die Korrektheit der Reduktion müssen Sie aber nur skizzieren und nicht formal beweisen.

Achtung: Auch um zu zeigen, dass das Problem in P\mathsf{P} liegt, ist eine Reduktion anzugeben!

Hinweis: Um zu zeigen, dass ein Problem AA in P\mathsf{P} liegt, geben Sie eine Reduktion A≤pBA\le_p B für ein B∈PB\in\mathsf{P} an, reduzieren Sie also AA auf ein Problem BB, von dem wir wissen, dass es in P\mathsf{P} liegt, z.B. 2COL\mathsf{2COL} oder 2KNF-SAT\mathsf{2KNF\text{-}SAT}.

Um zu zeigen, dass ein Problem AA NP\mathsf{NP}-hart ist, geben Sie eine Reduktion B≤pAB\le_p A an, wobei BB ein bekanntes NP-hartes Problem ist, etwa 3COL\mathsf{3COL}, SAT\mathsf{SAT}, oder CLIQUE\mathsf{CLIQUE}.

Subproblem a (6.0/6.0P)

Gegeben: Drei KNF-Formeln F1,F2,F3F_1, F_2, F_3 mit Variablen aus VV.

Problem AA: Gibt es eine Belegung σ:V→{0,1}\sigma:V\rightarrow\{0,1\}, die genau zwei der drei Formeln erfüllt?
☐A∈PA\in\mathsf{P}☒AA ist NP\mathsf{NP}-hart
Reduktion: SAT≤pA\mathsf{SAT} \le_p A

Begründung:
Gegeben eine CNF-Formel FF über Variablen VV als Eingabe für SAT, konstruiere ich drei Formeln:
- F1=FF_1 = F (die ursprüngliche Formel)
- F2=⊤F_2 = \top (die leere CNF-Formel ohne Klauseln, immer erfüllt)  
- F3=⊥F_3 = \bot (CNF-Formel {∅}\{\emptyset\} mit der leeren Klausel, nie erfüllt)

Korrektheit:
(⇒)(\Rightarrow) Falls FF erfüllbar ist, sei σ\sigma eine erfüllende Belegung für FF. Dann gilt σ(F1)=σ(F)=1\sigma(F_1) = \sigma(F) = 1, σ(F2)=1\sigma(F_2) = 1, σ(F3)=0\sigma(F_3) = 0. Also sind genau zwei Formeln erfüllt.

(⇐)(\Leftarrow) Falls eine Belegung σ\sigma genau zwei der drei Formeln erfüllt, dann muss (da F2F_2 immer wahr und F3F_3 immer falsch ist) gelten: σ(F1)=1\sigma(F_1) = 1, σ(F2)=1\sigma(F_2) = 1, σ(F3)=0\sigma(F_3) = 0. Somit erfüllt σ\sigma die Formel F1=FF_1 = F.

Da SAT NP-vollständig ist, folgt dass AA NP-hart ist.

Subproblem b (8.0/8.0P)

Gegeben: Eine 2KNF-Formel FF mit Variablenmenge V={x1,...,xn}V=\{x_1, ..., x_n\}, eine Menge {1,...,l}\{1, ..., l\} von Farben (mit l>0l>0) und eine Funktion g:V→{1,...,l}g: V \to \{1 ,...,l\}, die jeder Variable eine Farbe zuordnet.

Problem AA: Gibt es eine erfüllende Belegung σ\sigma, sodass alle Variablen, die von σ\sigma zu Wahr gesetzt werden, unterschiedliche Farben haben? Formal: gibt es eine erfüllende Belegung σ:V→{0,1}\sigma:V\rightarrow\{0,1\} mit g(xi)≠g(xj)g(x_i) \neq g(x_j) für alle i<j≤ni<j \leq n mit σ(xi)=1=σ(xj)\sigma(x_i)=1= \sigma(x_j)?
☒A∈PA\in\mathsf{P}☐AA ist NP\mathsf{NP}-hart
Reduktion: A≤p2CNF-SATA \le_p \mathsf{2CNF\text{-}SAT}

Begründung:
Gegeben eine 2CNF-Formel FF über Variablen VV und Farbfunktion g:V→{1,...,l}g: V \to \{1,...,l\}, konstruiere ich eine neue 2CNF-Formel F′F' wie folgt:

1. Füge alle ursprünglichen Klauseln von FF zu F′F' hinzu
2. Für jede Farbe c∈{1,...,l}c \in \{1,...,l\} und jedes Paar verschiedener Variablen xi,xjx_i, x_j mit g(xi)=g(xj)=cg(x_i) = g(x_j) = c, füge die Klausel (¬xi∨¬xj)(\neg x_i \vee \neg x_j) zu F′F' hinzu

Korrektheit:
(⇒)(\Rightarrow) Falls σ\sigma eine erfüllende Belegung für FF ist, bei der alle auf wahr gesetzten Variablen verschiedene Farben haben:
- σ\sigma erfüllt alle ursprünglichen Klauseln von FF
- Für jedes Paar xi,xjx_i, x_j gleicher Farbe gilt: höchstens eine Variable ist wahr, also σ(¬xi∨¬xj)=1\sigma(\neg x_i \vee \neg x_j) = 1
- Somit erfüllt σ\sigma auch F′F'

(⇐)(\Leftarrow) Falls σ\sigma die Formel F′F' erfüllt:
- σ\sigma erfüllt FF (da alle ursprünglichen Klauseln enthalten sind)
- Für jedes Paar xi,xjx_i, x_j gleicher Farbe erfüllt σ\sigma die Klausel (¬xi∨¬xj)(\neg x_i \vee \neg x_j), d.h. höchstens eine Variable ist wahr
- Also haben alle auf wahr gesetzten Variablen verschiedene Farben

Die Konstruktion ist polynomiell, da höchstens O(n2)O(n^2) zusätzliche Klauseln hinzugefügt werden.

Exercise 8: Bonus

Die Punkte dieser Aufgabe sind Bonuspunkte, d.h. sie zählen wie normale Punkte, werden bei der Berechnung des Notenschemas jedoch außer Acht gelassen.

Mindestens eine Antwortmöglichkeit ist immer richtig.

Subproblem a (2.0/2.0P)

Sei Σ:={a,b}\Sigma := \{a,b\}. Für welche der folgenden Sprachen LiL_i, wobei i∈{1,2,3}i\in\{1,2,3\}, gilt, dass (Li)∗(L_i)^* nicht regulär ist? (Es können mehrere sein.) Wählen Sie ein solches ii und begründen Sie kurz, dass (Li)∗(L_i)^* nicht regulär ist.
☐L1:={(ab)n:n∈N}L_1 := \{(ab)^n:n\in\mathbb{N}\}☒L2:={anbn:n∈N}L_2 := \{a^nb^n:n\in\mathbb{N}\}☐L3:={anbm:n,m∈N∧n≠m}L_3 := \{a^nb^m:n,m\in\mathbb{N}\wedge n\ne m\}
Begründung für i=2i=2:
(L2)∗(L_2)^* ist nicht regulär. Beweis mit Pumping-Lemma: Sei pp die Pumping-Länge und betrachte w=(apbp)p∈(L2)∗w = (a^pb^p)^p \in (L_2)^*. Da ∣xy∣≤p|xy| \leq p liegt xyxy vollständig im ersten apa^p-Teil, also x=aj,y=akx = a^j, y = a^k mit k≥1k \geq 1. Beim Herunterpumpen (i=0i=0) erhalten wir xzxz mit erstem Block ap−kbpa^{p-k}b^p. Für (L2)∗(L_2)^*-Zugehörigkeit müsste p−k=pp-k = p gelten, also k=0k = 0, Widerspruch zu k≥1k \geq 1.

Subproblem b (0.0/1.0P)

Gibt es eine kontextfreie Grammatik GG in Chomsky-Normalform mit höchstens 66 Produktionen und L(G)={a12,a9}L(G)=\{a^{12},a^9\}? Falls ja, geben Sie eine solche Grammatik an, falls nein, begründen Sie dies kurz.
☐Ja, Grammatik:☒Nein, Begründung:
wrong answer for choice (0)
For any string ana^n in CNF, we need approximately n−1n-1 binary productions to create the tree structure, plus terminal productions. Even with optimal sharing between the derivations for a9a^9 and a12a^{12}, we need separate substructures for different factors. The minimal constructions I attempted all required 7-8 productions, suggesting that 6 productions are insufficient to generate both strings while maintaining the precise language L(G)={a12,a9}L(G) = \{a^{12}, a^9\}.
0: could not parse value For any string a^n in CNF, we need approximately n-1 binary productions to create the tree structure, plus terminal productions. Even with optimal sharing between the derivations for a^9 and a^{12}, we need separate substructures for different factors. The minimal constructions I attempted all required 7-8 productions, suggesting that 6 productions are insufficient to generate both strings while maintaining the precise language L(G) = \{a^{12}, a^9\}. for type cfg

Subproblem c (2.0/2.0P)

Sei L⊆{0,1}∗L\subseteq\{0,1\}^* eine beliebige kontextfreie und nicht reguläre Sprache. Welche der folgenden Aussagen sind wahr? (Es können mehrere sein.) Wählen Sie eine solche Aussage und begründen Sie kurz, wieso diese Aussage wahr ist.
☒Es gibt eine unentscheidbare Sprache L′⊆LL'\subseteq L.☐Jede Sprache L′⊆LL'\subseteq L ist entscheidbar.
Begründung für Aussage 1:
Da LL kontextfrei und nicht regulär ist, ist LL unendlich und entscheidbar. Wir können die Elemente von LL als w1,w2,w3,…w_1, w_2, w_3, \ldots aufzählen. Sei HH das Halteproblem. Definiere L′={wi:i∈H}L' = \{w_i : i \in H\}. Dann ist L′⊆LL' \subseteq L, aber L′L' ist unentscheidbar, da die Entscheidung ob wi∈L′w_i \in L' äquivalent zur Entscheidung ob i∈Hi \in H ist, was unentscheidbar ist.