\documentclass[10pt, a4paper]{exam} \printanswers % Comment this line to hide the answers \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage{listings} \usepackage{float} \usepackage{graphicx} \usepackage{color} \usepackage{listings} \usepackage[dvipsnames]{xcolor} \usepackage{tabularx} \usepackage{geometry} \usepackage{color,graphicx,overpic} \usepackage{amsmath,amsthm,amsfonts,amssymb} \usepackage{tabularx} \usepackage{listings} \usepackage[many]{tcolorbox} \usepackage{multicol} \usepackage{hyperref} \usepackage{pgfplots} \usepackage{bussproofs} \pdfinfo{ /Title (Automaten, Sprachen \& Komplexität - Prüfungsvorbereitung) /Creator (TeX) /Producer (pdfTeX 1.40.0) /Author (Robert Jeutter) /Subject () } \title{Automaten, Sprachen \& Komplexität - Prüfungsvorbereitung} \author{} \date{} % Don't print section numbers \setcounter{secnumdepth}{0} \newtcolorbox{myboxii}[1][]{ breakable, freelance, title=#1, colback=white, colbacktitle=white, coltitle=black, fonttitle=\bfseries, bottomrule=0pt, boxrule=0pt, colframe=white, overlay unbroken and first={ \draw[red!75!black,line width=3pt] ([xshift=5pt]frame.north west) -- (frame.north west) -- (frame.south west); \draw[red!75!black,line width=3pt] ([xshift=-5pt]frame.north east) -- (frame.north east) -- (frame.south east); }, overlay unbroken app={ \draw[red!75!black,line width=3pt,line cap=rect] (frame.south west) -- ([xshift=5pt]frame.south west); \draw[red!75!black,line width=3pt,line cap=rect] (frame.south east) -- ([xshift=-5pt]frame.south east); }, overlay middle and last={ \draw[red!75!black,line width=3pt] (frame.north west) -- (frame.south west); \draw[red!75!black,line width=3pt] (frame.north east) -- (frame.south east); }, overlay last app={ \draw[red!75!black,line width=3pt,line cap=rect] (frame.south west) -- ([xshift=5pt]frame.south west); \draw[red!75!black,line width=3pt,line cap=rect] (frame.south east) -- ([xshift=-5pt]frame.south east); }, } \begin{document} \begin{myboxii}[Disclaimer] 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}