Klausur Theoretische Informatik Herbst 2005 Aufgabe 1-1. (4 Punkte) Semi- Thue-Systeme Gegeben seien Zeichenketten der Form < a > A < /a >, < /a >< a > A < a >, usw. über dem Alphabet {<, >, A, a, /}. Wir wollen < a > eine “Klammer auf” nennen und </a > eine “Klammer zu”. Definieren Sie ein Semi-Thue-System, das diese Zeichenketten auf Ketten von öffnenden, oder schliessenden oder einer Folge von (zuerst nur) schliessenden und (dann nur) öffnenden Klammern (aber kein Durcheinander!) reduziert, wenn das Klammerngleichgewicht nicht erfüllt ist (jeweils vom Anfang her gesehen). Beim Klammerngleichgewicht kommt es nicht auf die Gesamtzahl der Klammern an, sondern auf die Reihenfolge der Klammern (von links). Aufgabe 1-2. (5 Punkte) Relationen Gegeben seien Zeichenketten der Form < a > A < /a >, < /a >< a > A < a >, usw. über dem Alphabet {<, >, A, a, /}. Eine Beziehung R gelte, wenn eine Zeichenkette genausoviele Klammernpaare < a > ... < /a > enthält (reine Anzahl) wie eine andere. Welche Eigenschaften hat diese Relation R? Beweisen Sie Ihre Behauptungen! Aufgabe 1-3. (5 Punkte) Algebren Gegeben sei die Algebra A mit der Trägermenge R (reelle Zahlen) und den Operationen: e :→ 1, m : R × R → R, m(x, y) = x ∗ y, wobei ∗ die gewöhnliche Multiplikation reller Zahlen bezeichnet. Gegeben sei ferner die Algebra B mit der Trägermenge R+ (reelle positive Zahlen) und den Operationen e :→ 1, m : R+ ×R+ → R+ , m(x, y) = x∗y, wobei ∗ wieder die gewöhnliche Multiplikation reller Zahlen bezeichnet. Gibt es einen Isomorphismus zwischen A und B? Wenn ja, wie kann er definiert werden, wenn nein, warum nicht? Aufgabe 1-4. (6 Punkte) Logik I. Prüfung von aussagenlogischen Formeln Ist die Formel (((¬a ∧ b) ∨ (¬a → c)) ∧ ((a ∧ ¬b) ∨ (a → ¬c))) unerfüllbar? 2. Beschreibung Eine objektorientierte Sprache soll durch Spezifikationsteile für Methoden ergänzt werden. Nach dem Methodenkopf werden nach dem Schlüsselwort IN etwaige Eingabebedingungen notiert und nach dem Schlüsselwort OUT etwaige Ausgabebedigungen. Die Bedingungen sind prädikatenlogische Formeln. Entwickle Spezifikationen für die Wurzelfunktion und den Absolutbetrag! 3. Modell Für einen abstrakten Datentyp seien die Axiome: ∀xy.P (f (x, y), f (y, x)) und ∀x.P (f (x, x), A) → P (f (x, A), x) aufgestellt worden. Konstruieren Sie ein Modell! Aufgabe 1-5. (5 Punkte) Markov-Algorithmen Gegeben seien Zeichenketten der Form < a > A < /a >, < /a >< a > A < a >, usw. über dem Alphabet {<, >, A, a, /}. Schreiben Sie einen Markov-Algorithmus, der korrekt geklammerte Zeichenketten zur leeren Zeichenkette reduziert! 1 Aufgabe 1-6. (5 Punkte) Graphen und Relationen Gegeben sei folgender Graph als Adjazenzliste: E: a, b, c, d, e K: a [a, b] b [b, d, e] c [c, d] d [d] e [a, e] Um was für einen Graphen handelt es sich? (Zutreffendes unterstreichen) nicht zusammenhängend schwach zusammenhängend einseitig zusammenhängend stark zusammenhngend Es lassen sich insgesamt x schwache Zusammenhangskomponenten identifizieren, y einseitige Zusammenhangskomponenten identifizieren, z starke Zusammenhangskomponenten mit jeweils mehr als 1 Knoten identifizieren. Geben Sie x, y und z an! Der Graph beschreibt eine (Zutreffendes unterstreichen) reflexive nichttransitive transitive nichtreflexive reflexive und transitive nichttransitive und nichtreflexive Relation. 2 Aufgabe lI-I (8 Punkte) Über dem Alphabet Σ = {a, b} seien die Sprachen L1 = Σ∗ abΣ∗ und L2 = Σ∗ baΣ∗ gegeben. i. Geben Sie einen vollständigen, deterministischen Automaten A mit höchstens 5 Zuständen an, der L1 · L2 erkennt. ii. Geben Sie einen vollständigen, deterministischen Automaten B mit höchstens 6 Zuständen an, der L1 ∩ L2 erkennt. iii. Geben Sie einen regulären Ausdruck an, der die Menge L := Σ∗ \ (L1 ∩ L2 ) beschreibt. (Für reguläre Ausdrücke R ist bei Bedarf die Abkürzung R+ für RR∗ zulässig. Evtl. kann auch de Morgan hilfreich sein!) Aufgabe lI-2 (3 Punkte) Es sei F : N × N =⇒ N die partielle Funktion ! 0 falls x ≤ y, F : (x, y) $→ undefiniert sonst. Geben Sie die Funktion µ(F) an (Minimierung nach der letzten Komponente. Es ist nicht nach der Definition des µ-Operators gefragt!). Aufgabe lI-3 (12 Punkte) Gegeben sei die Grammatik G durch S → ε | aSb | bSa | SS. Für x ∈ {a, b} und w ∈ {a, b}∗ bezeichne das Symbol |w|x wie üblich die Anzahl der Vorkommen des Buchstabens x im Wort w. i. Beweisen Sie: L(G) ⊆ {w ∈ {a, b}∗ | |w|a = |w|b }. ii. Beweisen Sie: {an bn | n ∈ N} ∪ {bn an | n ∈ N} ⊆ L(G). iii. Zeigen Sie, dass für alle m, n ∈ N gilt: m *= n =⇒ am und an sind nicht Nerode-äquivalent bezüglich L(G). iv. Zeigen Sie ohne Zuhilfenahme des Pumpinglemmas: L(G) ist nicht regulär. Aufgabe lI-4 (7 Punkte) i. Definieren Sie den Begriff der Reduktion eines Problems P ⊆ Σ∗ auf ein Problem Q ⊆ Γ∗ . ii. Führen Sie eine Reduktion des speziellen Halteproblems K := {w | w ∈ {0, 1}∗ und Mw , angesetzt auf w, terminiert} auf das allgemeine Halteproblem H := {w#x | w, x ∈ {0, 1}∗ und Mw , angesetzt auf x, terminiert} durch (incl. Beweis der Reduktionseigenschaft). 1 Aufgabe III-1 (4+4 = 8 P.) Wichtig: bei dieser Aufgabe sind nur die Antworten, aber keine Begründungen, Herleitungen, Beweise usw. anzugeben. 1. Welches asymptotische Verhalten (im Sinne der Θ- Notation) haben die Lösungen der folgenden divide-and-conquer Rekursionen: (a) die quicksort-Rekursion (Anzahl Vergleiche im average-case) qsort(n) = n − 1 + # 1 ! " qsort(k − 1) + qsort(n − k) (n > 1), n 1≤k≤n qsort(0) = qsort(1) = 0. qsort(n) ∈ Θ( ) [1] (b) die quickselect-Rekursion (Anzahl Vergleiche im average-case) qsel(n) = n − 1 + " # 1 ! max qsel(k − 1), qsel(n − k) (n > 1), n 1≤k≤n qsel(0) = qsel(1) = 0. qsel(n) ∈ Θ( ) [1] (c) die Binärbaum-Rekursion (Anzahl der Binäräume mit n Blättern) ! bin(n) = bin(k) · bin(n − k) (n > 1), bin(1) = 1. 1≤k<n bin(n) ∈ Θ( ) [2] 2. Wieviele Multiplikationen (incl. Quadrierungen) benötigt das Verfahren der “schnellen Exponentiation” für die Berechnung von ak (k ∈ N) für Elemente a aus einer Halbgruppe (a) für k = 432 ? Multiplikationen [2] (b) im Mittel (bei Gleichverteilung über alle Möglichkeiten) für Exponenten k mit Bitlänge !(k) = n ? Multiplikationen [2] Aufgabe III-21 (4 P.) Das Schleifenkonstrukt B(n) ≡ for k from 1 to n do A(k) bringt zum Ausdruck, dass ein Programm(fragment) A(·) nacheinander für die Argumente k = 1, 2, . . . , n ausgeführt werden soll. Für die Laufzeitanalyse kann man davon ausgehen, dass die Laufzeit tB (n) des Programmfragments B bei input n von der Laufzeit tA (k) des Programmfragments A bei input k folgendermassen abhängt: n ! tB (n) = c · n + tA (k) k=1 Der Term c · n mit einer Konstanten c > 0 beinhaltet den Aufwand für die Schleifenkontrolle. Welches asymptotische Verhalten (in Landau-Notation geschrieben) hat die Funktion n $→ tB (n) in Abhängigkeit von der Funktion n $→ tA (n) in den folgenden Fällen (dabei ist a > 0 eine Konstante): tA(n) tA(n) = a · n ⇒ 2 ⇒ tA(n) = a · n n 1 tA(n) = a · 2 ⇒ tA(n) = a · log n ⇒ tB (n) $ tB (n) ∈ Θ $ tB (n) ∈ Θ $ tB (n) ∈ Θ $ tB (n) ∈ Θ Jeweils nur die Antwort in den Kasten eintragen; keine Begründung erforderlich! % % % % Aufgabe III-3 (4+4 = 8 P.) 1. Es sei A = {a, b, c, d} ein vierelementiges Alphabet und p = (pa , pb , pc , pd ) bezeichne eine Wahrscheinlichkeitsverteilung auf A, wobei pa ≥ pb ≥ pc ≥ pd > 0 gelten soll. Mit ! = (!a , !b , !c , !d ) werden zugehörige Vektoren der Codewortlängen bei Codierung der Quelle Q = (A, p) notiert. Welches sind die verschiedenen Vektoren !, die hierbei (d.h. für eine Quelle mit vierlementigem Alphabet) bei optimaler binärer Präfixcodierung auftreten können? (mit Begründung!) 2. Es sei nun A ein N -elementiges Alphabet (N ≥ 2) und ! = (!1 , !2 , . . . , !N ) sei ein Vektor der Codewortlängen bei optimaler binärer Präfixcodierung. Zeigen Sie (sorgfältige Begründung!), dass für die Summe der Wortlängen stets die beiden folgenden Ungleichungen gelten: & ' N +1 N · log2 N ≤ !1 + !2 + · · · + !N < . 2 Aufgabe III-4 (4+3+2+1 = 10 P.) Die Zahl N = 1729 hat 1729 = 7 · 13 · 19 als Primfaktorisierung. Gemäss chinesischem Restesatz ist daher der Ring Z1729 isomorph zu dem Ring Z7 × Z13 × Z19 , was man beim Verfahren der modularen Arithmetik ausnutzt. a) Die Gleichung X 2 = 1 hat in Z1729 genau acht verschiedene Lösungen, nämlich alle diejenigen Elemente, deren Darstellung in Z7 × Z13 × Z17 von der Form (±1, ±1, ±1) ist. Dabei gelten nach chinesischem Restesatz die Entsprechungen Z1729 Z1729 , 1 ↔ (+1, +1, +1) ∈ Z7 × Z13 × Z19 , −1 = 1728 ↔ (−1, −1, −1) = (6, 12, 18) ∈ Z7 × Z13 × Z19 Welchem Element von Z1729 entspricht (+1, −1, +1) ∈ Z7 × Z13 × Z19 ? b) Berechnen Sie die Ordnungen des Elements a = 2 in Z∗7 , in Z∗13 und in Z∗19 . c) Verwenden Sie die Resultate von b), um das dem Element 227 mod 1729 von Z1729 entsprechende Element von Z7 × Z13 × Z19 zu berechnen. d) Zeigen Sie, dass a = 2 ein Miller-Rabin-Zeuge dafür ist, dass N = 1729 keine Primzahl ist. (Hinweis: es ist N − 1 = 1728 = 64 · 27.)