├── Vorlesungen ├── a2.png ├── a3.jpg ├── images │ ├── TM.jpg │ ├── cook.png │ ├── karp.png │ ├── np1.png │ ├── np2.png │ ├── np3.png │ ├── np4.png │ ├── np5.png │ ├── Kleene.jpg │ ├── Knuth.jpg │ ├── Sudoku.jpg │ ├── Turing.jpg │ ├── graph1.png │ ├── graph2.png │ ├── graph3.png │ ├── levin.png │ ├── regex.pdf │ ├── xkcd-na.png │ ├── Turing-5.jpg │ ├── fly-brain.png │ ├── xkcd-tsp.png │ ├── BNF-Autoren.jpg │ ├── Rabin-Scott.jpg │ ├── aaron-swartz.jpg │ ├── xkcd-regexps.png │ ├── John_Backus_2.jpg │ ├── Sudoku-xkcd74.jpg │ ├── Noam-Chomsky-2015.jpg │ ├── xkcd-na_make_it_better.png │ └── xkcd246-labyrinth-puzzle.png ├── TU_Logo_SW.pdf ├── beamerinnerthemetud.sty ├── build.sh ├── beamercolorthemetud.sty ├── beamerthemetud.sty ├── tudcolors.sty ├── beamerfontthemetud.sty ├── macros-lecture.tex ├── tudfonts.sty ├── beamerouterthemetud.sty └── lecture-26.tex ├── Uebungen ├── TU_Logo_SW.pdf ├── pool │ ├── baier │ │ ├── 730.tex │ │ ├── 740.tex │ │ ├── 736.tex │ │ ├── 975.tex │ │ ├── 705.tex │ │ ├── 739.tex │ │ ├── 946.tex │ │ ├── 1017.tex │ │ ├── 31.tex │ │ ├── 69.tex │ │ ├── 21a.tex │ │ ├── 706.tex │ │ ├── 14.tex │ │ └── 20.tex │ ├── dfa-reduzierter-dfa.tex │ ├── nfa-zwei-aequivalente.tex │ ├── sprachen-nfa-grammatik.tex │ ├── sprachen-regulaerer-ausdruck-sprachen.tex │ ├── sprachen-sprache-regulaerer-ausdruck.tex │ ├── sprachen-nerode-minimal-dfa.tex │ ├── dfa-quotientenautomat.tex │ ├── sprachen-kontextfrei-nachweis.tex │ ├── sprachen-regulaerer-ausdruck-nfa.tex │ ├── nfa-aequivalenz-einfach.tex │ ├── resolution-1.tex │ ├── sprachen-operatoren-monoton.tex │ ├── nfa-dfa-konstruktion.tex │ ├── sprachen-kontextfrei-cnf-cyk.tex │ ├── sprachen-wiederholung-einfach.tex │ ├── dfa-nfa.tex │ ├── sprachen-regulaere-ausdruecke-gleichheit.tex │ ├── sprachen-kontextfrei-pumping.tex │ ├── sprachen-regularitaet-inkl-pumping.tex │ ├── sprachen-dfa-einfach.tex │ ├── sprachen-turingmaschine-ai_bi_ci-star.tex │ ├── sprachen-regulaerer-ausdruck-einfach.tex │ ├── junctor-1.tex │ ├── truth-table-1.tex │ ├── graphics │ │ ├── sprachen-wiederholung.tex │ │ ├── nfa-wiederholung-einfach.tex │ │ ├── nfa-zwei-aequivalente.tex │ │ ├── dfa-nfa.tex │ │ ├── sprachen-dfa-regulaerer-ausdruck.tex │ │ ├── nfa-dfa-konstruktion.tex │ │ ├── sprachen-nfa-grammatik.tex │ │ ├── dfa-quotientenautomat.tex │ │ ├── dfa-reduzierter-dfa.tex │ │ └── vier-mal-epsilonfrei.tex │ ├── sprachen-grammatik-epsilon-frei.tex │ ├── sprachen-grammatik-typ.tex │ ├── modelling-the-graph-coloring-problem.tex │ ├── truth-table-2.tex │ ├── sprachen-deterministisch-kontextfrei-kellerautomat.tex │ ├── resolution-3.tex │ ├── dfa-quotientenautomat-vertraeglichkeit.tex │ ├── sprachen-kontextfrei-cyk.tex │ ├── sprachen-einfache-identitaeten.tex │ ├── sprachen-kontextfrei.tex │ ├── sprachen-dfa-regulaerer-ausdruck.tex │ ├── sprachen-grammatik-kontextfrei-einfach.tex │ ├── sprachen-kontextfrei-grammatik-angeben.tex │ ├── formula-size.tex │ ├── sprachen-deterministisch-kontextfrei-richtig-falsch.tex │ ├── sprachen-grammatik-kontextfrei-cnf.tex │ ├── sprachen-regulaere-ausdruecke-begriffswiederholung.tex │ ├── sprachen-beweis-gegenbeispiel-aufgabe.tex │ ├── sprachen-grammatik-pumping-einfach.tex │ ├── nfa-wiederholung-einfach.tex │ ├── nfa-vier-mal-epsilonfrei.tex │ ├── sprachen-grammatik-regulaere-ausdruecke-einfach.tex │ ├── sprachen-nfa-pumping-wortzerlegung.tex │ ├── sprachen-einfache-operatoren.tex │ ├── sprachen-grammatik-einordnung.tex │ ├── sprachen-turingmaschine-funktion.tex │ ├── sprachen-grammatik-hierarchie-einfach.tex │ ├── sprachen-kontextfrei-kellerautomaten-angeben.tex │ ├── vampire-1.tex │ ├── sprachen-kontextfrei-cyk-einfach.tex │ └── sprachen-wiederholung.tex ├── tikzsettings.tex ├── blatt-01.tex ├── uebung-macros.tex ├── blatt-02.tex ├── blatt-07.tex ├── blatt-04.tex ├── blatt-05.tex ├── blatt-06.tex ├── blatt-03.tex ├── blatt-12.tex ├── blatt-13.tex ├── blatt-14.tex ├── blatt-09.tex ├── blatt-08.tex ├── blatt-10.tex ├── blatt-11.tex ├── latteachCD.cls └── tudform.cls ├── .gitignore ├── macros.tex └── README.md /Vorlesungen/a2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/a2.png -------------------------------------------------------------------------------- /Vorlesungen/a3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/a3.jpg -------------------------------------------------------------------------------- /Uebungen/TU_Logo_SW.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Uebungen/TU_Logo_SW.pdf -------------------------------------------------------------------------------- /Vorlesungen/images/TM.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/TM.jpg -------------------------------------------------------------------------------- /Vorlesungen/TU_Logo_SW.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/TU_Logo_SW.pdf -------------------------------------------------------------------------------- /Vorlesungen/images/cook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/cook.png -------------------------------------------------------------------------------- /Vorlesungen/images/karp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/karp.png -------------------------------------------------------------------------------- /Vorlesungen/images/np1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/np1.png -------------------------------------------------------------------------------- /Vorlesungen/images/np2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/np2.png -------------------------------------------------------------------------------- /Vorlesungen/images/np3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/np3.png -------------------------------------------------------------------------------- /Vorlesungen/images/np4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/np4.png -------------------------------------------------------------------------------- /Vorlesungen/images/np5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/np5.png -------------------------------------------------------------------------------- /Vorlesungen/images/Kleene.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/Kleene.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/Knuth.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/Knuth.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/Sudoku.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/Sudoku.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/Turing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/Turing.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/graph1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/graph1.png -------------------------------------------------------------------------------- /Vorlesungen/images/graph2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/graph2.png -------------------------------------------------------------------------------- /Vorlesungen/images/graph3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/graph3.png -------------------------------------------------------------------------------- /Vorlesungen/images/levin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/levin.png -------------------------------------------------------------------------------- /Vorlesungen/images/regex.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/regex.pdf -------------------------------------------------------------------------------- /Vorlesungen/images/xkcd-na.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/xkcd-na.png -------------------------------------------------------------------------------- /Vorlesungen/images/Turing-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/Turing-5.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/fly-brain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/fly-brain.png -------------------------------------------------------------------------------- /Vorlesungen/images/xkcd-tsp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/xkcd-tsp.png -------------------------------------------------------------------------------- /Vorlesungen/images/BNF-Autoren.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/BNF-Autoren.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/Rabin-Scott.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/Rabin-Scott.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/aaron-swartz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/aaron-swartz.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/xkcd-regexps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/xkcd-regexps.png -------------------------------------------------------------------------------- /Vorlesungen/images/John_Backus_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/John_Backus_2.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/Sudoku-xkcd74.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/Sudoku-xkcd74.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/Noam-Chomsky-2015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/Noam-Chomsky-2015.jpg -------------------------------------------------------------------------------- /Vorlesungen/images/xkcd-na_make_it_better.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/xkcd-na_make_it_better.png -------------------------------------------------------------------------------- /Vorlesungen/images/xkcd246-labyrinth-puzzle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowsys/FormaleSysteme/HEAD/Vorlesungen/images/xkcd246-labyrinth-puzzle.png -------------------------------------------------------------------------------- /Uebungen/pool/baier/730.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Es sei $L$ die Sprache aller $w \in \{ 0, 1 \}^{ + } $ mit 4 | gleich vielen Nullen wie Einsen. Man gebe f"ur diese Sprache eine 5 | kontextfreie Grammatik an. 6 | Beweisen Sie die Korrektheit und Vollst\"andigkeit Ihrer L\"osung! 7 | \end{exercise} 8 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/740.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | 4 | Zeigen Sie, dass die Sprache 5 | $L \, = \, \bigl\{ w \$ w^R : w \in \{a,b\}^* \bigr\}$ 6 | \"uber dem Alphabet $\Sigma = \{a,b,\$\}$ deterministisch 7 | kontextfrei ist. Hierbei bezeichnet $w^R$ das 8 | erneut das Wort $w$ in umgekehrter Zeichenfolge. 9 | 10 | \end{exercise} 11 | -------------------------------------------------------------------------------- /Uebungen/pool/dfa-reduzierter-dfa.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben ist der DFA $\mathcal{M}=(\{q_0,q_1,q_2,q_3,q_4,q_5,q_6,q_7,q_8\},\{a,b\},\delta,q_0,\{q_3,q_6\})$ mit $\delta$: 4 | \begin{center} 5 | \input{pool/graphics/dfa-reduzierter-dfa} 6 | \end{center} 7 | Geben Sie den zu $\mathcal{M}$ reduzierten DFA ${\mathcal{M}}_r$ an. 8 | \end{exercise} 9 | -------------------------------------------------------------------------------- /Uebungen/pool/nfa-zwei-aequivalente.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Konstruieren Sie zu dem grafisch angegebenen $\varepsilon$-NFA 4 | $\mathcal{M} =(Q,\Sigma,\delta ,\{q_0\},F)$ einen äquivalenten NFA $\mathcal{M}'$. 5 | Beschreiben Sie die Komponenten beider Automaten. 6 | \begin{center} 7 | \input{pool/graphics/nfa-zwei-aequivalente} 8 | \end{center} 9 | \end{exercise} -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-nfa-grammatik.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben ist der NFA 4 | $\mathcal{M}=(\{q_0,q_1,q_2,q_3,q_4,q_5\},\{a,b\},\delta ,\{q_0\}, \{q_3,q_4\})$ mit $\delta$: 5 | \begin{center} 6 | \input{pool/graphics/sprachen-nfa-grammatik} 7 | \end{center} 8 | Geben Sie eine reguläre Grammatik an, die die Sprache $L(\mathcal{M})$ erzeugt. 9 | \end{exercise} 10 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-regulaerer-ausdruck-sprachen.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Welche Sprachen $L(r_i)$ werden durch folgende reguläre Ausdrücke $r_i$ beschrieben? \begin{enumerate} \item $r_1 = bb^*\mid (bb)^*a$ \item $r_2 = a^*b(aa^*b)^*b(a\mid b)^*$ \item $r_3 = a^*\mid a^*(b\mid bb)(aa^*(b\mid bb))^*a^*$ \end{enumerate} 4 | \end{exercise} 5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | 7 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-sprache-regulaerer-ausdruck.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Entwickeln Sie f\"ur die Sprache $L$ \"uber dem 3 | Alphabet $\Sigma=\{a,b,c\}$ einen regul\"aren Ausdruck $r$ 4 | mit $L=L(r)$. F\"ur alle W\"orter $w\in L$ gilt: 5 | \begin{itemize} \item $w$ enth\"alt $aaa$. \item $w$ endet mit $c$. \item Die Anzahl der $b$ in $w$ ist gerade. \end{itemize} 6 | 7 | \end{exercise} -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-nerode-minimal-dfa.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben ist der regul\"are Ausdruck $\alpha = (bb)^*a$. 4 | \begin{enumerate} 5 | \item Geben Sie f\"ur $\alpha$ die {\it{Nerode}}-Rechtskongruenz $\;\simeq_{L(\alpha)}\;$ an. 6 | \item Geben Sie einen minimalen DFA ${\mathcal M}$ an mit $L({\mathcal M})= L(\alpha)$. 7 | \end{enumerate} 8 | \end{exercise} 9 | 10 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/736.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Beweisen oder widerlegen Sie folgende Aussage. 4 | 5 | Ist $L \subseteq \Sigma^*$ eine kontextfreie Sprache, so ist auch 6 | $$\pi(L) \ = \ \{a_1 \ldots a_n \in \Sigma^*: \ \mbox{Es existiert eine Permutation} \ (i_1 \ldots i_n) \ \mbox{von} \ (1 \ldots n), \ \mbox{so da{\ss}} \ a_{i_1} \ldots a_{i_n} \in L \} $$ 7 | kontextfrei. 8 | 9 | \end{exercise} 10 | -------------------------------------------------------------------------------- /Uebungen/pool/dfa-quotientenautomat.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Berechnen Sie für folgenden DFA $\mathcal{M}=(\{q_0,q_1,q_2,q_3,q_4,q_5\},\{a,b\},\delta,q_0,\{q_1,q_2,q_4\})$ mit $\delta$: 3 | 4 | \begin{center} 5 | \input{pool/graphics/dfa-quotientenautomat} 6 | \end{center} 7 | die Äquivalenzrelation 8 | $\sim_{\mathcal{M}}$, und geben Sie den Quotientenautomaten ${\mathcal{M}}/_\sim$ an. 9 | \end{exercise} 10 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-kontextfrei-nachweis.tex: -------------------------------------------------------------------------------- 1 | 2 | % sprachen-kontextfrei-abschlusseigenschaften teil a und b 3 | \begin{exercise} 4 | Beweisen Sie mithilfe der Abschlu\ss{}eigenschaften f\"ur kontextfreie Sprachen, 5 | dass die nachfolgende Sprache $$L_0=\{a^ib^jc^k \mid i=j \;\text{oder}\; j=k\;\text{mit}\;i,j,k\ge 1\}$$ 6 | kontextfrei ist und geben dann eine kontextfreie Grammatik $G_0$ für $L_0$ an mit $L_0=L(G_0)$. 7 | \end{exercise} 8 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-regulaerer-ausdruck-nfa.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Geben Sie zu jedem der regulären Ausdrücke $r_i$ einen 3 | NFA $\mathcal M_i$ mit $L(\mathcal M_i)=L(r_i)$ an. 4 | \begin{enumerate} \item $r_1 = (ab)^*$ \item $r_2 = a(b \mid c)a^* \mid a^*$ % \item $r_3 = (bb\mid cc^*)^*$ \end{enumerate} 5 | Wenden Sie dabei den {\emph{kompositionellen Ansatz zur Konstruktion von NFAs}} 6 | aus der Vorlesung an. 7 | \end{exercise} 8 | 9 | -------------------------------------------------------------------------------- /Uebungen/pool/nfa-aequivalenz-einfach.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | 4 | Zeigen Sie konstruktiv, dass 5 | \begin{itemize} \item für jeden NFA $\mathcal{M}$ mit mehreren Startzuständen ein äquivalenter NFA $\mathcal{M'}$ mit nur einem Startzustand existiert bzw. \item für jeden NFA $\mathcal{M}$ mit mehreren Finalzuständen ein äquivalenter NFA $\mathcal{M'}$ mit nur einem Finalzustand existiert. Gilt die letzte Aussage auch für DFAs? \end{itemize} \end{exercise} 6 | 7 | 8 | -------------------------------------------------------------------------------- /Uebungen/pool/resolution-1.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \label{logic:resolution-1} 3 | Prüfen Sie folgende Formeln mittels Resolutionsverfahren auf 4 | Erfüllbarkeit: 5 | \begin{enumerate} 6 | \item $b \wedge (a \vee b) \wedge (\neg b \vee c) \wedge (\neg b \vee 7 | \neg c) \wedge (\neg a \vee c)$ 8 | \item $\neg \Bigl(c \rightarrow \bigl((\neg a \wedge b \wedge c) \vee (a \wedge 9 | \neg b)\bigr)\Bigr)$ 10 | \end{enumerate} 11 | \end{exercise} 12 | 13 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-operatoren-monoton.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben sind ein beliebiges Alphabet $\Sigma$ und die Sprachen $L_1,L_2,L_3,L_4\subseteq \Sigma^*$. 4 | Zeigen Sie, dass die Operationen $\cup ,\;\circ$ und $^*$ monoton sind, 5 | d.h. für $L_1\subseteq L_3$ und $L_2\subseteq L_4$ gilt: 6 | \begin{enumerate} 7 | \item $L_1\cup L_2\subseteq L_3 \cup L_4$ 8 | \item $L_1\circ L_2\subseteq L_3 \circ L_4$ 9 | \item ${L_1}^*\subseteq {L_3}^*$ 10 | \end{enumerate} 11 | \end{exercise} 12 | -------------------------------------------------------------------------------- /Uebungen/pool/nfa-dfa-konstruktion.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Gegeben ist der $\varepsilon$-NFA $\mathcal{M} = (\{q_0,q_1,q_2,q_3,q_4\}, \{a, b\}, 3 | \Delta, \{q_{0}\}, \{q_{2}\})$ mit $\Delta$: 4 | \begin{center} 5 | \input{pool/graphics/nfa-dfa-konstruktion} 6 | \end{center} 7 | 8 | \begin{enumerate} 9 | \item Konstruieren Sie einen zu $\mathcal M$ äquivalenten DFA $\mathcal M'$. 10 | \item Geben Sie den zu $\mathcal M'$ reduzierten DFA $\mathcal M'_r$ an. 11 | \end{enumerate} 12 | \end{exercise} 13 | 14 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-kontextfrei-cnf-cyk.tex: -------------------------------------------------------------------------------- 1 | 2 | % 731 CYK Teil 3 | % 734 CYK Teil d 4 | 5 | \begin{exercise} 6 | Gegeben seien $L_1,L_2,L_3$ wie in Aufgabe 2. 7 | Wenden Sie den CYK-Algorithmus für folgende Instanzen an 8 | um zu prüfen ob das jeweilige Wort zur entsprechenden 9 | Sprache geh"ort: 10 | 11 | 12 | \begin{enumerate} 13 | \item [(a)] $L_1$ mit $w=abba$ sowie $w=aba$ 14 | \item [(b)] $L_2$ mit $w=aababb$ 15 | \item [(c)] $L_3$ mit $w=ababbaba$ 16 | \end{enumerate} 17 | \end{exercise} 18 | 19 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-wiederholung-einfach.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | 4 | \begin{enumerate} 5 | \item[S3)] Wiederholen Sie die Begriffe: 6 | Alphabet, Wort, formale Sprache, Grammatik, Typ einer Grammatik, Typ einer Sprache, 7 | deterministischer endlicher Automat, nichtdeterministischer endlicher Automat und reguläre Sprache. 8 | \item[S4)] Zeigen oder widerlegen Sie folgende Identität 9 | \[ 10 | ({L_1}^{*}\circ {L_2}^{*})^{*}=(L_1\cup L_2)^{*}\,. 11 | \] 12 | \end{enumerate} 13 | 14 | \end{exercise} 15 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/975.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Geben Sie pr\"azise eine deterministische Turingmaschine $\T$ zur Erkennung der Sprache 4 | $L \ = \ \bigl\{ a^nb^mc^k: n,m,k \geq 1, n=2m \ \text{oder} \ m = k\}$ an. 5 | Sie k\"onnen wahlweise eine Ein- oder Mehrband-DTM verwenden. 6 | 7 | \begin{itemize} 8 | \item [(a)] 9 | 10 | Begr\"unden Sie, warum ${\mathcal L}(\T) = L$. 11 | 12 | \item [(b)] 13 | Geben Sie die Berechnungen f\"ur $w_1 = abcc$ und $w_2 = aabc$ an. 14 | \end{itemize} 15 | \end{exercise} 16 | 17 | -------------------------------------------------------------------------------- /Uebungen/pool/dfa-nfa.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | \vspace*{0.1cm} 4 | \begin{itemize} 5 | \item[a)] Erklären Sie, wann zwei NFAs $\mathcal{M}_1$ und $\mathcal{M}_2$ äquivalent sind. 6 | \item[b)] Geben Sie einen DFA $\mathcal{M}'$ an, der zum NFA $\mathcal{M}=(\{q_0,q_1,q_2\},\{a,b\},\delta, \{q_0\}, \{q_2\})$ äquivalent ist; 7 | für $\mathcal{M}$ ist die Übergangsfunktion $\delta$ grafisch angegeben:\\[0.5cm] 8 | \begin{center} 9 | \input{pool/graphics/dfa-nfa} 10 | \end{center} 11 | \end{itemize} 12 | \end{exercise} 13 | 14 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-regulaere-ausdruecke-gleichheit.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Beweisen Sie die folgenden Gleichungen für reguläre Ausdrücke $r$, $s$ und $t$ ($r\equiv s$ bedeutet $L(r)=L(s))$: \begin{enumerate} \item $r\mid s\equiv s\mid r$ \item $(r\mid s)\mid t\equiv r\mid (s\mid t)$ \item $(rs)t\equiv r(st)$ \item $r(s\mid t)\equiv rs\mid rt$ \item $\emptyset^*\equiv \varepsilon$ \item $(r^*)^*\equiv r^*$ \item $r^*\equiv rr^*\mid \varepsilon$ \item $(\varepsilon \mid r)^*\equiv r^*$ \end{enumerate} 3 | \end{exercise} 4 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-kontextfrei-pumping.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Welche der folgenden Sprachen $L_i$ ist kontextfrei? Zur Begr"undung 3 | Ihrer Antwort sollten Sie das Pumping-Lemma f"ur kontextfreie 4 | Sprachen verwenden oder eine entsprechende kontextfreie Grammatik 5 | angeben. 6 | \begin{enumerate} 7 | \item $L_1 =\{ a^n b^n c^n d^n \in \{a,b,c,d\}^* \mid n\ge 1 \}$ 8 | \item $L_2 =\{ a^mb^n c^pd^q \in \{a,b,c,d\}^* \mid m,n,p,q \ge 1 9 | \text{ und } m+n = p + q \}$ 10 | \end{enumerate} 11 | \end{exercise} 12 | 13 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-regularitaet-inkl-pumping.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben ist das Alphabet $\Sigma = \{a,b\}$. Welche der folgenden 4 | Sprachen $L_i$ \"uber $\Sigma$ mit $1\le i\le 3$ ist regul\"ar? Beweisen Sie Ihre jeweilige 5 | Antwort. 6 | \begin{itemize} 7 | \item[a)] $L_1=\{a^ib^i\mid i\ge 1\}$ 8 | \item[b)] $L_2=\{xyz\mid x,y\in \Sigma^*, \ |x|\ge 1,|y|\ge 1, z=sp(x)\}\;\;\;$\\ 9 | {\emph{Hinweis}}: $sp(x)$ bildet das Spiegelwort zu $x$. 10 | \item[c)] $L_3=\{a^{i^2}\mid i\ge 1\}$ 11 | \end{itemize} 12 | \end{exercise} 13 | 14 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-dfa-einfach.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Geben Sie jeweils einen DFA ${\mathcal{M}}_i$ an, der die Sprache $L_i$ akzeptiert: 4 | \begin{enumerate} 5 | \item $L_1=\{a^nbac^m\mid \text{$m,n>0$, $n$ ist gerade und $m$ ist ungerade}\}$ 6 | \item $L_2=\big\{w \in \{0,1\}^* \mid \exists i \in \{0,1\}, \text{ sodass } i \text{ Suffix von } w \text{ ist und } |w|_i \text{ mod } 2=1 \text{ gilt.}\big\}$ 7 | \end{enumerate} 8 | Hierbei bezeichnet $|w|_i$ mit $i\in \{0,1\}$ die Anzahl an $i$'s in $w$. 9 | \end{exercise} 10 | 11 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-turingmaschine-ai_bi_ci-star.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | \begin{enumerate} 4 | \item[S19)] Geben Sie eine Turingmaschine $\mathcal{M}_{abc}$ an, welche die Sprache $L=\{a^ib^ic^i \mid i\ge 0\}$ erkennt.\\[0.2cm] 5 | {\textit{Hinweis}}: Nutzen Sie die skizzenhafte Beschreibung der Arbeitsweise f\"ur eine solche TM aus der Vorlesung. Neben der Darstellung in Diagrammform ist ebenfalls die Darstellung der \"Ubergangsfunktion $\delta$ in Tabellenform m\"oglich. Achten Sie auf die Kommentare in der Tabelle. 6 | \end{enumerate} 7 | \end{exercise} 8 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-regulaerer-ausdruck-einfach.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben sind das Alphabet $\Sigma=\{a,b,c\}$ und die Sprache\\[0.2cm] $L= \{w\in \Sigma^* \mid \begin{array}[t]{@{\,}l} \mbox{es gibt } u,v\in \Sigma^* \mbox{ mit } w = u babc v \mbox{ und }\\ \mbox{es gibt } u,v\in \Sigma^* \mbox{ mit } w = u ccc v \mbox{ und }\\ \mbox{es gibt kein } u \in \Sigma^* \mbox{ mit } w = au\} . \end{array} $\\[0.2cm] Geben Sie für $L$ einen regulären Ausdruck $r$ mit $L=L(r)$ an. 4 | \end{exercise} 5 | -------------------------------------------------------------------------------- /Uebungen/pool/junctor-1.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \label{logic:junctor-1} 3 | \begin{enumerate}[label={\alph*)}] 4 | \item Es sei $\varphi$ eine Formel, die ausschließlich den Junktor 5 | $\rightarrow$ verwendet. Zeigen Sie: Wenn $w(p_i) = 1$ für alle $p_i \in 6 | \Var(\varphi)$ ist, dann ist auch $w(\varphi) = 1$. 7 | \item Es sei $\varphi$ eine allgemeine aussagenlogische Formel. Beweisen oder 8 | widerlegen Sie: $\varphi$ ist äquivalent zu einer Formel, die ausschließlich 9 | den Junktor $\rightarrow$ verwendet. 10 | \end{enumerate} 11 | \end{exercise} 12 | -------------------------------------------------------------------------------- /Uebungen/pool/truth-table-1.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \label{logic:truth-table-1} 3 | Zeigen Sie, welche der folgenden Aussagen gültig sind und welche nicht: 4 | \begin{enumerate}[label={\alph*)}] 5 | \item $\{ (\neg a \vee b), (\neg b \vee c), (b \wedge c) \} 6 | \models ((a \leftrightarrow b) \vee c)$ 7 | \item $\{ (a \rightarrow b), (c \vee a), (a \rightarrow \neg b), 8 | \neg c \} \models a$ 9 | \item $\{ (a \wedge \neg b) \vee (\neg a \wedge b), (\neg c 10 | \wedge b), \neg (\neg a \vee b) \} \models \neg(a \vee b)$ 11 | \end{enumerate} 12 | \end{exercise} 13 | 14 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/sprachen-wiederholung.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{tikzpicture}[node distance=2cm, auto] 3 | \node[state,initial,initial text= ] (q0) {$q_0$}; 4 | \node[state] (q1) [right of=q0] {$q_1$}; 5 | \node[state] (q2) [right of=q1] {$q_2$}; 6 | \node[state, accepting] (q3) [right of=q2] {$q_3$}; 7 | 8 | \path[->] (q0) edge [loop above] node {$a,b$} () 9 | edge node {$b$} (q1) 10 | (q1) edge node {$a$} (q2) 11 | (q2) edge node {$b$} (q3) 12 | (q3) edge [loop above] node {$a,b$} () 13 | ; 14 | \end{tikzpicture} 15 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-grammatik-epsilon-frei.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben ist die Grammatik $G=(\{S,A,B,C,D\},\{a,b,c\},P,S)$ mit 4 | \begin{eqnarray*} 5 | P & = & \{S\longrightarrow AB, S\longrightarrow C, S\longrightarrow \varepsilon, 6 | A\longrightarrow aA, A\longrightarrow \varepsilon, B\longrightarrow bBc, B\longrightarrow Bc, B\longrightarrow\varepsilon,\\ 7 | & & C\longrightarrow aCc, C\longrightarrow Cc, C\longrightarrow D, D\longrightarrow aD, D\longrightarrow \varepsilon\}. 8 | \end{eqnarray*} 9 | Geben Sie eine zu $G$ äquivalente $\varepsilon$-freie Grammatik $G'$ an. 10 | \end{exercise} 11 | -------------------------------------------------------------------------------- /Vorlesungen/beamerinnerthemetud.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{beamerinnerthemetud}[2011/01/17 v1 TU Dresden 2 | corporate design inner theme] 3 | \beamertemplatedotitem 4 | \usesubitemizeitemtemplate{--} 5 | 6 | %\def\today{\number\day.\,\number\month.\,\number\year} 7 | 8 | \addtobeamertemplate{block end}{}{\colorlet{structure}{text}} 9 | \let\@oldendbeamerboxesrounded\endbeamerboxesrounded 10 | \def\endbeamerboxesrounded{% 11 | \@oldendbeamerboxesrounded 12 | \setbeamercolor{structure}{fg=text,bg=white}% 13 | \usebeamercolor{normal text}% 14 | \color{fg}% 15 | \colorlet{beamerstructure}{text} 16 | \colorlet{beamerstructure}{text} 17 | } -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-grammatik-typ.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben ist die Grammatik $G=\tuple{V,\Sigma,P,S}$ mit 4 | $V=\{S,B\}, \Sigma=\{a,b,c\}$ und\\ 5 | $P=\{S\rightarrow aSBc,\;S\rightarrow abc,\;cB\rightarrow B,\;cB\rightarrow Bc,\;bB\rightarrow bb\}$. 6 | \begin{itemize} 7 | \item[a)] Von welchem maximalen Typ ist $G$? Begründen Sie Ihre Antwort. 8 | \item[b)] Bestimmen Sie drei Wörter $w$ der Sprache $L(G)$. Begründen Sie Ihre 9 | Antwort. 10 | \item[c)] Gilt $\varepsilon \in L(G)$? Begründen Sie Ihre Antwort. 11 | \item[d)] Beschreiben Sie die durch $G$ erzeugte Sprache $L(G)$. 12 | \end{itemize} 13 | \end{exercise} 14 | 15 | -------------------------------------------------------------------------------- /Uebungen/pool/modelling-the-graph-coloring-problem.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \label{logic:modelling-the-graph-coloring-problem} 3 | Eine \emph{$k$-Färbung} für einen endlichen Graphen $G$ ist eine 4 | Zuordnung der Knoten von $G$ zu Werten (\enquote{Farben}) in $\{\,1, \dots, 5 | k\,\}$, so dass Knoten, die in $G$ durch eine Kante verbunden sind, nicht 6 | denselben Wert zugeordnet bekommen. 7 | 8 | Geben Sie für einen endlichen Graphen $G = (V,E)$ mit $n$ Knoten und einen 9 | Wert $k$ eine aussagenlogische Formel $\phi_{G,k}$ an, so dass $\phi_{G,k}$ 10 | genau dann erfüllbar ist, wenn es eine $k$-Färbung von $G$ gibt. 11 | \end{exercise} 12 | 13 | -------------------------------------------------------------------------------- /Uebungen/pool/truth-table-2.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \label{logic:truth-table-2} 3 | \begin{enumerate} 4 | \item [S20)] 5 | 6 | Prüfen Sie mittels Wahrheitstabellen, welche der folgenden Formeln 7 | allgemeingültig, erfüllbar oder unerfüllbar sind. 8 | \begin{enumerate}[label={\alph*)}] 9 | \item $(a \leftrightarrow ((a \wedge \neg a) \vee a))$ 10 | \item $((a \rightarrow b) \rightarrow (\neg a \rightarrow \neg b))$ 11 | \item $(((a \rightarrow b) \vee (c \rightarrow a)) \wedge (b \leftrightarrow a))$ 12 | \item $(((\neg a \rightarrow b) \wedge (b \rightarrow c)) \wedge \neg c)$ 13 | \end{enumerate} 14 | \end{enumerate} 15 | \end{exercise} 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /Vorlesungen/auto/ 2 | /Vorlesungen/lecture-??.vrb 3 | /Vorlesungen/lecture-??.aux 4 | /Vorlesungen/lecture-??.log 5 | /Vorlesungen/lecture-??.nav 6 | /Vorlesungen/lecture-??.out 7 | /Vorlesungen/lecture-??.pdf 8 | /Vorlesungen/lecture-??.snm 9 | /Vorlesungen/lecture-??.synctex.gz 10 | /Vorlesungen/lecture-??.toc 11 | /Vorlesungen/lecture-??.fls 12 | /Vorlesungen/lecture-??.fdb_latexmk 13 | /Vorlesungen/FS????-Vorlesung-??-overlay.pdf 14 | /Vorlesungen/FS????-Vorlesung-??-print.pdf 15 | /Uebungen/auto/ 16 | /Uebungen/blatt-??.aux 17 | /Uebungen/blatt-??.log 18 | /Uebungen/blatt-??.pdf 19 | /Uebungen/blatt-??.fls 20 | /Uebungen/blatt-??.synctex.gz 21 | /Uebungen/blatt-??.fdb_latexmk 22 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-deterministisch-kontextfrei-kellerautomat.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben sei die Sprache $L=\{w\in \Sigma^*\;|\;|w|_a+|w|_b=|w|_c\}$ \"uber dem Alphabet $\Sigma =\{a,b,c\}$, wobei $|w|_a$ der Anzahl der Vorkommen von $a$ in $w$ entspricht. 4 | \begin{enumerate} 5 | \item[a)] Entwerfen Sie einen Kellerautomaten $\mathcal{M}$ mit $L(\mathcal{M})=L$, der mittels Finalzustand akzeptiert. 6 | \item[b)] Welcher andere Akzeptanzbegriff f\"ur Kellerautomaten ist laut Anmerkung in der Vorlesung auch m\"oglich? 7 | \item[c)] Wann ist eine Sprache deterministisch kontextfrei? Ist $L$ deterministisch kontextfrei? 8 | \end{enumerate} 9 | \end{exercise} 10 | 11 | -------------------------------------------------------------------------------- /Uebungen/pool/resolution-3.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \begin{enumerate} 3 | \item [S21)] 4 | \label{logic:resolution-3} 5 | Prüfen Sie mittels Resolution die folgenden Formeln jeweils auf Erfüllbarkeit: 6 | \begin{gather*} 7 | a \wedge \Bigl(( c \wedge b) \wedge \bigl((\neg c \vee \neg b ) \vee 8 | (a \wedge (c \wedge b))\bigr)\Bigr) \\[1ex] 9 | (\neg a \vee \neg b) \wedge 10 | ( a \vee b) \wedge 11 | (\neg a \vee c ) \wedge 12 | ( a \vee \neg c) \wedge {} 13 | ( b \vee \neg d) \wedge 14 | (\neg b \vee d) \wedge 15 | (\neg c \vee d) \wedge 16 | (c \vee \neg d) 17 | \end{gather*} 18 | \end{enumerate} 19 | \end{exercise} 20 | -------------------------------------------------------------------------------- /Uebungen/pool/dfa-quotientenautomat-vertraeglichkeit.tex: -------------------------------------------------------------------------------- 1 | \newcommand{\simquot}[1]{#1/_{\!\!{\sim}}} 2 | 3 | \begin{exercise} 4 | Beweisen Sie Lemma~$\varheartsuit$ aus Vorlesung~8: 5 | 6 | \begin{center} 7 | Sei $\mathcal{M} = \tuple{Q, \Sigma, \delta, q_{0}, F}$ ein totaler DFA und 8 | $\simquot{\mathcal{M}} = \tuple{\simquot{Q}, \Sigma, \delta_{\sim}, 9 | [q_{0}]_{\sim}, \simquot{F}}$ der zugehörige Quotientenautomat. Dann gilt für beliebige $q \in Q$ und 10 | $w \in \Sigma^{*}$: 11 | \begin{equation*} 12 | [\delta(q, w)]_{\sim} = \delta_{\sim}([q]_{\sim}, w). 13 | \end{equation*} 14 | \end{center} 15 | 16 | Hinweis: Induktion über $|w|$. 17 | \end{exercise} 18 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/nfa-wiederholung-einfach.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{tikzpicture} [->, >=stealth', initial text=, auto, node 3 | distance=23mm, bend angle=20, semithick]%[node distance=2cm,auto] \node[state,initial] (q_0) {$q_0$}; \node[state] (q_1) [above right of=q_0] {$q_1$}; \node[state,accepting] (q_2) [right of=q_1] {$q_2$}; \node[state] (q_3) [below of=q_1] {$q_3$}; \node[state] (q_4) [right of=q_3] {$q_4$}; \path[->] (q_0) edge node {$a$} (q_1) (q_0) edge node {$b$} (q_3) (q_1) edge node {$a, b$} (q_3) (q_1) edge node {$\varepsilon$} (q_2) (q_2) edge node {$a$} (q_3) (q_2) edge node {$a$} (q_4) (q_3) edge node {$b$} (q_4) (q_4) edge [loop right] node {$a$} (q_4) ; \end{tikzpicture} -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-kontextfrei-cyk.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Gegeben ist folgende Grammatik $G=(V,\Sigma,P,S)$ mit\\[0.2cm] 3 | $V=\{S,X,M,A,B\}$, $\Sigma=\{a,b\}$ und \\ 4 | $P=\{S\longrightarrow \varepsilon,S\longrightarrow AX,S\longrightarrow AB,X\longrightarrow MB,M \longrightarrow AB,M \longrightarrow AX,A \longrightarrow a,$\\ 5 | \hspace*{1cm}$B\longrightarrow a,B \longrightarrow b\}$\,.\\[0.2cm] 6 | Verwenden Sie den CYK-Algorithmus (mit der Matrix-Notation aus der 7 | Vorlesung), um für die folgenden Wörter $w_i$ zu entscheiden, ob 8 | $w_i\in L(G)$ ist. 9 | 10 | \begin{enumerate} 11 | \item $w_1 = aaabba$ 12 | \item $w_2 = aabbaa$ 13 | \end{enumerate} 14 | \end{exercise} 15 | 16 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-einfache-identitaeten.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Zeigen oder widerlegen Sie die folgenden Identitäten. Dabei sind $L,L_1,L_2,L_3$ beliebige Sprachen. 4 | \begin{enumerate} 5 | \item $L_1\circ(L_2\cup L_3)=L_1\circ L_2\cup L_1\circ L_3$% 6 | \item $(\{a\}\circ\{b\}\cup\{a\})^{*}\circ\{a\}=\{a\}\circ(\{b\}\circ\{a\}\cup\{a\})^{*}$ 7 | \item $(\{a\}\cup\{b\})^{*}=\{a\}^{*}\cup\{b\}^{*}$ 8 | \item $\emptyset^{*}=\{\varepsilon\},\quad (\{\varepsilon\}\cup L)^{*}=L^{*},\quad (L^{*})^{*}=L^{*}$ 9 | \item $({L_1}^{*}\cup {L_2}^{*})^{*}=(L_1\cup L_2)^{*}$ 10 | \item $L\circ L^{*}=L^{+},\quad L^{*}\circ L^{*}=L^{*},\quad L^* \cup L=L^{*}$ 11 | \end{enumerate} 12 | \end{exercise} 13 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-kontextfrei.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Beweisen oder widerlegen Sie unter Verwendung von Resultaten aus der Vorlesung folgende Aussagen. 4 | \begin{enumerate} 5 | \item Für jede reguläre Sprache $L$ kann eine kontextfreie 6 | Grammatik $G$ mit $L=L(G)$ angegeben werden. 7 | %\item Für jede kontextfreie Sprache $L$ kann eine reguläre 8 | % Grammatik $G$ mit $L=L(G)$ angegeben werden. 9 | \item Wenn $L$ von einem DFA erkannt werden kann und $L\subseteq L'$ gilt, 10 | so kann $L'$ ebenfalls von einem DFA erkannt werden. 11 | \item Wenn $L$ von einem DFA erkannt werden kann und $L'\subseteq L$ gilt, 12 | so kann $L'$ ebenfalls von einem DFA erkannt werden. 13 | \end{enumerate} 14 | \end{exercise} 15 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-dfa-regulaerer-ausdruck.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben ist der DFA $\mathcal M=(\{q_0,q_1,q_2\},\{a,b\},\delta , q_0,\{q_0\})$ mit $\delta$: 4 | \begin{center} 5 | \input{pool/graphics/sprachen-dfa-regulaerer-ausdruck} 6 | \end{center} 7 | Geben Sie einen regul\"aren Ausdruck $\alpha$ an, der die von $\mathcal M$ akzeptierte Sprache repr\"asentiert, d.\,h. es gilt $L(\alpha)=L(\mathcal M)$.\\[0.2cm] 8 | 9 | Hinweis: Zur Lösung können Sie die Ersetzungsmethode (vgl. Vorlesung) verwenden: geben Sie hierzu für jeden Zustand $q_i$ des 10 | Automaten eine Gleichung $\alpha_{i}=\,\ldots\,$ an. Lösen Sie anschlie\ss{}end 11 | das Gleichungssystem mithilfe des {\itshape{Arden-Lemmas}}. 12 | \end{exercise} 13 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-grammatik-kontextfrei-einfach.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | 4 | \begin{enumerate} 5 | \item[S7)] Gegeben ist die kontextfreie Grammatik $G=(V,\Sigma,P, S)$ mit $V = \{S,X,Y,T\}$, 6 | $\Sigma=\{a,b\}$ und 7 | $P=\{S\rightarrow X, S\rightarrow Y, X\rightarrow Tb, Y\rightarrow aT, X\rightarrow Xb, Y\rightarrow aY, T\rightarrow \varepsilon, T\rightarrow aTb\}.$ 8 | Geben Sie eine Grammatik $G'$ an mit $L(G')=\{w\in\{a,b\}^*\mid w^R\in L(G)\}$, wobei $w^R$ das gespiegelte Wort zu $w$ ist. \item[S8)] Gegeben ist die Grammatik $G$ aus der Aufgabe S7). Ist $G$ eine $\varepsilon$-freie Grammatik? Wenn nicht, transformieren Sie $G$ in eine $\varepsilon$-freie Grammatik $G'$. Begr\"unden Sie Ihre Vorgehensweise. 9 | \end{enumerate} 10 | 11 | \end{exercise} 12 | 13 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-kontextfrei-grammatik-angeben.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Geben Sie für die nachfolgenden Sprachen $L_i$ jeweils 4 | eine (kontextfreie) Grammatik $G_i$ in CNF mit $L_i=L(G_i)$ an: 5 | 6 | \begin{enumerate} 7 | \item [1)] 8 | Es sei $L_1$ genau die Menge der Palindrome "uber $\Sigma = \{ a, b \} $. 9 | 10 | (Palindrome sind W"orter, die vorw"arts und r"uckw"arts gelesen 11 | gleich sind, 12 | 13 | z.B. $ aba, \; abba, \; a, \; \varepsilon , \; bb$) 14 | 15 | \item [2)] 16 | Es sei $L_2$ die Sprache aller $w \in \{ a, b \}^{ * } $ mit 17 | gleicher Anzahl an $a$'s und $b$'s. 18 | 19 | \item [3)] 20 | Es sei $L_3 = \{ (ab)^{n} (ba)^{n} \mid n \geq 0 \}$ 21 | "uber dem Alphabet $ \Sigma = \{ a, b \} $ 22 | 23 | \end{enumerate} 24 | 25 | \end{exercise} 26 | 27 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/705.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Sei $\Sigma$ ein Alphabet und $L, \, L_1, \, L_2 \, \subseteq \, \Sigma^*$ entscheidbare Sprachen. 4 | 5 | Zeigen Sie: 6 | \begin{enumerate} 7 | \item [(a)] 8 | 9 | $L_1 \cup L_2, \, L_1 \cap L_2, L_1 \setminus L_2$ und $L_1 \circ L_2$ sind entscheidbar. 10 | 11 | \item [(b)] 12 | $L^R \, = \, \{w^R :\, w \, \in \, L\}$ ist entscheidbar, 13 | wobei f\"ur $w \, = \, a_1\, ... \, a_{n-1} a_n \in \Sigma^*$: 14 | \[ 15 | w^R \, = \, a_n a_{n-1}\, ... \, a_1 16 | \] 17 | (und $\varepsilon^R \, = \, \varepsilon, \, a^R \, = \, a$ f\"ur $a \, \in \, \Sigma$). 18 | 19 | \item [(c)] 20 | 21 | Jede co-endliche Sprache ist entscheidbar. 22 | Dabei wird $L$ co-endlich genannt, wenn $\overline{L}$ endlich ist. 23 | 24 | \end{enumerate} 25 | 26 | \end{exercise} 27 | 28 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/739.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Entwerfen Sie einen (nichtdeterministischen) PDA~$\cKeps$ 4 | mit Akzeptanz durch leeren Keller, dessen akzeptierte Sprache 5 | $\cLeps(\cKeps)$ mit der Sprache 6 | \[ 7 | L \, = \, \bigl\{ w \in \{a,b,c\}^* : w = w^R \bigr\} 8 | \] 9 | \"ubereinstimmt, und begr\"unden Sie die Korrektheit. Hierbei bezeichnet $w^R$ das 10 | Wort $w$ in umgekehrter Zeichenfolge. 11 | % 12 | %Wenden Sie dann die in der Vorlesung besprochene 13 | %Transformation an, die $\cKeps$ 14 | Transformieren Sie $\cKeps$ in einen \"aquivalenten 15 | (nichtdeterministischen) PDA~$\cK_F$ mit Akzeptanz 16 | \"uber Endzust\"ande. 17 | % transformiert. 18 | Geben Sie jeweils einen akzeptierenden Lauf von 19 | $\cKeps$ und $\cK_F$ f\"ur die W\"orter $ababa$ 20 | und $abba$ an. 21 | 22 | \end{exercise} 23 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/nfa-zwei-aequivalente.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{tikzpicture} [->, >=stealth', initial text=, auto, node distance=17mm, bend angle=20, semithick] \node[state,initial,initial text= ] (q0) {$q_0$}; \node[state] (q1) [above right of=q0] {$q_1$}; \node[state] (q2) [below right of=q1] {$q_2$}; \node[state] (q3) [above right of=q2] {$q_3$}; \node[state,accepting] (q4) [below right of=q3] {$q_4$}; 3 | \path[->] (q0) edge node {$a$} (q1) edge node {$\varepsilon$} (q2) (q1) edge [loop above] node {$a$} (q1) edge node {$c$} (q2) (q2) edge node {$b$} (q3) edge node {$\varepsilon$} (q4) (q3) edge [loop above] node {$b$} (q3) edge node {$d$} (q4) ; 4 | \end{tikzpicture} -------------------------------------------------------------------------------- /Uebungen/pool/formula-size.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \label{logic:formula-size} 3 | Für eine Formel $F$ ist die Größe \size{F} definiert durch: 4 | \begin{align*} 5 | \size{p} &:= 1 \\ 6 | \size{\lnot G} &:= \size{G} + 1 \\ 7 | \size{(G_1 \vee G_2)} &:= \size{G_1} + \size{G_2} + 1 \\ 8 | \size{(G_1 \wedge G_2)} &:= \size{G_1} + \size{G_2} + 1 \\ 9 | \size{(G_1 \rightarrow G_2)} & := \size{G_1} + \size{G_2} + 1 \\ 10 | \size{(G_1 \leftrightarrow G_2)} & := \size{G_1} + \size{G_2} + 1, 11 | \end{align*} 12 | wobei $G_1$ und $G_2$ Formeln sind und $p \in {\mathcal{P}}$ ist. Zeigen Sie 13 | die folgenden Aussagen: 14 | \begin{enumerate}[label={\alph*)}] 15 | \item Die Anzahl der Variablen in $F$ ist beschränkt durch $\size{F}$. 16 | \item Die Anzahl der Unterformeln in $F$ ist beschränkt durch $\size{F}$. 17 | \end{enumerate} 18 | \end{exercise} 19 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/dfa-nfa.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{tikzpicture}[->, 3 | >=stealth', 4 | semithick, 5 | initial text=, 6 | shorten <=2pt, 7 | shorten >=2pt, 8 | auto, 9 | on grid, 10 | node distance=5ex and 5em, 11 | every state/.style={minimum size=0pt,inner sep=2pt,text height=1.5ex,text depth=.25ex}, 12 | bend angle=15] 13 | 14 | \begin{scope} 15 | \node[state, initial] (q_0) {$q_{0}$}; 16 | \node[state] (q_1) [right=4 of q_0] {$q_{1}$}; 17 | \node[state, accepting] (q_2) [below right=2 and 2 of q_0] {$q_{2}$}; 18 | 19 | \path 20 | (q_0) edge[bend left] node {$b$} (q_1) 21 | (q_1) edge[bend left] node {$b$} (q_0) 22 | (q_0) edge node[below left] {$a,b$} (q_2) 23 | (q_1) edge node {$b$} (q_2); 24 | \end{scope} 25 | 26 | \end{tikzpicture} 27 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-deterministisch-kontextfrei-richtig-falsch.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Welche der folgenden Aussagen sind wahr und welche nicht? Begr"unden Sie Ihre 3 | Antworten -- dabei d"urfen Sie den gesamten Stoff und alle Resultate 4 | der Vorlesung und "Ubung verwenden. 5 | \begin{enumerate} 6 | \item[a)] Es gibt eine Sprache, die von einem nichtdeterministischen Kellerautomaten erkannt wird, nicht aber von einem deterministischen Kellerautomaten. 7 | \item[b)] Mithilfe des Pumping-Lemmas f\"ur kontextfreie Sprachen kann 8 | bewiesen werden, dass eine Sprache $L$ kontextfrei ist. 9 | \item[c)] F\"ur eine beliebige Sprache $L$ gilt: $L$ ist regul\"ar, wenn es eine nat\"urliche Zahl $n_0\ge 1$ gibt, so dass sich jedes Wort $w\in L$ mit $|w|\ge n_0$ zerlegen l\"asst in $w=xyz$ mit $y\not = \varepsilon, xy^kz\in L$ f\"ur alle $k\ge 0$. 10 | \end{enumerate} 11 | \end{exercise} 12 | 13 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/946.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Im Folgenden bezeichne $\T_w$ eine deterministische 3 | Turingmaschine mit einem Band und dem Eingabe\-alphabet $\Sigma=\{0,1,\#\}$, deren Codewort $\textsf{enc}(\T_w)$ 4 | gleich $w$ ist, falls es ein solches gibt (vgl. Vorlesung 19, Folie 15). 5 | Andernfalls ist $\T_w = \T_{\bot}$, eine fest 6 | gew\"ahlte deterministische Turingmaschine 7 | mit dem Eingabealphabet $\Sigma=\{0,1\}$, die f\"ur alle 8 | Eingabew\"orter endlos l\"auft. 9 | 10 | Ist die nachfolgende Sprache entscheidbar? 11 | \[ 12 | \begin{array}{lcll} 13 | L & = & \bigl\{ \, w \in \{0,1,\#\}^* \, \mid & 14 | \mbox{es gibt ein Wort $z\in \{0,1,\#\}^*$ mit $|z| \leqslant |w|^2$, 15 | so dass $\T_w$} 16 | \\[0.5ex] 17 | & & & 18 | \mbox{das Eingabewort $z$ in h\"ochstens $|z|$ Schritten 19 | akzeptiert} 20 | \, \bigr\} 21 | \end{array} 22 | \] 23 | Begr\"unden Sie Ihre Antwort. 24 | \end{exercise} 25 | 26 | -------------------------------------------------------------------------------- /Uebungen/tikzsettings.tex: -------------------------------------------------------------------------------- 1 | \usetikzlibrary{arrows,automata,positioning,shapes,calc,decorations.pathmorphing,matrix} 2 | 3 | \tikzstyle{automaton}=[->, >=stealth', initial text=, auto, node distance=20mm, bend angle=20, semithick, x=20mm, y=20mm] \tikzset{ every state/.style={ inner sep=0pt, minimum size=8mm }, small state/.style={ state, minimum size=3mm }, ellipse state/.style={ draw, shape=ellipse, minimum width=20mm, minimum height=12.36mm, text width=14.5mm, inner sep=0mm, path picture={ \draw (path picture bounding box.east) ellipse [x radius=9mm, y radius=9mm]; } }, accepting ellipse state/.style={ ellipse state, path picture={ \clip (path picture bounding box.east) ellipse [x radius=9.4mm, y radius=9.4mm]; \draw[double] (path picture bounding box.east) ellipse [x radius=9mm, y radius=9mm]; \draw[double] (path picture bounding box.center) ellipse [x radius=10mm, y radius=6.18mm]; } } } 4 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/1017.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Sei $\T_w$ wie in Aufgabe~1 und 3 | \[ 4 | t_{\cT_w} (x) 5 | \ \eqdef\ 6 | \mbox{Anzahl der Schritte, die $\cT_w$ bei 7 | Eingabe $x$ durchf\"uhrt.} 8 | \] 9 | 10 | Ist die Sprache $L = \{ w \in \{0,1\}^* \, \mid t_{\T_w}(w) > 2^{|w|} \}$ entscheidbar? 11 | Begr\"unden Sie Ihre Antwort. 12 | %\\[1ex] 13 | %Wie in der Vorlesung bezeichnet 14 | % $\T_w$ eine 15 | %deterministische Einband-Turingmaschine mit dem 16 | % Eingabealphabet $\{0,1\}$, deren Codewort gleich $w$ ist, 17 | % falls es eine solche gibt. 18 | % Andernfalls ist $\T_w$ eine feste nichtdeterministische 19 | % Turingmaschine, die f\"ur jede Eingabe endlos l\"auft. 20 | %$t_{\cT_w} \colon \{0,1\}^* \to \Nat \cup \{\infty\}$ bezeichnet die 21 | %zugeh\"orige Kostenfunktion f\"ur die Zeitkomplexit\"at, also 22 | %$$ 23 | % t_{\cT_w} (x) 24 | % \ \eqdef\ 25 | % \mbox{Anzahl der Konfigurationswechsel, die $\cT_w$ bei 26 | % Eingabe $x$ durchf\"uhrt.} 27 | %$$ 28 | \end{exercise} 29 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/sprachen-dfa-regulaerer-ausdruck.tex: -------------------------------------------------------------------------------- 1 | \begin{tikzpicture}[% 2 | ->, 3 | >=stealth', 4 | semithick, 5 | initial text=, 6 | shorten <=2pt, 7 | shorten >=2pt, 8 | auto, 9 | on grid, 10 | node distance=7ex and 8em, 11 | every state/.style={minimum size=0pt,inner sep=2pt,text height=1.5ex,text depth=.25ex}, 12 | bend angle=20] 13 | \node[state,initial,accepting](q_0) {$q_{0}$}; 14 | \node[state] (q_1) [above right=of q_0] {$q_{1}$}; 15 | \node[state] (q_2) [below right=of q_0] {$q_{2}$}; 16 | \path[->] (q_0) edge[loop above] node[above]{$a$} (q_0); 17 | \path[->] (q_0) edge[bend left] node[above]{$b$} (q_1); 18 | \path[->] (q_1) edge[bend left] node[above]{$a$} (q_0); 19 | \path[->] (q_1) edge[bend left] node[right]{$b$} (q_2); 20 | \path[->] (q_2) edge[loop right] node[right]{$a$} (q_2); 21 | \path[->] (q_2) edge[bend left] node[above right]{$b$}(q_0); 22 | \end{tikzpicture} 23 | -------------------------------------------------------------------------------- /Vorlesungen/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Script to prepare final PDFs for presentation and print. 4 | # 5 | # Usage sh build.sh 6 | 7 | fileprefix="FS2025-Vorlesung-" # the start of generated PDFs 8 | tmpfilename="tmplecturefile" # don't have any files called like this! 9 | 10 | printfilename=$fileprefix$1-print.pdf 11 | overlayfilename=$fileprefix$1-overlay.pdf 12 | 13 | printf "\\documentclass[aspectratio=1610,onlymath,handout]{beamer}\n\n" > $tmpfilename.tex 14 | tail -n +3 lecture-$1.tex >> $tmpfilename.tex 15 | pdflatex $tmpfilename.tex 16 | pdflatex $tmpfilename.tex 17 | mv $tmpfilename.pdf $printfilename 18 | # pdfjam --nup 2x2 --outfile $printfilename $tmpfilename.pdf 19 | 20 | printf "\\documentclass[aspectratio=1610,onlymath]{beamer}\n\n" > $tmpfilename.tex 21 | tail -n +3 lecture-$1.tex >> $tmpfilename.tex 22 | pdflatex $tmpfilename.tex 23 | pdflatex $tmpfilename.tex 24 | mv $tmpfilename.pdf $overlayfilename 25 | 26 | rm $tmpfilename.* 27 | 28 | printf "\n\n*** Finished creating files '$overlayfilename' and '$printfilename' ***\n\n" 29 | -------------------------------------------------------------------------------- /Vorlesungen/beamercolorthemetud.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{beamercolorthemetud}[2011/01/17 v1 Tobias Schlemmer] 2 | 3 | \RequirePackage{tudcolors} 4 | 5 | \definecolor{white}{gray}{1.00} 6 | \definecolor{black}{gray}{0.00} 7 | \definecolor{skyblue}{rgb}{0.80, 0.80, 1.00} 8 | \definecolor{blue}{rgb}{0.20, 0.20, 0.80} 9 | \definecolor{darkblue}{rgb}{0.04, 0.16, 0.32} 10 | %\definecolor{extradarkblue}{rgb}{0.00, 0.15, 0.36} 11 | \definecolor{extradarkblue}{cmyk}{1.00, 0.70, 0.10, 0.50} 12 | \definecolor{turquoise}{rgb}{0.00, 0.80, 0.60} 13 | \definecolor{gray}{gray}{0.59} 14 | \definecolor{darkgray}{gray}{0.50} 15 | 16 | \colorlet{text}{HKS41K100} 17 | \colorlet{frametitle}{HKS92K100} 18 | \colorlet{accent}{turquoise} 19 | \colorlet{alink}{skyblue} 20 | \colorlet{vlink}{lightgray} 21 | \colorlet{alert}{HKS44K100} 22 | 23 | \setbeamercolor{normal text}{fg=text,bg=white} 24 | \setbeamercolor{structure}{fg=text,bg=white} 25 | \setbeamercolor{alerted text}{fg=alert} 26 | \setbeamercolor{frametitle}{fg=frametitle} 27 | \setbeamercolor{block body}{fg=text,bg=white} 28 | \setbeamercolor{block title}{fg=darkblue,bg=white} 29 | -------------------------------------------------------------------------------- /Uebungen/blatt-01.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | 7 | \author{~} 8 | \term{Wintersemester 2017/18} 9 | \title{\Large 1.\@ Übungsblatt} 10 | \course{\LARGE Formale Systeme} 11 | 12 | \input{uebung-macros} 13 | \excludecomment{solution} 14 | 15 | \begin{document} 16 | 17 | \maketitle 18 | 19 | \begin{center} 20 | \begin{mdframed} 21 | \renewcommand{\theexercise}{zur Selbstkontrolle 22 | (diese werden in den Übungen nicht besprochen)} 23 | \input{pool/sprachen-einfache-operatoren} 24 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 25 | % dienen der Selbstkontrolle und werden in der 26 | % Übung nicht besprochen. 27 | \end{mdframed} 28 | \end{center} 29 | 30 | \setcounter{exercise}{0} 31 | 32 | \input{pool/sprachen-operatoren-monoton} 33 | \input{pool/sprachen-einfache-identitaeten} 34 | \input{pool/sprachen-grammatik-hierarchie-einfach} 35 | \input{pool/sprachen-grammatik-typ} 36 | \newpage 37 | \input{pool/sprachen-grammatik-einordnung} 38 | 39 | \end{document} -------------------------------------------------------------------------------- /Uebungen/pool/baier/31.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Wir betrachten das Handlungsreisendenproblem (TSP). 4 | Gegeben ist ein Digraph $G = (V,E)$ mit einer Kostenfunktion $c : E \to \Nat.$ 5 | 6 | \begin{itemize} 7 | \item Die Optimierungsvariante vom Typ 2 fragt nach einer k\"urzesten Rundreise. 8 | \item Die Optimierungsvariante vom Typ 1 fragt nach den Kosten einer k\"urzesten 9 | Rundreise. 10 | \item Die Entscheidungsvariante hat neben $G$ und $c$ eine Zahl $t \in \Nat$ als Eingabe und fragt, ob es eine Rundreise mit den Kosten $\le t$ gibt. 11 | \end{itemize} 12 | Zeigen Sie, dass aus der effizienten L\"osbarkeit\footnote{Mit ``effizienter L\"osbarkeit'' ist die Existenz eines 13 | polynomiell zeitbeschr\"ankten Algorithmus gemeint. 14 | } einer der drei Varianten 15 | die effiziente L\"osbarkeit der beiden anderen Varianten folgt. 16 | 17 | {\bfseries Hinweis}: 18 | Eine Rundreise ist ein Hamiltonkreis, d.h. ein Kreis $v_0v_1\ldots v_n v_0$ in $G$, wobei $n = |V|$ gilt und $v_0, \ldots, v_n$ paarweise verschieden sind. Ein solcher Zyklus durchl\"auft also alle Knoten in $G$ genau einmal. 19 | \end{exercise} 20 | 21 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-grammatik-kontextfrei-cnf.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | Betrachten Sie die Grammatik \\[0.2cm] 3 | $G_0 = (\{S,T,U,V,R\},\{a,b\},\{S\longrightarrow \varepsilon, S\longrightarrow aSb, 4 | S\longrightarrow T, S\longrightarrow R, 5 | T\longrightarrow bbT, T\longrightarrow U,$\\ 6 | \hspace*{1cm} $U \longrightarrow aaU,U \longrightarrow bb T, 7 | V \longrightarrow bSa, R \longrightarrow \varepsilon, 8 | R \longrightarrow bSa\},S)\;.$ 9 | \begin{enumerate} 10 | \item Konstruieren Sie eine Grammatik $G_1$, die 11 | keine Regeln der Form $A\longrightarrow \varepsilon$ für $A\in V$ enthält. 12 | Erweitern Sie dazu, wenn nötig, die Grammatik $G_0$ um ein neues 13 | Startsymbol $S'$ und entsprechende Regeln. 14 | \item Geben Sie zu $G_1$ eine äquivalente Grammatik $G_2$ an, die 15 | keine Kettenregeln, also Produktionen der Form $A\longrightarrow B$ mit 16 | Nichtterminalsymbolen $A,B$, enthält. 17 | \item Geben Sie eine Grammatik $G_3$ in 18 | Chomsky-Normalform an mit $L(G_3) = L(G_2)\setminus \{\varepsilon\}$. 19 | \end{enumerate} 20 | 21 | \end{exercise} 22 | 23 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-regulaere-ausdruecke-begriffswiederholung.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | \begin{enumerate} 4 | \item[S11)] Sei $\Sigma_1 = \{a,b\}$ und $\Sigma_2 =\{a,b,c\}$. Geben Sie für jede der folgenden Sprachen 5 | $L_i$ einen regulären Ausdruck $\alpha_i$ mit $L_i=L(\alpha_i)$ an. Begr\"unden 6 | Sie die von Ihnen gew\"ahlten regulären Ausdrücke $\alpha_i$. 7 | % 8 | \begin{enumerate} 9 | \item $L_1 = \{ w\in \Sigma_1^* \mid w \text{ beginnt mit}\; a \text{ und } 10 | |w|_b \text{ ist gerade}\}$ 11 | \item $L_2 = \{ w\in \Sigma_2^* \mid w \text{ beginnt mit}\; a \text{ und } 12 | |w|_b \text{ ist gerade}\}$ 13 | \item $L_3 = \{ w\in \Sigma_1^* \mid \text{es gibt kein} \;u,v\in 14 | \Sigma_1^* \text{ mit} \;w=uaav\}$ 15 | \item $L_4 = \{ w\in \Sigma_2^* \mid \text{es gibt kein} \;u,v\in \Sigma_2^* \text{ mit} \;w=uaav\}$ 16 | 17 | \end{enumerate} 18 | \item[S12)] Wiederholen Sie die Begriffe Potenzmengenkonstruktion, erreichbarer Zustand, äquivalente Zustände, Quotientenautomat, reduzierter Automat und 19 | {\emph{Nerode}}-Rechtskongruenz. 20 | \end{enumerate} 21 | 22 | \end{exercise} 23 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-beweis-gegenbeispiel-aufgabe.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Beweisen oder widerlegen Sie unter Verwendung von Resultaten aus der Vorlesung folgende Aussagen. 4 | \begin{enumerate} 5 | \item F\"ur die Grammatik $G=(\{S,X,Y,Z\},\{a,b\},\{S\rightarrow Y,\;X\rightarrow b,\;Y\rightarrow aYYb,\;aY\rightarrow aZ,\;ZY\rightarrow ZX,\;Z\rightarrow a\},S)$ gilt: $abab\in L(G)$. 6 | \item Kann eine Sprache $L$ von einem DFA erkannt werden, so gibt es auch einen 7 | $\varepsilon$-NFA $\mathcal M$ mit $L({\mathcal M})=L$. 8 | \item F\"ur jeden NFA $\mathcal M$ mit Wort\"uberg\"angen gibt es einen \"aquivalenten NFA. 9 | \item Es gibt eine regul\"are Sprache, f\"ur welche die Anzahl der \"Aquivalenzklassen der zugeh\"origen {\emph{Nerode}}-Rechtskongruenz endlich ist. 10 | \item Wenn es f\"ur eine Sprache $L$ ein $n\in \mathbb N$ gibt, so dass die {\emph{Nerode}}-Rechtskongruenz $\simeq_L$ höchstens $n$ Äquivalenzklassen hat, so 11 | kann $L$ von einem DFA erkannt werden. 12 | \item F\"ur jede Sprache $L$ gilt: $L = \bigcup\limits_{u \in L} [u]_{\simeq_{L}}\;$, d.\,h. $L$ ist die Vereinigung von $\simeq_{L}$-Klassen. 13 | \end{enumerate} 14 | \end{exercise} 15 | 16 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-grammatik-pumping-einfach.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \begin{enumerate} 3 | \item[S13)] Gegeben sind die Grammatiken $G_1$ und $G_2$. 4 | \begin{itemize} 5 | \item $G_1=(V,\Sigma, P, S)$ mit 6 | $V=\{S,T\},\Sigma=\{a,b\} \;{\rm{und}}$\\ 7 | $P=\{S\rightarrow aT,\;S\rightarrow \varepsilon, T\rightarrow Sb\}$ 8 | \item $G_2=(V,\Sigma, P, S)$ mit 9 | $V=\{S,A,B\},\Sigma=\{a,b\} \;{\rm{und}}$\\ 10 | $P=\{S\rightarrow A,\;S\rightarrow \varepsilon,\;A\rightarrow 11 | ab,\;A\rightarrow aBb,\;aB\rightarrow 12 | aaBb,\; aB\rightarrow a\}$ 13 | \end{itemize} 14 | Geben Sie f"ur jede Grammatik $G\in\{G_1,G_2\}$ jeweils 15 | \begin{enumerate} 16 | \item [a)] das maximale $i$ an, so dass $G$ eine Typ-$i$ Grammatik ist und 17 | \item [b)] das maximale $j$ an, so dass $L(G)$ eine Typ-$j$ Sprache ist. 18 | \end{enumerate} 19 | Begr"unden Sie Ihre Antwort. 20 | \item[S14)] Um mithilfe des Pumping-Lemmas zu zeigen, dass eine Sprache $L$ nicht regul\"ar ist, zeigt man, dass für sie die Aussage des Pumping-Lemmas 21 | nicht gilt.\\ 22 | Zeigen Sie, dass die Sprache $L=\{a^iba^ib\mid i\ge 1\}$ nicht regul\"ar ist. 23 | \end{enumerate} 24 | 25 | \end{exercise} 26 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/nfa-dfa-konstruktion.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{tikzpicture}[% 3 | ->, 4 | >=stealth', 5 | semithick, 6 | initial text=, 7 | shorten <=2pt, 8 | shorten >=2pt, 9 | auto, 10 | on grid, 11 | node distance=7ex and 8em, 12 | every state/.style={minimum size=0pt,inner sep=2pt,text height=1.5ex,text depth=.25ex}, 13 | bend angle=20] 14 | \node[state,initial] (q_0) {$q_0$}; 15 | \node[state] (q_1) [above right=of q_0] {$q_1$}; 16 | \node[state,accepting] (q_2) [right=of q_1] {$q_2$}; 17 | \node[state] (q_3) [below right=of q_0] {$q_3$}; 18 | \node[state] (q_4) [right=of q_3] {$q_4$}; 19 | \path[->] 20 | (q_0) edge node {$\varepsilon$} (q_1) 21 | (q_0) edge node {$b$} (q_3) 22 | (q_3) edge node {$a, b$} (q_1) 23 | (q_1) edge node {$\varepsilon$} (q_2) 24 | (q_2) edge node[above left] {$a$} (q_3) 25 | (q_2) edge[bend left] node {$a$} (q_4) 26 | (q_3) edge node {$b$} (q_4) 27 | (q_4) edge [bend left] node {$a$} (q_2) 28 | (q_4) edge [loop right, white] node [white] {$a,b$} (q_4) ; 29 | \end{tikzpicture} 30 | -------------------------------------------------------------------------------- /Uebungen/pool/nfa-wiederholung-einfach.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \begin{enumerate} 3 | \item[S5)] Es sei der $\varepsilon$-NFA 4 | $\mathcal M=(\{q_0,\ldots ,q_4\},\{a,b\}, \delta , \{q_0\}, \{q_2\})$ 5 | gegeben mit $\delta$ wie unten graphisch dargestellt:\\[1ex] 6 | \begin{center} 7 | \input{pool/graphics/nfa-wiederholung-einfach} 8 | \end{center} 9 | Konstruieren Sie einen zu $\mathcal M$ äquivalenten DFA $\mathcal M'$. 10 | \item[S6)] Es sei $\Sigma = \{a,b,c\}$. Geben Sie NFAs ${\mathcal{M}}_1$, 11 | ${\mathcal{M}}_2$ an mit 12 | \begin{enumerate} 13 | \item $L({\mathcal{M}}_1)=\{w\in \Sigma^* \mid (|w|_a \;\text{ist ungerade und}\;|w|_b \;\text{ist gerade}) \;\text{oder}$\\[0.5ex] 14 | \hspace*{3.245cm}$(\text{es gibt }u,v\in \Sigma^* \;\text{mit} \;w = u ccc v) \}$ 15 | \item $L({\mathcal{M}}_2) = \{w\in \Sigma^* \mid (\text{es gibt} \;u,v\in \Sigma^* \;\text{mit}\; w = u babc v)\;\text{und}$\\[0.5ex] 16 | \hspace*{3.28cm}$(\text{es gibt }u,v\in \Sigma^* \;\text{mit}\; w = u ccc v ) \;\text{und}$\\[0.5ex] 17 | \hspace*{3.3cm}$(\text{es gibt kein}\;u \in \Sigma^* \;\text{mit}\; w = au)\}$ 18 | \end{enumerate} 19 | \end{enumerate} 20 | \end{exercise} 21 | -------------------------------------------------------------------------------- /Uebungen/uebung-macros.tex: -------------------------------------------------------------------------------- 1 | \usepackage{csquotes} 2 | \usepackage{booktabs} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{mathtools} 7 | \usepackage{wasysym} 8 | \usepackage{stmaryrd} 9 | \usepackage{enumitem} 10 | \usepackage{tikz} 11 | \usepackage{makecmds} 12 | 13 | \renewcommand{\epsilon}{\varepsilon} 14 | \renewcommand{\phi}{\varphi} 15 | \renewcommand{\rho}{\varrho} 16 | \renewcommand{\theta}{\vartheta} 17 | \newcommand{\tuple}[1]{\langle{#1}\rangle} 18 | 19 | \newcommand{\size}[1]{\ensuremath{\lvert #1\rvert}} 20 | \newcommand{\gdw}{\mathrel{\mathrm{gdw.}}} 21 | \newcommand{\falls}{\mathrel{\mathrm{falls}}} 22 | 23 | \provideenvironment{solution}{\textbf{Lösung}:}{} 24 | \usepackage{comment} 25 | 26 | \usepackage{etex,etoolbox} 27 | 28 | \DeclareRobustCommand{\NN}{\ensuremath{\mathbb{N}}} 29 | 30 | \newbool{Baader} 31 | \newbool{Kroetzsch} 32 | \booltrue{Kroetzsch} 33 | 34 | \DeclareMathOperator{\Var}{Var} 35 | \ifbool{Baader}{% 36 | \DeclareMathOperator{\Unt}{Unt} 37 | \DeclareMathOperator{\Res}{Res} 38 | }{} 39 | \ifbool{Kroetzsch}{% 40 | \DeclareMathOperator{\Unt}{Sub} 41 | \DeclareMathOperator{\Res}{Res} 42 | \usepackage{multicol} % for resolution 43 | }{} 44 | -------------------------------------------------------------------------------- /Uebungen/pool/nfa-vier-mal-epsilonfrei.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} Gegeben sind die Automaten \begin{align*} \mathcal{M}_1 &=(\{q_0,\dots,q_3\},\{a,b\},\delta_1,\{q_0\},\{q_2,q_3\}), &\mathcal{M}_2 &=(\{p_0,\dots,p_3\},\{a,b\},\delta_2,\{p_0\},\{p_3\}),\\ \mathcal{M}_3 &=(\{s_0,\dots,s_3\},\{a,b\},\delta_3,\{s_0\},\{s_3\})\ \text{und} &\mathcal{M}_4 &=(\{t_0,\dots,t_5\},\{a,b\},\delta_4,\{t_0\},\{t_3,t_5\}) \end{align*} mit 2 | 3 | \begin{center} \input{pool/graphics/vier-mal-epsilonfrei} 4 | \end{center} 5 | \vspace*{2ex} 6 | \begin{enumerate} \item Konstruieren Sie einen $\varepsilon$-freien NFA~$\mathcal{M}_a$ mit $L(\mathcal{M}_a)=L(\mathcal{M}_1)\cap L(\mathcal{M}_2)$. Dabei dürfen Sie sich auf die vom Startzustand erreichbaren Zustände beschränken. 7 | \item Konstruieren Sie einen $\varepsilon$-freien NFA~$\mathcal{M}_b$ mit $L(\mathcal{M}_b)=L(\mathcal{M}_1)^*$. \item Konstruieren Sie einen $\varepsilon$-freien NFA~$\mathcal{M}_c$ mit $L(\mathcal{M}_c)=L(\mathcal{M}_3)\cup L(\mathcal{M}_4)$. \item Konstruieren Sie einen $\varepsilon$-freien NFA~$\mathcal{M}_d$ mit $L(\mathcal{M}_d)=L(\mathcal{M}_3)\circ L(\mathcal{M}_4)$. \end{enumerate} \end{exercise} 8 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-grammatik-regulaere-ausdruecke-einfach.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \begin{enumerate} 3 | \item[S9)] Gegeben sind die folgenden Grammatiken $G_i$ mit $1\le i\le 4$: 4 | \begin{itemize} 5 | \item[] $G_1=(\{S\},\{a,b\},\{S\rightarrow aS,S\rightarrow Sb,S\rightarrow a\},S)$ 6 | \item[] $G_2=(\{S\},\{a,b\},\{S\rightarrow aS,S\rightarrow SbS,S\rightarrow a\},S)$ 7 | \item[] $G_3=(\{S,B\},\{a,b\},\{S\rightarrow \varepsilon,S\rightarrow aSb,aS\rightarrow aB, B\rightarrow bB, B\rightarrow b\},S)$ 8 | \item[] $G_4=(\{S,A\},\{a,b\},\{S\rightarrow a,A\rightarrow b\},S)$ 9 | \end{itemize} 10 | Geben Sie f\"ur jede Grammatik $G_i$ den maximalen Chomsky-Typ $j$ an. Begr\"unden Sie Ihre Antwort. 11 | \item[S10)] Welche der folgenden Aussagen sind wahr? Begr\"unden Sie Ihre Antwort. 12 | \begin{enumerate} 13 | \item[a)] F\"ur den regul\"aren Ausdruck $\alpha = (b(ab\mid b)^*)^*(a\mid b)^*a$ gilt: $aba \in L(\alpha)$. 14 | \item[b)] F\"ur die Grammatik $G=(\{S,X,Y,Z\},\{a,b\},\{S\rightarrow 15 | Y,\;X\rightarrow b,\;Y\rightarrow 16 | aYYb,aY\rightarrow aZ,\;ZY\rightarrow ZX,\;Z\rightarrow a\},S)$ gilt: $aabb\in L(G)$. 17 | \end{enumerate} 18 | \end{enumerate} 19 | \end{exercise} 20 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/69.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Bearbeiten Sie eine der vier folgenden Fragestellungen: 4 | 5 | \begin{enumerate} 6 | \item [(a)] 7 | Seien $L$, $K$ regul\"are Sprachen \"uber einem Alphabet $\Sigma$. 8 | Zeigen Sie, da{\ss} 9 | $$L/K \ = \ \{ x \in \Sigma^* : xy \in L \ \mbox{f\"ur ein 10 | $y \in K$} \}$$ 11 | regul\"ar ist. 12 | 13 | \item [(b)] 14 | Sei $L$ eine regul\"are Sprache \"uber einem mindestens 15 | zweielementigen Alphabet $\Sigma$. 16 | Zeigen Sie, da{\ss} die folgende Sprache regul\"ar ist. 17 | 18 | $L_1 = \{ x \in L : \mbox{es gibt kein $y \in \Sigma^+$, 19 | so da{\ss} $xy \in L$} \}$ 20 | 21 | \item [(c)] 22 | Sei $L$ eine regul\"are Sprache \"uber einem mindestens 23 | zweielementigen Alphabet $\Sigma$. 24 | Zeigen Sie, da{\ss} die folgende Sprache regul\"ar ist. 25 | 26 | $L_2 = \{ x \in L : \mbox{kein echtes Pr\"afix von $x$ liegt in $L$} 27 | \}$ 28 | 29 | \item [(d)] Sei $L$ eine regul\"are Sprache \"uber einem mindestens 30 | zweielementigen Alphabet $\Sigma$. Zeigen Sie, da{\ss} die Spiegelbildsprache 31 | $L^R = \{a_n a_{n-1} \ldots a_0 \in\Sigma^* \mid a_0 \ldots a_{n-1} a_n \in L\}$ 32 | wiederum eine reguläre Sprache ist. 33 | 34 | \end{enumerate} 35 | \end{exercise} 36 | 37 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-nfa-pumping-wortzerlegung.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Gegeben ist der NFA $\mathcal M=(\{q_0,q_1,q_2,q_3,q_4\},\{a,b,c,d\}, \delta ,\{q_0\},\{q_2\})$ mit $\delta$: 4 | \vspace*{0.5cm} 5 | \begin{center} 6 | \begin{tikzpicture} [->, >=stealth', initial text=, auto, node 7 | distance=25mm, bend angle=20, semithick]%[node distance=2cm,auto] 8 | 9 | \node[state,initial] (q_0) {$q_0$}; 10 | \node[state] (q_1) [above right of=q_0] {$q_1$}; 11 | \node[state,accepting] (q_2) [right of=q_1] {$q_2$}; 12 | \node[state] (q_3) [below right of=q_0] {$q_3$}; 13 | \node[state] (q_4) [right of=q_3] {$q_4$}; 14 | 15 | \path[->] 16 | (q_0) edge [bend left] node {$a, b$} (q_1) 17 | (q_0) edge [bend right] node {$b, c$} (q_3) 18 | (q_1) edge [loop above] node {$c$} (q_1) 19 | (q_1) edge node {$a$} (q_2) 20 | (q_1) edge node {$d$} (q_3) 21 | (q_3) edge node {$c$} (q_2) 22 | (q_3) edge [bend left] node {$c$} (q_4) 23 | (q_4) edge node {$a$} (q_2) 24 | (q_4) edge [bend left] node {$d$} (q_3); 25 | \end{tikzpicture} 26 | \end{center} 27 | Geben Sie für jedes $z\in \{bc,adc,cda,bcdc,acdc\}$ alle Zerlegungen $z=uvw$ mit 28 | $u,w\in \Sigma^*$, $v\in \Sigma^{+}$ an, sodass für alle $k\ge 0$ gilt: 29 | $uv^kw\in L(\mathcal M)$. Begründen Sie Ihre Antworten. 30 | \end{exercise} 31 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-einfache-operatoren.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \begin{enumerate} 3 | \item[S1)] Es sei $\Sigma_1 = \{a, b, c\}$ und $\Sigma_2 = \{0, 1\}$. 4 | Beschreiben Sie folgende Mengen verbal oder durch Aufzählung: 5 | \begin{center} 6 | \mbox{${\Sigma_1}^{*}$},\; 7 | \mbox{${\Sigma_1}^{+}$}, \; 8 | \mbox{${\Sigma_1}^{2}$}, \; 9 | \mbox{${\Sigma_1} \circ ({\Sigma_1} \cup {\Sigma_2})^{*}$}, \; 10 | \mbox{$\mathcal{P}({\Sigma_1})$}, \; 11 | \mbox{$\mathcal{P}({\Sigma_1}^{*})$} 12 | \end{center} 13 | 14 | \item[S2)] Beschreiben Sie folgende Mengen, die über die Operationen 15 | Vereinigung, Konkatenation und Kleene-Stern gebildet werden, 16 | verbal oder durch Aufzählung: 17 | \begin{itemize} 18 | \item [] $\{a\}\cup\{b\}\cup\{c\}$,\quad 19 | $\{a\}\circ\{b\}\circ\{c\}$,\quad 20 | $\{a\}\cup\{b\}\circ\{a\}\cup\{b\}$,\quad 21 | $\{a\}^{*}$,\quad 22 | $(\{a\}\cup\{b\}\cup\{c\})^{*}$,\quad 23 | \item[] $(\{a\}\circ\{b\}\circ\{c\})^{*}$,\quad 24 | $\{a\}\cup\{a\}^{*}\circ\{b\}$,\quad 25 | $(\{0\}\cup\{1\})^{*}$,\quad 26 | $(\{1\}\cup\{1\}\circ\{0\})^{*}$, 27 | \item[] $(\{0\}\cup\{1\})^{*}\circ\{0\}\circ\{0\}\circ(\{0\}\cup\{1\})^{*}$ 28 | \end{itemize} 29 | \end{enumerate} 30 | \end{exercise} 31 | -------------------------------------------------------------------------------- /Uebungen/blatt-02.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | %\usepackage{wasysym} 7 | %\usepackage{stmaryrd} 8 | %\usepackage{fixltx2e} 9 | %\usepackage{enumitem} 10 | 11 | \usepackage{tikz} 12 | \usetikzlibrary{arrows} 13 | \usetikzlibrary{automata} 14 | \usetikzlibrary{positioning} 15 | \usepackage{xspace} 16 | 17 | \author{~} 18 | \term{Wintersemester 2017/18} 19 | \title{\Large 2.\@ Übungsblatt} 20 | \course{\LARGE Formale Systeme} 21 | 22 | \input{uebung-macros} 23 | \excludecomment{solution} 24 | 25 | \begin{document} 26 | 27 | \maketitle 28 | 29 | \begin{center} 30 | \begin{mdframed} 31 | \renewcommand{\theexercise}{zur Selbstkontrolle 32 | (diese werden in den Übungen nicht besprochen)} 33 | \input{pool/sprachen-wiederholung-einfach} 34 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 35 | % dienen der Selbstkontrolle und werden in der 36 | % Übung nicht besprochen. 37 | \end{mdframed} 38 | \end{center} 39 | 40 | \setcounter{exercise}{0} 41 | 42 | \input{pool/sprachen-grammatik-epsilon-frei} 43 | \input{pool/sprachen-dfa-einfach} 44 | \newpage 45 | \input{pool/dfa-nfa} 46 | \input{pool/sprachen-kontextfrei} 47 | \input{pool/sprachen-nfa-grammatik} 48 | 49 | \end{document} 50 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/sprachen-nfa-grammatik.tex: -------------------------------------------------------------------------------- 1 | \begin{tikzpicture}[% 2 | >=stealth', 3 | semithick, 4 | initial text=, 5 | shorten <=2pt, 6 | shorten >=2pt, 7 | auto, 8 | on grid, 9 | node distance=10ex and 6em, 10 | every state/.style={minimum size=0pt,inner sep=2pt,text height=1.5ex,text 11 | depth=.25ex}, 12 | bend angle=20] 13 | 14 | \node[state,initial] (q_0) {$q_0$}; 15 | \node[state] (q_1) [right=of q_0] {$q_1$}; 16 | \node[state] (q_2) [right=of q_1] {$q_2$}; 17 | \node[state,accepting] (q_3) [right=of q_2] {$q_3$}; 18 | \node[state,accepting] (q_4) [right=of q_3] {$q_4$}; 19 | \node[state] (q_5) [right=of q_4] {$q_5$}; 20 | 21 | \path[->] (q_0) edge node {$a$} (q_1) 22 | (q_1) edge node {$a$} (q_2) 23 | edge [bend left=30] node {$b$} (q_4) 24 | (q_2) edge [bend left] node {$b$} (q_3) 25 | (q_3) edge [bend left] node {$b$} (q_2) 26 | (q_4) edge [bend left] node {$a,b$} (q_5) 27 | edge [loop above] node {$a$} (q_4) 28 | (q_5) edge [bend left] node {$b$} (q_4) 29 | ; 30 | \end{tikzpicture} 31 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-grammatik-einordnung.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Sei $\Sigma=\{a,b\}$. Gegeben sind die Grammatiken $G_k$ mit $1\le k\le 4$: 4 | \begin{itemize} 5 | \item $G_1=\tuple{V_1,\Sigma,P_1,S_1}$ mit 6 | $V_1=\{S_{1},T\}$ und \\ 7 | $P=\{S_{1}\rightarrow aT,\;S_{1}\rightarrow \varepsilon, T\rightarrow S_{1}b\}$ 8 | \item $G_2=\tuple{V_2,\Sigma,P_2,S_2}$ mit 9 | $V_2=\{S_{2},A,B\}$ und \\ 10 | $P_2=\{S_{2}\rightarrow S_{2}AS_{2},\;S_{2}\rightarrow S_{2}BBS_{2},\;S_{2}\rightarrow 11 | \varepsilon,\;A\rightarrow a,\;B\rightarrow 12 | b\}$ 13 | \item $G_3=\tuple{V_3,\Sigma,P_3,S_3}$ mit 14 | $V_3=\{S_{3},A,B\}$ und \\ 15 | $P_3=\{S_{3}\rightarrow A,\;S_{3}\rightarrow \varepsilon,\;A\rightarrow 16 | ab,\;A\rightarrow aBb,\;aB\rightarrow 17 | aaBb,\; aB\rightarrow a\}$ 18 | \item $G_4=\tuple{V_4,\Sigma,P_4,S_4}$ mit 19 | $V_4=\{S_{4},T\}$ und \\ 20 | $P_4=\{S_{4}\rightarrow aS_{4}b,\;S_{4}\rightarrow aTb,\;S_{4}\rightarrow \varepsilon,\;aTb\rightarrow 21 | T,\;aTb\rightarrow S_{4}\}$. 22 | \end{itemize} 23 | \begin{enumerate} 24 | \item[a)] Geben Sie zu jeder dieser Grammatiken $G_k$ das maximale $i$ an, so dass $G_k$ eine Grammatik vom Typ~$i$ ist. 25 | \item[b)] Beschreiben Sie $L(G_k)$ in einer geeigneten Form, z.B. mittels einer Mengennotation. 26 | \end{enumerate} 27 | \end{exercise} 28 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/dfa-quotientenautomat.tex: -------------------------------------------------------------------------------- 1 | \begin{tikzpicture}[% 2 | ->, 3 | >=stealth', 4 | semithick, 5 | initial text=, 6 | shorten <=2pt, 7 | shorten >=2pt, 8 | auto, 9 | on grid, 10 | node distance=14ex and 8em, 11 | every state/.style={minimum size=0pt,inner sep=2pt,text height=1.5ex,text depth=.25ex}, 12 | bend angle=20] 13 | \path { 14 | node[state,initial] (q_0) {$q_0$} 15 | node[state,accepting] (q_1) [right=of q_0] {$q_1$} 16 | node[state,accepting] (q_2) [right=of q_1] {$q_2$} 17 | node[state] (q_3) [below=of q_0] {$q_3$} 18 | node[state,accepting] (q_4) [right=of q_3] {$q_4$} 19 | node[state] (q_5) [right=of q_4] {$q_5$} 20 | }; 21 | 22 | \path[->,draw] { 23 | (q_0) edge node {$b$} (q_1) 24 | (q_1) edge node {$a$} (q_2) 25 | (q_0) edge[bend left] node {$a$} (q_3) 26 | (q_3) edge[bend left] node {$a$} (q_0) 27 | (q_3) edge node {$b$} (q_4) 28 | (q_4) edge node {$b$} (q_5) 29 | (q_4) edge node[pos=0.3] {$a$} (q_2) 30 | (q_1) edge node[pos=0.7] {$b$} (q_5) 31 | (q_2) edge node {$b$} (q_5) 32 | (q_2) edge[loop right] node {$a$} (q_2) 33 | (q_5) edge[loop right] node {$a,b$} (q_5) 34 | }; 35 | 36 | \end{tikzpicture} 37 | -------------------------------------------------------------------------------- /Vorlesungen/beamerthemetud.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{beamerthemetud}[2011/01/17] 2 | 3 | \DeclareOptionBeamer{heavyfont}{\PassOptionsToPackage{heavyfont}{beamerfontthemetud}} 4 | \DeclareOptionBeamer{nodin}{\PassOptionsToPackage{nodin}{beamerfontthemetud}} 5 | \DeclareOptionBeamer{beamerfont}{\PassOptionsToPackage{beamerfont}{beamerfontthemetud}} 6 | \DeclareOptionBeamer{serifmath}{\PassOptionsToPackage{serifmath}{beamerfontthemetud}} 7 | 8 | \DeclareOptionBeamer{noheader}{\PassOptionsToPackage{noheader}{beamerouterthemetud}} 9 | \DeclareOptionBeamer{smallrightmargin}{\PassOptionsToPackage{smallrightmargin}{beamerouterthemetud}} 10 | \DeclareOptionBeamer{pagenum}{\PassOptionsToPackage{pagenum}{beamerouterthemetud}} 11 | \DeclareOptionBeamer{nosectionnum}{\PassOptionsToPackage{nosectionnum}{beamerouterthemetud}} 12 | \DeclareOptionBeamer{navbar}{\PassOptionsToPackage{navbar}{beamerouterthemetud}} 13 | \DeclareOptionBeamer{ddc}{\PassOptionsToPackage{ddc}{beamerouterthemetud}} 14 | \DeclareOptionBeamer{ddcfooter}{\PassOptionsToPackage{ddcfooter}{beamerouterthemetud}} 15 | 16 | \ProcessOptionsBeamer 17 | 18 | \usecolortheme{default} 19 | \usefonttheme{default} 20 | \usecolortheme{tud} 21 | \useinnertheme{rounded} 22 | \setbeamertemplate{blocks}[rounded][shadow=true] 23 | \useoutertheme{default} 24 | \useinnertheme{default} 25 | \usefonttheme{tud} 26 | \useoutertheme{tud} 27 | \useinnertheme{tud} 28 | -------------------------------------------------------------------------------- /Uebungen/blatt-07.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage{tikz} 15 | \input{tikzsettings} 16 | 17 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 18 | 19 | \usepackage{xspace} 20 | 21 | \author{~} 22 | \term{Wintersemester 2017/18} 23 | \title{\Large 7.\@ Übungsblatt} 24 | \course{\LARGE Formale Systeme} 25 | 26 | \input{uebung-macros} 27 | \excludecomment{solution} 28 | 29 | \begin{document} 30 | 31 | \maketitle 32 | 33 | \begin{center} 34 | \begin{mdframed} 35 | \renewcommand{\theexercise}{zur Selbstkontrolle 36 | (diese werden in den Übungen nicht besprochen)} 37 | \input{pool/sprachen-grammatik-pumping-einfach} 38 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 39 | % dienen der Selbstkontrolle und werden in der 40 | % Übung nicht besprochen. 41 | \end{mdframed} 42 | \end{center} 43 | 44 | \setcounter{exercise}{0} 45 | 46 | \input{pool/sprachen-grammatik-kontextfrei-cnf} 47 | \newpage 48 | \input{pool/sprachen-kontextfrei-cyk} 49 | \input{pool/sprachen-kontextfrei-pumping} 50 | 51 | % für das nächste blatt: 52 | %\input{pool/sprachen-typ2-richtig-falsch} 53 | 54 | 55 | \end{document} 56 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/dfa-reduzierter-dfa.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{tikzpicture}[node distance=16ex and 7em] 3 | \path{ 4 | node[state,initial] (q_0) {$q_0$} 5 | node[state] (q_1) [right=of q_0]{$q_1$} 6 | node[state] (q_2) [right=of q_1]{$q_2$} 7 | node[state] (q_8) at ($(q_1)!0.5!(q_2)+(0,2)$) {$q_8$} 8 | node[state,accepting] (q_3) [right=of q_2]{$q_3$} 9 | node[state] (q_4) [below=of q_0]{$q_4$} 10 | node[state] (q_5) [below=of q_1]{$q_5$} 11 | node[state,accepting] (q_6) [below=of q_2]{$q_6$} 12 | node[state] (q_7) [below=of q_3]{$q_7$} 13 | }; 14 | 15 | \path[->,draw]{ 16 | (q_0) edge node[left]{$b$} (q_4) 17 | (q_1) edge node[above]{$b$} (q_2) 18 | (q_2) edge node[above]{$b$} (q_3) 19 | (q_3) edge node[right]{$a$} (q_7) 20 | (q_4) edge node[below]{$b$} (q_5) 21 | (q_5) edge node[above]{$a$} (q_6) 22 | (q_6) edge node[above]{$b$} (q_7) 23 | (q_4) edge node[above]{$a$} (q_3) 24 | (q_6) edge node[above]{$a$} (q_3) 25 | (q_0) edge[bend left] node[above]{$a$} (q_1) 26 | (q_1) edge[bend left] node[below]{$a$} (q_0) 27 | (q_2) edge[bend left=90,looseness=2.5] node[above]{$a$} (q_7) 28 | (q_7) edge[loop right] node {$a,b$} (q_7) 29 | (q_5) edge[bend right=30] node[below]{$b$} (q_7) 30 | (q_8) edge node[above]{$b$}(q_2) 31 | (q_8) edge node[above]{$a$}(q_1) 32 | (q_3) edge[loop right] node {$b$} (q_3) 33 | }; 34 | \end{tikzpicture} 35 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-turingmaschine-funktion.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Wie in der Vorlesung dargelegt wurde, werden Turingmaschinen als allgemeines Rechenmodell verstanden (18.\,Vorlesung, Folie 19).\\[0.2cm] 4 | Geben Sie Turingmaschinen an, die folgende Funktionen 5 | berechnen. Dabei wird eine Eingabe $n\in \mathbb N$ als $\emptyset^n$ mit $\emptyset\in \Sigma$ dargestellt. Es kann vorausgesetzt werden, dass die Eingabe wohlgeformt auf dem Band vorliegt. Am Ende der Berechnung h\"alt die Turingmaschine in einem Finalzustand und das Band enth\"alt nur das Berechnungsergebnis. 6 | \begin{enumerate} 7 | \item[a)] Die Turingmaschine $\mathcal M_{0}$ berechnet die 8 | Funktion $f:\mathbb N\rightarrow \mathbb N,\,n\mapsto 0$, d.\,h. das Eingabewort auf dem 9 | Band wird gelöscht. 10 | \item[b)] Die Turingmaschine $\mathcal M_{succ}$ berechnet die 11 | Funktion $f:\mathbb N\rightarrow \mathbb N,\,n\mapsto n+1$. 12 | \item[c)] Für $i,n\in \mathbb N$ berechnet die Turingmaschine $\mathcal M_{n}^i$ 13 | die Funktion $f^i_n:\mathbb N^n\rightarrow \mathbb 14 | N$ mit $(x_1,\ldots,x_n)\mapsto x_i$. Es wird empfohlen, zunächst die 15 | Turingmaschine $\mathcal M_{4}^2$ anzugeben und diese dann zu 16 | $\mathcal M_{n}^i$ zu verallgemeinern.\\[1ex] 17 | \textit{Hinweis}: $(3,2,4,0)$ in der Eingabe wird dargestellt als \mbox{$(\emptyset\emptyset\emptyset,\emptyset\emptyset,\emptyset\emptyset\emptyset\emptyset,)\textvisiblespace$ }. 18 | \end{enumerate} 19 | \end{exercise} 20 | 21 | -------------------------------------------------------------------------------- /Uebungen/blatt-04.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | %\usepackage{wasysym} 7 | %\usepackage{stmaryrd} 8 | %\usepackage{fixltx2e} 9 | %\usepackage{enumitem} 10 | %\usepackage{extarrows} 11 | %\newcommand{\abs}[1]{\lvert#1\rvert} 12 | 13 | \usepackage{tikz} 14 | \input{tikzsettings} 15 | 16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17 | 18 | \usepackage{xspace} 19 | 20 | \author{~} 21 | \term{Wintersemester 2017/18} 22 | \title{\Large 4.\@ Übungsblatt} 23 | \course{\LARGE Formale Systeme} 24 | 25 | \input{uebung-macros} 26 | \excludecomment{solution} 27 | 28 | \begin{document} 29 | 30 | \maketitle 31 | 32 | \begin{center} 33 | \begin{mdframed} 34 | \renewcommand{\theexercise}{zur Selbstkontrolle 35 | (diese werden in den Übungen nicht besprochen)} 36 | \input{pool/sprachen-grammatik-kontextfrei-einfach} 37 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 38 | % dienen der Selbstkontrolle und werden in der 39 | % Übung nicht besprochen. 40 | \end{mdframed} 41 | \end{center} 42 | 43 | \setcounter{exercise}{0} 44 | 45 | \input{pool/sprachen-regulaerer-ausdruck-einfach} 46 | \input{pool/sprachen-regulaerer-ausdruck-sprachen} 47 | \newpage 48 | \input{pool/sprachen-regulaere-ausdruecke-gleichheit} 49 | \input{pool/sprachen-regulaerer-ausdruck-nfa} 50 | \input{pool/sprachen-sprache-regulaerer-ausdruck} 51 | 52 | \end{document} 53 | -------------------------------------------------------------------------------- /Uebungen/blatt-05.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage{tikz} 15 | \input{tikzsettings} 16 | 17 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 18 | 19 | \usepackage{xspace} 20 | 21 | \author{~} 22 | \term{Wintersemester 2017/18} 23 | \title{\Large 5.\@ Übungsblatt} 24 | \course{\LARGE Formale Systeme} 25 | 26 | \input{uebung-macros} 27 | \excludecomment{solution} 28 | 29 | \begin{document} 30 | 31 | \maketitle 32 | 33 | \begin{center} 34 | \begin{mdframed} 35 | \renewcommand{\theexercise}{zur Selbstkontrolle 36 | (diese werden in den Übungen nicht besprochen)} 37 | \input{pool/sprachen-grammatik-regulaere-ausdruecke-einfach} 38 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 39 | % dienen der Selbstkontrolle und werden in der 40 | % Übung nicht besprochen. 41 | \end{mdframed} 42 | \end{center} 43 | 44 | \setcounter{exercise}{0} 45 | \input{pool/sprachen-dfa-regulaerer-ausdruck} 46 | 47 | \newpage 48 | 49 | \input{pool/dfa-quotientenautomat} 50 | \input{pool/nfa-dfa-konstruktion} 51 | \input{pool/sprachen-nerode-minimal-dfa} 52 | \input{pool/dfa-quotientenautomat-vertraeglichkeit} 53 | 54 | \end{document} 55 | 56 | %%% Local Variables: 57 | %%% mode: latex 58 | %%% TeX-master: t 59 | %%% End: 60 | -------------------------------------------------------------------------------- /Uebungen/blatt-06.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage{tikz} 15 | \input{tikzsettings} 16 | 17 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 18 | 19 | \usepackage{xspace} 20 | 21 | \author{~} 22 | \term{Wintersemester 2017/18} 23 | \title{\Large 6.\@ Übungsblatt} 24 | \course{\LARGE Formale Systeme} 25 | 26 | \input{uebung-macros} 27 | \excludecomment{solution} 28 | 29 | \begin{document} 30 | 31 | \maketitle 32 | 33 | \begin{center} 34 | \begin{mdframed} 35 | \renewcommand{\theexercise}{zur Selbstkontrolle 36 | (diese werden in den Übungen nicht besprochen)} 37 | \input{pool/sprachen-regulaere-ausdruecke-begriffswiederholung} 38 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 39 | % dienen der Selbstkontrolle und werden in der 40 | % Übung nicht besprochen. 41 | \end{mdframed} 42 | \end{center} 43 | 44 | \setcounter{exercise}{0} 45 | 46 | \newpage 47 | \input{pool/dfa-reduzierter-dfa} 48 | \input{pool/sprachen-beweis-gegenbeispiel-aufgabe} 49 | 50 | % kam wohl schon in der vorlesung vor - rausgenommen: 51 | %\input{pool/sprachen-dfa-eigenschaften} 52 | 53 | \newpage 54 | \input{pool/sprachen-regularitaet-inkl-pumping} 55 | \input{pool/sprachen-nfa-pumping-wortzerlegung} 56 | 57 | \end{document} 58 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/21a.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Wir betrachten die folgenden beiden Problemstellungen: 4 | 5 | \begin{itemize} 6 | \item Das Job-Rechnerproblem: 7 | Gegeben sind $n$ Rechner $R_1,\ldots,R_n$ 8 | und $m$ Jobs $J_1,\ldots,J_m$. 9 | Weiter liegt eine Tabelle 10 | $$T = (t_{i,k})_{1 \le i \le n, 1 \le k \le m} 11 | $$ 12 | vor, in der eingetragen ist, welcher Rechner 13 | f\"ur welchen Job die notwendige Ausstattung besitzt. 14 | Dabei ist $t_{i,k} = 1$, falls der $k$-te Job $J_k$ auf Rechner $R_i$ 15 | ausf\"uhrbar ist. Andernfalls ist $t_{i,k} = 0$. 16 | Gefragt ist, ob es eine Zuordnung 17 | %\begin{center} 18 | Jobs $\longrightarrow$ Rechner 19 | %\end{center} 20 | gibt, so da{\ss} die $m$ Jobs gleichzeitig ausgef\"uhrt werden 21 | k\"onnen. 22 | 23 | Wir nehmen dabei an, da{\ss} kein Rechner zwei oder mehr Jobs 24 | gleichzeitig ausf\"uhren kann. 25 | 26 | \item Matchingproblem (einfache Variante f\"ur bipartite Graphen): 27 | Gegeben ist ein ungerichteter Graph $G = (V,E)$ und eine Partition 28 | $V = V_L \cup V_R$ mit disjunkten nichtleeren Mengen $V_L$ und $V_R$, 29 | so da{\ss} 30 | jede Kante zwischen $V_L$ und $V_R$ verl\"auft; 31 | d.h.~f\"ur jede Kante $e \in E$ gilt: 32 | \begin{center} 33 | $ e \cap V_L \not= \emptyset$ und 34 | $ e \cap V_R \not= \emptyset$ 35 | \end{center} 36 | Gefragt ist, ob es eine Kantenmenge $M \subseteq E$ gibt, so da{\ss} 37 | jeder Knoten $v \in V$ auf h\"ochstens einer Kante von $M$ liegt und 38 | $|M| = |V_L|$. 39 | \end{itemize} 40 | Zeigen Sie, da{\ss} das Job-Rechnerproblem auf das 41 | Matchingproblem 42 | reduzierbar ist. 43 | 44 | \end{exercise} 45 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/706.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | Gegeben ist die nichtdeterministische $3$-Band Turingmaschine 4 | $$\T \ = \ (\{q_0,q_1,q_2\}, \{a,b\}, \{a,b,\Box\}, \delta,q_0, 5 | \Box,\{q_2\}) 6 | $$ 7 | mit 8 | $$\begin{array}{lcl} 9 | \delta(q_0, a,\Box,\Box) & = & \{ (q_0, \langle a,R\rangle, \langle a,R 10 | \rangle ,\langle \Box,N \rangle ), \\ 11 | & & (q_1, \langle a,R\rangle, \langle a,N 12 | \rangle ,\langle \Box,L \rangle ) \} \\ 13 | 14 | \delta(q_0, b,\Box,\Box) & = & \{ (q_0, \langle b,R\rangle, \langle \Box,N 15 | \rangle ,\langle b,R \rangle ), \\ 16 | & & (q_1, \langle b,R\rangle, \langle \Box,L 17 | \rangle ,\langle b,N \rangle ) \} \\ 18 | 19 | \delta(q_1, a,a,b) & = & \{ (q_1, \langle a,R\rangle, \langle \Box,L 20 | \rangle ,\langle b,N \rangle ) \} \\ 21 | 22 | \delta(q_1, a,a,\Box) & = & \{ (q_1, \langle a,R\rangle, \langle \Box,L 23 | \rangle ,\langle \Box,N \rangle ) \} \\ 24 | 25 | \delta(q_1, b,a,b) & = & \{ (q_1, \langle b,R\rangle, \langle a,N 26 | \rangle ,\langle \Box,L \rangle ) \} \\ 27 | 28 | \delta(q_1, b,\Box,b) & = & \{ (q_1, \langle b,R\rangle, \langle \Box,N 29 | \rangle ,\langle \Box,L \rangle ) \} \\ 30 | 31 | \delta(q_1, \Box,\Box,\Box) & = & \{ (q_2, \langle \Box,N\rangle, \langle \Box,N 32 | \rangle ,\langle \Box,N \rangle ) \} \\ 33 | 34 | \end{array} 35 | $$ 36 | 37 | Welche Sprache akzeptiert $\T$ ? 38 | Hinweis: Sie können die Arbeitsweise von 39 | $\T$ gerne mithilfe einer graphischen 40 | Repräsentation der Übergangsrelation~$\delta$ 41 | nachvollziehen. 42 | 43 | \end{exercise} 44 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-grammatik-hierarchie-einfach.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Sei $\Sigma =\{a,b\}$. Untersuchen Sie die folgenden Tupel daraufhin, ob sie eine 4 | Grammatik definieren. Wenn das der Fall ist, geben Sie 5 | jeweils den maximalen Chomsky-Typ 6 | der Grammatik an und begründen Sie die Einordnung. 7 | \begin{itemize} 8 | \item $G_{1}=\tuple{V_1,\Sigma,P_1,S_1}$ mit 9 | $V_1=\{S_{1},A\}$ und\\ 10 | $P_1=\{\varepsilon \rightarrow b,\;S_{1}\rightarrow Ab\}$ 11 | \item $G_{2}=\tuple{V_2,\Sigma,P_2,S_2}$ mit 12 | $V_2=\{S_{2}\}$ und\\ 13 | $P_2=\{S_{2}\rightarrow aS_{2}b,\;S_{2}\rightarrow \varepsilon\}$ 14 | \item $G_{3}=\tuple{V_3,\Sigma,P_3,S_3}$ mit 15 | $V_3=\{S_{3},X,Y\}$ und\\ 16 | $P_3=\{XY\rightarrow Y,\;S_{3}\rightarrow$ 17 | $aYb,\;S_{3}\rightarrow XY,\;Y\rightarrow a\}$ 18 | \item $G_{4}=\tuple{V_4,\Sigma,P_4,S_4}$ mit 19 | $V_{4}=\{S_{4},X,Y\}$ und\\ 20 | $P_{4}=\{S_{4}\rightarrow aY,\;X\rightarrow 21 | a,\;Y\rightarrow bS_{4},\;Y\rightarrow b,\;Y\rightarrow bX\}$ 22 | \item $G_{5}=\tuple{V_5,\Sigma,P_5,S_5}$ mit 23 | $V_5=\{S_{5},X,Y,Z\}$ und \\ 24 | $P_5=\{X\rightarrow b,\;Y\rightarrow$ 25 | $aYYb,\;aY\rightarrow aZ,\;ZY\rightarrow ZX,\;S_{5}\rightarrow$ 26 | $Y,\;Z\rightarrow a\}$ 27 | \item $G_{6}=\tuple{V_6,\Sigma,P_6,S_6}$ mit 28 | $V_6=\{S_{6},W,X,Y,Z\}$ und\\ 29 | $P_6=\{X\rightarrow b,\;Y\rightarrow 30 | aYYb,\;aY\rightarrow aZ,\;ZY\rightarrow ZX,\;S_{6}\rightarrow 31 | Y,\;S_{6}\rightarrow \varepsilon,\;Z\rightarrow a,\;W\rightarrow S_{6}\}$ 32 | \end{itemize} 33 | \end{exercise} 34 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-kontextfrei-kellerautomaten-angeben.tex: -------------------------------------------------------------------------------- 1 | 2 | % a: sprachen-kontextfrei-abschlusseigenschaften c 3 | % b: sprachen-kontextfrei-kellerautomaten a 4 | % c: sprachen-kontextfrei-kellerautomaten b 5 | % d: 734 teil c 6 | 7 | \begin{exercise} 8 | 9 | \vspace*{0.3cm} 10 | \begin{enumerate} 11 | \item[(a)] Geben Sie einen Kellerautomaten $\mathcal{M}_0$ für die Sprache 12 | $$L_0 = L(\mathcal{M}_0) = \{a^ib^jc^k \mid i=j \;\text{oder}\; j=k\;\text{mit}\;i,j,k\ge 1\}$$ 13 | sowie eine akzeptierende Folge der Konfigurations\"uberg\"ange in $\mathcal{M}_0$ 14 | f\"ur das Wort~$w=aaabbcc$ an. 15 | \item[(b)] Geben Sie einen Kellerautomaten ${\mathcal M_1}$ f\"ur die Sprache $L'$ mit 16 | \begin{center} 17 | $L'=L(\mathcal M_1)=\{a^{n}b^m\mid n,m\ge 0\,, n=3m\}$ 18 | \end{center} 19 | sowie eine akzeptierende Folge der Konfigurations\"uberg\"ange in $\mathcal{M}_1$ 20 | f\"ur das Wort~$w=aaab$ an. 21 | \item[(c)] Entwerfen Sie einen Kellerautomaten ${\mathcal M_2}$ f\"ur die Sprache $L_2$ mit 22 | \begin{center} 23 | $L_2=L(\mathcal M_2) = \{w\in\{a,b\}^*\mid |w|_a = |w|_b\}$\;. 24 | \end{center} 25 | und geben Sie eine akzeptierende Folge der 26 | Konfigurations\"uberg\"ange in $\mathcal{M}_2$ 27 | f\"ur das Wort~$w=aabbba$ an. Zur Erinnerung: 28 | $|w|_a$ bezeichnet hierbei die Anzahl an $a$'s 29 | in $w$. 30 | \item[(d)] Geben Sie einen Kellerautomaten $\mathcal{M}_3$ für die Sprache 31 | $$L_3 = L(\mathcal{M}_3) = \{ (ab)^{n} (ba)^{n} \mid n \geq 0 \}$$ 32 | "uber dem Alphabet $ \Sigma = \{ a, b \} $ 33 | sowie eine akzeptierende Folge der Konfigurations\"uberg\"ange in $\mathcal{M}_3$ 34 | für das Wort~$w=ababbaba$ an. 35 | \end{enumerate} 36 | 37 | \end{exercise} 38 | 39 | -------------------------------------------------------------------------------- /Uebungen/pool/vampire-1.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | \label{logic:vampire-1} 3 | % Quelle: Raymond Smullyan: The Lady or the Tiger. Alfred A. Knopf, 1986. 4 | Inspektor Craig wird zu einem wichtigen Fall nach Transsilvanien gerufen, in 5 | dem es darum geht herauszufinden, welcher von zwei Beschuldigten ein Vampir 6 | ist. Wie allgemein bekannt ist, besteht die Bevölkerung in Transsilvanien zum 7 | Teil aus Menschen und zum anderen Teil aus Vampiren. Die Menschen sagen stets 8 | die Wahrheit, die Vampire lügen stets. Außerdem ist ein Teil der Bevölkerung 9 | Transsilvaniens verrückt: Alles, was wahr ist, glauben sie, sei falsch, und 10 | umgekehrt. Nicht verrückte Transsilvanier hingegen halten genau das für wahr, 11 | was wahr ist. Insbesondere sagt ein verrückter Vampir (wie auch ein 12 | nicht-verrückter Mensch) stets das Richtige: Eine Aussage, die wahr ist, 13 | glaubt er, sei falsch, da er aber stets lügt, gibt er dennoch eine richtige 14 | Antwort. 15 | 16 | Craig verhört die zwei Beschuldigten Lucy und Minna, von denen bekannt ist, 17 | dass eine ein Vampir ist und die andere nicht. Das Verhör geht wie folgt 18 | vonstatten: 19 | \begin{quote} 20 | \emph{Craig} (zu Lucy): Erzählen Sie mir von Ihnen.\\ 21 | \emph{Lucy}: Wir sind beide verrückt.\\ 22 | \emph{Craig} (zu Minna): Ist das richtig?\\ 23 | \emph{Minna}: Natürlich nicht! 24 | \end{quote} 25 | Formalisieren Sie dieses Szenario mithilfe aussagenlogischer Formeln und 26 | finden Sie heraus, wer der Vampir ist! 27 | 28 | \vskip+1\baselineskip 29 | 30 | {\footnotesize Diese Aufgabe stammt aus: \emph{Raymond Smullyan: The Lady or the 31 | Tiger?. Alfred A.\@ Knopf, 1986.}} 32 | \end{exercise} 33 | -------------------------------------------------------------------------------- /Uebungen/blatt-03.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | %\usepackage{wasysym} 7 | %\usepackage{stmaryrd} 8 | %\usepackage{fixltx2e} 9 | %\usepackage{enumitem} 10 | \usepackage{extarrows} 11 | \newcommand{\abs}[1]{\lvert#1\rvert} 12 | 13 | \usepackage{tikz} 14 | \input{tikzsettings} 15 | 16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17 | 18 | \usepackage{xspace} 19 | 20 | \author{~} 21 | \term{Wintersemester 2017/18} 22 | \title{\Large 3.\@ Übungsblatt} 23 | \course{\LARGE Formale Systeme} 24 | 25 | \input{uebung-macros} 26 | \excludecomment{solution} 27 | 28 | \begin{document} 29 | 30 | \maketitle 31 | 32 | \begin{center} 33 | \begin{mdframed} 34 | \renewcommand{\theexercise}{zur Selbstkontrolle 35 | (diese werden in den Übungen nicht besprochen)} 36 | \input{pool/nfa-wiederholung-einfach} 37 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 38 | % dienen der Selbstkontrolle und werden in der 39 | % Übung nicht besprochen. 40 | \end{mdframed} 41 | \end{center} 42 | 43 | \setcounter{exercise}{0} 44 | 45 | \input{pool/nfa-aequivalenz-einfach} 46 | \newpage 47 | \input{pool/baier/69} 48 | \input{pool/baier/730} 49 | \input{pool/nfa-zwei-aequivalente} 50 | \newpage 51 | \input{pool/nfa-vier-mal-epsilonfrei} 52 | 53 | % hätten auch noch gepasst: 54 | %\newpage 55 | %\input{pool/baier/52} 56 | %\input{pool/baier/55} 57 | %\input{pool/baier/61} 58 | %\input{pool/baier/692} 59 | %\input{pool/baier/71} 60 | %\input{pool/baier/712} 61 | %\input{pool/baier/723} 62 | %\input{pool/baier/726} 63 | %\input{pool/baier/742} 64 | %\input{pool/baier/k2_2a} 65 | 66 | \end{document} 67 | -------------------------------------------------------------------------------- /Uebungen/blatt-12.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage{tikz} 15 | \input{tikzsettings} 16 | 17 | \newcommand{\T}{\ensuremath\mathcal{M}} 18 | \newcommand{\cT}{\T} 19 | \newcommand{\bin}{\ensuremath\mathit{bin}} 20 | \newcommand{\poly}{\text{\normalfont poly}} 21 | \newcommand{\Nat}{\ensuremath\mathbb{N}} 22 | \newcommand{\eqdef}{\ensuremath\stackrel{\text{def}}{=}} 23 | 24 | \newcommand{\notyetknown}[1]{} 25 | \newcommand{\totutoronly}[1]{\textcolor{gray}{#1}} 26 | \renewcommand{\totutoronly}[1]{} 27 | 28 | \newcommand{\blank}{\text{\textvisiblespace}} 29 | 30 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 31 | 32 | \usepackage{xspace} 33 | 34 | \author{~} 35 | \term{Wintersemester 2017/18} 36 | \title{\Large 12.\@ Übungsblatt} 37 | \course{\LARGE Formale Systeme} 38 | 39 | \input{uebung-macros} 40 | \excludecomment{solution} 41 | 42 | \begin{document} 43 | 44 | \maketitle 45 | 46 | \begin{center} 47 | \begin{mdframed} 48 | \renewcommand{\theexercise}{zur Selbstkontrolle 49 | (diese werden in den Übungen nicht besprochen)} 50 | \input{pool/truth-table-2} 51 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 52 | % dienen der Selbstkontrolle und werden in der 53 | % Übung nicht besprochen. 54 | \end{mdframed} 55 | \end{center} 56 | 57 | \vskip+4ex 58 | 59 | \setcounter{exercise}{0} 60 | 61 | \input{pool/vampire-1} 62 | \input{pool/truth-table-1} 63 | \input{pool/formula-size} 64 | 65 | \end{document} 66 | -------------------------------------------------------------------------------- /Uebungen/blatt-13.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage{tikz} 15 | \input{tikzsettings} 16 | 17 | \newcommand{\T}{\ensuremath\mathcal{M}} 18 | \newcommand{\cT}{\T} 19 | \newcommand{\bin}{\ensuremath\mathit{bin}} 20 | \newcommand{\poly}{\text{\normalfont poly}} 21 | \newcommand{\Nat}{\ensuremath\mathbb{N}} 22 | \newcommand{\eqdef}{\ensuremath\stackrel{\text{def}}{=}} 23 | 24 | \newcommand{\notyetknown}[1]{} 25 | \newcommand{\totutoronly}[1]{\textcolor{gray}{#1}} 26 | \renewcommand{\totutoronly}[1]{} 27 | 28 | \newcommand{\blank}{\text{\textvisiblespace}} 29 | 30 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 31 | 32 | \usepackage{xspace} 33 | 34 | \author{~} 35 | \term{Wintersemester 2017/18} 36 | \title{\Large 13.\@ Übungsblatt} 37 | \course{\LARGE Formale Systeme} 38 | 39 | \input{uebung-macros} 40 | \excludecomment{solution} 41 | 42 | \begin{document} 43 | 44 | \maketitle 45 | 46 | \begin{center} 47 | \begin{mdframed} 48 | \renewcommand{\theexercise}{zur Selbstkontrolle 49 | (diese werden in den Übungen nicht besprochen)} 50 | \input{pool/resolution-3} 51 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 52 | % dienen der Selbstkontrolle und werden in der 53 | % Übung nicht besprochen. 54 | \end{mdframed} 55 | \end{center} 56 | 57 | \setcounter{exercise}{0} 58 | 59 | \input{pool/resolution-1} 60 | \input{pool/modelling-the-graph-coloring-problem} 61 | \input{pool/junctor-1} 62 | 63 | \end{document} 64 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-kontextfrei-cyk-einfach.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | \begin{enumerate} 4 | \item[S15)] Betrachten Sie die Grammatik $G=(\{ S,U,X,T,V,W,Y,D,E,A,B,C\},\Sigma, P,S)$ \\mit 5 | $\Sigma=\{a,b,c\}$ und 6 | \begin{eqnarray*} 7 | P&=&\{ 8 | S\longrightarrow UT, S\longrightarrow VW, 9 | U\longrightarrow XB, U\longrightarrow AB,\\ 10 | && 11 | X \longrightarrow AU, 12 | T \longrightarrow TC, T \longrightarrow c, 13 | V \longrightarrow AV,\\ 14 | &&V \longrightarrow a, 15 | W \longrightarrow BY, W \longrightarrow BC, 16 | Y \longrightarrow WC,\\ 17 | && D \longrightarrow BC, D \longrightarrow BB, D \longrightarrow b, 18 | E \longrightarrow AB,\\ 19 | && E \longrightarrow AA, 20 | A\longrightarrow a, 21 | B\longrightarrow b, 22 | C\longrightarrow c\}\;. 23 | \end{eqnarray*} 24 | Verwenden Sie den CYK-Algorithmus (mit der Matrix-Notation aus der 25 | Vorlesung), um f\"ur die W\"orter $w_1 = aabcc$ und $w_2 = aabbcc$ zu entscheiden, ob 26 | $w_i\in L(G)$ ist.\\ 27 | 28 | \item[S16)] Gegeben sind das Wort $w=aaaab$ und die Grammatik $G=(V,\Sigma ,P,S)$ mit\\ 29 | $V=\{S,A,B,C\}, \Sigma =\{a,b\}$ und 30 | \begin{eqnarray*} 31 | P&=&\{ S\longrightarrow AB, S\longrightarrow BC, S\longrightarrow bab,\\ 32 | && A\longrightarrow BA, A\longrightarrow a,\\ 33 | && B\longrightarrow ABC, B\longrightarrow b,\\ 34 | && C\longrightarrow AB, C\longrightarrow a, C\longrightarrow \varepsilon\}\;. 35 | \end{eqnarray*} 36 | 37 | \begin{enumerate} 38 | \item[a)] Transformieren Sie die Grammatik $G$ in eine $\varepsilon$-freie Grammatik $G'$. 39 | \item[b)] Transformieren Sie die Grammatik $G'$ in ihre {\it 40 | Chomsky}-Normalform. 41 | \item[c)] Entscheiden Sie mithilfe des 42 | Cocke-Younger-Kasami-Algorithmus, ob $w\in L(G)$ 43 | gilt. 44 | \end{enumerate} 45 | \end{enumerate} 46 | 47 | \end{exercise} 48 | -------------------------------------------------------------------------------- /Uebungen/blatt-14.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | \usepackage{algorithmic} 14 | \usepackage{algorithm} 15 | 16 | \usepackage{tikz} 17 | \input{tikzsettings} 18 | 19 | \newcommand{\T}{\ensuremath\mathcal{M}} 20 | \newcommand{\cT}{\T} 21 | \newcommand{\bin}{\ensuremath\mathit{bin}} 22 | \newcommand{\poly}{\text{\normalfont poly}} 23 | \newcommand{\Nat}{\ensuremath\mathbb{N}} 24 | \newcommand{\eqdef}{\ensuremath\stackrel{\text{def}}{=}} 25 | 26 | \newcommand{\notyetknown}[1]{} 27 | \newcommand{\totutoronly}[1]{\textcolor{gray}{#1}} 28 | \renewcommand{\totutoronly}[1]{} 29 | 30 | \newcommand{\blank}{\text{\textvisiblespace}} 31 | 32 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 33 | 34 | \usepackage{xspace} 35 | 36 | \author{~} 37 | \term{Wintersemester 2017/18} 38 | \title{\Large 14.\@ Übungsblatt} 39 | \course{\LARGE Formale Systeme} 40 | 41 | \input{uebung-macros} 42 | \excludecomment{solution} 43 | 44 | \begin{document} 45 | 46 | \maketitle 47 | 48 | %\begin{center} 49 | %\begin{mdframed} 50 | % \renewcommand{\theexercise}{zur Selbstkontrolle 51 | % (diese werden in den Übungen nicht besprochen)} 52 | % \input{pool/baier/42} 53 | %% {\bfseries Hinweis:} Die Aufgaben *) und **) 54 | %% dienen der Selbstkontrolle und werden in der 55 | %% Übung nicht besprochen. 56 | %\end{mdframed} 57 | %\end{center} 58 | 59 | \setcounter{exercise}{0} 60 | \vskip-1ex 61 | \input{pool/baier/705} 62 | \vskip-1ex 63 | \input{pool/baier/21a} 64 | \newpage 65 | \input{pool/baier/20} 66 | %\newpage 67 | \input{pool/baier/31} 68 | 69 | \end{document} 70 | -------------------------------------------------------------------------------- /Uebungen/blatt-09.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage{tikz} 15 | \input{tikzsettings} 16 | 17 | \newcommand{\cKeps}{\ensuremath\mathcal{M}_{\varepsilon}} 18 | \newcommand{\cLeps}{\ensuremath L_{\varepsilon}} 19 | \newcommand{\cK}{\ensuremath\mathcal{M}} 20 | \newcommand{\cL}{\ensuremath L} 21 | 22 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 23 | 24 | \usepackage{xspace} 25 | 26 | \author{~} 27 | \term{Wintersemester 2017/18} 28 | \title{\Large 9.\@ Übungsblatt} 29 | \course{\LARGE Formale Systeme} 30 | 31 | \input{uebung-macros} 32 | \excludecomment{solution} 33 | 34 | \begin{document} 35 | 36 | \maketitle 37 | 38 | \begin{center} 39 | \begin{mdframed} 40 | \renewcommand{\theexercise}{zur Selbstkontrolle 41 | (diese werden in den Übungen nicht besprochen)} 42 | \input{pool/sprachen-wiederholung} 43 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 44 | % dienen der Selbstkontrolle und werden in der 45 | % Übung nicht besprochen. 46 | \end{mdframed} 47 | \end{center} 48 | 49 | %\vspace*{0.5cm} 50 | %{\bf{Anmerkung}}\\ 51 | %Mit der 9. \"Ubung ist in den verschiedenen \"Ubungsgruppen abzusichern, dass alle bisher aus Zeitgr\"unden noch nicht besprochenen Aufgaben der \"Ubungsbl\"atter 1 bis 8 abgearbeitet sind. 52 | 53 | \setcounter{exercise}{0} 54 | 55 | \input{pool/sprachen-deterministisch-kontextfrei-kellerautomat} 56 | \input{pool/sprachen-deterministisch-kontextfrei-richtig-falsch} 57 | 58 | %%%%%%%%%%%%%%%%%%%%%%%%%%% 59 | 60 | \input{pool/baier/739} 61 | \input{pool/baier/740} 62 | %\input{pool/baier/741} 63 | 64 | %%%%%%%%%%%%%%%%%%%%%%%%%%% 65 | 66 | \end{document} 67 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/14.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | Geben Sie in den folgenden Aufgaben jeweils 4 | eine deterministische Turingmaschine 5 | mit einem oder mehreren Bändern an. 6 | \begin{enumerate} 7 | \item [(a)] 8 | Jeweils eine\notyetknown{polynomiell zeitbeschr\"ankte} DTM $\T_{\mathit ADD}$ bzw.\ $\T_{\mathit MULT}$ f\"ur die 9 | Additions- bzw. Multiplikationsfunktion 10 | $$ \begin{array}{lcllcl} 11 | f_{\mathit ADD} & : & \mathbb{N} \times \mathbb{N} \to \mathbb{N}, & 12 | f_{\mathit ADD}(n,m) & = & n + m \\[1ex] 13 | f_{\mathit MULT} & : & \mathbb{N} \times \mathbb{N} \to \mathbb{N}, & 14 | f_{\mathit MULT}(n,m) & = & n \cdot m 15 | \end{array} 16 | $$% 17 | \notyetknown{ 18 | D.h.~es gilt $f_{\T_{\mathit ADD}} = f_{\mathit ADD}$ bzw. $f_{\T_{\mathit MULT}} = f_{\mathit MULT}$ 19 | und 20 | $$t_{\T_{\mathit ADD}}(\bin(n)\#\bin(m)) = {\cal O}(\poly( L(n) + L(m)))$$ 21 | bzw.\ 22 | $$t_{\T_{\mathit MULT}}(\bin(n)\#\bin(m))= {\cal O}(\poly( L(n) + L(m)))$$} 23 | \item [(b)] 24 | Jeweils eine DTM an für die Funktionen 25 | 26 | $$ \begin{array}{lcllcl} 27 | f_{\mathit fak} & : & \mathbb{N} \to \mathbb{N}, & f_{\mathit fak}(n) & = & n! 28 | \\[1ex] 29 | f_{\mathit \log} & : & \mathbb{N} \to \mathbb{N}, & 30 | f_{\mathit \log}(n) & = & \begin{cases} 31 | \lfloor \log n \rfloor & \text{falls $n \ge 1$} \\ 32 | \bot & \text{sonst} 33 | \end{cases} 34 | \end{array} 35 | $$ 36 | (Zur Erinnerung: 0! = 1.) 37 | 38 | \notyetknown{ 39 | Geben Sie jeweils die Gr\"o{\ss}enordnungen der 40 | Kostenfunktionen (Zeit und Platz, in Abh\"angigkeit der 41 | Eingabegr\"o{\ss}e) der konzipierten DTMs an. 42 | } 43 | \end{enumerate} 44 | 45 | Es gen\"ugen informelle Beschreibungen; etwa durch 46 | Skizzen, aus denen ersichtlich wird, wie (aus der Vorlesung oder \"Ubung 47 | bekannte oder selbst definierte) 48 | Turingmaschinen miteinander verkn\"upft werden. 49 | 50 | \end{exercise} 51 | 52 | -------------------------------------------------------------------------------- /Uebungen/blatt-08.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage[all]{xy} 15 | \xyoption{rotate} 16 | 17 | \usepackage{tikz} 18 | \input{tikzsettings} 19 | 20 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 21 | 22 | \usepackage{xspace} 23 | 24 | \author{~} 25 | \term{Wintersemester 2017/18} 26 | \title{\Large 8.\@ Übungsblatt} 27 | \course{\LARGE Formale Systeme} 28 | 29 | \input{uebung-macros} 30 | \excludecomment{solution} 31 | 32 | \begin{document} 33 | 34 | \maketitle 35 | 36 | \begin{center} 37 | \begin{mdframed} 38 | \renewcommand{\theexercise}{zur Selbstkontrolle 39 | (diese werden in den Übungen nicht besprochen)} 40 | \input{pool/sprachen-kontextfrei-cyk-einfach} 41 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 42 | % dienen der Selbstkontrolle und werden in der 43 | % Übung nicht besprochen. 44 | \end{mdframed} 45 | \end{center} 46 | 47 | \setcounter{exercise}{0} 48 | \input{pool/sprachen-kontextfrei-nachweis} 49 | \input{pool/sprachen-kontextfrei-grammatik-angeben} 50 | \input{pool/sprachen-kontextfrei-cnf-cyk} 51 | \input{pool/sprachen-kontextfrei-kellerautomaten-angeben} 52 | \input{pool/baier/736} 53 | 54 | \newpage 55 | 56 | % old structure: ^^^ restructured due to MK mail 57 | \iffalse 58 | %%%%%%%%%%%%%%%%%%%% 59 | 60 | \input{pool/sprachen-kontextfrei-abschlusseigenschaften} 61 | 62 | % boring: 63 | %\input{pool/sprachen-typ2-richtig-falsch} 64 | 65 | \input{pool/sprachen-kontextfrei-kellerautomaten} 66 | 67 | %%%%%%%%%%%%%%%%%%%% 68 | 69 | \newcommand{\with}{\ensuremath\mid} 70 | \input{pool/baier/731} 71 | \input{pool/baier/736} 72 | \input{pool/baier/734} 73 | %\input{pool/baier/737} 74 | 75 | %%%%%%%%%%%%%%%%%%%% 76 | \fi 77 | 78 | \end{document} 79 | -------------------------------------------------------------------------------- /Uebungen/blatt-10.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage{tikz} 15 | \input{tikzsettings} 16 | 17 | \newcommand{\T}{\ensuremath\mathcal{M}} 18 | \newcommand{\bin}{\ensuremath\mathit{bin}} 19 | \newcommand{\poly}{\text{\normalfont poly}} 20 | 21 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 22 | 23 | \usepackage{xspace} 24 | 25 | \author{~} 26 | \term{Wintersemester 2017/18} 27 | \title{\Large 10.\@ Übungsblatt} 28 | \course{\LARGE Formale Systeme} 29 | 30 | \input{uebung-macros} 31 | \excludecomment{solution} 32 | 33 | \begin{document} 34 | 35 | \maketitle 36 | 37 | %\begin{center} 38 | %\begin{mdframed} 39 | % \renewcommand{\theexercise}{zur Selbstkontrolle 40 | % (diese werden in den Übungen nicht besprochen)} 41 | %% \input{pool/sprachen-wiederholung} 42 | %% {\bfseries Hinweis:} Die Aufgaben *) und **) 43 | %% dienen der Selbstkontrolle und werden in der 44 | %% Übung nicht besprochen. 45 | %\end{mdframed} 46 | %\end{center} 47 | 48 | %\vspace*{0.5cm} 49 | %{\bf{Anmerkung}}\\ 50 | %Mit der 9. \"Ubung ist in den verschiedenen \"Ubungsgruppen abzusichern, dass alle bisher aus Zeitgr\"unden noch nicht besprochenen Aufgaben der \"Ubungsbl\"atter 1 bis 8 abgearbeitet sind. 51 | 52 | \setcounter{exercise}{0} 53 | 54 | % diese aufgabe hat sich erledigt - wurde in vl komplett gezeigt: 55 | %\input{pool/sprachen-turingmaschine-zweierpotenz} 56 | 57 | % Zur Widerholung beim nächsten Mal... 58 | %\input{pool/sprachen-turingmaschine-ai_bi_ci} 59 | 60 | \input{pool/baier/706} 61 | \input{pool/baier/975} 62 | \input{pool/sprachen-turingmaschine-funktion} 63 | 64 | %%%%%%%%%%%%%%%%%%%%%%%%%%% 65 | 66 | % zu komplex für den moment 67 | %\input{pool/baier/14b} 68 | 69 | %%%%%%%%%%%%%%%%%%%%%%%%%%% 70 | 71 | \end{document} 72 | -------------------------------------------------------------------------------- /Uebungen/pool/sprachen-wiederholung.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{exercise} 3 | 4 | \begin{enumerate} 5 | \item[S17)] Gegeben ist der folgende NFA $\mathcal{M}_1=(\{q_0,q_1,q_2,q_3\},\{a,b\},\delta,\{q_0\},\{q_3\})$ mit\\[0.2cm] 6 | $\delta$: 7 | \begin{center} 8 | \input{pool/graphics/sprachen-wiederholung} 9 | \end{center} 10 | \begin{enumerate} 11 | \item[a)] Berechnen Sie mithilfe des {\it{Arden}}-Lemmas einen regul\"aren Ausdruck $\alpha$ mit $L(\mathcal{M}_1)=L(\alpha)$. 12 | \item[b)] Geben Sie einen DFA $\overline{\mathcal{M}_2}$ an, der das Komplement von $L$ akzeptiert, indem Sie aus ${\mathcal{M}}_1$ einen DFA ${\mathcal{M}}_2$ 13 | f\"ur $L$ und aus ${\mathcal{M}}_2$ anschlie\ss{}end den Komplementautomaten $\overline{\mathcal{M}_2}$ bilden.\\ 14 | \end{enumerate} 15 | 16 | \item[S18)] 17 | \begin{enumerate} 18 | \item[a)] Gegeben sind die folgenden Grammatiken $G_i$ mit $1\le i\le 4$: 19 | \begin{itemize} 20 | \item $G_1=(\{S\},\{a,b\},\{S\rightarrow aS,S\rightarrow Sb,S\rightarrow a\},S)$ 21 | \item $G_2=(\{S\},\{a,b\},\{S\rightarrow aS,S\rightarrow SbS,S\rightarrow a\},S)$ 22 | \item $G_3=(\{S,B\},\{a,b\},\{S\rightarrow \varepsilon,S\rightarrow aSb,aS\rightarrow aB, B\rightarrow bB, B\rightarrow b\},S)$ 23 | \item $G_4=(\{S,A\},\{a,b\},\{S\rightarrow a,A\rightarrow b\},S)$ 24 | \end{itemize} 25 | Geben Sie f\"ur jede Grammatik $G_i$ den maximalen Chomsky-Typ $j$ an. Begr\"unden Sie Ihre Antwort. 26 | \item[b)] Gegeben sind die folgenden Sprachen $L_i$ mit $1\le i\le 4$: 27 | \begin{itemize} 28 | \item $L_1=\{a^nb^na^n \;|\;n\in \mathbb{N}, n\ge 1\}$ 29 | \item $L_2=\{\varepsilon,a\}$ 30 | \item $L_3=\{a^nb^m \;|\;n,m\in \mathbb{N}\setminus \{0\}, n> m\}$ 31 | \item $L_4=L(\{a\}\circ \{a\}^*\circ \{b\}\circ \{b\}^*)\setminus L_3$ 32 | \end{itemize} 33 | Geben Sie f\"ur jede Sprache $L_i$ den maximalen Chomsky-Typ $j$ an. Begr\"unden Sie Ihre Antwort. Die Darlegung der Beweisidee ist ausreichend. 34 | \end{enumerate} 35 | 36 | \end{enumerate} 37 | 38 | \end{exercise} 39 | 40 | -------------------------------------------------------------------------------- /Uebungen/blatt-11.tex: -------------------------------------------------------------------------------- 1 | \documentclass[german]{latteachCD} 2 | \usepackage{mdframed} 3 | \usepackage{amsmath} 4 | \usepackage{amsfonts} 5 | \usepackage{amssymb} 6 | \usepackage{fdsymbol} 7 | %\usepackage{wasysym} 8 | %\usepackage{stmaryrd} 9 | %\usepackage{fixltx2e} 10 | %\usepackage{enumitem} 11 | %\usepackage{extarrows} 12 | %\newcommand{\abs}[1]{\lvert#1\rvert} 13 | 14 | \usepackage{tikz} 15 | \input{tikzsettings} 16 | 17 | \newcommand{\T}{\ensuremath\mathcal{M}} 18 | \newcommand{\cT}{\T} 19 | \newcommand{\bin}{\ensuremath\mathit{bin}} 20 | \newcommand{\poly}{\text{\normalfont poly}} 21 | \newcommand{\Nat}{\ensuremath\mathbb{N}} 22 | \newcommand{\eqdef}{\ensuremath\stackrel{\text{def}}{=}} 23 | 24 | \newcommand{\notyetknown}[1]{} 25 | \newcommand{\totutoronly}[1]{\textcolor{gray}{#1}} 26 | \renewcommand{\totutoronly}[1]{} 27 | 28 | \newcommand{\blank}{\text{\textvisiblespace}} 29 | 30 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 31 | 32 | \usepackage{xspace} 33 | 34 | \author{~} 35 | \term{Wintersemester 2017/18} 36 | \title{\Large 11.\@ Übungsblatt} 37 | \course{\LARGE Formale Systeme} 38 | 39 | \input{uebung-macros} 40 | \excludecomment{solution} 41 | 42 | \begin{document} 43 | 44 | \maketitle 45 | 46 | \begin{center} 47 | \begin{mdframed} 48 | \renewcommand{\theexercise}{zur Selbstkontrolle 49 | (diese werden in den Übungen nicht besprochen)} 50 | \input{pool/sprachen-turingmaschine-ai_bi_ci-star} 51 | % {\bfseries Hinweis:} Die Aufgaben *) und **) 52 | % dienen der Selbstkontrolle und werden in der 53 | % Übung nicht besprochen. 54 | \end{mdframed} 55 | \end{center} 56 | 57 | %\vspace*{0.5cm} 58 | %{\bf{Anmerkung}}\\ 59 | %Mit der 9. \"Ubung ist in den verschiedenen \"Ubungsgruppen abzusichern, dass alle bisher aus Zeitgr\"unden noch nicht besprochenen Aufgaben der \"Ubungsbl\"atter 1 bis 8 abgearbeitet sind. 60 | 61 | \setcounter{exercise}{0} 62 | 63 | %%%%%%%%%%%%%%%%%%%%%%%%%%% 64 | 65 | \input{pool/baier/946} 66 | \input{pool/baier/1017} 67 | \newpage 68 | 69 | % wahlweise nur teil b: 70 | \input{pool/baier/14} 71 | %\input{pool/baier/14b} 72 | 73 | %%%%%%%%%%%%%%%%%%%%%%%%%%% 74 | 75 | \end{document} 76 | -------------------------------------------------------------------------------- /Uebungen/pool/baier/20.tex: -------------------------------------------------------------------------------- 1 | \begin{exercise} 2 | 3 | \vskip+2ex 4 | 5 | \begin{enumerate} 6 | \item [(a)] 7 | Begr\"unden Sie die Entscheidbarkeit des folgenden Problems: 8 | \begin{itemize} 9 | \item Gegeben: Spielkonfiguration von 4--gewinnt, in der Spieler X am Zug ist. 10 | \item Gefragt: Gibt es eine Gewinnstrategie f\"ur Spieler X, d.h.~eine 11 | Zugm\"oglichkeit, die Spieler X den Gewinn garantiert, wenn Spieler 12 | X im folgenden stets einen optimalen Zug ausf\"uhrt; unabh\"angig davon, 13 | wie sich Spieler O verh\"alt? 14 | \end{itemize} 15 | Hinweis: Sie m\"ussen nicht erl\"autern, wie eine solche 16 | Gewinnstrategie zu finden ist, sondern lediglich die Existenz eines 17 | Algorithmus, der pr\"uft, ob es eine Gewinnstrategie gibt, belegen. 18 | 19 | Spiel 4gewinnt: Ein senkrecht stehendes hohles Brett mit 7 Spalten und 6 Reihen wird von zwei Spielern (X und O) abwechselnd mit unterschiedlich gef\"arbten Spielsteinen (jeder hat 21 Spielsteine) gef\"ullt. Dabei fallen die Spielsteine in den Spalten nach unten. Gewinner ist derjenige, der vier seiner Spielsteine waagerecht, senkrecht oder diagonal in eine Linie bringt. Gelingt das keinem der beiden Spieler, so wird das Spiel als Remis gewertet. 20 | 21 | \item [(b)] 22 | Begr\"unden Sie die Semientscheidbarkeit des folgenden Problems: 23 | \begin{itemize} 24 | \item Gegeben ist eine Zahlenfolge $s=s_1 s_2 \ldots s_n \in \{0,1,\ldots,9\}^n$, $n\geq 1$. 25 | \item Gefragt: Kommt in dem Nachkommateil der Dezimaldarstellung von 26 | $\pi$ die Sequenz $s$ vor? 27 | \end{itemize} 28 | Hinweis: Sie d\"urfen als bekannt voraussetzen, da{\ss} es beliebig 29 | genaue N\"aherungsverfahren f\"ur $\pi$ gibt. 30 | Skizzieren Sie die Arbeitsweise eines Semientscheidungsverfahren f\"ur 31 | das genannte Problem unter Verwendung eines Algorithmus 32 | $$ \mbox{\it Pi-N\"aherungsverfahren}(k), 33 | $$ 34 | das als Eingabe eine nat\"urliche Zahl $k \ge 1$ hat 35 | und als Ausgabe die $k$ ersten Ziffern des Nachkommateils der 36 | Dezimaldarstellung von $\pi$ zur\"uckgibt. 37 | 38 | %\item [(c)] Ist das Problem aus Teilaufgabe (b) entscheidbar? 39 | % Begründen Sie Ihre Antwort. 40 | 41 | \end{enumerate} 42 | 43 | \end{exercise} 44 | 45 | -------------------------------------------------------------------------------- /macros.tex: -------------------------------------------------------------------------------- 1 | % Common notation 2 | 3 | \usepackage{amsmath,amssymb,amsfonts} 4 | \usepackage{xspace} 5 | 6 | \newcommand{\lectureurl}{https://iccl.inf.tu-dresden.de/web/FS2025} 7 | 8 | \DeclareMathAlphabet{\mathsc}{OT1}{cmr}{m}{sc} % Let's have \mathsc since the slide style has no working \textsc 9 | 10 | % Dual of "phantom": make a text that is visible but intangible 11 | \newcommand{\ghost}[1]{\raisebox{0pt}[0pt][0pt]{\makebox[0pt][l]{#1}}} 12 | 13 | \newcommand{\tuple}[1]{\langle{#1}\rangle} 14 | \newcommand{\defeq}{\mathrel{:=}} 15 | 16 | %%% Annotation %%% 17 | 18 | \usepackage{color} 19 | \newcommand{\todo}[1]{{\tiny\color{red}\textbf{TODO: #1}}} 20 | 21 | 22 | 23 | %%% Old macros below; move when needed 24 | 25 | \newcommand{\blank}{\text{\textvisiblespace}} % empty tape cell for TM 26 | 27 | % table syntax 28 | \newcommand{\dom}{\textbf{dom}} 29 | \newcommand{\adom}{\textbf{adom}} 30 | \newcommand{\dbconst}[1]{\texttt{"#1"}} 31 | \newcommand{\pred}[1]{\textsf{#1}} 32 | \newcommand{\foquery}[2]{#2[#1]} 33 | \newcommand{\ground}[1]{\textsf{ground}(#1)} 34 | % \newcommand{\foquery}[2]{\{#1\mid #2\}} %% Notation as used in Alice Book 35 | % \newcommand{\foquery}[2]{\tuple{#1\mid #2}} 36 | 37 | \newcommand{\quantor}{\mathord{\reflectbox{$\text{\sf{Q}}$}}} % the generic quantor 38 | 39 | % logic syntax 40 | \newcommand{\Inter}{\mathcal{I}} %used to denote an interpretation 41 | \newcommand{\Jnter}{\mathcal{J}} %used to denote another interpretation 42 | \newcommand{\Knter}{\mathcal{K}} %used to denote yet another interpretation 43 | \newcommand{\Zuweisung}{\mathcal{Z}} %used to denote a variable assignment 44 | 45 | % query languages 46 | \newcommand{\qlang}[1]{{\sf #1}} % Font for query languages 47 | \newcommand{\qmaps}[1]{\textbf{QM}({\sf #1})} % Set of query mappings for a query language 48 | 49 | %%% Complexities %%% 50 | 51 | \hyphenation{Exp-Time} % prevent "Ex-PTime" (see, e.g. Tobies'01, Glimm'07 ;-) 52 | \hyphenation{NExp-Time} % better that than something else 53 | 54 | % \newcommand{\complclass}[1]{{\sc #1}\xspace} % font for complexity classes 55 | \newcommand{\complclass}[1]{\ensuremath{\mathsc{#1}}\xspace} % font for complexity classes 56 | 57 | \newcommand{\ACzero}{\complclass{AC$_0$}} 58 | \newcommand{\LogSpace}{\complclass{L}} 59 | \newcommand{\NLogSpace}{\complclass{NL}} 60 | \newcommand{\PTime}{\complclass{P}} 61 | \newcommand{\NP}{\complclass{NP}} 62 | \newcommand{\coNP}{\complclass{coNP}} 63 | \newcommand{\PH}{\complclass{PH}} 64 | \newcommand{\PSpace}{\complclass{PSpace}} 65 | \newcommand{\NPSpace}{\complclass{NPSpace}} 66 | \newcommand{\ExpTime}{\complclass{ExpTime}} 67 | \newcommand{\NExpTime}{\complclass{NExpTime}} 68 | \newcommand{\ExpSpace}{\complclass{ExpSpace}} 69 | \newcommand{\TwoExpTime}{\complclass{2ExpTime}} 70 | \newcommand{\NTwoExpTime}{\complclass{N2ExpTime}} 71 | \newcommand{\ThreeExpTime}{\complclass{3ExpTime}} 72 | \newcommand{\kExpTime}[1]{\complclass{#1ExpTime}} 73 | \newcommand{\kExpSpace}[1]{\complclass{#1ExpSpace}} 74 | -------------------------------------------------------------------------------- /Uebungen/pool/graphics/vier-mal-epsilonfrei.tex: -------------------------------------------------------------------------------- 1 | \begin{tikzpicture}[% ->, >=stealth', semithick, initial text=, shorten <=2pt, shorten >=2pt, auto, on grid, node distance=7ex and 6em, every state/.style={minimum size=0pt,inner sep=2pt,text height=1.5ex,text depth=.25ex}, bend angle=30] \node (delta_1) {$\delta_1$:}; \node[state,initial] (q_0) [below right=of delta_1] {$q_0$}; \node[state] (q_1) [right=of q_0] {$q_1$}; \node[state,accepting] (q_2) [right=of q_1] {$q_2$}; \node[state,accepting] (q_3) [right=of q_2] {$q_3$}; 2 | \path[->] (q_0) edge node {$a$} (q_1) (q_1) edge node {$a$} (q_2) (q_2) edge [loop above] node {$a$} (q_2) edge node {$b$} (q_3) (q_3) edge [loop above] node {$a$} (q_3); \node (delta_2) [below left=of q_0] {$\delta_2$:}; \node[initial,state] (p_0) [below right=of delta_2] {$p_0$}; \node[state] (p_1) [right=of p_0] {$p_1$}; \node[state] (p_2) [right=of p_1] {$p_2$}; \node[state,accepting] (p_3) [right=of p_2] {$p_3$}; 3 | \path[->] (p_0) edge [loop above] node {$a$} (p_0) (p_0) edge node {$b$} (p_1) (p_1) edge node {$b$} (p_2) (p_1) edge [bend left] node {$a$} (p_3) (p_2) edge node {$a$} (p_3) (p_3) edge [loop above] node {$a$} (p_3); \node (delta_3) [below left=of p_0] {$\delta_3$:}; \node[state,initial] (s_0) [below right=of delta_3] {$s_0$}; \node[state] (s_1) [right=of s_0] {$s_1$}; \node[state] (s_2) [above right=of s_1] {$s_2$}; \node[state,accepting] (s_3) [below right=of s_1] {$s_3$}; \path[->] (s_0) edge [loop above] node {$a$} (s_0) (s_0) edge node {$b$} (s_1) (s_1) edge node {$a$} (s_2) (s_2) edge node {$a$} (s_3) (s_3) edge node {$b$} (s_1); 4 | \node (delta_4) [below left=of s_0] {$\delta_4$:}; \node[initial,state] (t_0) [below right=of delta_4] {$t_0$}; \node[initial,state] (t_0) [below right=of delta_4] {$t_0$}; \node[state] (t_1) [right=of t_0] {$t_1$}; \node[state] (t_2) [below=of t_1] {$t_2$}; \node[state,accepting] (t_3) [right=of t_1] {$t_3$}; \node[state] (t_4) [right=of t_3] {$t_4$}; \node[state,accepting] (t_5) [below=of t_4] {$t_5$}; 5 | \path[->] (t_0) edge node {$a,b$} (t_1) (t_1) edge [bend left] node {$a$} (t_2) (t_1) edge node {$b$} (t_3) (t_2) edge [bend left] node {$a$} (t_1) (t_3) edge node {$b$} (t_4) (t_4) edge node {$b$} (t_5) (t_5) edge [loop left] node {$a$} (t_5); \end{tikzpicture} -------------------------------------------------------------------------------- /Uebungen/latteachCD.cls: -------------------------------------------------------------------------------- 1 | % Author: Felix Distel (felix@tcs.inf.tu-dresden.de) 2 | % Last Update: 2011/10/12 3 | % --- Identifikation --- 4 | \NeedsTeXFormat{LaTeX2e} 5 | \ProvidesClass{latteachCD}[2010/04/14 TU Dresden LAT class for teaching 6 | related documents, TU Dresden CD Style] 7 | 8 | 9 | % --- Setzt auf tudform-Klasse auf --- 10 | \LoadClass[11pt,twoside]{tudform} 11 | 12 | 13 | % --- Benoetigte Pakete --- 14 | \RequirePackage{amsfonts} % fuer Makros fuer natuerliche Zahlen, etc. 15 | \RequirePackage{parskip} 16 | \RequirePackage{ifthen} 17 | \RequirePackage[T1]{fontenc} 18 | \RequirePackage[utf8]{inputenc} 19 | \RequirePackage[ngerman]{babel} 20 | 21 | 22 | % --- Option fuer deutsche Sprache deklarieren --- 23 | \DeclareOption{german}{ 24 | \renewcommand{\@notice}{\bfseries{Hinweis}} 25 | \renewcommand{\@exercise}{\bfseries{Aufgabe}} 26 | \renewcommand{\@faculty}{Fakultät Informatik} 27 | \renewcommand{\@institute}{Institut für Theoretische Informatik} 28 | \renewcommand{\@chair}{Lehrstuhl für Automatentheorie} 29 | } 30 | 31 | 32 | % --- Sprachspezifika --- 33 | \newcommand{\@notice}{Notice} 34 | \newcommand{\@exercise}{Exercise} 35 | \newcommand{\@faculty}{Faculty of Computer Science} 36 | \newcommand{\@institute}{Institute of Theoretical Computer Science} 37 | \newcommand{\@chair}{Chair of Automata Theory} 38 | \ProcessOptions\relax 39 | 40 | 41 | % --- Mathematische Makros --- 42 | \newcommand{\N}{\ensuremath{\mathbb{N}}} 43 | \newcommand{\R}{\ensuremath{\mathbb{R}}} 44 | %\renewcommand{\epsilon}{\varepsilon} 45 | %\renewcommand{\phi}{\varphi} 46 | %\renewcommand{\rho}{\varrho} 47 | %\renewcommand{\theta}{\vartheta} 48 | 49 | 50 | % --- Neue Umgebungen --- 51 | \newcounter{exercise} % Exercise Umgebung 52 | \newenvironment{exercise}[1][] 53 | {\vskip+3ex 54 | \stepcounter{exercise}{\textbf{\@exercise~\theexercise}} 55 | \ifthenelse{\equal{#1}{}}{}{{\bfseries{(#1)}}}\\[1ex] 56 | } 57 | {\vspace{2ex}} 58 | \newcommand{\notice}[1]{ 59 | \vspace*{0.1cm} 60 | 61 | \rule{\textwidth}{.5pt} 62 | 63 | {\bfseries{\@notice}}\\[0.2cm] 64 | 65 | #1\\ 66 | 67 | \rule{\textwidth}{.5pt} 68 | \vspace*{0.1cm} 69 | } 70 | 71 | 72 | % --- Kopf des Dokuments --- 73 | \AtBeginDocument{ 74 | \einrichtung{\@faculty} 75 | \institut{\@institute} 76 | \professur{\@chair} 77 | } 78 | \newcommand{\@term}{~} 79 | \newcommand{\@course}{~} 80 | \newcommand{\term}[1]{\renewcommand{\@term}{#1}} 81 | \newcommand{\course}[1]{\renewcommand{\@course}{#1}} 82 | \renewcommand{\maketitle}{% 83 | {\bfseries\Large \@course}\\[1ex] 84 | {\textbf{\@title}}\\[1ex] 85 | \@author\\ 86 | \@term\\[5ex]% 87 | } 88 | 89 | 90 | % --- Zaehler setzen --- 91 | \renewcommand{\theenumi}{\alph{enumi}}% 92 | \renewcommand{\labelenumi}{\theenumi)}% 93 | \setcounter{exercise}{0}% 94 | \setcounter{page}{1}% 95 | 96 | 97 | % --- Veraenderungen am Layout --- 98 | %\setlength{\parindent}{0pt} 99 | %\setlength{\parskip}{\medskipamount} 100 | %\setlength{\tabcolsep}{6pt} 101 | %\setlength{\doublerulesep}{6pt} 102 | %\renewcommand{\fps@figure}{htbp} % Default fuer Positionierung von 103 | %\renewcommand{\fps@table}{htbp} % Abbildungen und Tabellen veraendern 104 | %\renewcommand{\arraystretch}{1.2} 105 | %\sloppy 106 | 107 | % --- Let's redefine some fonts --- 108 | % Super-hackish … 109 | %\DeclareFixedFont{\univLightIX}{T1}{aun}{l}{n}{9} 110 | %\DeclareFixedFont{\univBoldIX}{T1}{aun}{b}{n}{9} 111 | %\DeclareFixedFont{\univLightXI}{T1}{aun}{l}{n}{11} 112 | %\DeclareFixedFont{\univLightObliqueXI}{T1}{aun}{l}{sl}{11} 113 | %\DeclareFixedFont{\univBoldXI}{T1}{aun}{b}{n}{11} 114 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Vorlesungsfolien Formale Systeme 2 | ================================ 3 | 4 | [![Project Stats](https://www.openhub.net/p/FormaleSysteme/widgets/project_thin_badge.gif)](https://www.openhub.net/p/FormaleSysteme) 5 | 6 | *(This repository contains LaTeX sources of a 7 | [German language university course in theoretical computer science](https://iccl.inf.tu-dresden.de/web/Formale_Systeme/en).)* 8 | 9 | Dieses Repository enthält die LaTeX-Quellen der Folien zur Vorlesung [Formale Systeme](https://iccl.inf.tu-dresden.de/web/Formale_Systeme) 10 | der [Fakultät Informatik der Technischen Universität Dresden](https://tu-dresden.de/ing/informatik), wie im 11 | Wintersemester 2020/2021 präsentiert. Folien früherer Jahrgänge sind als Releases verfügbar. 12 | Aktuelle Folien können sich jeweils während des Semesters noch verändern. 13 | 14 | Die Vorlesung vermittelt eine Einleitung in die Gebiete der formalen Sprachen, Automatentheorie, 15 | Aussagenlogik, Komplexitäts- und Berechenbarkeitstheorie. Dies beinhaltet einige der wichtigsten Grundlagen der 16 | Informatik, wie z.B. reguläre Ausdrücke, formale Grammatiken, Turingmaschinen, logisches Schließen, 17 | das Halteproblem und die Komplexitätsklassen P und NP. 18 | Damit bildet die Vorlesung die Grundlage für viele vertiefende Vorlesungen. 19 | 20 | PDFs erstellen 21 | -------------- 22 | 23 | Die Quellen können mit ```pdflatex``` in PDFs umgewandelt werden. 24 | 25 | Das Script [build.sh](https://github.com/knowsys/FormaleSysteme/blob/master/Vorlesungen/build.sh) 26 | erzeugt außerdem eine Druckversion mit vier Folien pro Seite (benötigt ```pdfjam```).s 27 | 28 | Die fertigen PDFs werden semesterbegleitend auf der Vorlesungswebseite bereitgestellt: 29 | - Winter 2023/24: https://iccl.inf.tu-dresden.de/web/FS2023 30 | - Winter 2020/21: https://iccl.inf.tu-dresden.de/web/FS2020 31 | - Winter 2017/18: https://iccl.inf.tu-dresden.de/web/FS2017 32 | 33 | Weitere Jahrgänge sind über die [allgemeine Webseite zur Lehrveranstaltung](https://iccl.inf.tu-dresden.de/web/Formale_Systeme) zu finden. 34 | Achtung: Die Lehrveranstaltung wird in verschiedenen Jahren von unterschiedlichen Professuren 35 | betreut, die zum Teil unterschiedliche Materialien verwenden, auch wenn die allgemeinen Inhalte 36 | übereinstimmen. 37 | 38 | Lizenz und Nutzung in der Lehre 39 | ------------------------------- 40 | 41 | Soweit nicht anders angegeben stehen alle Texte unter der Lizenz 42 | [Creative Commons CC By 3.0 Deutschland](https://creativecommons.org/licenses/by/3.0/de/) genutzt, weitergegeben 43 | und modifiziert werden. Als Namensnennung muss dabei folgende Angabe eingefügt werden: 44 | 45 | (C) Markus Krötzsch, https://iccl.inf.tu-dresden.de/web/FS2023, CC BY 3.0 DE 46 | 47 | Bildrechte können davon abweichen und sind gesondert in den LaTeX-Dateien angegeben. 48 | Die Foliensätze enthalten keinerlei Texte aus Werken, für welche die VG Wort Verwertungsrechte vertritt. 49 | 50 | Die Nutzung der Materialien in eigenen Lehrveranstaltungen ist willkommen, sofern der obige Lizenztext 51 | in allen abgeleiteten Foliensätzen angegeben wird. Rückmeldungen sind willkommen (z.B. als Issue zu diesem 52 | Repository); wir verlinken hier gern auf die Homepages der entsprechenden Kurse. Interessierte Lehrende können 53 | ihre abgewandelten Quellen auch mit in diesem Respository veröffentlichen -- kontaktieren Sie Prof. Krötzsch. 54 | 55 | Autoren 56 | ------- 57 | 58 | Die Folien wurden erstellt von [Markus Krötzsch](https://iccl.inf.tu-dresden.de/web/Markus_Krötzsch). 59 | Eine vollständige Liste der Beitragenden ist unter https://github.com/knowsys/FormaleSysteme/graphs/contributors 60 | zu finden. 61 | 62 | Hinweise und Vorschläge 63 | ----------------------- 64 | 65 | Verbesserungsvorschläge und Fehler können als [Issues](https://github.com/knowsys/FormaleSysteme/issues) gemeldet 66 | werden. Pull-Requests sind willkommen. 67 | 68 | -------------------------------------------------------------------------------- /Vorlesungen/tudcolors.sty: -------------------------------------------------------------------------------- 1 | %% LaTeX-Paket für die TUD-Farben 2 | %% 3 | %% Tobias Schlemmer (tobias.schlemmer@mailbox.tu-dresden.de) 4 | \NeedsTeXFormat{LaTeX2e} 5 | \ProvidesPackage{tudcolors}[2010/08/25 v1.5 TU Dresden CD-Farben Tobias.Schlemmer@mailbox.tu-dresden.de] 6 | \RequirePackage{color} 7 | 8 | %%%% New corporate design 2025 9 | \definecolor{TudBrilliantBlue}{RGB/cymk}{0,0,140/1.0, 0.8, 0.05, 0.0} 10 | 11 | 12 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 13 | %%% Farbdefinitionen entsprechend dem Farbregister auf 14 | %%% http://tu-dresden.de/service/cd/6_handbuch/handbuch_farbregister.pdf 15 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 | % Hausfarben 17 | % Dunkelblau 18 | \definecolor{HKS41K100}{cmyk/rgb}{1.00, 0.70, 0.10, 0.50/0.0431373,0.164706,0.317647} 19 | \definecolor{HKS41K90}{cmyk/rgb}{0.9, 0.63, 0.09, 0.45/0.113725,0.207843,0.356863} 20 | \definecolor{HKS41K80}{cmyk/rgb}{0.8, 0.56, 0.08, 0.40/0.184314,0.25098,0.403922} 21 | \definecolor{HKS41K70}{cmyk/rgb}{0.7, 0.49, 0.07, 0.35/0.247059,0.309804,0.454902} 22 | \definecolor{HKS41K60}{cmyk/rgb}{0.6, 0.42, 0.06, 0.30/0.317647,0.364706,0.501961} 23 | \definecolor{HKS41K50}{cmyk/rgb}{0.5, 0.35, 0.05, 0.25/0.388235,0.423529,0.556863} 24 | \definecolor{HKS41K40}{cmyk/rgb}{0.4, 0.28, 0.04, 0.20/0.466667,0.498039,0.619608} 25 | \definecolor{HKS41K30}{cmyk/rgb}{0.3, 0.21, 0.03, 0.15/0.545098,0.580392,0.694118} 26 | \definecolor{HKS41K20}{cmyk/rgb}{0.2, 0.14, 0.02, 0.10/0.658824,0.686275,0.780392} 27 | \definecolor{HKS41K10}{cmyk/rgb}{0.1, 0.07, 0.01, 0.05/0.803922,0.831373,0.886275} 28 | 29 | % Grau 30 | \definecolor{HKS92K100}{cmyk}{0.1,0.00,0.05,0.65} 31 | \definecolor{HKS92K90}{cmyk}{0.09,0.00,0.045,0.585} 32 | \definecolor{HKS92K80}{cmyk}{0.08,0.00,0.04,0.52} 33 | \definecolor{HKS92K70}{cmyk}{0.07,0.00,0.035,0.455} 34 | \definecolor{HKS92K60}{cmyk}{0.06,0.00,0.03,0.39} 35 | \definecolor{HKS92K50}{cmyk}{0.05,0.00,0.025,0.325} 36 | \definecolor{HKS92K40}{cmyk}{0.04,0.00,0.02,0.26} 37 | \definecolor{HKS92K30}{cmyk}{0.03,0.00,0.015,0.195} 38 | \definecolor{HKS92K20}{cmyk}{0.02,0.00,0.01,0.13} 39 | \definecolor{HKS92K10}{cmyk}{0.01,0.00,0.005,0.065} 40 | 41 | % Auszeichnungsfarbe 1. Kategorie 42 | \definecolor{HKS44K100}{cmyk/rgb}{1.00,0.50,0.0,0.0/0,0.34902,0.639216} 43 | \definecolor{HKS44K90}{cmyk/rgb}{0.9,0.45,.0,.0/0.101961,0.392157,0.666667} 44 | \definecolor{HKS44K80}{cmyk/rgb}{0.8,.40,.0,.0/0.203922,0.435294,0.698039} 45 | \definecolor{HKS44K70}{cmyk/rgb}{.7,.35,.0,.0/0.298039,0.478431,0.72549} 46 | \definecolor{HKS44K60}{cmyk/rgb}{.6,.3,0,0/0.380392,0.521569,0.752941} 47 | \definecolor{HKS44K50}{cmyk/rgb}{.5,.25,0,0/0.45098,0.572549,0.788235} 48 | \definecolor{HKS44K40}{cmyk/rgb}{.4,.20,0,0/0.529412,0.631373,0.823529} 49 | \definecolor{HKS44K30}{cmyk/rgb}{.3,.15,0,0/0.611765,0.694118,0.858824} 50 | \definecolor{HKS44K20}{cmyk/rgb}{.2,.10,0,0/0.721569,0.776471,0.901961} 51 | \definecolor{HKS44K10}{cmyk/rgb}{.1,.05,0,0/0.847059,0.878431,0.94902} 52 | 53 | % Auszeichnungsfarbe 2. Kategorie 54 | % Violett 55 | \definecolor{HKS36K10}{cmyk}{0.08, 0.09, 0.00, 0.00} 56 | \definecolor{HKS36K20}{cmyk}{0.16, 0.18, 0.00, 0.00} 57 | \definecolor{HKS36K30}{cmyk}{0.24, 0.27, 0.00, 0.00} 58 | \definecolor{HKS36K40}{cmyk}{0.32, 0.36, 0.00, 0.00} 59 | \definecolor{HKS36K50}{cmyk}{0.40, 0.45, 0.00, 0.00} 60 | \definecolor{HKS36K60}{cmyk}{0.48, 0.54, 0.00, 0.00} 61 | \definecolor{HKS36K70}{cmyk}{0.56, 0.63, 0.00, 0.00} 62 | \definecolor{HKS36K80}{cmyk}{0.64, 0.72, 0.00, 0.00} 63 | \definecolor{HKS36K90}{cmyk}{0.72, 0.81, 0.00, 0.00} 64 | \definecolor{HKS36K100}{cmyk}{0.80, 0.90, 0.00, 0.00} 65 | 66 | %lila 67 | \definecolor{HKS33K10}{cmyk}{0.05, 0.10, 0.00, 0.00} 68 | \definecolor{HKS33K20}{cmyk}{0.10, 0.20, 0.00, 0.00} 69 | \definecolor{HKS33K30}{cmyk}{0.15, 0.30, 0.00, 0.00} 70 | \definecolor{HKS33K40}{cmyk}{0.20, 0.40, 0.00, 0.00} 71 | \definecolor{HKS33K50}{cmyk}{0.25, 0.50, 0.00, 0.00} 72 | \definecolor{HKS33K60}{cmyk}{0.30, 0.60, 0.00, 0.00} 73 | \definecolor{HKS33K70}{cmyk}{0.35, 0.70, 0.00, 0.00} 74 | \definecolor{HKS33K80}{cmyk}{0.40, 0.80, 0.00, 0.00} 75 | \definecolor{HKS33K90}{cmyk}{0.45, 0.90, 0.00, 0.00} 76 | \definecolor{HKS33K100}{cmyk}{0.50, 1.00, 0.00, 0.00} 77 | 78 | %dunkelgrün 79 | \definecolor{HKS57K10}{cmyk}{0.10, 0.00, 0.09, 0.02} 80 | \definecolor{HKS57K20}{cmyk}{0.20, 0.00, 0.18, 0.04} 81 | \definecolor{HKS57K30}{cmyk}{0.30, 0.00, 0.27, 0.06} 82 | \definecolor{HKS57K40}{cmyk}{0.40, 0.00, 0.36, 0.08} 83 | \definecolor{HKS57K50}{cmyk}{0.50, 0.00, 0.45, 0.10} 84 | \definecolor{HKS57K60}{cmyk}{0.60, 0.00, 0.54, 0.12} 85 | \definecolor{HKS57K70}{cmyk}{0.70, 0.00, 0.63, 0.14} 86 | \definecolor{HKS57K80}{cmyk}{0.80, 0.00, 0.72, 0.16} 87 | \definecolor{HKS57K90}{cmyk}{0.90, 0.00, 0.81, 0.18} 88 | \definecolor{HKS57K100}{cmyk}{1.00, 0.00, 0.90, 0.20} 89 | 90 | % hellgrün 91 | \definecolor{HKS65K10}{cmyk}{0.06, 0.00, 0.10, 0.00} 92 | \definecolor{HKS65K20}{cmyk}{0.13, 0.00, 0.20, 0.00} 93 | \definecolor{HKS65K30}{cmyk}{0.19, 0.00, 0.30, 0.00} 94 | \definecolor{HKS65K40}{cmyk}{0.26, 0.00, 0.40, 0.00} 95 | \definecolor{HKS65K50}{cmyk}{0.32, 0.00, 0.50, 0.00} 96 | \definecolor{HKS65K60}{cmyk}{0.39, 0.00, 0.60, 0.00} 97 | \definecolor{HKS65K70}{cmyk}{0.45, 0.00, 0.70, 0.00} 98 | \definecolor{HKS65K80}{cmyk}{0.52, 0.00, 0.80, 0.00} 99 | \definecolor{HKS65K90}{cmyk}{0.58, 0.00, 0.90, 0.00} 100 | \definecolor{HKS65K100}{cmyk}{0.65, 0.00, 1.00, 0.00} 101 | 102 | % Ausnahmefarbe HKS 07_K 103 | \definecolor{HKS07K10}{cmyk}{0.00, 0.06, 0.10, 0.00} 104 | \definecolor{HKS07K20}{cmyk}{0.00, 0.12, 0.20, 0.00} 105 | \definecolor{HKS07K30}{cmyk}{0.00, 0.18, 0.30, 0.00} 106 | \definecolor{HKS07K40}{cmyk}{0.00, 0.24, 0.40, 0.00} 107 | \definecolor{HKS07K50}{cmyk}{0.00, 0.30, 0.50, 0.00} 108 | \definecolor{HKS07K60}{cmyk}{0.00, 0.36, 0.60, 0.00} 109 | \definecolor{HKS07K70}{cmyk}{0.00, 0.42, 0.70, 0.00} 110 | \definecolor{HKS07K80}{cmyk}{0.00, 0.48, 0.80, 0.00} 111 | \definecolor{HKS07K90}{cmyk}{0.00, 0.54, 0.90, 0.00} 112 | \definecolor{HKS07K100}{cmyk}{0.00, 0.60, 1.00, 0.00} 113 | 114 | \endinput 115 | -------------------------------------------------------------------------------- /Vorlesungen/beamerfontthemetud.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{beamerfontthemetud}[2011/01/17 v1 TU Dresden font 2 | theme for Beamer class] 3 | 4 | \newif\if@useHeavyFont\@useHeavyFontfalse 5 | \DeclareOptionBeamer{heavyfont}{\@useHeavyFonttrue} 6 | % 7 | % \newif\if@noDIN\@noDINfalse 8 | % \DeclareOptionBeamer{nodin}{\@noDINtrue} 9 | 10 | %\newif\if@useBeamerFont\@useBeamerFontfalse 11 | %\DeclareOption{beamerfont}{\@useBeamerFonttrue} 12 | 13 | \newif\if@sansmath\@sansmathtrue 14 | \DeclareOptionBeamer{serifmath}{\@sansmathfalse} 15 | \ProcessOptionsBeamer 16 | \usepackage{opensans} 17 | 18 | % % Schriftspezifische Definitionen 19 | % %\if@useBeamerFont\else% 20 | % \renewcommand*\encodingdefault{OT1} 21 | % % \renewcommand*\familydefault{aun} 22 | % \renewcommand*\familydefault{\sfdefault} 23 | % \renewcommand*\bfseries{\fontseries{b}\selectfont} 24 | % \if@useHeavyFont\renewcommand*\seriesdefault{m}\else\renewcommand*\seriesdefault{l}\fi 25 | % \renewcommand*\shapedefault{n} 26 | % % \renewcommand*\sfdefault{aun} 27 | % %\renewcommand*{\sffamily}{\not@math@alphabet\sffamily\mathsf\fontfamily{aun}\selectfont} 28 | % %\renewcommand*{\ttfamily}{\fontfamily{\ttdefault}\fontseries{\mddefault}\selectfont} 29 | % \renewcommand*\ttfamily{\not@math@alphabet\ttfamily\mathtt\fontfamily\ttdefault\fontseries\mddefault\selectfont} 30 | % %\DeclareRobustCommand\dindefault{din} 31 | % %\newcommand*{\dinfamily}{\fontencoding{OT1}\fontfamily{din}\fontseries{b}\selectfont} 32 | % %\DeclareRobustCommand\dinfamily{\not@math@alphabet\sffamily\mathsf\fontfamily\dindefault\selectfont} 33 | % %\fi 34 | 35 | \if@sansmath 36 | \DeclareSymbolFont{aunLetters}{T1}{aun}{l}{sl} 37 | \SetSymbolFont{aunLetters}{bold}{T1}{aun}{b}{sl} 38 | \DeclareSymbolFont{aunOperators}{T1}{aun}{l}{n} 39 | \SetSymbolFont{aunOperators}{bold}{T1}{aun}{b}{n} 40 | 41 | \DeclareMathSymbol{a}{\mathalpha}{aunLetters}{`a} 42 | \DeclareMathSymbol{b}{\mathalpha}{aunLetters}{`b} 43 | \DeclareMathSymbol{c}{\mathalpha}{aunLetters}{`c} 44 | \DeclareMathSymbol{d}{\mathalpha}{aunLetters}{`d} 45 | \DeclareMathSymbol{e}{\mathalpha}{aunLetters}{`e} 46 | \DeclareMathSymbol{f}{\mathalpha}{aunLetters}{`f} 47 | \DeclareMathSymbol{g}{\mathalpha}{aunLetters}{`g} 48 | \DeclareMathSymbol{h}{\mathalpha}{aunLetters}{`h} 49 | \DeclareMathSymbol{i}{\mathalpha}{aunLetters}{`i} 50 | \DeclareMathSymbol{j}{\mathalpha}{aunLetters}{`j} 51 | \DeclareMathSymbol{k}{\mathalpha}{aunLetters}{`k} 52 | \DeclareMathSymbol{l}{\mathalpha}{aunLetters}{`l} 53 | \DeclareMathSymbol{m}{\mathalpha}{aunLetters}{`m} 54 | \DeclareMathSymbol{n}{\mathalpha}{aunLetters}{`n} 55 | \DeclareMathSymbol{o}{\mathalpha}{aunLetters}{`o} 56 | \DeclareMathSymbol{p}{\mathalpha}{aunLetters}{`p} 57 | \DeclareMathSymbol{q}{\mathalpha}{aunLetters}{`q} 58 | \DeclareMathSymbol{r}{\mathalpha}{aunLetters}{`r} 59 | \DeclareMathSymbol{s}{\mathalpha}{aunLetters}{`s} 60 | \DeclareMathSymbol{t}{\mathalpha}{aunLetters}{`t} 61 | \DeclareMathSymbol{u}{\mathalpha}{aunLetters}{`u} 62 | \DeclareMathSymbol{v}{\mathalpha}{aunLetters}{`v} 63 | \DeclareMathSymbol{w}{\mathalpha}{aunLetters}{`w} 64 | \DeclareMathSymbol{x}{\mathalpha}{aunLetters}{`x} 65 | \DeclareMathSymbol{y}{\mathalpha}{aunLetters}{`y} 66 | \DeclareMathSymbol{z}{\mathalpha}{aunLetters}{`z} 67 | \DeclareMathSymbol{A}{\mathalpha}{aunLetters}{`A} 68 | \DeclareMathSymbol{B}{\mathalpha}{aunLetters}{`B} 69 | \DeclareMathSymbol{C}{\mathalpha}{aunLetters}{`C} 70 | \DeclareMathSymbol{D}{\mathalpha}{aunLetters}{`D} 71 | \DeclareMathSymbol{E}{\mathalpha}{aunLetters}{`E} 72 | \DeclareMathSymbol{F}{\mathalpha}{aunLetters}{`F} 73 | \DeclareMathSymbol{G}{\mathalpha}{aunLetters}{`G} 74 | \DeclareMathSymbol{H}{\mathalpha}{aunLetters}{`H} 75 | \DeclareMathSymbol{I}{\mathalpha}{aunLetters}{`I} 76 | \DeclareMathSymbol{J}{\mathalpha}{aunLetters}{`J} 77 | \DeclareMathSymbol{K}{\mathalpha}{aunLetters}{`K} 78 | \DeclareMathSymbol{L}{\mathalpha}{aunLetters}{`L} 79 | \DeclareMathSymbol{M}{\mathalpha}{aunLetters}{`M} 80 | \DeclareMathSymbol{N}{\mathalpha}{aunLetters}{`N} 81 | \DeclareMathSymbol{O}{\mathalpha}{aunLetters}{`O} 82 | \DeclareMathSymbol{P}{\mathalpha}{aunLetters}{`P} 83 | \DeclareMathSymbol{Q}{\mathalpha}{aunLetters}{`Q} 84 | \DeclareMathSymbol{R}{\mathalpha}{aunLetters}{`R} 85 | \DeclareMathSymbol{S}{\mathalpha}{aunLetters}{`S} 86 | \DeclareMathSymbol{T}{\mathalpha}{aunLetters}{`T} 87 | \DeclareMathSymbol{U}{\mathalpha}{aunLetters}{`U} 88 | \DeclareMathSymbol{V}{\mathalpha}{aunLetters}{`V} 89 | \DeclareMathSymbol{W}{\mathalpha}{aunLetters}{`W} 90 | \DeclareMathSymbol{X}{\mathalpha}{aunLetters}{`X} 91 | \DeclareMathSymbol{Y}{\mathalpha}{aunLetters}{`Y} 92 | \DeclareMathSymbol{Z}{\mathalpha}{aunLetters}{`Z} 93 | 94 | \DeclareMathSymbol{,}{\mathpunct}{aunLetters}{`,} 95 | \DeclareMathSymbol{.}{\mathord}{aunLetters}{`.} 96 | \DeclareMathSymbol{/}{\mathord}{aunLetters}{`/} 97 | 98 | \DeclareMathSymbol{0}\mathalpha{aunOperators}{"30} 99 | \DeclareMathSymbol{1}\mathalpha{aunOperators}{"31} 100 | \DeclareMathSymbol{2}\mathalpha{aunOperators}{"32} 101 | \DeclareMathSymbol{3}\mathalpha{aunOperators}{"33} 102 | \DeclareMathSymbol{4}\mathalpha{aunOperators}{"34} 103 | \DeclareMathSymbol{5}\mathalpha{aunOperators}{"35} 104 | \DeclareMathSymbol{6}\mathalpha{aunOperators}{"36} 105 | \DeclareMathSymbol{7}\mathalpha{aunOperators}{"37} 106 | \DeclareMathSymbol{8}\mathalpha{aunOperators}{"38} 107 | \DeclareMathSymbol{9}\mathalpha{aunOperators}{"39} 108 | 109 | \DeclareSymbolFontAlphabet{\mathsf}{aunOperators} 110 | \DeclareSymbolFontAlphabet{\mathnormal}{aunLetters} 111 | \DeclareMathAlphabet\mathbf{T1}{aun}{b}{n} 112 | \SetMathAlphabet\mathbf{bold}{T1}{aun}{b}{n} 113 | \DeclareMathAlphabet\mathit{T1}{aun}{l}{sl} 114 | \SetMathAlphabet\mathit{bold}{T1}{aun}{l}{sl} 115 | 116 | \let\operator@font\sf 117 | \fi 118 | \usefonttheme[onlymath]{serif} 119 | 120 | \setbeamerfont{itemize/enumerate subbody}{size=\scriptsize} 121 | \setbeamerfont{itemize/enumerate subsubbody}{size=\scriptsize} 122 | \setbeamerfont{title}{size=\LARGE,series=\bfseries,family=\sffamily} 123 | \setbeamerfont{subtitle}{series=\bfseries,family=\sffamily} 124 | -------------------------------------------------------------------------------- /Vorlesungen/macros-lecture.tex: -------------------------------------------------------------------------------- 1 | % Macros used by all lectures, but not necessarily by excercises 2 | 3 | %%% General setup and dependencies: 4 | 5 | % \usetheme[ddcfooter,nosectionnum]{tud} 6 | \usetheme[nosectionnum,pagenum,noheader]{tud} 7 | % \usetheme[nosectionnum,pagenum]{tud} 8 | \setbeamertemplate{enumerate items}[default] 9 | 10 | % Increase body font size to a sane level: 11 | \let\origframetitle\frametitle 12 | % \renewcommand{\frametitle}[1]{\origframetitle{#1}\normalsize} 13 | \renewcommand{\frametitle}[1]{\origframetitle{#1}\fontsize{10pt}{13.2}\selectfont} 14 | \setbeamerfont{itemize/enumerate subbody}{size=\small} % tud defaults to scriptsize! 15 | \setbeamerfont{itemize/enumerate subsubbody}{size=\small} 16 | % \setbeamerfont{normal text}{size=\small} 17 | % \setbeamerfont{itemize body}{size=\small} 18 | 19 | \renewcommand{\emph}[1]{\textbf{#1}} 20 | 21 | \def\arraystretch{1.3}% Make tables even less cramped vertically 22 | 23 | \usepackage[ngerman]{babel} 24 | \usepackage[utf8]{inputenc} 25 | \usepackage[T1]{fontenc} 26 | 27 | %\usepackage{graphicx} 28 | \usepackage[export]{adjustbox} % loads graphicx 29 | \usepackage{import} 30 | \usepackage{stmaryrd} 31 | \usepackage[normalem]{ulem} % sout command 32 | % \usepackage{times} 33 | \usepackage{txfonts} 34 | \usepackage{array} 35 | 36 | % \usepackage[perpage]{footmisc} % reset footnote counter on each page -- fails with beamer (footnotes gone) 37 | \usepackage{perpage} % reset footnote counter on each page 38 | \MakePerPage{footnote} 39 | 40 | \usepackage{tikz} 41 | \usetikzlibrary{arrows,positioning,decorations.pathreplacing} 42 | % Inspired by http://www.texample.net/tikz/examples/hand-drawn-lines/ 43 | \usetikzlibrary{decorations.pathmorphing} 44 | \pgfdeclaredecoration{penciline}{initial}{ 45 | \state{initial}[width=+\pgfdecoratedinputsegmentremainingdistance, 46 | auto corner on length=1mm,]{ 47 | \pgfpathcurveto% 48 | {% From 49 | \pgfqpoint{\pgfdecoratedinputsegmentremainingdistance} 50 | {\pgfdecorationsegmentamplitude} 51 | } 52 | {% Control 1 53 | \pgfmathrand 54 | \pgfpointadd{\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}} 55 | {\pgfqpoint{-\pgfdecorationsegmentaspect 56 | \pgfdecoratedinputsegmentremainingdistance}% 57 | {\pgfmathresult\pgfdecorationsegmentamplitude} 58 | } 59 | } 60 | {%TO 61 | \pgfpointadd{\pgfpointdecoratedinputsegmentlast}{\pgfpoint{1pt}{1pt}} 62 | } 63 | } 64 | \state{final}{} 65 | } 66 | \tikzset{handdrawn/.style={decorate,decoration=penciline}} 67 | \tikzset{every shadow/.style={fill=none,shadow xshift=0pt,shadow yshift=0pt}} 68 | % \tikzset{module/.append style={top color=\col,bottom color=\col}} 69 | 70 | % Use to make Tikz attributes with Beamer overlays 71 | % http://tex.stackexchange.com/a/6155 72 | \tikzset{onslide/.code args={<#1>#2}{% 73 | \only<#1| handout:0>{\pgfkeysalso{#2}} 74 | }} 75 | \tikzset{onslideprint/.code args={<#1>#2}{% 76 | \only<#1>{\pgfkeysalso{#2}} 77 | }} 78 | 79 | %%% Title -- always set this first 80 | 81 | \newcommand{\defineTitle}[3]{ 82 | \newcommand{\lectureindex}{#1} 83 | \title{Formale Systeme} 84 | \subtitle{\href{\lectureurl}{#1. Vorlesung: #2}} 85 | \author{\href{https://iccl.inf.tu-dresden.de/web/Markus_Kr\%C3\%B6tzsch}{Markus Kr\"{o}tzsch}\\[1ex]Professur für Wissensbasierte Systeme} 86 | \date{#3} 87 | \datecity{TU Dresden} 88 | % \institute{CC-By 3.0, sofern keine anderslautenden Bildrechte angegeben sind} 89 | } 90 | 91 | %%% Table of contents: 92 | 93 | \RequirePackage{ifthen} 94 | 95 | \newcommand{\highlight}[2]{% 96 | \ifthenelse{\equal{#1}{\lectureindex}}{\alert{#2}}{#2}% 97 | } 98 | 99 | \def\myspace{-0.7ex} 100 | \newcommand{\printtoc}{ 101 | \begin{tabular}{r@{$\quad$}l} 102 | \highlight{1}{1.} & \highlight{1}{Willkommen/Einleitung formale Sprachen}\\[\myspace] 103 | \highlight{2}{2.} & \highlight{2}{Grammatiken und die Chomsky-Hierarchie}\\[\myspace] 104 | \highlight{3}{3.} & \highlight{3}{Endliche Automaten}\\[\myspace] 105 | \highlight{4}{4.} & \highlight{4}{Complexity of FO query answering}\\[\myspace] 106 | \highlight{5}{5.} & \highlight{5}{Conjunctive queries}\\[\myspace] 107 | \highlight{6}{6.} & \highlight{6}{Tree-like conjunctive queries}\\[\myspace] 108 | \highlight{7}{7.} & \highlight{7}{Query optimisation}\\[\myspace] 109 | \highlight{8}{8.} & \highlight{8}{Conjunctive Query Optimisation / First-Order~Expressiveness}\\[\myspace] 110 | \highlight{9}{9.} & \highlight{9}{First-Order~Expressiveness / Introduction to Datalog}\\[\myspace] 111 | \highlight{10}{10.} & \highlight{10}{Expressive Power and Complexity of Datalog}\\[\myspace] 112 | \highlight{11}{11.} & \highlight{11}{Optimisation and Evaluation of Datalog}\\[\myspace] 113 | \highlight{12}{12.} & \highlight{12}{Evaluation of Datalog (2)}\\[\myspace] 114 | \highlight{13}{13.} & \highlight{13}{Graph Databases and Path Queries}\\[\myspace] 115 | \highlight{14}{14.} & \highlight{14}{Outlook: database theory in practice} 116 | \end{tabular} 117 | } 118 | 119 | \newcommand{\overviewslide}{% 120 | \begin{frame}\frametitle{Overview} 121 | \printtoc 122 | \medskip 123 | 124 | Siehe \href{\lectureurl}{course homepage [$\Rightarrow$ link]} for more information and materials 125 | \end{frame} 126 | } 127 | 128 | %%% Colours: 129 | \usepackage{xcolor,colortbl} 130 | \definecolor{redhighlights}{HTML}{FFAA66} 131 | \definecolor{lightblue}{HTML}{55AAFF} 132 | \definecolor{lightred}{HTML}{FF5522} 133 | \definecolor{lightpurple}{HTML}{DD77BB} 134 | \definecolor{lightgreen}{HTML}{55FF55} 135 | \definecolor{darkred}{HTML}{CC4411} 136 | \definecolor{darkblue}{HTML}{176FC0}%{1133AA} 137 | \definecolor{nightblue}{HTML}{2010A0}%{1133AA} 138 | \definecolor{alert}{HTML}{176FC0} 139 | \definecolor{darkgreen}{HTML}{36AB14} 140 | \definecolor{strongyellow}{HTML}{FFE219} 141 | \definecolor{devilscss}{HTML}{666666} 142 | 143 | \newcommand{\redalert}[1]{\textcolor{darkred}{#1}} 144 | 145 | %%% Style commands 146 | 147 | \newcommand{\quoted}[1]{\texttt{"}{#1}\texttt{"}} 148 | \newcommand{\squote}{\texttt{"}} % straight quote 149 | \newcommand{\Sterm}[1]{\ensuremath{\mathtt{\textcolor{purple}{#1}}}} % letters in alphabets 150 | \newcommand{\Snterm}[1]{\textsf{\textcolor{darkblue}{#1}}} % nonterminal symbols 151 | \newcommand{\Sntermsub}[2]{\ensuremath{\Snterm{#1}_{\Snterm{#2}}}} % nonterminal symbols 152 | \newcommand{\Slang}[1]{\textbf{\textcolor{black}{#1}}} % languages 153 | \newcommand{\Slangsub}[2]{\ensuremath{\Slang{#1}_{\Slang{#2}}}} % languages 154 | % Code 155 | \newcommand{\Scode}[1]{\textbf{#1}} % reserved words in program listings, e.g., "if" 156 | \newcommand{\Scodelit}[1]{\textcolor{purple}{#1}} % literals in program listings, e.g., strings 157 | \newcommand{\Scomment}[1]{\textcolor{gray}{#1}} % comment in program listings 158 | 159 | \newcommand{\epstrastar}{\mathrel{\mathord{\stackrel{\epsilon}{\to}}{}^*}} % transitive reflexive closure of epsilon transitions in an epslion-NFA 160 | 161 | \newcommand{\narrowcentering}[1]{\mbox{}\hfill#1\hfill\mbox{}} 162 | 163 | \newcommand{\Smach}[1]{\ensuremath{\mathcal{#1}}} % machines 164 | 165 | \newcommand{\mytrue}{\Scodelit{1}} 166 | \newcommand{\myfalse}{\Scodelit{0}} 167 | % \newcommand{\emptyClause}{\bot} 168 | 169 | \newcommand{\Scomplclass}[1]{{\textsc{#1}}} % font for complexity classes, used on slides where the "too many alphabets" LaTeX error appears when using the correct sc font :-( 170 | % \newcommand{\complclass}[1]{\ensuremath{\mathsc{#1}}} % font for complexity classes 171 | 172 | %%% Slide layout commands: 173 | 174 | \newcommand{\sectionSlide}[1]{ 175 | \frame{\begin{center} 176 | \LARGE 177 | #1 178 | \end{center}} 179 | } 180 | \newcommand{\sectionSlideNoHandout}[1]{ 181 | \frame{\begin{center} 182 | \LARGE 183 | #1 184 | \end{center}} 185 | } 186 | 187 | \newcommand{\mydualbox}[3]{% 188 | \begin{minipage}[t]{#1} 189 | \begin{beamerboxesrounded}[upper=block title,lower=block body,shadow=true]% 190 | {\centering\usebeamerfont*{block title}#2}% 191 | \raggedright% 192 | \usebeamerfont{block body} 193 | % \small 194 | #3% 195 | \end{beamerboxesrounded} 196 | \end{minipage} 197 | } 198 | % 199 | \newcommand{\myheaderbox}[2]{% 200 | \begin{minipage}[t]{#1} 201 | \begin{beamerboxesrounded}[upper=block title,lower=block title,shadow=true]% 202 | {\centering\usebeamerfont*{block title}\rule{0pt}{2.6ex} #2}% 203 | \end{beamerboxesrounded} 204 | \end{minipage} 205 | } 206 | 207 | \newcommand{\mycontentbox}[2]{% 208 | \begin{minipage}[t]{#1}% 209 | \begin{beamerboxesrounded}[upper=block body,lower=block body,shadow=true]% 210 | {\centering\usebeamerfont*{block body}\rule{0pt}{2.6ex}#2}% 211 | \end{beamerboxesrounded} 212 | \end{minipage} 213 | } 214 | 215 | \newcommand{\mylcontentbox}[2]{% 216 | \begin{minipage}[t]{#1}% 217 | \begin{beamerboxesrounded}[upper=block body,lower=block body,shadow=true]% 218 | {\flushleft\usebeamerfont*{block body}\rule{0pt}{2.6ex}#2}% 219 | \end{beamerboxesrounded} 220 | \end{minipage} 221 | } 222 | 223 | % label=180:{\rotatebox{90}{{\footnotesize\textcolor{darkgreen}{Beispiel}}}} 224 | % \hspace{-8mm}\ghost{\raisebox{-7mm}{\rotatebox{90}{{\footnotesize\textcolor{darkgreen}{Beispiel}}}}}\hspace{8mm} 225 | \newcommand{\examplebox}[1]{% 226 | \begin{tikzpicture}[decoration=penciline, decorate] 227 | \pgfmathsetseed{1235} 228 | \node (n1) [decorate,draw=darkgreen, fill=darkgreen!10,thick,align=left,text width=\linewidth, inner ysep=2mm, inner xsep=2mm] at (0,0) {#1}; 229 | % \node (n2) [align=left,text width=\linewidth,inner sep=0mm] at (n1.92) {{\footnotesize\raisebox{3mm}{\textcolor{darkgreen}{Beispiel}}}}; 230 | % \node (n2) [decorate,draw=darkgreen, fill=darkgreen!10,thick, align=left,text width=\linewidth,inner sep=2mm] at (n1.90) {{\footnotesize\raisebox{0mm}{\textcolor{darkgreen}{Beispiel}}}}; 231 | \end{tikzpicture}% 232 | }% 233 | 234 | \newcommand{\codebox}[1]{% 235 | \begin{tikzpicture}[decoration=penciline, decorate] 236 | \pgfmathsetseed{1236} 237 | \node (n1) [decorate,draw=strongyellow, fill=strongyellow!10,thick,align=left,text width=\linewidth, inner ysep=2mm, inner xsep=2mm] at (0,0) {#1}; 238 | \end{tikzpicture}% 239 | }% 240 | 241 | \newcommand{\defbox}[1]{% 242 | \begin{tikzpicture}[decoration=penciline, decorate] 243 | \pgfmathsetseed{1237} 244 | \node (n1) [decorate,draw=darkred, fill=darkred!10,thick,align=left,text width=\linewidth, inner ysep=2mm, inner xsep=2mm] at (0,0) {#1}; 245 | \end{tikzpicture}% 246 | }% 247 | 248 | \newcommand{\theobox}[1]{% 249 | \begin{tikzpicture}[decoration=penciline, decorate] 250 | \pgfmathsetseed{1240} 251 | \node (n1) [decorate,draw=darkblue, fill=darkblue!10,thick,align=left,text width=\linewidth, inner ysep=2mm, inner xsep=2mm] at (0,0) {#1}; 252 | \end{tikzpicture}% 253 | }% 254 | 255 | \newcommand{\anybox}[2]{% 256 | \begin{tikzpicture}[decoration=penciline, decorate] 257 | \pgfmathsetseed{1240} 258 | \node (n1) [decorate,draw=#1, fill=#1!10,thick,align=left,text width=\linewidth, inner ysep=2mm, inner xsep=2mm] at (0,0) {#2}; 259 | \end{tikzpicture}% 260 | }% 261 | 262 | 263 | \newsavebox{\mybox}% 264 | \newcommand{\doodlebox}[2]{% 265 | \sbox{\mybox}{#2}% 266 | \begin{tikzpicture}[decoration=penciline, decorate] 267 | \pgfmathsetseed{1238} 268 | \node (n1) [decorate,draw=#1, fill=#1!10,thick,align=left,inner sep=1mm] at (0,0) {\usebox{\mybox}}; 269 | \end{tikzpicture}% 270 | }% 271 | \newcommand{\widedoodlebox}[2]{% 272 | \sbox{\mybox}{#2}% 273 | \begin{tikzpicture}[decoration=penciline, decorate] 274 | \pgfmathsetseed{1238} 275 | \node (n1) [decorate,draw=#1, fill=#1!10,thick,align=left,inner sep=1mm,text width=\linewidth] at (0,0) {\usebox{\mybox}}; 276 | \end{tikzpicture}% 277 | }% 278 | -------------------------------------------------------------------------------- /Vorlesungen/tudfonts.sty: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `euler.sty', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% euler.dtx (with options: `package') 8 | 9 | %% File `euler.dtx'. 10 | %% Copyright (C) 1992 Frank Jensen. All rights reserved. 11 | %% Copyright (C) 1993--1995 Frank Jensen and Frank Mittelbach. 12 | %% All rights reserved. 13 | 14 | \def\fileversion{v1.10} 15 | \def\filedate{2010/08/25} 16 | 17 | %% \CharacterTable 18 | %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z 19 | %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z 20 | %% Digits \0\1\2\3\4\5\6\7\8\9 21 | %% Exclamation \! Double quote \" Hash (number) \# 22 | %% Dollar \$ Percent \% Ampersand \& 23 | %% Acute accent \' Left paren \( Right paren \) 24 | %% Asterisk \* Plus \+ Comma \, 25 | %% Minus \- Point \. Solidus \/ 26 | %% Colon \: Semicolon \; Less than \< 27 | %% Equals \= Greater than \> Question mark \? 28 | %% Commercial at \@ Left bracket \[ Backslash \\ 29 | %% Right bracket \] Circumflex \^ Underscore \_ 30 | %% Grave accent \` Left brace \{ Vertical bar \| 31 | %% Right brace \} Tilde \~} 32 | \NeedsTeXFormat{LaTeX2e}[1994/12/01] 33 | \ProvidesPackage{tudfonts}[\filedate\space\fileversion\space Univers and DIN 34 | bold for TU Dresden(ts)] 35 | 36 | \let\auskommentiert\iffalse 37 | 38 | 39 | \newif\if@tudfonts@eulermath\@tudfonts@eulermathtrue 40 | \DeclareOption{noeulermath}{\@tudfonts@eulermathfalse} 41 | 42 | \newif\if@tudfonts@nodin\@tudfonts@nodinfalse 43 | \DeclareOption{noDIN}{\@tudfonts@nodintrue} 44 | 45 | \newif\if@tudfonts@sansmath\@tudfonts@sansmathtrue 46 | \DeclareOption{serifmath}{ 47 | \@tudfonts@sansmathfalse 48 | \@tudfonts@eulermathfalse 49 | } 50 | 51 | \ProcessOptions\relax 52 | % Fontmaps laden 53 | \RequirePackage{ifpdf} 54 | \ifpdf% pdfTEX is running in pdf mode 55 | \@ifundefined{pdfmapfile}{}{% 56 | \pdfmapfile{+univers.map}% 57 | \if@tudfonts@nodin\else 58 | \pdfmapfile{+dinbold.map}% 59 | \fi 60 | } 61 | \else% TEX or pdfTEX in dvi mode 62 | \fi 63 | 64 | % Load packages 65 | \RequirePackage{amsfonts} 66 | \RequirePackage{amsmath} 67 | \RequirePackage{lmodern} 68 | \if@tudfonts@eulermath 69 | % Hier gibt es einiges zu korrigieren (wg. lmodern) 70 | \providecommand\TextOldstyle{\usefont{OML}{lmm}\f@series{it}} 71 | \RequirePackage{euler} 72 | 73 | \DeclareSymbolFont{cmmigroup}{OML}{lmm}{m}{it} 74 | \SetSymbolFont{cmmigroup}{bold}{OML}{lmm}{b}{it} 75 | \DeclareMathAlphabet\cm@equals@alphabet{OT1}{lmr}{m}{n} 76 | \DeclareMathAlphabet\cm@minus@alphabet{OMS}{lmsy}{m}{n} 77 | \fi 78 | \RequirePackage{calc} 79 | 80 | % DeclareMathSizes 81 | \newcommand\DeclareTudMathSizes[4]{% 82 | \edef\@tempa{\noexpand\DeclareMathSizes{#1}}% 83 | \setlength\@tempdima{#2pt*\tudmathsizefactor}% 84 | \expandafter\edef\expandafter\@tempa\expandafter{% 85 | \expandafter\noexpand\@tempa{\strip@pt\@tempdima}% 86 | }% 87 | \setlength\@tempdima{#3pt*\tudmathsizefactor}% 88 | \expandafter\edef\expandafter\@tempa\expandafter{% 89 | \expandafter\noexpand\@tempa{\strip@pt\@tempdima}% 90 | }% 91 | \setlength\@tempdima{#4pt*\tudmathsizefactor}% 92 | \expandafter\edef\expandafter\@tempa\expandafter{% 93 | \expandafter\noexpand\@tempa{\strip@pt\@tempdima}% 94 | }% 95 | \@tempa 96 | } 97 | \if@tudfonts@sansmath 98 | \newcommand\tudmathsizefactor{1} 99 | \else 100 | \newcommand\tudmathsizefactor{7/6} 101 | \fi 102 | 103 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 104 | %%% Schriftart für Text 105 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 106 | \renewcommand*{\familydefault}{\sfdefault} 107 | \renewcommand*{\seriesdefault}{l} 108 | \renewcommand*{\shapedefault}{n} 109 | \renewcommand*{\sfdefault}{aun} 110 | \renewcommand*{\ttdefault}{aun} 111 | %\renewcommand*{\rmdefault}{aun}% Required for package: url 112 | \normalfont 113 | 114 | % Definitionen der Originalfontnamen 115 | \newcommand\tudfonts@deffont[2]{% 116 | \expandafter\newcommand\csname #1\endcsname{#2}% 117 | } 118 | \tudfonts@deffont{Univers CE 75 Black}{\fontfamily{aub}\fontseries{m}\normalshape} 119 | \tudfonts@deffont{Univers CE 75 Black Oblique}{\fontfamily{aub}\fontseries{m}\slshape} 120 | \tudfonts@deffont{Univers CE 60}{\fontfamily{aun}\fontseries{b}\normalshape} 121 | \tudfonts@deffont{Univers CE 60 Oblique}{\fontfamily{aun}\fontseries{b}\slshape} 122 | \tudfonts@deffont{Univers CE 45 Light}{\fontfamily{aun}\fontseries{l}\normalshape} 123 | \tudfonts@deffont{Univers CE 45 Light Oblique}{\fontfamily{aun}\fontseries{l}\slshape} 124 | \tudfonts@deffont{Univers CE 55}{\fontfamily{aun}\fontseries{m}\normalshape} 125 | \tudfonts@deffont{Univers CE 55 Oblique}{\fontfamily{aun}\fontseries{m}\slshape} 126 | \tudfonts@deffont{Din Bold}{\dinBold} 127 | \newcommand\tudfont[1]{\csname #1\endcsname} 128 | 129 | \newcommand*{\dinBold}{\fontfamily{din}\fontseries{b}\selectfont} 130 | 131 | % \textbullet aus Encoding TS1 für korrekte horizontale Ausrichtung. 132 | % Encoding TS1 bereits durch fix-cm.sty verfügbar. 133 | \DeclareTextSymbolDefault{\textbullet}{TS1} 134 | 135 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 136 | %%% Schriftart für Mathematisches 137 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 138 | 139 | \if@tudfonts@sansmath 140 | % Serifenlose Schrift für Variablen und anderes. 141 | % Für Operatoren kann direkt die Schriftart geändert werden, da hier das 142 | % OT1-Encoding verwendet wird. Dies entspricht der Vorgehensweise in 143 | % den Paketen sfmath.sty und mathptmx.sty. 144 | \SetSymbolFont{operators}{normal}{OT1}{aun}{l}{n} 145 | \SetSymbolFont{operators}{bold}{OT1}{aun}{b}{n} 146 | 147 | % Für Buchstaben u.ä. ist aber die Kodierung OML vorgegeben, die nicht 148 | % für Univers existiert. Man muss also die Buchstaben/Symbole einzeln 149 | % ändern. (Siehe auch sfmath.sty) Hier wird ein Auszug aus tudbook.cls 150 | % von Klaus Bergmann wiederverwendet. 151 | \DeclareSymbolFont{aunUpright}{T1}{aun}{l}{n} 152 | \SetSymbolFont{aunUpright}{bold}{T1}{aun}{b}{n} 153 | \DeclareMathSymbol{0}{\mathalpha}{aunUpright}{`0} 154 | \DeclareMathSymbol{1}{\mathalpha}{aunUpright}{`1} 155 | \DeclareMathSymbol{2}{\mathalpha}{aunUpright}{`2} 156 | \DeclareMathSymbol{3}{\mathalpha}{aunUpright}{`3} 157 | \DeclareMathSymbol{4}{\mathalpha}{aunUpright}{`4} 158 | \DeclareMathSymbol{5}{\mathalpha}{aunUpright}{`5} 159 | \DeclareMathSymbol{6}{\mathalpha}{aunUpright}{`6} 160 | \DeclareMathSymbol{7}{\mathalpha}{aunUpright}{`7} 161 | \DeclareMathSymbol{8}{\mathalpha}{aunUpright}{`8} 162 | \DeclareMathSymbol{9}{\mathalpha}{aunUpright}{`9} 163 | \DeclareSymbolFont{aunLetters}{T1}{aun}{l}{sl} 164 | \SetSymbolFont{aunLetters}{bold}{T1}{aun}{b}{sl} 165 | \DeclareMathSymbol{a}{\mathalpha}{aunLetters}{`a} 166 | \DeclareMathSymbol{b}{\mathalpha}{aunLetters}{`b} 167 | \DeclareMathSymbol{c}{\mathalpha}{aunLetters}{`c} 168 | \DeclareMathSymbol{d}{\mathalpha}{aunLetters}{`d} 169 | \DeclareMathSymbol{e}{\mathalpha}{aunLetters}{`e} 170 | \DeclareMathSymbol{f}{\mathalpha}{aunLetters}{`f} 171 | \DeclareMathSymbol{g}{\mathalpha}{aunLetters}{`g} 172 | \DeclareMathSymbol{h}{\mathalpha}{aunLetters}{`h} 173 | \DeclareMathSymbol{i}{\mathalpha}{aunLetters}{`i} 174 | \DeclareMathSymbol{j}{\mathalpha}{aunLetters}{`j} 175 | \DeclareMathSymbol{k}{\mathalpha}{aunLetters}{`k} 176 | \DeclareMathSymbol{l}{\mathalpha}{aunLetters}{`l} 177 | \DeclareMathSymbol{m}{\mathalpha}{aunLetters}{`m} 178 | \DeclareMathSymbol{n}{\mathalpha}{aunLetters}{`n} 179 | \DeclareMathSymbol{o}{\mathalpha}{aunLetters}{`o} 180 | \DeclareMathSymbol{p}{\mathalpha}{aunLetters}{`p} 181 | \DeclareMathSymbol{q}{\mathalpha}{aunLetters}{`q} 182 | \DeclareMathSymbol{r}{\mathalpha}{aunLetters}{`r} 183 | \DeclareMathSymbol{s}{\mathalpha}{aunLetters}{`s} 184 | \DeclareMathSymbol{t}{\mathalpha}{aunLetters}{`t} 185 | \DeclareMathSymbol{u}{\mathalpha}{aunLetters}{`u} 186 | \DeclareMathSymbol{v}{\mathalpha}{aunLetters}{`v} 187 | \DeclareMathSymbol{w}{\mathalpha}{aunLetters}{`w} 188 | \DeclareMathSymbol{x}{\mathalpha}{aunLetters}{`x} 189 | \DeclareMathSymbol{y}{\mathalpha}{aunLetters}{`y} 190 | \DeclareMathSymbol{z}{\mathalpha}{aunLetters}{`z} 191 | \DeclareMathSymbol{A}{\mathalpha}{aunLetters}{`A} 192 | \DeclareMathSymbol{B}{\mathalpha}{aunLetters}{`B} 193 | \DeclareMathSymbol{C}{\mathalpha}{aunLetters}{`C} 194 | \DeclareMathSymbol{D}{\mathalpha}{aunLetters}{`D} 195 | \DeclareMathSymbol{E}{\mathalpha}{aunLetters}{`E} 196 | \DeclareMathSymbol{F}{\mathalpha}{aunLetters}{`F} 197 | \DeclareMathSymbol{G}{\mathalpha}{aunLetters}{`G} 198 | \DeclareMathSymbol{H}{\mathalpha}{aunLetters}{`H} 199 | \DeclareMathSymbol{I}{\mathalpha}{aunLetters}{`I} 200 | \DeclareMathSymbol{J}{\mathalpha}{aunLetters}{`J} 201 | \DeclareMathSymbol{K}{\mathalpha}{aunLetters}{`K} 202 | \DeclareMathSymbol{L}{\mathalpha}{aunLetters}{`L} 203 | \DeclareMathSymbol{M}{\mathalpha}{aunLetters}{`M} 204 | \DeclareMathSymbol{N}{\mathalpha}{aunLetters}{`N} 205 | \DeclareMathSymbol{O}{\mathalpha}{aunLetters}{`O} 206 | \DeclareMathSymbol{P}{\mathalpha}{aunLetters}{`P} 207 | \DeclareMathSymbol{Q}{\mathalpha}{aunLetters}{`Q} 208 | \DeclareMathSymbol{R}{\mathalpha}{aunLetters}{`R} 209 | \DeclareMathSymbol{S}{\mathalpha}{aunLetters}{`S} 210 | \DeclareMathSymbol{T}{\mathalpha}{aunLetters}{`T} 211 | \DeclareMathSymbol{U}{\mathalpha}{aunLetters}{`U} 212 | \DeclareMathSymbol{V}{\mathalpha}{aunLetters}{`V} 213 | \DeclareMathSymbol{W}{\mathalpha}{aunLetters}{`W} 214 | \DeclareMathSymbol{X}{\mathalpha}{aunLetters}{`X} 215 | \DeclareMathSymbol{Y}{\mathalpha}{aunLetters}{`Y} 216 | \DeclareMathSymbol{Z}{\mathalpha}{aunLetters}{`Z} 217 | 218 | \DeclareMathSymbol{,}{\mathpunct}{aunLetters}{`,} 219 | \DeclareMathSymbol{.}{\mathord}{aunLetters}{`.} 220 | \DeclareMathSymbol{/}{\mathord}{aunLetters}{`/} 221 | 222 | \DeclareSymbolFontAlphabet{\mathsf}{operators}%MZ: angepasst 223 | \DeclareSymbolFontAlphabet{\mathnormal}{aunLetters} 224 | \DeclareMathAlphabet\mathbf{T1}{aun}{b}{n} 225 | \SetMathAlphabet\mathbf{bold}{T1}{aun}{b}{n} 226 | \DeclareMathAlphabet\mathit{T1}{aun}{l}{sl} 227 | \SetMathAlphabet\mathit{bold}{T1}{aun}{l}{sl} 228 | 229 | \if@tudfonts@eulermath 230 | \else 231 | \DeclareMathSymbol\Gamma \mathord{letters}{"00} 232 | \DeclareMathSymbol\Delta \mathord{letters}{"01} 233 | \DeclareMathSymbol\Theta \mathord{letters}{"02} 234 | \DeclareMathSymbol\Lambda \mathord{letters}{"03} 235 | \DeclareMathSymbol\Xi \mathord{letters}{"04} 236 | \DeclareMathSymbol\Pi \mathord{letters}{"05} 237 | \DeclareMathSymbol\Sigma \mathord{letters}{"06} 238 | \DeclareMathSymbol\Upsilon\mathord{letters}{"07} 239 | \DeclareMathSymbol\Phi \mathord{letters}{"08} 240 | \DeclareMathSymbol\Psi \mathord{letters}{"09} 241 | \DeclareMathSymbol\Omega \mathord{letters}{"0A} 242 | \fi 243 | 244 | % Ende des Auszugs 245 | \fi 246 | 247 | \AtBeginDocument{% 248 | \if@tudfonts@eulermath 249 | \else 250 | \DeclareSymbolFont{largesymbols}{OMX}{lmex}{m}{n}% 251 | \fi 252 | \newdimen\big@size 253 | \addto@hook\every@math@size{\setbox\z@\vbox{\hbox{$($}\kern\z@}% 254 | \global\big@size 1.2\ht\z@}% 255 | \def\bBigg@#1#2{% 256 | {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}}% 257 | \def\big{\bBigg@\@ne}% 258 | \def\Big{\bBigg@{1.5}}% 259 | \def\bigg{\bBigg@\tw@}% 260 | \def\Bigg{\bBigg@{2.5}}% 261 | } 262 | 263 | % Korrekte Symbolgrößen 264 | \DeclareFontFamily{OMX}{lmex}{} 265 | \DeclareFontShape{OMX}{lmex}{m}{n}{% 266 | <->lmex10% 267 | }{} 268 | 269 | 270 | \iffalse 271 | \DeclareMathSymbol{!}\mathord {EulerFraktur}{"21} 272 | \DeclareMathSymbol{(}\mathopen {EulerFraktur}{"28} 273 | \DeclareMathSymbol{)}\mathclose{EulerFraktur}{"29} 274 | \DeclareMathSymbol{+}\mathbin {EulerFraktur}{"2B} 275 | \DeclareMathSymbol{-}\mathbin {EulerFraktur}{"2D} 276 | \DeclareMathSymbol{=}\mathrel {EulerFraktur}{"3D} 277 | \DeclareMathSymbol{[}\mathopen {EulerFraktur}{"5B} 278 | \DeclareMathSymbol{]}\mathclose{EulerFraktur}{"5D} 279 | \DeclareMathSymbol{"}\mathord {EulerFraktur}{"7D} 280 | \DeclareMathSymbol{&}\mathord {EulerFraktur}{"26} 281 | \DeclareMathSymbol{:}\mathrel {EulerFraktur}{"3A} 282 | \DeclareMathSymbol{;}\mathpunct{EulerFraktur}{"3B} 283 | \DeclareMathSymbol{?}\mathord {EulerFraktur}{"3F} 284 | \DeclareMathSymbol{^}\mathord {EulerFraktur}{"5E} 285 | \DeclareMathSymbol{`}\mathord {EulerFraktur}{"12} 286 | \DeclareMathDelimiter{(}{EulerFraktur}{"28}{largesymbols}{"00} 287 | \DeclareMathDelimiter{)}{EulerFraktur}{"29}{largesymbols}{"01} 288 | \DeclareMathDelimiter{[}{EulerFraktur}{"5B}{largesymbols}{"02} 289 | \DeclareMathDelimiter{]}{EulerFraktur}{"5D}{largesymbols}{"03} 290 | \fi 291 | 292 | \endinput 293 | %% 294 | %% End of file `tudfonts.sty'. 295 | -------------------------------------------------------------------------------- /Uebungen/tudform.cls: -------------------------------------------------------------------------------- 1 | % 2 | % Formular-Klasse fuer die TU Dresden 3 | % Autor: Klaus Bergmann 4 | % 5 | \def\fileversion{1.2} 6 | \def\filedate{2011/05/02 } 7 | \def\filename{tudform} 8 | 9 | \NeedsTeXFormat{LaTeX2e} \ProvidesClass{\filename}[\filedate Formular-Klasse fuer die TU Dresden, (c) by Klaus Bergmann] 10 | \typeout{Class: '\filename' Version \fileversion, Formularvorlage der Technischen Universitaet Dresden} 11 | 12 | \makeatletter 13 | 14 | \newif\if@logo 15 | \DeclareOption{logo}{\@logotrue} 16 | \newif\if@ddc 17 | \DeclareOption{ddc}{\@ddctrue} 18 | 19 | \newif\if@sansmath\@sansmathtrue 20 | \DeclareOption{serifmath}{\@sansmathfalse} 21 | 22 | % Papierformate <> A4 werden abgefangen, weil das Formular immer in A4 gedruckt wird 23 | \DeclareOption{a5paper}{}\DeclareOption{b5paper}{}\DeclareOption{letterpaper}{}\DeclareOption{legalpaper}{}\DeclareOption{executivepaper}{} 24 | 25 | \def\@super@class{article} 26 | \DeclareOption{report}{\def\@super@class{report}} 27 | 28 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\@super@class}} 29 | \ProcessOptions\relax 30 | \LoadClass[a4paper]{\@super@class} 31 | 32 | \RequirePackage{graphicx} 33 | \RequirePackage{ifthen} 34 | 35 | % Schriftspezifische Definitionen 36 | %\DeclareFixedFont{}{OT1}{aun}{l}{n}{9} 37 | %\DeclareFixedFont{}{OT1}{aun}{b}{n}{9} 38 | %\DeclareFixedFont{}{OT1}{aun}{l}{n}{11} 39 | %\DeclareFixedFont{}{OT1}{aun}{l}{sl}{11} 40 | %\DeclareFixedFont{}{OT1}{aun}{b}{n}{11} 41 | 42 | %\renewcommand*{\familydefault}{aun} 43 | %\renewcommand*{\seriesdefault}{l} 44 | %\renewcommand*{\shapedefault}{n} 45 | %\renewcommand*{\sfdefault}{aun} 46 | %\renewcommand*{\sffamily}{\fontfamily{aun}\selectfont} 47 | %\renewcommand*{\ttfamily}{\fontfamily{\ttdefault}\fontseries{\mddefault}\selectfont} 48 | 49 | %\if@sansmath 50 | % \DeclareSymbolFont{aunLetters}{OT1}{aun}{l}{it} 51 | % \SetSymbolFont{aunLetters}{bold}{OT1}{aun}{b}{it} 52 | % \DeclareSymbolFont{aunOperators}{OT1}{aun}{l}{n} 53 | % \SetSymbolFont{aunOperators}{bold}{OT1}{aun}{b}{n} 54 | % 55 | % \DeclareMathSymbol{a}{\mathalpha}{aunLetters}{`a} 56 | % \DeclareMathSymbol{b}{\mathalpha}{aunLetters}{`b} 57 | % \DeclareMathSymbol{c}{\mathalpha}{aunLetters}{`c} 58 | % \DeclareMathSymbol{d}{\mathalpha}{aunLetters}{`d} 59 | % \DeclareMathSymbol{e}{\mathalpha}{aunLetters}{`e} 60 | % \DeclareMathSymbol{f}{\mathalpha}{aunLetters}{`f} 61 | % \DeclareMathSymbol{g}{\mathalpha}{aunLetters}{`g} 62 | % \DeclareMathSymbol{h}{\mathalpha}{aunLetters}{`h} 63 | % \DeclareMathSymbol{i}{\mathalpha}{aunLetters}{`i} 64 | % \DeclareMathSymbol{j}{\mathalpha}{aunLetters}{`j} 65 | % \DeclareMathSymbol{k}{\mathalpha}{aunLetters}{`k} 66 | % \DeclareMathSymbol{l}{\mathalpha}{aunLetters}{`l} 67 | % \DeclareMathSymbol{m}{\mathalpha}{aunLetters}{`m} 68 | % \DeclareMathSymbol{n}{\mathalpha}{aunLetters}{`n} 69 | % \DeclareMathSymbol{o}{\mathalpha}{aunLetters}{`o} 70 | % \DeclareMathSymbol{p}{\mathalpha}{aunLetters}{`p} 71 | % \DeclareMathSymbol{q}{\mathalpha}{aunLetters}{`q} 72 | % \DeclareMathSymbol{r}{\mathalpha}{aunLetters}{`r} 73 | % \DeclareMathSymbol{s}{\mathalpha}{aunLetters}{`s} 74 | % \DeclareMathSymbol{t}{\mathalpha}{aunLetters}{`t} 75 | % \DeclareMathSymbol{u}{\mathalpha}{aunLetters}{`u} 76 | % \DeclareMathSymbol{v}{\mathalpha}{aunLetters}{`v} 77 | % \DeclareMathSymbol{w}{\mathalpha}{aunLetters}{`w} 78 | % \DeclareMathSymbol{x}{\mathalpha}{aunLetters}{`x} 79 | % \DeclareMathSymbol{y}{\mathalpha}{aunLetters}{`y} 80 | % \DeclareMathSymbol{z}{\mathalpha}{aunLetters}{`z} 81 | % \DeclareMathSymbol{A}{\mathalpha}{aunLetters}{`A} 82 | % \DeclareMathSymbol{B}{\mathalpha}{aunLetters}{`B} 83 | % \DeclareMathSymbol{C}{\mathalpha}{aunLetters}{`C} 84 | % \DeclareMathSymbol{D}{\mathalpha}{aunLetters}{`D} 85 | % \DeclareMathSymbol{E}{\mathalpha}{aunLetters}{`E} 86 | % \DeclareMathSymbol{F}{\mathalpha}{aunLetters}{`F} 87 | % \DeclareMathSymbol{G}{\mathalpha}{aunLetters}{`G} 88 | % \DeclareMathSymbol{H}{\mathalpha}{aunLetters}{`H} 89 | % \DeclareMathSymbol{I}{\mathalpha}{aunLetters}{`I} 90 | % \DeclareMathSymbol{J}{\mathalpha}{aunLetters}{`J} 91 | % \DeclareMathSymbol{K}{\mathalpha}{aunLetters}{`K} 92 | % \DeclareMathSymbol{L}{\mathalpha}{aunLetters}{`L} 93 | % \DeclareMathSymbol{M}{\mathalpha}{aunLetters}{`M} 94 | % \DeclareMathSymbol{N}{\mathalpha}{aunLetters}{`N} 95 | % \DeclareMathSymbol{O}{\mathalpha}{aunLetters}{`O} 96 | % \DeclareMathSymbol{P}{\mathalpha}{aunLetters}{`P} 97 | % \DeclareMathSymbol{Q}{\mathalpha}{aunLetters}{`Q} 98 | % \DeclareMathSymbol{R}{\mathalpha}{aunLetters}{`R} 99 | % \DeclareMathSymbol{S}{\mathalpha}{aunLetters}{`S} 100 | % \DeclareMathSymbol{T}{\mathalpha}{aunLetters}{`T} 101 | % \DeclareMathSymbol{U}{\mathalpha}{aunLetters}{`U} 102 | % \DeclareMathSymbol{V}{\mathalpha}{aunLetters}{`V} 103 | % \DeclareMathSymbol{W}{\mathalpha}{aunLetters}{`W} 104 | % \DeclareMathSymbol{X}{\mathalpha}{aunLetters}{`X} 105 | % \DeclareMathSymbol{Y}{\mathalpha}{aunLetters}{`Y} 106 | % \DeclareMathSymbol{Z}{\mathalpha}{aunLetters}{`Z} 107 | % 108 | % \DeclareMathSymbol{,}{\mathpunct}{aunLetters}{`,} 109 | % \DeclareMathSymbol{.}{\mathord}{aunLetters}{`.} 110 | % \DeclareMathSymbol{/}{\mathord}{aunLetters}{`/} 111 | % 112 | % \DeclareMathSymbol{0}\mathalpha{aunOperators}{"30} 113 | % \DeclareMathSymbol{1}\mathalpha{aunOperators}{"31} 114 | % \DeclareMathSymbol{2}\mathalpha{aunOperators}{"32} 115 | % \DeclareMathSymbol{3}\mathalpha{aunOperators}{"33} 116 | % \DeclareMathSymbol{4}\mathalpha{aunOperators}{"34} 117 | % \DeclareMathSymbol{5}\mathalpha{aunOperators}{"35} 118 | % \DeclareMathSymbol{6}\mathalpha{aunOperators}{"36} 119 | % \DeclareMathSymbol{7}\mathalpha{aunOperators}{"37} 120 | % \DeclareMathSymbol{8}\mathalpha{aunOperators}{"38} 121 | % \DeclareMathSymbol{9}\mathalpha{aunOperators}{"39} 122 | % 123 | % \DeclareSymbolFontAlphabet{\mathsf}{aunOperators} 124 | % \DeclareSymbolFontAlphabet{\mathnormal}{aunLetters} 125 | % \DeclareMathAlphabet\mathbf{OT1}{aun}{b}{n} 126 | % \SetMathAlphabet\mathbf{bold}{OT1}{aun}{b}{n} 127 | % \DeclareMathAlphabet\mathit{OT1}{aun}{l}{it} 128 | % \SetMathAlphabet\mathit{bold}{OT1}{aun}{l}{it} 129 | % 130 | % \let\operator@font\sf 131 | %\fi 132 | 133 | % Vom Nutzer anzugebende / veraenderbare Namen und Bezeichnungen 134 | \newcommand*{\@subject}{} 135 | \newcommand*{\@einrichtung}{} 136 | \newcommand*{\@fachrichtung}{} 137 | \newcommand*{\@institut}{} 138 | \newcommand*{\@professur}{} 139 | 140 | \newcommand*{\subject}[1]{\renewcommand*{\@subject}{#1}} 141 | \newcommand*{\einrichtung}[1]{\renewcommand*{\@einrichtung}{#1}} 142 | \newcommand*{\fachrichtung}[1]{\renewcommand*{\@fachrichtung}{#1}} 143 | \newcommand*{\institut}[1]{\renewcommand*{\@institut}{#1}} 144 | \newcommand*{\professur}[1]{\renewcommand*{\@professur}{#1}} 145 | 146 | % Dimensionen 147 | \if@logo 148 | \setlength{\textheight}{216mm} 149 | \else 150 | \setlength{\textheight}{238mm} 151 | \fi 152 | \setlength{\topmargin}{30mm} 153 | \addtolength{\topmargin}{-1in} 154 | \setlength{\headheight}{0mm} 155 | \setlength{\headsep}{0mm} 156 | \setlength{\topskip}{0mm} 157 | \setlength{\footskip}{17mm} 158 | 159 | \setlength{\textwidth}{160mm} 160 | \setlength{\oddsidemargin}{30mm} 161 | \addtolength{\oddsidemargin}{-1in} 162 | \setlength{\evensidemargin}{\oddsidemargin} 163 | 164 | \newcommand{\@br}[1][1]{\par\vspace{#1\baselineskip}} 165 | 166 | % erste Seite 167 | \newcommand*{\@@dummyComma}{} 168 | \newsavebox{\@@professurComma} 169 | \newif\if@emptypage\@emptypagefalse 170 | 171 | \newcommand{\ps@firstpage}{% 172 | % Ränder 173 | \setlength{\topmargin}{-1in} % <= keinen Rand nach oben 174 | \setlength{\headheight}{40mm} % 40mm 175 | \setlength{\headsep}{12mm} % 52mm 176 | \setlength{\topskip}{0mm} % 52mm 177 | \setlength{\textheight}{216mm} 178 | %\setlength{\footskip}{-7mm} 179 | % Logo und Querbalken 180 | \renewcommand{\@oddhead}{% 181 | \newif\if@@profnewline%\@@profnewlinefalse% 182 | \newif\if@@instnewline%\@@instnewlinefalse% 183 | \settowidth{\dimen255}{\@einrichtung\ \@fachrichtung, \@institut, \@professur}% 184 | \ifdim\dimen255 > 160mm\relax% 185 | \@@profnewlinetrue% 186 | \settowidth{\dimen255}{\@einrichtung\ \@fachrichtung, \@institut}% 187 | \ifdim\dimen255 > 160mm\relax% 188 | \@@instnewlinetrue% 189 | \@@profnewlinefalse% 190 | \fi% 191 | \fi% 192 | \newif\if@@nonewline% 193 | \if@@instnewline\else\if@@profnewline\else\@@nonewlinetrue\fi\fi% 194 | \setlength{\tabcolsep}{0mm}% 195 | \setlength{\arrayrulewidth}{0.5pt}% 196 | \sbox{\@@professurComma}{% 197 | \renewcommand*{\@@dummyComma}{}% 198 | \ifx\@fachrichtung\@empty\else\renewcommand*{\@@dummyComma}{, }\fi % Fachrichtung vorhanden -> Komma 199 | \ifx\@institut\@empty\else\renewcommand*{\@@dummyComma}{, }\fi % Institut vorhanden -> Komma 200 | \ifx\@professur\@empty\renewcommand*{\@@dummyComma}{}\fi % keine Professur vorhanden -> kein Komma 201 | \if@@profnewline\renewcommand*{\@@dummyComma}{}\fi % Professur in neue Zeile -> kein Komma 202 | \@@dummyComma% 203 | }% 204 | \begin{tabular*}{160mm}[b]{p{160mm}@{\extracolsep\fill}} 205 | % TUD-Logo 206 | \hspace*{-19mm}\includegraphics[height=16.73mm]{TU_Logo_SW}% width=57mm 207 | \if@ddc\hfill\includegraphics[height=16.73mm]{DDC-09}\fi% 208 | \\[3.75mm] 209 | \hline% 210 | % Einrichtungsname 211 | \rule[-1.2mm]{0mm}{13pt}\@einrichtung% 212 | \ifx\@einrichtung\@empty\ClassWarningNoLine{\filename}{Es wurde keine Einrichtung angegeben}\fi% 213 | % Fachrichtungsname 214 | \ifx\@fachrichtung\@empty\else\ \@fachrichtung\fi% 215 | % Komma vor Institutsname (bei Bedarf) 216 | \renewcommand*{\@@dummyComma}{}% 217 | \ifx\@institut\@empty\else\renewcommand*{\@@dummyComma}{, }\fi % Institut vorhanden -> Komma 218 | \ifx\@fachrichtung\@empty\renewcommand*{\@@dummyComma}{ }\fi % keine Fachrichtung vorhanden -> kein Komma 219 | \if@@instnewline\renewcommand*{\@@dummyComma}{}\fi % Institut in neue Zeile -> kein Komma 220 | \@@dummyComma% 221 | % Institut 222 | \if@@instnewline\\\hline\fi% 223 | \if@@instnewline\else\ifx\@institut\@empty\else\@institut\fi\fi% 224 | % Komma vor Professur (bei Bedarf) 225 | \if@@profnewline\else\if@@instnewline\else\usebox{\@@professurComma}\fi\fi% 226 | % Professur 227 | \if@@profnewline\\\hline\fi% 228 | \if@@nonewline\ifx\@professur\empty\else\@professur\fi\fi% 229 | \if@@instnewline\else\if@@profnewline\else\\\hline\fi\fi% 230 | \end{tabular*}\hspace{-160mm}% 231 | \parbox[t][0pt]{160mm}{\vspace{0.25\baselineskip}\mbox{% 232 | \if@@instnewline\ifx\@institut\@empty\else\@institut\fi\usebox{\@@professurComma}\fi% 233 | \if@@nonewline\else\ifx\@professur\empty\else\@professur\fi\fi% 234 | }}% 235 | }% 236 | \if@logo\let\@evenhead=\@oddhead\else\renewcommand{\@evenhead}{}\fi% 237 | \renewcommand*{\@oddfoot}{% 238 | \if@emptypage 239 | \@emptypagefalse 240 | \else% 241 | \if@logo% 242 | \hfill\arabic{page}% 243 | \else% 244 | \parbox[b][22mm][b]{160mm}{\hfill\arabic{page}\\[22mm]}% 245 | \fi% 246 | \fi% 247 | }% 248 | \let\@evenfoot=\@oddfoot% 249 | } 250 | 251 | % restliche Seiten 252 | \if@logo% 253 | \let\ps@plain=\ps@firstpage% 254 | \else% 255 | \renewcommand{\ps@plain}{% 256 | \renewcommand*{\@oddfoot}{\hfill\arabic{page}}% 257 | \let\@evenfoot=\@oddfoot% 258 | \renewcommand{\@oddhead}{}\renewcommand{\@evenhead}{}% 259 | }% 260 | \fi 261 | \pagestyle{plain} 262 | 263 | % Titlepage 264 | \renewenvironment{titlepage}{% 265 | \if@twocolumn 266 | \@restonecoltrue\onecolumn 267 | \else 268 | %\@restonecolfalse\newpage 269 | \fi 270 | \@emptypagetrue% 271 | \setcounter{page}\@ne 272 | }{% 273 | \if@restonecol\twocolumn \else \newpage \fi 274 | \if@twoside\else 275 | \setcounter{page}\@ne 276 | \fi 277 | } 278 | \if@titlepage 279 | \renewenvironment{abstract}{% 280 | \titlepage 281 | \if@logo\else\thispagestyle{empty}\fi 282 | \null\vfil 283 | \@beginparpenalty\@lowpenalty 284 | \begin{center}% 285 | \bfseries \abstractname 286 | \@endparpenalty\@M 287 | \end{center} 288 | }{\par\vfil\null\endtitlepage} 289 | \else 290 | \renewcommand\maketitle{\par 291 | \begingroup 292 | \renewcommand\thefootnote{\@fnsymbol\c@footnote}% 293 | \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% 294 | \long\def\@makefntext##1{% 295 | \parindent 1em\noindent 296 | \hb@xt@1.8em{\hss\@textsuperscript{\normalfont\@thefnmark}}##1% 297 | }% 298 | \if@twocolumn 299 | \ifnum \col@number=\@ne 300 | \@maketitle 301 | \else 302 | \twocolumn[\@maketitle]% 303 | \fi 304 | \else 305 | %\newpage 306 | \global\@topnum\z@ % Prevents figures from going at top of page. 307 | \@maketitle 308 | \fi 309 | %\thispagestyle{plain} 310 | %\@emptypagetrue 311 | \@thanks 312 | \endgroup 313 | \setcounter{footnote}{0}% 314 | \global\let\thanks\relax 315 | \global\let\maketitle\relax 316 | \global\let\@maketitle\relax 317 | \global\let\@thanks\@empty 318 | \global\let\@author\@empty 319 | \global\let\@date\@empty 320 | \global\let\@title\@empty 321 | \global\let\title\relax 322 | \global\let\author\relax 323 | \global\let\date\relax 324 | \global\let\and\relax 325 | } 326 | \def\@maketitle{% 327 | %\newpage 328 | \null 329 | \vskip 2em% 330 | \begin{center}% 331 | \let \footnote \thanks 332 | {\LARGE \@title \par}% 333 | \vskip 1.5em% 334 | {\large 335 | \lineskip .5em% 336 | \begin{tabular}[t]{c}% 337 | \@author 338 | \end{tabular}\par}% 339 | \vskip 1em% 340 | {\large \@date}% 341 | \end{center}% 342 | \par 343 | \vskip 1.5em% 344 | } 345 | \fi 346 | 347 | \setlength{\parskip}{0mm}% 348 | \setlength{\parindent}{0mm}% 349 | \AtBeginDocument{% 350 | \if@logo\else\enlargethispage{-22mm}\fi% 351 | \thispagestyle{firstpage}% 352 | % Lochmarke 353 | % \parbox[t][0pt][t]{0pt}{\vspace*{92.9mm}\hspace*{-19mm}\rule{5mm}{0.5pt}}% 354 | % Betreff 355 | \raggedright\setlength{\baselineskip}{14pt plus1pt minus1pt}% 356 | \ifx\@subject\@empty\else\textbf{\@subject}\@br\fi% 357 | } 358 | 359 | \makeatother 360 | -------------------------------------------------------------------------------- /Vorlesungen/beamerouterthemetud.sty: -------------------------------------------------------------------------------- 1 | % Vom Nutzer anzugebende / veraenderbare Namen und Bezeichnungen 2 | 3 | 4 | 5 | %\newif\if@useGerman % explizit deutsche Namen verwenden und german-Package einbinden ? 6 | % \newif\if@useNoGerman % explizit englische Namen verwenden 7 | % \DeclareOptionBeamer{nogerman}{\@useNoGermantrue\@useGermanfalse} 8 | % \DeclareOptionBeamer{german}{\@useGermantrue\@useNoGermanfalse} 9 | 10 | \newif\if@useHeader\@useHeadertrue 11 | \DeclareOptionBeamer{noheader}{\@useHeaderfalse} 12 | 13 | \newif\if@smallRightMargin\@smallRightMarginfalse 14 | \DeclareOptionBeamer{smallrightmargin}{\@smallRightMargintrue} 15 | 16 | \newif\if@usePageNum\@usePageNumfalse 17 | \DeclareOptionBeamer{pagenum}{\@usePageNumtrue} 18 | 19 | \newif\if@useNoFrameTitleSection\@useNoFrameTitleSectionfalse 20 | \DeclareOptionBeamer{nosectionnum}{\@useNoFrameTitleSectiontrue} 21 | 22 | \newif\if@useNavBar\@useNavBarfalse 23 | \DeclareOptionBeamer{navbar}{\@useNavBartrue} 24 | 25 | \newif\if@ddc 26 | \DeclareOptionBeamer{ddc}{\@ddctrue} 27 | \newif\if@ddcfooter 28 | \DeclareOptionBeamer{ddcfooter}{\@ddcfootertrue\@ddcfalse} 29 | 30 | 31 | \ProcessOptionsBeamer\relax 32 | 33 | \RequirePackage{calc} 34 | 35 | % Templates 36 | 37 | % Vordefinierte Namen und Bezeichnungen 38 | % \newcommand*{\englishnames}{% 39 | % \newcommand*{\@slide}{slide} 40 | % \newcommand*{\@of}{of} 41 | % } 42 | 43 | % \newcommand*{\germannames}{% 44 | % \newcommand*{\@slide}{Folie} 45 | % \newcommand*{\@of}{von} 46 | % } 47 | 48 | 49 | \def\tudbeamer@setGermanNames{% 50 | \def\tudbeamerslidename{Folie}% 51 | \def\tudbeamerofname{von}% 52 | } 53 | 54 | \def\tudbeamer@setEnglishNames{% 55 | \def\tudbeamerslidename{slide}% 56 | \def\tudbeamerofname{of}% 57 | } 58 | 59 | \AtBeginDocument{% 60 | \@ifundefined{captionsgerman}{}{\addto\captionsgerman{\tudbeamer@setGermanNames}}% 61 | \@ifundefined{captionsngerman}{}{\addto\captionsngerman{\tudbeamer@setGermanNames}}% 62 | \@ifundefined{captionsenglish}{}{\addto\captionsenglish{\tudbeamer@setEnglishNames}}% 63 | \@ifundefined{captionsUKenglish}{}{\addto\captionsUKenglish{\tudbeamer@setEnglishNames}}% 64 | \@ifundefined{captionsbritish}{}{\addto\captionsbritish{\tudbeamer@setEnglishNames}}% 65 | \@ifundefined{captionsamerican}{}{\addto\captionsamerican{\tudbeamer@setEnglishNames}}% 66 | \@ifundefined{captionsUSenglish}{}{\addto\captionsUSenglish{\tudbeamer@setEnglishNames}}% 67 | \@ifundefined{captionscanadian}{}{\addto\captionscanadian{\tudbeamer@setEnglishNames}}% 68 | \@ifundefined{captionsaustralian}{}{\addto\captionsaustralien{\tudbeamer@setEnglishNames}}% 69 | \@ifundefined{captionsnewzealand}{}{\addto\captionsnewzealand{\tudbeamer@setEnglishNames}}% 70 | \@ifundefined{captions\languagename}{\tudbeamer@setEnglishNames} 71 | {\csname captions\languagename\endcsname}% 72 | } 73 | 74 | \newcommand*\@einrichtung{} 75 | \newcommand*\@fachrichtung{} 76 | \newcommand*\@institut{} 77 | \newcommand*\@professur{} 78 | 79 | \newcommand*{\einrichtung}[1]{\renewcommand*{\@einrichtung}{#1}} 80 | \newcommand*{\fachrichtung}[1]{\renewcommand*{\@fachrichtung}{#1}} 81 | \newcommand*{\institut}[1]{\renewcommand*{\@institut}{#1}} 82 | \newcommand*{\professur}[1]{\renewcommand*{\@professur}{#1}} 83 | 84 | \newcommand*{\datecity}[1]{\renewcommand*{\insertdatecity}{#1}} 85 | 86 | 87 | \newlength\tudbeamer@logoleftmargin 88 | \newlength\tudbeamer@logotopmargin 89 | \newlength\tudbeamer@logowidth 90 | \newlength\tudbeamer@footer@placewidth 91 | \newlength\tudbeamer@footer@titlewidth 92 | \newlength\tudbeamer@footer@pagenumwidth 93 | 94 | \if@smallRightMargin 95 | \beamersetrightmargin{0.10\paperheight} 96 | \else 97 | \beamersetrightmargin{0.15\paperheight} 98 | \fi 99 | \beamersetleftmargin{0.15\paperheight} 100 | 101 | \newcommand\tudbeamer@calcsizes[1][0.125]{% 102 | \def\tudbeamer@setlength##1##2{\setlength{##1}{##2 * 103 | \ratio{#1\paperheight}{65pt}}} 104 | \tudbeamer@setlength\tudbeamer@logowidth{40mm}% 105 | \setlength\tudbeamer@logoleftmargin{\beamer@leftmargin-0.3333\tudbeamer@logowidth}% 106 | \setlength\@tempdima{0.020\paperheight}% 107 | \setlength{\@tempdima}{\@tempdima*\ratio{#1pt}{0.125pt}}% 108 | \setlength{\@tempdima}{\@tempdima*\ratio{#1pt}{0.125pt}}% 109 | \setlength{\tudbeamer@logotopmargin}{#1\paperheight - \@tempdima - 110 | 0.282\tudbeamer@logowidth}% 111 | \setlength{\tudbeamer@footer@placewidth}{0.3\paperheight}% 112 | \setlength{\tudbeamer@footer@pagenumwidth}{\tudbeamer@footer@placewidth}% 113 | \setlength{\tudbeamer@footer@titlewidth}{\paperwidth - \beamer@leftmargin-\beamer@rightmargin 114 | -\tudbeamer@footer@placewidth -\tudbeamer@footer@pagenumwidth} 115 | } 116 | 117 | 118 | \newlength{\topmarginnoheader} 119 | \setlength{\topmarginnoheader}{0.01\paperheight} 120 | 121 | \if@useNavBar\else\setbeamertemplate{navigation symbols}{}\fi % Nav-Leiste aus 122 | 123 | % frame title 124 | \gdef\frame@title@section{} 125 | \def\frametitle{\secdef\tud@frametitlea\tud@frametitles} 126 | \newcommand<>\tud@frametitlea{\gdef\frame@title@section{\ifnum\c@section>9\else 0\fi\arabic{section}\,\,}\alt#1{\@dblarg\beamer@@frametitle}{\beamer@gobbleoptional}} 127 | \newcommand<>\tud@frametitles{\gdef\frame@title@section{}\alt#1{\@dblarg\beamer@@frametitle}{\beamer@gobbleoptional}} 128 | 129 | \providecommand*{\insertdatecity}{Dresden} 130 | \newcommand*{\inserttotalpagenumber}{\textbf{??}} 131 | 132 | 133 | \def\logo@front{logo_weiss} 134 | \def\logo@default{logo_blau} 135 | \ifx\pdfoutput\undefined 136 | \else 137 | \ifx\pdfoutput\relax 138 | \else 139 | \ifcase\pdfoutput 140 | \else 141 | \def\logo@front{TU_Logo_SW}% 142 | \def\logo@default{TU_Logo_SW}% 143 | \fi 144 | \fi 145 | \fi 146 | 147 | 148 | % Faktor zur PPT-Vorlage: / 0,1984375 * 5,04 149 | \defbeamertemplate*{title page}{tud}{% 150 | \color{white}% 151 | \vfill% 152 | {% 153 | %\renewcommand\baselinestretch{1}% 154 | \usebeamerfont*{title}% 155 | \expandafter\setlength\expandafter\baselineskip{\f@size pt*\ratio{10pt}{10pt}}% 156 | % \vskip2ex plus1ex minus1ex% 157 | % \setlength\baselineskip{2cm}%{} 158 | % \MakeUppercase{\inserttitle}\par% %%% <<< Forces upper case, let's not do that 159 | {\inserttitle} 160 | }\vfill% 161 | {% 162 | \ifx\insertsubtitle\empty 163 | \else 164 | \usebeamerfont*{subtitle}\insertsubtitle 165 | \vfill 166 | \fi% 167 | \scriptsize\insertauthor 168 | }% 169 | \vfill\vfill% 170 | } 171 | 172 | \defbeamertemplate{headline}{tud titlepage}{% 173 | \tudbeamer@calcsizes[0.175] 174 | \vbox to 0.175\paperheight{\vskip\tudbeamer@logotopmargin 175 | \color{white}% 176 | % \setlength{\arrayrulewidth}{0.3pt}% 177 | %\let\@tmp@ifrowcolors\if@rowcolors 178 | % \@rowcolorsfalse 179 | %\begin{tabular*}{\paperwidth}[b]{l@{\extracolsep\fill}} 180 | % \vbox{ 181 | %\rownum0\relax 182 | % TUD-Logo 183 | %\hspace*{3.0mm} 184 | \hskip\tudbeamer@logoleftmargin 185 | % \color{white}\includegraphics[height=7.81mm]{\logo@front}\\[1.2mm] 186 | \color{white}% 187 | \includegraphics[height=0.282\tudbeamer@logowidth]{\logo@front}% 188 | \if@ddc 189 | \hfill 190 | \includegraphics[height=0.282\tudbeamer@logowidth]{DDC-weiss}% 191 | \hskip\beamer@rightmargin\\ 192 | \fi 193 | }% 194 | \color{white}%\vskip1.2mm 195 | \rule{\paperwidth}{0.3pt}\par% 196 | \vbox to 0.025\paperheight{\vfill 197 | \hskip\beamer@leftmargin%\rule[-0.8mm]{0pt}{2.47mm}% 198 | \def\@@dummyComma{}% 199 | \color{white}\textbf{\@einrichtung}% 200 | \ifx\@einrichtung\@empty\else\def\@@dummyComma{ }\fi% 201 | \ifx\@fachrichtung\@empty\else\@@dummyComma\@fachrichtung% 202 | \ifx\@institut\@empty\else\def\@@dummyComma{, }\fi% 203 | \ifx\@professur\@empty\else\def\@@dummyComma{, }\fi% 204 | \fi% 205 | \ifx\@institut\@empty\else\@@dummyComma\@institut 206 | \ifx\@professur\@empty\else\def\@@dummyComma{, }\fi 207 | \fi% 208 | \ifx\@professur\@empty\else\@@dummyComma\fi% 209 | \@professur\par% 210 | \vfill 211 | }% 212 | \rule{\paperwidth}{0.3pt}\par 213 | %} 214 | % \end{tabular*}\par%\hspace{-\paperwidth}% 215 | %\let\if@rowcolors\@tmp@ifrowcolors 216 | }% 217 | 218 | \defbeamertemplate{headline}{tud header}{% 219 | \tudbeamer@calcsizes 220 | \vbox to 0.125\paperheight{\vskip\tudbeamer@logotopmargin 221 | \hskip\tudbeamer@logoleftmargin\color{text}\includegraphics[width=\tudbeamer@logowidth]{\logo@default}% 222 | \par 223 | \vfill 224 | }% 225 | \color{frametitle}% 226 | \rule{\paperwidth}{0.1pt}\par 227 | \vskip0.015\paperheight 228 | \rule{\paperwidth}{0.1pt}\par 229 | } 230 | 231 | \defbeamertemplate{headline}{tud noheader}{% 232 | % \rule{0pt}{14.57mm} 233 | \rule{0pt}{\the\topmarginnoheader}% 234 | } 235 | 236 | \defbeamertemplate{footline}{tud titlepage}{% 237 | \tudbeamer@calcsizes 238 | % \vfill 239 | \hbox to \textwidth{% 240 | \hskip\beamer@leftmargin 241 | \normalsize 242 | \color{white}% 243 | \insertdatecity 244 | \ifx\insertdatecity\empty 245 | \else 246 | \ifx\insertdate\empty 247 | \else, 248 | \fi 249 | \fi 250 | \insertdate% 251 | \hfill 252 | \if@ddcfooter 253 | \includegraphics[height=0.424\tudbeamer@logowidth]{DDC-weissf}% 254 | \hskip\beamer@rightmargin 255 | \fi 256 | }% 257 | \vskip0.125\paperheight 258 | }% 259 | 260 | \defbeamertemplate{footline}{tud pagenum}{% 261 | \tudbeamer@calcsizes 262 | \color{frametitle}% 263 | \tiny 264 | \vbox to 0.0777\paperheight{% 265 | \hbox to \paperwidth{% 266 | \hskip\beamer@leftmargin 267 | \hbox to \tudbeamer@footer@placewidth{\raggedright\mbox{Markus Kr\"{o}tzsch\ifx\insertdate\empty\else, \insertdate\fi}}% 268 | \parbox{\tudbeamer@footer@titlewidth}{\centerline{\hspace{2cm}\insertshorttitle}}% 269 | \hbox to \tudbeamer@footer@pagenumwidth {\hfill\tudbeamerslidename\ \insertframenumber\ \tudbeamerofname\ \inserttotalframenumber}% 270 | }% 271 | }% 272 | } 273 | 274 | \defbeamertemplate{footline}{tud nopagenum}{% 275 | \tudbeamer@calcsizes 276 | \color{frametitle}% 277 | \tiny 278 | \vbox to 0.0777\paperheight{% 279 | \hbox to \paperwidth{% 280 | \hskip\beamer@leftmargin 281 | \hbox to \tudbeamer@footer@placewidth{\raggedright\mbox{M. Kr\"{o}tzsch\ifx\insertdate\empty\else, \insertdate\fi}}% 282 | \parbox{\tudbeamer@footer@titlewidth}{\centerline{\insertshorttitle}}% 283 | \kern\tudbeamer@footer@pagenumwidth% 284 | }% 285 | }% 286 | } 287 | 288 | \defbeamertemplate{frametitle}{tud titlesection}{% 289 | % \vskip0.3ex% 290 | \color{frametitle}\frame@title@section\insertframetitle\\% 291 | \vskip0.3ex\color{text}\small\bfseries\insertframesubtitle% 292 | } 293 | 294 | \defbeamertemplate{frametitle}{tud notitlesection}{% 295 | %\vskip6.5mm% 296 | \color{frametitle}\insertframetitle\\% 297 | \vskip0.3ex\color{text}\small\bfseries\insertframesubtitle% 298 | } 299 | 300 | \newcommand\setbeamertemplates{% 301 | %\beamertemplateshadingbackground{white}{white} 302 | \setbeamercolor{normal text}{bg=white}% 303 | \if@useHeader% 304 | \setbeamertemplate{headline}[tud header]% 305 | \else 306 | \setbeamertemplate{headline}[tud noheader]% 307 | \fi 308 | 309 | \if@usePageNum% 310 | \setbeamertemplate{footline}[tud pagenum]% 311 | \else 312 | \setbeamertemplate{footline}[tud nopagenum]% 313 | \fi 314 | 315 | \if@useNoFrameTitleSection 316 | \setbeamertemplate{frametitle}[tud notitlesection]% 317 | \else 318 | \setbeamertemplate{frametitle}[tud titlesection]% 319 | \fi 320 | \beamer@calculateheadfoot 321 | } 322 | 323 | \renewcommand\maketitle{% 324 | %\beamertemplateshadingbackground{darkblue}{darkblue} 325 | \setbeamercolor{normal text}{bg=TudBrilliantBlue}% 326 | % Kopf-/Fusszeile fuer Titel 327 | \setbeamertemplate{headline}[tud titlepage]% 328 | \setbeamertemplate{footline}[tud titlepage]% 329 | \beamer@calculateheadfoot 330 | \frame{\titlepage}% 331 | % Kopf-/Fusszeilen fuer restliche Folien 332 | \setbeamertemplates% 333 | } 334 | 335 | 336 | % Sprache einstellen 337 | \AtBeginDocument{% 338 | % \ifx\@undefined\if@german% 339 | % \newif\if@german % Nutzung des german-Packages ? 340 | % \ifx\@undefined\germanTeX\else\@germantrue\fi % Wenn \(n)germanTeX definiert ist, 341 | % \ifx\@undefined\ngermanTeX\else\@germantrue\fi % ist das (n)german-Package eingebunden 342 | % \ifx\@undefined\language\else % 343 | % \ifnum0=\language\@germanfalse\else\fi % \language=0 => english 344 | % \fi % 345 | % \if@useGerman\@germantrue\fi % Zur expliziten Nutzung der deutschen Texte (das ngerman-Package wurde automatisch eingebunden) 346 | % \if@useNoGerman\@germanfalse\fi % Zur expliziten Nutzung der englischen Texte (auch bei vorheriger Einbindung des german-Packages) 347 | % \if@german % 348 | % \ifx\@undefined\language\else % 349 | % \ifnum2<\language\selectlanguage{german}\fi % deutsch gewuenscht, aber andere Sprache eingestellt ?? => deutsch 350 | % \ifnum2>\language\selectlanguage{german}\fi % 351 | % \fi % 352 | % \germannames % 353 | % \def\today{\number\day.\,\number\month.\,\number\year} % Datum im Format DD.MM.YYYY 354 | % \else % 355 | % \ifx\@undefined\language\else % 356 | % \ifnum0<\language\selectlanguage{english}\fi% englisch gewuenscht, aber andere Sprache eingestellt ?? => englisch 357 | % \fi % 358 | % \englishnames % 359 | % \def\today{\number\year/\number\month/\number\day} % Datum im Format YYYY/MM/DD 360 | % \fi % 361 | % \fi% 362 | \setbeamertemplates% 363 | \scriptsize 364 | }% 365 | 366 | \AtEndDocument{% 367 | \clearpage 368 | \beamer@tempcount=\c@page\advance\beamer@tempcount by -1% 369 | \if@filesw 370 | \immediate\write\@auxout{\string\@writefile{nav}% 371 | {\noexpand\headcommand{\noexpand\beamer@partpages{\the\beamer@partstartpage}{\the\beamer@tempcount}}}}% 372 | \immediate\write\@auxout{\string\@writefile{nav}% 373 | {\noexpand\headcommand{\noexpand\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}}% 374 | \immediate\write\@auxout{\string\@writefile{nav}% 375 | {\noexpand\headcommand{\noexpand\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}}% 376 | \immediate\write\@auxout{\string\@writefile{nav}% 377 | {\noexpand\headcommand{\noexpand\beamer@documentpages{\the\beamer@tempcount}}}} 378 | \immediate\write\@auxout{\string\@writefile{nav}% 379 | {\noexpand\headcommand{\noexpand\def\noexpand\inserttotalframenumber{\the\c@framenumber}}}} 380 | \addtocounter{page}{-1} 381 | \immediate\write\@auxout{\string\@writefile{nav}% 382 | {\noexpand\headcommand{\noexpand\def\noexpand\inserttotalpagenumber{\thepage}}}} 383 | \newwrite\tf@nav 384 | \immediate\openout\tf@nav\jobname.nav\relax 385 | \newwrite\tf@toc 386 | \immediate\openout\tf@toc\jobname.toc\relax 387 | \newwrite\tf@snm 388 | \immediate\openout\tf@snm\jobname.snm\relax 389 | \fi% 390 | } 391 | -------------------------------------------------------------------------------- /Vorlesungen/lecture-26.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=1610,onlymath]{beamer} 2 | % \documentclass[aspectratio=1610,onlymath,handout]{beamer} 3 | 4 | \input{macros-lecture} 5 | \input{../macros} 6 | 7 | \defineTitle{26}{Zusammenfassung und Ausblick}{25. Januar 2024} 8 | 9 | \begin{document} 10 | 11 | \maketitle 12 | 13 | % \sectionSlide{Zusammenfassung} 14 | 15 | \frame{\begin{center} 16 | {\LARGE 17 | Zusammenfassung}\bigskip 18 | 19 | ~\hfill 20 | \includegraphics[height=4.5cm]{images/xkcd-tsp} 21 | \hfill~ 22 | 23 | \rotatebox{0}{\tiny Randall Munroe, \url{http://xkcd.com/399/}, CC-BY-NC 2.5} 24 | \end{center}} 25 | 26 | % \sectionSlide{Fragen?} 27 | 28 | \begin{frame}\frametitle{Sprachen und Berechnung} 29 | 30 | \begin{itemize} 31 | \item Formale Wörter als allgemeine Abstraktion aller Daten, die in Computern verarbeitet werden können 32 | \item Formale Sprachen als Mengen von Ein- oder Ausgaben 33 | \item Worterkennung als allgemeine Berechnungsaufgabe 34 | \end{itemize} 35 | 36 | \examplebox{Beispiel: Auch die Berechnung von Funktionen kann als Wortproblem ausgedrückt werden. 37 | Anstatt zu fragen, "`Was ergibt $n+m$?"' kann man fragen "`Ist $n+m=r$?"'} 38 | 39 | Daraus ergibt sich das Kernthema diese Vorlesung:\\[2ex] 40 | 41 | \narrowcentering{\alert{Sprachen zu klassifizieren heißt Rechenaufgaben klassifizieren}} 42 | 43 | \end{frame} 44 | 45 | \begin{frame}\frametitle{Zwei Hierarchien} 46 | 47 | Wir haben zwei Hierarchien von Sprachklassen kennengelernt\bigskip 48 | 49 | \begin{enumerate}[(1)] 50 | \item \alert{Chomsky-Hierarchie:} 51 | \[ \text{Typ 3}\subset \text{det. kontextfrei}\subset\text{Typ 2}\subset\text{Typ 1}\subset\text{Typ 0}\] 52 | Ansatz: natürliche Definition über Grammatiken\bigskip 53 | \item \alert{Hierarchie der Komplexitätsklassen:} 54 | \[\Scomplclass{L}\subseteq\Scomplclass{NL}\subseteq \Scomplclass{P}\subseteq\Scomplclass{NP}\subseteq\Scomplclass{PSpace}\subseteq \Scomplclass{Exp}\subseteq \Scomplclass{NExp}\] 55 | Ansatz: natürliche und robuste Definition durch Beschränkung von Turingmaschinen 56 | \end{enumerate} 57 | 58 | \end{frame} 59 | 60 | \begin{frame}[t]\frametitle{Eine Hierarchie?\phantom{p}} 61 | 62 | \narrowcentering 63 | {% 64 | \scalebox{0.75}{% 65 | \begin{tikzpicture}[decoration=penciline, decorate, 66 | mybox/.style args = {}{ 67 | rectangle,rounded corners=5pt,minimum width=2.5cm,draw=black,fill=cyan!40, 68 | align=flush center 69 | }, 70 | myarrow/.style args = {}{ 71 | line width=0.4mm, 72 | draw=black 73 | } 74 | ] 75 | \pgfmathsetseed{7729} 76 | \path[use as bounding box] (-4,-6) rectangle (9,6); % add "draw" to see it 77 | % \draw[help lines] (0,0) grid (5,5); 78 | 79 | \node (nexp) [mybox=] at (0,4) {\Scomplclass{NExp}}; 80 | \node (exp) [mybox=] at (0,3) {\Scomplclass{Exp}}; 81 | \node (pspace) [mybox=] at (0,2) {\Scomplclass{PSpace}}; 82 | \node (lsavitch) [draw=none,fill=none,circle] at (1.5,2) {=}; 83 | \node (npspace) [mybox=] at (3,2) {\Scomplclass{NPSpace}}; 84 | \node (np) [mybox=] at (0,1) {\Scomplclass{NP}}; 85 | \node (p) [mybox=] at (0,0) {\Scomplclass{P}}; 86 | \node (nl) [mybox=] at (0,-1) {\Scomplclass{NL}}; 87 | \node (l) [mybox=] at (0,-2.3) {\Scomplclass{L}}; 88 | 89 | \node (re) [mybox=] at (2,5.5) {RE, Typ 0\\[-0.6ex]{\footnotesize(semi-entscheidbar, Turing-erkennbar)}}; 90 | \node (cs) [mybox=] at (4,0.5) {Typ 1, CSL\\[-0.6ex]{\footnotesize(kontextsensitiv)}}; 91 | \node (lcslspace) [draw=none,fill=none,circle] at (5.5,0.5) {=}; 92 | \node (nspacen) [mybox=] at (7,0.5) {\Scomplclass{NSpace}$(n)$}; 93 | 94 | \node (cf) [mybox=] at (4,-1) {Typ 2, CFL\\[-0.6ex]{\footnotesize(kontextfrei)}}; 95 | \node (dcf) [mybox=] at (4,-2.3) {DCFL\\[-0.6ex]{\footnotesize(det. kontextf.)}}; 96 | \node (reg) [mybox=] at (4,-3.6) {Typ 3, REG\\[-0.6ex]{\footnotesize(regulär)}}; 97 | \node (lregtime) [draw=none,fill=none,circle] at (5.5,-3.6) {=}; 98 | \node (nspacen) [mybox=] at (7,-3.6) {\Scomplclass{DSpace}$(1)$}; 99 | 100 | \draw[myarrow=] (l)--(nl); 101 | \draw[myarrow=] (nl)--(p); 102 | \draw[myarrow=] (p)--(np); 103 | \draw[myarrow=] (np)--(pspace); 104 | \draw[myarrow=] (pspace)--(exp); 105 | \draw[myarrow=] (exp)--(nexp); 106 | \draw[myarrow=] (nexp)--(re); 107 | 108 | \draw[myarrow=] (reg)--(dcf); 109 | \draw[myarrow=] (dcf)--(cf); 110 | \draw[myarrow=] (cf)--(cs); 111 | \draw[myarrow=] (cs)--(pspace); 112 | \draw[myarrow=] (reg)--(l); 113 | \draw[myarrow=] (cf)--(p); 114 | \draw[myarrow=] (nl)--(cs); 115 | 116 | \node (legend) [rectangle,text width=3.7cm,draw=darkred,fill=strongyellow!40, 117 | align=flush left] at (7.5,4) {Bekannte Beziehungen (Mengeninklusionen) zwischen den Sprachklassen; zumeist geht man von echten Teilmengen aus, aber bewiesen ist das nur in manchen Fällen}; 118 | \end{tikzpicture}}} 119 | 120 | 121 | \end{frame} 122 | 123 | \begin{frame}[t]\frametitle{Typische Beispiel-Sprachen} 124 | 125 | \ghost{\hspace{2.0cm}\raisebox{6.3cm}{\includegraphics[height=1.5cm]{images/Sudoku-xkcd74}$*$} 126 | \hspace{10.5cm}\raisebox{1.5cm}{\rotatebox{90}{\tiny $*$ Randall Munroe, \url{http://xkcd.com/74/}, CC-BY-NC 2.5}}}% 127 | \narrowcentering 128 | {% 129 | \scalebox{0.75}{% 130 | \begin{tikzpicture}[decoration=penciline, decorate, 131 | mybox/.style args = {}{ 132 | rectangle,rounded corners=5pt,minimum width=2.5cm,draw=black,fill=cyan!40, 133 | align=flush center 134 | }, 135 | myexbox/.style args = {}{ 136 | rectangle,rounded corners=1pt,minimum width=2cm,draw=darkgreen,fill=darkgreen!40, 137 | align=flush center 138 | }, 139 | myarrow/.style args = {}{ 140 | line width=0.4mm, 141 | draw=black 142 | } 143 | ] 144 | \pgfmathsetseed{7729} 145 | \path[use as bounding box] (-4,-6) rectangle (9,6); % add "draw" to see it 146 | % \draw[help lines] (0,0) grid (5,5); 147 | 148 | \node (nexp) [mybox=] at (0,4) {\Scomplclass{NExp}}; 149 | \node (exp) [mybox=] at (0,3) {\Scomplclass{Exp}}; 150 | \node (pspace) [mybox=] at (0,2) {\Scomplclass{PSpace}}; 151 | % \node (lsavitch) [draw=none,fill=none,circle] at (1.5,2) {=}; 152 | % \node (npspace) [mybox=] at (3,2) {\Scomplclass{NPSpace}}; 153 | \node (np) [mybox=] at (0,1) {\Scomplclass{NP}}; 154 | \node (p) [mybox=] at (0,0) {\Scomplclass{P}}; 155 | \node (nl) [mybox=] at (0,-1) {\Scomplclass{NL}}; 156 | \node (l) [mybox=] at (0,-2.3) {\Scomplclass{L}}; 157 | 158 | \node (re) [mybox=] at (2,5.5) {RE, Typ 0\\[-0.6ex]{\footnotesize(semi-entscheidbar, Turing-erkennbar)}}; 159 | \node (cs) [mybox=] at (4,0.5) {Typ 1, CSL\\[-0.6ex]{\footnotesize(kontextsensitiv)}}; 160 | % \node (lsavitch) [draw=none,fill=none,circle] at (5.5,0.5) {=}; 161 | % \node (nspacen) [mybox=] at (7,0.5) {\Scomplclass{NSpace}$(n)$}; 162 | 163 | \node (cf) [mybox=] at (4,-1) {Typ 2, CFL\\[-0.6ex]{\footnotesize(kontextfrei)}}; 164 | \node (dcf) [mybox=] at (4,-2.3) {DCFL\\[-0.6ex]{\footnotesize(det. kontextf.)}}; 165 | \node (reg) [mybox=] at (4,-3.6) {Typ 3, REG\\[-0.6ex]{\footnotesize(regulär)}}; 166 | % \node (lsavitch) [draw=none,fill=none,circle] at (5.5,-3.6) {=}; 167 | % \node (nspacen) [mybox=] at (7,-3.6) {\Scomplclass{DSpace}$(1)$}; 168 | 169 | \draw[myarrow=] (l)--(nl); 170 | \draw[myarrow=] (nl)--(p); 171 | \draw[myarrow=] (p)--(np); 172 | \draw[myarrow=] (np)--(pspace); 173 | \draw[myarrow=] (pspace)--(exp); 174 | \draw[myarrow=] (exp)--(nexp); 175 | \draw[myarrow=] (nexp)--(re); 176 | 177 | \draw[myarrow=] (reg)--(dcf); 178 | \draw[myarrow=] (dcf)--(cf); 179 | \draw[myarrow=] (cf)--(cs); 180 | \draw[myarrow=] (cs)--(pspace); 181 | \draw[myarrow=] (reg)--(l); 182 | \draw[myarrow=] (cf)--(p); 183 | \draw[myarrow=] (nl)--(cs); 184 | 185 | \node (cslex) [myexbox=] at (6.3,0.8) {$\{\Sterm{a}^i\Sterm{b}^i\Sterm{c}^i\mid i\geq 0\}$}; 186 | \node (cslex2) [myexbox=] at (6.2,0.1) {\Slang{SAT}}; 187 | \node (cflex) [myexbox=] at (7,-0.7) {$\{\Sterm{a}^i\Sterm{b}^j\Sterm{c}^k\mid i\neq j\text{ oder }j\neq k\}$}; 188 | \node (cflex2) [myexbox=] at (6.5,-1.4) {$\{w w^r\mid w\in\{\Sterm{a},\Sterm{b}\}^*\}$}; 189 | \node (dcflex) [myexbox=] at (6,-2.3) {$\{\Sterm{a}^i\Sterm{b}^i\mid i\geq 0\}$}; 190 | \node (regex) [myexbox=] at (6.2,-3.3) {$\{\Sterm{a}^i\Sterm{b}^j\mid i,j\geq 0\}$}; 191 | \node (regex2) [myexbox=] at (7.0,-4.0) {alle endlichen Sprachen}; 192 | 193 | \node (npex) [myexbox=] at (-2.0,1.3) {\Slang{SAT}}; 194 | \node (pex) [myexbox=] at (-2.0,0.3) {\Slang{HornSAT}}; 195 | \node (pex) [myexbox=] at (5.0,4.9) {Halteproblem}; 196 | 197 | % \node (legend) [rectangle,text width=3.7cm,draw=darkred,fill=strongyellow!40, 198 | % align=flush left] at (7.5,4) {Bekannte Beziehungen (Mengeninklusionen) zwischen den Sprachklassen; zumeist geht man von echten Teilmengen aus, aber bewiesen ist das nur in manchen Fällen}; 199 | \end{tikzpicture}}} 200 | 201 | \end{frame} 202 | 203 | \begin{frame}[t]\frametitle{Berechnungsmodelle} 204 | 205 | \narrowcentering 206 | {% 207 | \scalebox{0.75}{% 208 | \begin{tikzpicture}[decoration=penciline, decorate, 209 | mybox/.style args = {}{ 210 | rectangle,rounded corners=5pt,minimum width=2.5cm,draw=black,fill=cyan!40, 211 | align=flush center 212 | }, 213 | mymachbox/.style args = {}{ 214 | rectangle,rounded corners=2pt,minimum width=2cm,draw=darkred,fill=darkred!40, 215 | align=flush center 216 | }, 217 | myarrow/.style args = {}{ 218 | line width=0.4mm, 219 | draw=black 220 | } 221 | ] 222 | \pgfmathsetseed{7729} 223 | \path[use as bounding box] (-4,-6) rectangle (9,6); % add "draw" to see it 224 | % \draw[help lines] (0,0) grid (5,5); 225 | 226 | \node (nexp) [mybox=] at (0,4) {\Scomplclass{NExp}}; 227 | \node (exp) [mybox=] at (0,3) {\Scomplclass{Exp}}; 228 | \node (pspace) [mybox=] at (0,2) {\Scomplclass{PSpace}}; 229 | % \node (lsavitch) [draw=none,fill=none,circle] at (1.5,2) {=}; 230 | % \node (npspace) [mybox=] at (3,2) {\Scomplclass{NPSpace}}; 231 | \node (np) [mybox=] at (0,1) {\Scomplclass{NP}}; 232 | \node (p) [mybox=] at (0,0) {\Scomplclass{P}}; 233 | \node (nl) [mybox=] at (0,-1) {\Scomplclass{NL}}; 234 | \node (l) [mybox=] at (0,-2.3) {\Scomplclass{L}}; 235 | 236 | \node (re) [mybox=] at (2,5.5) {RE, Typ 0\\[-0.6ex]{\footnotesize(semi-entscheidbar, Turing-erkennbar)}}; 237 | \node (cs) [mybox=] at (4,0.5) {Typ 1, CSL\\[-0.6ex]{\footnotesize(kontextsensitiv)}}; 238 | % \node (lsavitch) [draw=none,fill=none,circle] at (5.5,0.5) {=}; 239 | % \node (nspacen) [mybox=] at (7,0.5) {\Scomplclass{NSpace}$(n)$}; 240 | 241 | \node (cf) [mybox=] at (4,-1) {Typ 2, CFL\\[-0.6ex]{\footnotesize(kontextfrei)}}; 242 | \node (dcf) [mybox=] at (4,-2.3) {DCFL\\[-0.6ex]{\footnotesize(det. kontextf.)}}; 243 | \node (reg) [mybox=] at (4,-3.6) {Typ 3, REG\\[-0.6ex]{\footnotesize(regulär)}}; 244 | % \node (lsavitch) [draw=none,fill=none,circle] at (5.5,-3.6) {=}; 245 | % \node (nspacen) [mybox=] at (7,-3.6) {\Scomplclass{DSpace}$(1)$}; 246 | 247 | \draw[myarrow=] (l)--(nl); 248 | \draw[myarrow=] (nl)--(p); 249 | \draw[myarrow=] (p)--(np); 250 | \draw[myarrow=] (np)--(pspace); 251 | \draw[myarrow=] (pspace)--(exp); 252 | \draw[myarrow=] (exp)--(nexp); 253 | \draw[myarrow=] (nexp)--(re); 254 | 255 | \draw[myarrow=] (reg)--(dcf); 256 | \draw[myarrow=] (dcf)--(cf); 257 | \draw[myarrow=] (cf)--(cs); 258 | \draw[myarrow=] (cs)--(pspace); 259 | \draw[myarrow=] (reg)--(l); 260 | \draw[myarrow=] (cf)--(p); 261 | \draw[myarrow=] (nl)--(cs); 262 | 263 | \node (cslex) [mymachbox=] at (6.1,0.8) {LBA}; 264 | \node (cflex) [mymachbox=] at (6.2,-1.0) {PDA}; 265 | \node (dcflex) [mymachbox=] at (6.2,-2.3) {DPDA}; 266 | \node (regex) [mymachbox=] at (6.2,-3.3) {NFA}; 267 | \node (regex2) [mymachbox=] at (6.2,-4.0) {DFA}; 268 | 269 | \node (npex) [mymachbox=] at (-2.0,1.3) {Polyzeit NTM}; 270 | \node (pex) [mymachbox=] at (-2.0,0.3) {Polyzeit DTM}; 271 | \node (pex) [mymachbox=] at (5.6,4.9) {DTM}; 272 | \node (pex) [mymachbox=] at (5.6,5.5) {NTM}; 273 | 274 | % \node (legend) [rectangle,text width=3.7cm,draw=darkred,fill=strongyellow!40, 275 | % align=flush left] at (7.5,4) {Bekannte Beziehungen (Mengeninklusionen) zwischen den Sprachklassen; zumeist geht man von echten Teilmengen aus, aber bewiesen ist das nur in manchen Fällen}; 276 | \end{tikzpicture}}} 277 | 278 | \end{frame} 279 | 280 | \begin{frame}\frametitle{Trennung der Sprachklassen} 281 | 282 | Die Chomsky-Hierarchie ist echt. Methoden, um 283 | \redalert{Nicht}enthaltensein einer Sprache in einer bestimmten Hierarchieebene zu zeigen: 284 | 285 | \begin{itemize} 286 | \item \alert{Typ 3}: reguläres Pumping-Lemma, Myhill-Nerode-Index, Abschlusseigenschaften (V10) 287 | \item \alert{Typ 2}: kontextfreies Pumping-Lemma (V13), Abschlusseigenschaften (V14) 288 | \item \alert{det. Typ 2}: Abschlusseigenschaften (V16) 289 | \item \alert{Typ 1}: Entscheidbarkeit, Abschlusseigenschaften (V19/V20) 290 | \item \alert{Typ 0}: Semi-Entscheidbarkeit (V19/V20) 291 | \end{itemize} 292 | 293 | Bei den Komplexitätsklassen sind bisher weitaus weniger Unterschiede bewiesen. 294 | Exponentielle Ressourcenzugaben erzeugen echt größere Klassen (z.B. $\Scomplclass{P}\subset\Scomplclass{Exp}$). 295 | \medskip 296 | 297 | \textcolor{devilscss}{Aus einem analogen Ergebnis für Speicher folgt auch, dass $\Scomplclass{ExpSpace}$-harte Sprachen nicht kontextsensitiv sind, auch wenn sie entscheidbar sind} 298 | 299 | \end{frame} 300 | 301 | 302 | \newcommand{\myyes}{$\textcolor{darkgreen}{\checkmark}$} 303 | \newcommand{\myno}{$\textcolor{darkred}{\times}$} 304 | 305 | \begin{frame}\frametitle{Übersicht Abschlusseigenschaften} 306 | 307 | \begin{center} 308 | \begin{tabular}{r|ccccc|l} 309 | & \multicolumn{5}{p{3cm}|}{Abschluss unter \ldots} &\\ 310 | Sprache & $\cap$ & $\cup$ & $\overline{\phantom{L}}$ & $\circ$ & $^*$ & Automat\\\hline 311 | Typ 0 & \myyes & \myyes & \myno & \myyes & \myyes & TM (DTM/NTM)\\ 312 | Typ 1 & \myyes & \myyes & \myyes & \myyes & \myyes & LBA ($\stackrel{?}{=}$ det. LBA)\\ 313 | Typ 2 & \myno & \myyes & \myno & \myyes & \myyes & PDA\\ 314 | Det. Typ 2 & \myno & \myno & \myyes & \myno & \myno & DPDA\\ 315 | Typ 3 & \myyes & \myyes & \myyes & \myyes & \myyes & DFA/NFA 316 | \end{tabular} 317 | \end{center} 318 | 319 | \end{frame} 320 | 321 | \definecolor{CTypeNo}{HTML}{b6786c} 322 | \definecolor{CTypeO}{HTML}{b69d6c} 323 | \definecolor{CTypeI}{HTML}{aab66c} 324 | \definecolor{CTypeII}{HTML}{85b66c} 325 | \definecolor{CTypeDII}{HTML}{6cb678} 326 | \definecolor{CTypeIII}{HTML}{6cb69d} 327 | % 328 | \newcommand{\typetxt}[1]{\ghost{\textcolor{white}{#1}}\phantom{\myyes}} 329 | % 330 | \newcommand{\typeNo}{\cellcolor{CTypeNo}\typetxt{--}} 331 | \newcommand{\typeO}{\cellcolor{CTypeO}\typetxt{0}} 332 | \newcommand{\typeI}{\cellcolor{CTypeI}\typetxt{1}} 333 | \newcommand{\typeII}{\cellcolor{CTypeII}\typetxt{2}} 334 | \newcommand{\typeDII}{\cellcolor{CTypeDII}\typetxt{$\!\!$D2}} 335 | \newcommand{\typeIII}{\cellcolor{CTypeIII}\typetxt{3}} 336 | 337 | \begin{frame}\frametitle{Übersicht Abschlusseigenschaften} 338 | 339 | \begin{center} 340 | \begin{tabular}{r|ccccc|l} 341 | & \multicolumn{5}{p{3cm}|}{\ghost{Ergebnis von Typ \ldots}\phantom{Abschluss unter \ldots }} &\\ 342 | Sprache & $\cap$ & $\cup$ & $\overline{\phantom{L}}$ & $\circ$ & $^*$ & Automat\\\hline 343 | Typ 0 & \typeO & \typeO & \typeNo & \typeO & \typeO & TM (DTM/NTM)\\ 344 | Typ 1 & \typeI & \typeI & \typeI & \typeI & \typeI & LBA ($\stackrel{?}{=}$ det. LBA)\\ 345 | Typ 2 & \typeI & \typeII & \typeI & \typeII & \typeII & PDA\\ 346 | Det. Typ 2 & \typeI & \typeII & \typeDII & \typeII & \typeII & DPDA\\ 347 | Typ 3 & \typeIII & \typeIII & \typeIII & \typeIII & \typeIII & DFA/NFA 348 | \end{tabular} 349 | \end{center} 350 | 351 | \end{frame} 352 | 353 | 354 | \begin{frame}\frametitle{Übersicht Probleme} 355 | 356 | Die Entscheidbarkeit verschiedener relevanter Probleme ist je nach Sprachklasse 357 | unterschiedlich: 358 | 359 | \begin{center} 360 | \begin{tabular}{r|cccccc} 361 | % & \multicolumn{5}{c|}{Abschluss unter \ldots} &\\ 362 | Sprache & \rotatebox{90}{Wortproblem} & \rotatebox{90}{Leerheit} & \rotatebox{90}{Äquivalenz} & \rotatebox{90}{Regularität} & \rotatebox{90}{Inklusion} & \rotatebox{90}{Schnitt}\\\hline 363 | Typ 0 & \myno & \myno & \myno & \myno & \myno & \myno\\ 364 | Typ 1 & \myyes & \myno & \myno & \myno & \myno & \myno\\ 365 | Typ 2 & \myyes & \myyes & \myno & \myno & \myno & \myno\\ 366 | Det. Typ 2 & \myyes & \myyes & \myyes & \myyes & \myno & \myno\\ 367 | Typ 3 & \myyes & \myyes & \myyes & (\myyes) & \myyes & \myyes 368 | \end{tabular} 369 | \end{center} 370 | 371 | \end{frame} 372 | 373 | \begin{frame}\frametitle{Wortprobleme lösen} 374 | 375 | Wie schwer ist es, dass Wortproblem zu lösen, wenn die Eingabe eine (geeignet kodierte) Sprache und ein zu testendes Wort ist?\bigskip 376 | 377 | \narrowcentering{ 378 | \begin{tabular}{rl} 379 | Sprache & Zeitkomplexität bzgl. Wortlänge $n$\\\hline 380 | Typ 3 & $O(n)$ (Abarbeitung DFA)\\ 381 | Det. Typ 2 & $O(n)$ (Abarbeitung DPDA)\\ 382 | Typ 2 & $O(n^3)$ (CYK-Algorithmus)\\ 383 | \Scomplclass{P} & polynomiell (z.B. Hyperresolution für Hornlogik)\\ 384 | \Scomplclass{NP} & exponentiell (z.B. Resolution allgemein)\\ 385 | Typ 1 & $O(n\cdot |\Gamma|^n)$ (z.B. über LBA-Konfigurationsgraph)\\ 386 | Typ 0 & unentscheidbar\\ 387 | \end{tabular}}\bigskip 388 | 389 | Das Wortproblem für \Scomplclass{NP} und Typ 1 ist \Scomplclass{NP}-vollständig bzw. \Scomplclass{PSpace}-vollständig. 390 | Es ist nicht bewiesen aber wahrscheinlich, dass es keine subexponentiellen Algorithmen gibt. 391 | 392 | \end{frame} 393 | 394 | \begin{frame}\frametitle{Nichtdeterminismus} 395 | 396 | % \begin{itemize} 397 | % \item 398 | \alert{Nichtdeterministische Akzeptanzbedingung:} 399 | \\Gibt es mindestens einen Lauf, der akzeptiert?\\ 400 | % $\leadsto$ nichtsymmetrische Bedingung! 401 | % \item Determinisierung nicht immer klar. 402 | % \end{itemize} 403 | \bigskip 404 | 405 | \narrowcentering{ 406 | \begin{tabular}{ccc} 407 | Det. & Nichtdet. & \\[-1ex] 408 | Automatenmodell & Automatenmodell & äquivalent?\\\hline 409 | DFA & NFA & \myyes \\ 410 | DPDA & PDA & \myno \\ 411 | DLBA & LBA & ? \\ 412 | DTM & NTM & \myyes \\ 413 | \end{tabular}}\bigskip 414 | 415 | \begin{itemize} 416 | \item Oft ist es schwierig, Nichtdeterminismus unter Ressourcenbeschränkungen aufzulösen, nicht nur bei LBAs\\ 417 | z.B. ist auch $\Scomplclass{P}\neq\Scomplclass{NP}$ offen 418 | \item Wegen der Asymmetrie hat jede nichtdeterministische Klasse eine Komplementärklasse, die oft (vermutlich) unterschiedlich ist (z.B. \Scomplclass{coNP} vs. \Scomplclass{NP}) 419 | \end{itemize} 420 | 421 | \end{frame} 422 | 423 | \begin{frame}\frametitle{Ein einfacher Beweis für \Scomplclass{P} = \Scomplclass{NP} ;-)} 424 | 425 | \begin{align*} 426 | \text{Wir wissen:} && \Slang{L} \in \Scomplclass{P} \quad& \text{impliziert}\quad \Slang{L} \in \Scomplclass{NP} \\ 427 | \text{Daher gilt:} && \Slang{L} \notin \Scomplclass{NP} \quad& \text{impliziert}\quad \Slang{L} \notin \Scomplclass{P}\\ 428 | \text{Anders gesagt:} && \Slang{L} \in \Scomplclass{coNP} \quad& \text{impliziert}\quad \Slang{L} \in \Scomplclass{coP} \\ 429 | \text{Das heißt:} && \Scomplclass{coNP} &\subseteq \Scomplclass{coP}\\ 430 | \text{Wegen $\Scomplclass{coP} = \Scomplclass{P}$ gilt:} && \Scomplclass{coNP} &\subseteq \Scomplclass{P}\\ 431 | \text{Somit gilt:} && \Scomplclass{NP} &\subseteq \Scomplclass{P}\\ 432 | \text{D.h., wegen $\Scomplclass{P} \subseteq \Scomplclass{NP}$ gilt:} && \Scomplclass{NP} &= \Scomplclass{P} 433 | \end{align*} 434 | 435 | \mbox{}\hfill q.e.d.? 436 | 437 | \end{frame} 438 | 439 | % Darstellung der entsprechenden Grammatiken (wo verfügbar) 440 | % Trennung der Sprachklassen: Methoden 441 | 442 | % \sectionSlide{Ausblick und Anwendungen} 443 | \frame{\begin{center} 444 | {\LARGE 445 | Ausblick und Anwendungen}\bigskip 446 | 447 | ~\hfill 448 | \includegraphics[height=5.5cm]{images/xkcd246-labyrinth-puzzle} 449 | \hfill~ 450 | \rotatebox{90}{\tiny Randall Munroe, \url{http://xkcd.com/246/}, CC-BY-NC 2.5} 451 | \end{center}} 452 | 453 | \begin{frame}\frametitle{Formale Sprachen} 454 | 455 | Formale Sprachen in der Praxis: 456 | \begin{itemize} 457 | \item Typ 3: extrem weit verbreitet in Form von regulären Ausdrücken; im \alert{Kompilerbau} als Lexer; noch einfachere Sprachen bei Anfrage/Auswahlmechanismen z.B. CSS-Selektoren 458 | \item det. Typ 2: besonders relevant im \alert{Kompilerbau} (LR(k)-Grammatiken) 459 | \item nichtdet. Typ 2: in der \alert{Sprachverarbeitung}; in dieser Anwendung teils auch etwas stärkere Sprachklassen (z.B. Tree-Adjoining Grammars) 460 | \end{itemize} 461 | Typ-1-Sprachen haben kaum praktische Anwendungen, Typ-0-Sprachen fallen mit allgemeinen TMs zusammen 462 | 463 | \end{frame} 464 | 465 | 466 | \begin{frame}\frametitle{Automatentheorie} 467 | 468 | Es gibt viele Automatenmodelle jenseits der hier vorgestellten: 469 | \begin{itemize} 470 | \item \alert{Baumautomaten} arbeiten auf Baumstrukturen, die sie von oben oder unten her lesen 471 | \item \alert{Automaten für unendliche Strukturen} verwenden andere Akzeptanzbedingungen, die für unendliche Abarbeitungen Sinn ergeben 472 | \item \alert{Hybride Automaten} modellieren komplexe dynamische Systeme mithilfe von Differentialgleichungen 473 | \item \alert{Eingeschränkte Automatenmodelle} z.B. partiell geordnete Automaten, erkennen spezielle reguläre Sprachen 474 | \item \ldots 475 | \end{itemize} 476 | Wesentliche Anwendungen von Automaten: 477 | \begin{itemize} 478 | \item Definition "`interessanter"' Sprachklassen 479 | \item Lösung algorithmischer Probleme (z.B. Inklusionstest von Sprachen) 480 | \end{itemize} 481 | 482 | \end{frame} 483 | 484 | \begin{frame}\frametitle{Logik} 485 | 486 | Aussagenlogik ist nur der Anfang \ldots 487 | 488 | \begin{itemize} 489 | \item \alert{Prädikatenlogik/Logik erster Stufe} erweitert die Struktur atomarer Aussagen (Prädikate, Terme, Variablen, \ldots); Quantoren $\forall$ und $\exists$ ermöglichen es, sich auf viele Aussagen zu beziehen ohne alle einzeln zu nennen 490 | \item \alert{Logik zweiter Stufe} führt zudem Variablen für Prädikate und entsprechende Quantoren ein 491 | \end{itemize} 492 | $\leadsto$ Ausgangspunkt vieler anwendungsspezifischer Logiken 493 | \bigskip 494 | 495 | Wesentliche Anwendungen: 496 | \begin{itemize} 497 | \item Wissensrepräsentation 498 | \item Logikprogrammierung 499 | \item Constraint-Erfüllungsprobleme 500 | \item Verifikation 501 | \end{itemize} 502 | 503 | \end{frame} 504 | 505 | \begin{frame}\frametitle{Logisches Schließen} 506 | 507 | Großes Fachgebiet; sehr stark anwendungsspezifisch 508 | \bigskip 509 | 510 | Nennenswerte Klassen stark optimierter Logiktools: 511 | 512 | \begin{itemize} 513 | \item SAT-Solver: aussagenlogisches Schließen 514 | \item Theorembeweiser: Entwickeln formaler Beweise in sehr ausdrucksstarken Logiken 515 | \item Model-Checker: effiziente Verifikation von formalen Aussagen bzgl. abstrakter Programmmodelle 516 | \item Logikprogramm-Systeme: Berechnung der Ergebnisse logischer Programme verschiedenster Form 517 | \item Ontologie-Reasoner: Anfragebeantwortung über logischen Wissensbasen und Datenbanken 518 | \end{itemize} 519 | 520 | \end{frame} 521 | 522 | % \begin{frame}\frametitle{} 523 | % 524 | % ~\hspace{-1.6cm} 525 | % \includegraphics[width=16.1cm]{images/fly-brain} 526 | % 527 | % \end{frame} 528 | 529 | \begin{frame}\frametitle{Komplexitätstheorie} 530 | 531 | Großes Gebiet in der theoretischen Informatik, mit zwei wesentlichen Bedeutungen: 532 | 533 | \begin{enumerate}[1] 534 | \item \alert{Eigenständiges Forschungsgebiet}, das sich vielen grundlegenden Fragen widmet (einschl. $\Scomplclass{P}\neq\Scomplclass{NP}?$); Theorie der Kryptographie; Quantenkomplexität 535 | % 536 | \item \alert{Methoden für andere Forschungsfelder}, welche die komplexitätstheoretische Analyse von Problemen 537 | in vielen Fachgebieten ermöglichen; Themen wie parametrisierte Komplexität oder Ausgabekomplexität sind aus 538 | Anwendungen motiviert 539 | \end{enumerate} 540 | 541 | Weiteres Fachgebiet: \redalert{Berechenbarkeitstheorie} (Klassifikation unentscheidbarer Probleme, alternative Berechnungsmodelle) 542 | 543 | \end{frame} 544 | 545 | % 546 | % Weiterführende Themen 547 | % % Formale Sprachen (?) 548 | % % Automatentheorie (Baumauomaten, Hybride Automaten, quantitative Modelle, ...) 549 | % % Komplexitätstheorie (Beziehungen zwischen Komplexitätsklassen, ...) 550 | % % Berechenbarkeitstheorie (unentscheidbare Probleme, weitere Unterteilung des Unentscheidbaren) 551 | % % Kompilerbau 552 | % % logikbasierte KR 553 | % % Verifikation 554 | % % Alternative Berechnungsmodelle: z.B. Quantumcomputing 555 | % 556 | % Weiterführende Vorlesungen 557 | % % Theoretische Informatik und Logik 558 | % % Deduction Systems 559 | % % Advanced Logic 560 | % % Datenbanken -- Grundlagen 561 | % % Intelligente Systeme 562 | % % Complexity Theory 563 | % % Database Theory 564 | % % Foundations of Semantic Web Technologies 565 | % % was zu Verifikation? 566 | 567 | \begin{frame}\frametitle{TheoLog} 568 | 569 | Im nächsten Semester gibt es \alert{"`Theoretische Informatik und Logik"'} {\tiny(Pflicht für einige, offen für alle)}\medskip 570 | 571 | Hören Sie die großen Fragen der Mathematik -- und die Antworten der Informatik! 572 | \begin{itemize} 573 | \item \redalert{Berechenbarkeit} 574 | \begin{itemize} 575 | \item Fleißige Biber und manch Unentscheidbares 576 | \item Von Turingmaschinen zu Programmen 577 | \end{itemize} 578 | \item \redalert{Komplexität} 579 | \begin{itemize} 580 | \item NP: Spiele für eine Person 581 | \item PSpace: einfache Spiele für zwei 582 | \end{itemize} 583 | \item \redalert{Prädikatenlogik} 584 | \begin{itemize} 585 | \item Die Sprache der Mathematik 586 | \item Resolution reloaded 587 | \item Endliche Modelle (besser bekannt als ``Datenbanken'') 588 | \end{itemize} 589 | \item \redalert{Mathematiker:innen als Programmierer:innen} 590 | \begin{itemize} 591 | \item Die Grenzen der Mathematik 592 | \item Gödel, Turing und der ganze Rest 593 | \end{itemize} 594 | \end{itemize} 595 | 596 | \end{frame} 597 | 598 | % \sectionSlide{Fragen?} 599 | 600 | \begin{frame}\frametitle{Zusammenfassung} 601 | 602 | \redalert{Formale Sprachen} sind die Grundlage zahlreicher Forschungs- und Anwendungsfelder der Informatik. 603 | \bigskip 604 | 605 | \redalert{Berechnungsmodelle} erlauben uns, allgemeine Aussagen über die Schwere und Lösbarkeit 606 | von Berechnungsaufgaben zu treffen 607 | \bigskip 608 | 609 | \redalert{Formale Logik} wird als Spezifikationssprache für (zumeist anspruchsvolle) Probleme in vielen Gebieten verwendet 610 | \bigskip 611 | 612 | \anybox{strongyellow}{ 613 | Offene Fragen: 614 | \begin{itemize} 615 | \item Haben Sie noch inhaltliche Fragen? ($\leadsto$ Konsultationen und zusätzlichen Übungstermin nutzen) 616 | \item Haben Sie sich ausreichend auf die Prüfung vorbereitet? 617 | \end{itemize} 618 | } 619 | 620 | 621 | \end{frame} 622 | 623 | \end{document} 624 | --------------------------------------------------------------------------------