Prüfungsteilnehmer Prüfungstermin Einzelprüfungsnummer Kennzahl: Herbst Kennwort: ____________ 46 1 1 5 2019 Arbeitsplatz-Nr.: Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen — Prüfungsaufgaben — Fach: Informatik (Unterrichtsfach) Einzelprüfung: Theoretische Informatik/ Algorithmen /Datenstrukturen Anzahl der gestellten Themen (Aufgaben): 2 Anzahl der Druckseiten dieser Vorlage: 12 Bitte wenden! Herbst 2019 Einzelprüfungsnummer: 46115 Seite: 2 Thema Nr. 1 (Aufgabengruppe) Es sind alle Aufgaben dieser Aufgabengruppe zu bearbeiten! Aufgabe 1 (Reguläre Sprachen) [20 PunKTe] (a) [4 Punkte] Geben Sie einen regulären Ausdruck für die Sprache über dem Alphabet {a,b} an, die genau alle Wörter enthält, die eine gerade Anzahl a’s haben. (b) [16 Punkte] Sei A der folgende DEA über dem Alphabet {a,b}: Führen Sie den Minimierungsalgorithmus für A durch und geben Sie den minimalen äqui- valenten DEA für L(A) als Zeichnung an. Aufgabe 2 (Kontextfreie Sprachen) [40 PunKTe] (a) [24 Punkte] Betrachten Sie die folgenden Sprachen: L, = {ar rer d” |n,meN} IL; = {art "d" |neN} Zeigen Sie für Zı und La, ob sie kontextfrei sind oder nicht. Für den Beweis von Kontext- Freiheit in dieser Frage reicht die Angabe eines Automaten oder einer Grammatik. (Beschrei- ben Sie dann die Konstruktionsidee des Automaten oder der Grammatik.) Für den Beweis von Nicht-Kontext-Freiheit verwenden Sie eine der üblichen Methoden. (b) [16 Punkte] Eine kontextfreie Grammatik ist in Chomsky-Normalform, falls die folgenden Bedingungen erfüllt sind: oe alle Regeln sind von der Form X — YZ oder X — o mit Nichtterminalzeichen X,Y, Z und Terminalzeichen o, e alle Nichtterminalzeichen sind erreichbar vom Startsymbol und e alle Nichtterminalzeichen sind erzeugend, d. h. für jedes Nichtterminalzeichen X gibt es ein Wort w über dem Terminalalphabet, so dass X =>* w. Fortsetzung nächste Seite! Herbst 2019 Einzelprüfungsnummer: 46115 Seite: 3 Bringen Sie die folgende Grammatik in Chomsky-Normalform. $ .— AAB|CD|abe A — AAAAla B - BB|S CC > CCcC|IcC D-d Das Startsymbol der Grammatik ist S, das Terminalalphabet ist {a,b,c,d} und die Menge der Nichtterminalzeichen ist {S,A,B,C,D}. Aufgabe 3 (Entscheidbarkeit und Komplexität) 30 PUNKTE] Betrachten Sie die folgenden Entscheidungsprobleme: SAT Gegeben: Aussagenlogische Formel F in KNF. Frage: Gibt es eine erfüllende Belegung für F? SAT’ Gegeben: Aussagenlogische Formel Fin KNF. Frage: Gibt es eine Belegung, die in jeder Klausel min- destens ein Literal falsch macht? Beachten Sie, dass die Belegung bei SAT’ nicht erfüllend sein muss. (a) |20 Punkte] Zeigen Sie, dass SAT in polynomieller Zeit reduzierbar auf SAT’ ist. (b) [10 Punkte] Zeigen Sie, dass SAT’ NP-vollständig ist. Sie dürfen annehmen, dass SAT NP- vollständig ist. Fortsetzung nächste Seite! Herbst 2019 Einzelprüfungsnummer: 46115 Seite: 4 Aufgabe 4 (Sortierverfahren) [40 PUNKTE] In der folgenden Aufgabe soll ein Feld A von ganzen Zahlen aufsteigend sortiert werden. Das Feld habe n Elemente A[1] bis Aln]. Der folgende Algorithmus sei gegeben: var A : array|l..n] of integer; procedure selection _sort var i, j, smallest, tmp : integer; begin for j := 1 to n-1 do begin smallest := j; for i := j + 1 to n do begin if Ali] < Alsmallest] then smallest := i; end tmp = Al j |; Alj] = Alsmallest]; Alsmallest] = tmp; end end (a) [18 Punkte] Sortieren Sie das folgende Feld mittels des Algorithmus. Notieren Sie alle Werte, die die Variable smallest jeweils beim Durchlauf der inneren Schleife annimmt. Geben Sie die Belegung des Feldes nach jedem Durchlauf der äußeren Schleife in einer neuen Zeile an. Index 1 2 9 9/10 Wert | 27 | 32 17 44 42 29 8| 14 (b) [4 Punkte] Der Wert der Variablen smallest wird bei jedem Durchlauf der äußeren Schleife mindestens ein Mal neu gesetzt. Wie muss das Feld A beschaffen sein, damit der Variablen smallest ansonsten niemals ein Wert zugewiesen wird? Begründen Sie Ihre Antwort. (c) [4 Punkte] Welche Auswirkung auf die Sortierung oder auf die Zuweisungen an die Variable smallest hat es, wenn der Vergleich in Zeile 9 des Algorithmus statt Afi]l < Alsmallest] lautet Ali] < Alsmallest]? Begründen Sie Ihre Antwort. (d) [4 Punkte] Betrachten Sie den Algorithmus unter der Maßgabe, dass Zeile 9 wie folgt geändert wurde: if Ali] > Alsmallest| then Welches Ergebnis berechnet der Algorithmus nun? (e) [10 Punkte] Betrachten Sie die folgende rekursive Variante des Algorithmus. Der erste Pa- rameter ist wieder das zu sortierende Feld, der Parameter n ist die Größe des Feldes und der Parameter index ist eine ganze Zahl. Die Funktion min _index(A, x, y) berechnet für 1 aDB- al,B-bB,C + bD,C —b,D— aA}. Sei L die von G er- zeugte Sprache. (a) [8 Punkte] Zeichnen Sie einen nichtdeterministischen endlichen Automaten, der Z akzeptiert! (b) [18 Punkte] Konstruieren Sie auf nachvollziehbare Weise einen regulären Ausdruck « mit L(a)=L! Aufgabe 3 (Regularität) [16 PUNKTE] Bestimmen Sie, ob die Sprache A = {w € {a,b}* | |w|a > 2|w|,} regulär ist und beweisen Sie Ihre Behauptung! Dabei bezeichnet |w|. die Anzahl der a’s in w und |w|, die Anzahl der b’s in w. Aufgabe 4 (Entscheidbarkeit, Reduzierbarkeit, Aufzählbarkeit) [30 PUNKTE] Sei Mo, Mı,... eine Gödelisierung aller Registermaschinen (RAMs). (a) [12 Punkte] Zeigen Sie die Unentscheidbarkeit der Menge A={ieN |die von M, berechnete Funktion f:N — N hat die Eigenschaft W,NP= 9}, wobei W; der Wertebereich von f und P = {2,3,5,7,...} die Menge der Primzahlen ist! Fortsetzung nächste Seite! Herbst 2019 Einzelprüfungsnummer: 46115 Seite: 9 (b) [18 Punkte] Im Folgenden bezeichne M,;(i) die Berechnung der Maschine M,; bei Eingabe :. Sei B die Menge aller Paare (j,k), sodass M,(j) mindestens so lange wie M,(k) läuft, d. h. B={(j,k)ENxN | für alle natürlichen Zahlen t gilt: M;,(5) hält innerhalb von t Takten > M,(k) hält innerhalb von t Takten}. Weiter sei Ko das Komplement des speziellen Halteproblems An = {i eN | M;(i) hält}. Es ist bekannt, dass Ko, nicht rekursiv aufzählbar ist. Beweisen Sie, dass Xo Polynomialzeit- reduzierbar auf B ist! Folgern Sie daraus, dass B nicht rekursiv aufzählbar ist. Aufgabe 5 (Quicksort) 21 PUNKTE] Gegeben ist das Array a = [13, 32, 9, 14,42, 3,10, 21]. (a) [14 Punkte] Sortieren Sie a mit Quicksort aufsteigend und in-situ von links nach rechts. Ge- ben Sie die (Teil-)Arrays am Anfang jedes rekursiven Aufrufs und nach jedem Tauschen von Elementen (auch mit sich selber) an. Verwenden Sie als Pivotelement jeweils das rechteste Element im Teilarray. Kennzeichnen Sie immer das aktuelle Pivotelement. Geben Sie zum Schluss das Ergebnis an. (b) [7 Punkte] Welche asymptotische best-case Laufzeit hat Quicksort? Geben Sie ein Array der Länge mindestens 7 an, mit welchem die Quicksort-Variante aus (a) nur die minimale Anzahl an Vergleichen benötigt (ohne Begründung). Aufgabe 6 (Mastertheorem) [10 PUNKTE] SiT:N—R} eine nicht-negative rekursive Funktion mit folgender Definition: 1, fallsn < no T(n) = mita>L,b>1L,f:NHRS,mEeN a-T(#) + f(n), sonst Laut Mastertheorem gilt: Fall 1: 3e > 0: f(n) € O(n!°&°=®) >T € O(n!%e) Fall 2: f(n) € ©(n!°&«) >T € 8(n&“.]og,n) Fall 3: (3 >0:f(n) € Qnete)) A (3. :0Te6&(f(n)). Fortsetzung nächste Seite! Herbst 2019 Einzelprüfungsnummer: 46115 Seite: 10 Gegeben sei die folgende Variante von MergeSort: 3MergeSort (int|] A, int !=1, int r = A.length) ifl