diff --git a/Automaten, Sprachen und Komplexität - Prüfungsvorbereitung.pdf b/Automaten, Sprachen und Komplexität - Prüfungsvorbereitung.pdf index a6a7f0f..31d0e3c 100644 Binary files a/Automaten, Sprachen und Komplexität - Prüfungsvorbereitung.pdf and b/Automaten, Sprachen und Komplexität - Prüfungsvorbereitung.pdf differ diff --git a/Automaten, Sprachen und Komplexität - Prüfungsvorbereitung.tex b/Automaten, Sprachen und Komplexität - Prüfungsvorbereitung.tex index 7bdadab..d58f299 100644 --- a/Automaten, Sprachen und Komplexität - Prüfungsvorbereitung.tex +++ b/Automaten, Sprachen und Komplexität - Prüfungsvorbereitung.tex @@ -87,4 +87,84 @@ Aufgaben aus dieser Vorlage stammen aus der Vorlesung \textit{Algorithmen, Sprachen und Komplexität} und wurden zu Übungszwecken verändert oder anders formuliert! Für die Korrektheit der Lösungen wird keine Gewähr gegeben. \end{myboxii} +%########################################## +\begin{questions} + \question Definitionen der Automatentheorie. Vervollständige die folgenden Definitionen: + \begin{parts} + \part Eine Regel $(l\rightarrow r)$ einer Grammatik $G=(V,\sum,P,S)$ heißt rechtslinear, falls ... + \begin{solution} + \end{solution} + \part Ein NFA ist ein Tupel $M=(...)$ + \part Die von einem PDA $M=(Z,\sum, \Gamma, \delta, z_0, \#)$ akzeptierten Sprache ist $L(M)=...$ + \part Sei $M=(Z,\sum,z_0,\delta, E)$ ein DFA. Die Zustände $z,z'\in Z$ heißen erkennungsäquivalent, wenn + \end{parts} + + \question Sätze und Lemmas aus der Automatentheorie. Vervollständige die folgenden Aussagen: + \begin{parts} + \part Sei $L\supseteq \sum^*$ eine Sprache. Dann sind äquivalent: 1) L ist regulär (d.h. wird von einem DFA akzeptiert), 2)..., 3)... + \part Der Satz von Myhill-Nerode besagt,... + \part Das Pumping-Lemma für kontextfreie Sprachen ... + \end{parts} + + \question Konstruktionen der Automatentheorie + \begin{parts} + \part Betrachte den NFA X (Bild wird noch erstellt). Berechne einen DFA Y mit $L(X)=L(Y)$. + \part Betrachte den DFA X (Bild wird noch erstellt). Berechne den minimalen DFA Y mit $L(X)=L(Y)$. + \end{parts} + + \question Algorithmen für reguläre Sprachen + \begin{parts} + \part Sei $\sum=\{a,b,c\}$. Gebe einen Algorithmus an, der bei Eingabe eines NFA X entscheidet, ob alle Wörter $\omega\in L(X)$ ungerade Länge besitzen und $abc$ als Infix enthalten. + \end{parts} + + \question Kontextfreie Sprachen: Sei $\sum=\{a,b,c\}$. Betrachte die Sprache $K=\{a^k b^l c^m|k\leq l \text{ oder } k\leq m\}$. + \begin{parts} + \part Zeige, dass $K$ eine kontextfreie Sprache ist. + \part Zeige, dass $L=\sum^*\backslash K$ (Komplement von $L$) nicht kontextfrei ist. + \part Begründe warum $K$ deterministisch kontextfrei ist oder warum nicht. + \end{parts} + + \question Kontextfreie Grammatiken: Sei $\sum=\{a,b,c,\}$ + \begin{parts} + \part Sei $G$ die kontextfreie Grammatik mit Startsymbol S und der Regelmenge $S\rightarrow AB$, $A\rightarrow aBS|a$ und $B\rightarrow bBa|b|\epsilon$. Überführe G in eine äquivalente Grammatik in Chomsky Normalform. + \part Sei $G'$ die kontextfreie Grammatik mit Startsymbol $S$ und der Regelmenge $S\rightarrow AB$, $A\rightarrow CD|CF$, $F\rightarrow AD$, $B\rightarrow c|EB$, $C\rightarrow a$, $D\rightarrow b$, $E\rightarrow c$. Entscheide mit dem CYK-Algorithmus, ob die Wörter $w_1=aaabbbcc$ oder $w_2=aaabbccc$ von $G'$ erzeugt werden. + \part Gebe für die Wörter aus b), die von $G'$ erzeugt werden, den Ableitungsbaum an. + \end{parts} + + \question Definitionen der Berechnbarkeitstheorie. Verfollständige die Definitionen + \begin{parts} + \part Ein While Programm ist von der Form... + \part Die von einer Turingmaschine $M$ akzeptierte Sprache ist $L(M)=...$ + \part Eine Sprache $L$ heißt rekursiv aufzählbar, falls ... + \end{parts} + + \question Sätze der Berechnbarkeitstheorie: Vervollständige die folgenden Aussagen + \begin{parts} + \part Sei $L\subseteq \sum^*$ eine Sprache. Sind $L$ und $\sum^*\backslash L$ semi-entscheidbar, dann... + \part Der Satz von Rice lautet... + \end{parts} + + \question Berechnungsmodelle + \begin{parts} + \part Gebe ein Loop-Programm an, das die Funktion $n\rightarrow n^2-n$ berechnet + \part Gebe eine deterministische Turingmaschine $M$ für das Eingabealphabet $\{0,1\}$ an, das folgende Funktion berechnet: Für Eingabe $a_1a_2...a_{n-1}a_n$ berechnet M die Ausgabe $a_na_1...a_{n-1}$ (letzte Symbol der Eingabe an erste Stelle). + \end{parts} + + \question Reduktionen + \begin{parts} + \part Seien $A,L\subseteq \sum^*$ nichtleere Sprachen und A entscheidbar. Gebe eine Reduktion von $L\cup A$ auf $L$ an + \part Gebe eine Bedingung für A an, sodass $L\cup A\leq_p L$ für alle nichtleeren Sprachen $L\subseteq \sum^*$ gilt. Begründe. + \end{parts} + + \question Komplexitätsklassen. Ergänze zu den Paaren von Komplexitätsklassen das Relationssymbol zur Teilmengenbeziehung. + \begin{parts} + \part EXPSPACE ? EXPTIME + \part NP ? P + \part NPSPACE ? EXPTIME + \part NP ? NPSPACE + \part NPSPACE ? PSPACE + \end{parts} + + \question NP-vollständiges Problem: Gebe zwei NP-vollständige Probleme an (als Menge oder Eingabe-Frage-Paar). +\end{questions} \end{document} \ No newline at end of file