diff --git a/info4/kapitel-2/Abschlusseigenschaften.ipynb b/info4/kapitel-2/Abschlusseigenschaften.ipynb index d23c81dd9f218ce4bee2339442d3bd0a871df1f4..2e3776280b17700694b57c15551248e8d4cdf26d 100644 --- a/info4/kapitel-2/Abschlusseigenschaften.ipynb +++ b/info4/kapitel-2/Abschlusseigenschaften.ipynb @@ -1057,7 +1057,7 @@ "metadata": {}, "source": [ "Im folgenden schauen wir uns die Differenz zweier Sprachen $L1-L2$ genauer an.\n", - "Das Vorgehen ist hierbei, dass man zwei NFAs $M_1=(Σ, Z_1, δ_1, S_1, F_1)$ udnd $M_2=(Σ, Z_2, δ_2, S_2, F_2)$ parallel ausführt und die Endzustandsmenge so wählt, dass man in einem Zustand aus $F_1$, aber nicht gleichzeitig in einem aus $F_2$ landet." + "Das Vorgehen (aus dem Buch [Grundkurs Theoretische Informatik](https://link.springer.com/content/pdf/10.1007/978-3-8348-2202-4.pdf \"Vossen, G., & Witt, K. U. (2016). Grundkurs Theoretische Informatik. Springer Fachmedien Wiesbaden.\") von G. Vossen & K. U. Witt, Seite 99f.) ist hierbei, dass man zwei NFAs $M_1=(Σ, Z_1, δ_1, S_1, F_1)$ udnd $M_2=(Σ, Z_2, δ_2, S_2, F_2)$ parallel ausführt und die Endzustandsmenge so wählt, dass man in einem Zustand aus $F_1$, aber nicht gleichzeitig in einem aus $F_2$ landet." ] }, { @@ -1115,7 +1115,7 @@ " (z21,0)↦{z22}, (z21,1)↦{z21},\n", " (z22,0)↦{z22}, (z22,1)↦{z22}} ∧\n", "\n", - " //TODO Referenz auf Buch einbauen!\n", + " //Der Automat nach \"Grundkurs Theoretische Informatik\"\n", " M = (Σ, Z, δ, S, F) ∧\n", " Z_gesamt = Z1*Z2 ∧\n", " S = S1*S2 ∧\n", @@ -1311,7 +1311,7 @@ " (z21,0)↦{z22}, (z21,1)↦{z21},\n", " (z22,0)↦{z22}, (z22,1)↦{z22}} ∧\n", "\n", - " //Konstruktion analog zu TODO Referenz auf Buch\n", + " //Eigene Konstruktion analog zu \"Grundkurs Theoretische Informatik\" (s.o.)\n", " M = (Σ, Z_gesamt, δ, S, F) ∧\n", " Z_gesamt = Z1*Z2 ∧\n", " S = S1*S2 ∧\n", @@ -1451,7 +1451,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Zuletzt bleibt noch die Spiegelung einer Sprache. Um dies zu erreichen erstellen wir aus einem DFA einen NFA." + "Zuletzt bleibt noch die Spiegelung einer Sprache. Um dies zu erreichen erstellen wir aus einem DFA $M$ einen NFA $M_2$ (Vorgehen nach [Grundkurs Theoretische Informatik](https://link.springer.com/content/pdf/10.1007/978-3-8348-2202-4.pdf \"Vossen, G., & Witt, K. U. (2016). Grundkurs Theoretische Informatik. Springer Fachmedien Wiesbaden.\"), Seite 101). $M_2$ hat als Startzustände die Endzustände von $M$ und als einzigen Endzustand den Startzustand von $M$. Die Übergänge von $M_2$ erhält man, indem man alle Übergange von $M$ umdreht. Dadurch ist der Automat ggf. auch nicht deterministisch." ] }, {