Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Ähnliche Dokumente
Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Lösung zur Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Kontextfreie Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Computational Engineering I

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Grundlagen der Informatik II

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

(Prüfungs-)Aufgaben zu formale Sprachen

Grundlagen der Theoretischen Informatik, SoSe 2008

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Übungsaufgaben zu Formalen Sprachen und Automaten

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Automaten und formale Sprachen Klausurvorbereitung

Kontextfreie Grammatiken

Lösungsvorschläge Blatt 4

Deterministischer Kellerautomat (DPDA)

Grundlagen der Theoretischen Informatik

I.5. Kontextfreie Sprachen

Grundlagen der Digitaltechnik GD. Aufgaben

Deterministische endliche Automaten - Wiederholung

Klausur Algorithmen und Datenstrukturen II 10. August 2015

Einführung in die Informatik

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

8. Turingmaschinen und kontextsensitive Sprachen

Klausur zur Vorlesung Technische Informatik 1 im WS 06/07 Donnerstag, den von Uhr Uhr, HS 5

WS 2012/13 Klausur zur Digitaltechnik. Donnerstag,

Klausur Grundlagen der Informatik Hochschule Ravensburg-Weingarten

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 11 AM

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung

11.1 Kontextsensitive und allgemeine Grammatiken

A : z z A : z z : ( z, x, z ) δ

Grundlagen der Informatik II

Musterlösung zur Nachklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Theorie der Informatik

Abschlussklausur Informatik, SS 2012

Reguläre Sprachen und endliche Automaten

Einführung in die Theoretische Informatik

2. Schriftliche Leistungskontrolle (EK)

5.7 Kontextfreie Grammatiken und Kellerautomaten

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Grundlagen der Theoretischen Informatik

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Grundlagen der Theoretischen Informatik

Automaten und Formale Sprachen

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Grundlagen der Theoretischen Informatik

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

DuE-Tutorien 16 und 17

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Aufgabentypen die in der Klausur vorkommen

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Grundlagen der Informatik II

Theoretische Informatik I

Tutoraufgabe 1 (ɛ-produktionen):

Formale Sprachen und Automaten: Tutorium Nr. 8

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Coinduktion

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Elektrische Logiksysteme mit Rückführung

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Kapitel L:II. II. Aussagenlogik

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

Einführung in die Theoretische Informatik

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

THEORETISCHE INFORMATIK

Vorlesung Theoretische Informatik

KLAUSUR DIGITALTECHNIK SS 00

Grundbegriffe. Grammatiken

Einführung in die Theoretische Informatik

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

2.7 Der Shannon-Fano-Elias Code

Theoretische Grundlagen der Informatik

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Sprachen/Grammatiken eine Wiederholung

Typ-3-Sprachen. Das Pumping-Lemma

Herzlich willkommen!!!

Grundlagen der Theoretischen Informatik

Transkript:

Institut für Angewandte Informatik und Formale Beschreibungsverfahren 5.02.206 Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten) Name: Vorname: Matr.-Nr.: Semester: (WS 205/6) Ich bestätige, dass ich die folgenden Angaben gelesen und mich von der Vollständigkeit dieses Klausurexemplars überzeugt habe (Seiten -3). Anmerkungen:. Legen Sie bitte Ihren Studierendenausweis bereit. Unterschrift des o. g. Klausurteilnehmers bzw. der o. g. Klausurteilnehmerin 2. Bitte tragen Sie Name, Vorname und Matr.-Nr. deutlich lesbar ein. 3. Die folgenden 0 Aufgaben sind vollständig zu bearbeiten. 4. Folgende Hilfsmittel sind zugelassen: keine. 5. Täuschungsversuche führen zum Ausschluss von der Klausur. 6. Unleserliche oder mit Bleistift geschriebene Lösungen können von der Klausur bzw. Wertung ausgeschlossen werden. 7. Die Bearbeitungszeit beträgt 90 Minuten. Nur für den Prüfer : 2 3 4 5 6 7 8 9 0 - - - - - - gesamt (0) (0) (2) (8) (8) (9) () (8) (8) (6) (90)

Aufgabenübersicht ) Endliche Automaten und reguläre Ausdrücke (0 Punkte)... 2 2) Pumping-Lemma für EA-Sprachen (0 Punkte)........ 3 3) Kellerautomaten (2 Punkte)................... 5 4) Kontextfreie Grammatiken (8 Punkte).............. 6 5) Komplexität (8 Punkte)...................... 7 6) Flip-Flops (9 Punkte)....................... 8 7) Huffman-Kodierung ( Punkte)................. 9 8) Rechnerarchitektur (8 Punkte).................. 9) Assembler und Adressierung (8 Punkte)............. 2 0) Hauptspeicherzuweisung (6 Punkte).............. 3

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 2 Aufgabe 206-H-0 0 Punkte Endliche Automaten und reguläre Ausdrücke Für Automaten dieser Aufgabe reicht jeweils die Angabe von δ. / 0 (a) Geben Sie über dem Alphabet E = {a} wie folgt einen deterministischen endlichen Automaten (DEA) an: Er soll möglichst wenige Zustände haben, aber trotzdem noch verkleinert werden können (welche Sprache er erkennt, ist unerheblich). Sie sollen also den kleinsten nicht minimalen (vereinfachten) DEA angeben, der über einem einelementigen Alphabet gebildet werden kann. (Es gibt mehrere Lösungen.) / 3 Falls Sie (a) nicht lösen können, dürfen Sie für die folgenden Aufgabenteile einen beliebigen (nicht minimalen) DEA wählen. Zeichnen Sie diesen unter (a), bevor Sie fortfahren. (b) Minimieren Sie Ihren DEA aus Aufgabenteil (a) nach dem Algorithmus aus der Vorlesung. Geben Sie insbesondere die (sehr einfache) Minimierungstabelle und den minimierten Automaten an. / 2 (c) Geben Sie einen regulären Ausdruck α an, der dieselbe Sprache definiert wie Ihr Automat aus Aufgabenteil (a) bzw. (b). / (d) Existiert für jeden beliebigen (vereinfachten) DEA mit n Zuständen über E = {a} ein äquivalenter (vereinfachter) DEA mit n + Zuständen? Begründen Sie oder finden Sie ein Gegenbeispiel. Diese Aufgabe ist zum Knobeln, lösen Sie sie am besten zum Schluss. / 4

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 3 Aufgabe 2 206-H-02 0 Punkte Pumping-Lemma für EA-Sprachen / 0 (a) Gegeben sei die Sprache L mit L = { w {0,, 2} } w 0 = w + w 2 oder w 0 + w = w 2 Es gilt beispielsweise: λ, 0, 2, 200, 022, 202000 L 0, 2, 22, 02, 20, 20, 02020 L Zeigen Sie mit dem Pumping-Lemma für EA-Sprachen, dass L nicht regulär ist. Hinweis: Achten Sie darauf, kein Testwort zu wählen, das nach dem Pumpen durch den jeweils anderen Fall abgedeckt ist. Wenn Ihr Testwort zum Beispiel w 0 = w + w 2 erfüllt, darf das gepumpte Wort auch den anderen Fall nicht erfüllen. w 0 + w = w 2 / 7

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 4 (b) Angenommen, jemand beweist, dass für eine Sprache L die Pump-Eigenschaft des Pumping-Lemmas für EA-Sprachen erfüllt ist. Argumentieren Sie, dass es dennoch sein kann, dass L nicht regulär ist. / 3

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 5 Aufgabe 3 206-H-03 2 Punkte Kellerautomaten / 2 Gegeben sei die Sprache L mit Es gilt beispielsweise: L = { 0 i j 2 k i = j + k oder i + j = k mit i, j, k N 0 } λ, 02, 0022, 000222, 0, 002, 00022, 2, 222, 002222 L 0,, 2, 22, 02, 20, 02, 02, 222 L Geben Sie einen nichtdeterministischen Kellerautomaten A an, der die Sprache L erkennt. Geben Sie A vollständig an. A = } {{ } E, } {{ } S, } {{ } K, δ, s 0, k 0, } {{ } F

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 6 Aufgabe 4 206-H-04 Gegeben seien die kontextfreien Grammatiken G und G mit L(G) = L(G ): G = ({A, B, C, D, S }, {a, b}, P, S ), P = {S ad S Ab, A a bbc, B a CBa, C b Bb, D b S AaC} 8 Punkte Kontextfreie Grammatiken / 8 L G = ({A, B, C, C (a), C (b), D, D (0), D (), D (2), D (3), D (4), S }, {a, b}, P, S ), P = {S C (a) D D () C (b), A a D (0) C, B a D (2) C (a), C b BC (b), D b D (4) C, D (0) C (b) C (b), D () S A, D (2) CB, D (3) S A, D (4) D (3) C (a), C (a) a, C (b) b} (a) In welcher Normalform befindet sich G? (b) Geben Sie bezüglich G einen Ableitungsbaum für das Wort abbbbb an. (c) Geben Sie bezüglich G einen Ableitungsbaum für das Wort abbbbb an. Hinweise: P Nutzen Sie Ihre Kenntnisse darüber, wie die Normalform von G aus G konstruiert wird, um den Baum aus Teilaufgabe (b) einfach in eine Lösung für (c) abzuwandeln. Zeichnen Sie die Bäume auf die Rückseite der vorherigen Seite. / / 3 / 4

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 7 Aufgabe 5 206-H-05 8 Punkte Komplexität / 8 Eine probabilistische Turingmaschine ist eine Turingmaschine, die ihre Folgekonfiguration zufällig gemäß einer gegebenen Wahrscheinlichkeitsverteilung über die Menge der möglichen Übergänge in der Turingtafel bestimmt. Das folgende Schaubild zeigt beispielhaft einen Berechnungsbaum einer probabilistischen Turingmaschine bei Eingabe des Wortes aab: Hinweis: Die Schreibweise u a v (s) für die Konfiguration ist äquivalent zur Schreibweise (u, s, av). a ab (s 0 ) 3/4 /4 a a b (s ) a a b (s 3 ) /3 2/3 aa b (s ) [3/2] aa b (s e ) [6/2] aa b (s 3 ) [3/2] Die Zahl an den Kanten gibt an, mit welcher Wahrscheinlichkeit die Turingmaschine die entsprechende Abzweigung wählt, die Zahl an den Blättern, mit welcher Wahrscheinlichkeit die entsprechende Endkonfiguration erreicht wird. Die Turingmaschine akzeptiert also mit einer Wahrscheinlichkeit 6/2 = /2. Bezeichne pp die Klasse der Entscheidungsprobleme, die von einer probabilistischen Turingmaschine in Polynomialzeit mit einer vorgegebenen Wahrscheinlichkeit größer gleich p korrekt gelöst werden. (a) Begründen Sie, warum P pp gilt (unabhängig vom Wert von p). / 4 (b) Begründen Sie, warum pp NP gilt (unabhängig vom Wert von p). / 4

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 8 Aufgabe 6 206-H-06 9 Punkte Flip-Flops / 9 Bei dem gegebenen Schaltsymbol handelt es sich um ein asynchrones RS-Flip-Flop, das um zwei Verzögerungselemente an den beiden Ausgängen ergänzt wurde. Sie verzögern die Ausgabe der Signale q und q um τ = 0, 5 Nanosekunden (ns). Weitere Verzögerungen durch Gatter und Leitungen innerhalb der Schaltung können vernachlässigt werden. (a) Ergänzen Sie die Skizze um alle notwendigen Leitungen und Gatter, um das asynchrone RS-Flip-Flop zu einem synchronen JK-Flip-Flop zu erweitern. Die Verzögerungselemente können Sie in dieser Teilaufgabe ignorieren. Hinweis: Ein JK-Flip-Flop ist ein RS-Flip-Flop mit vorgeschalteten Gattern, die die für RS-Flip-Flops unzulässige Belegung (r, s) = (, ) verhindern. / 3 s r τ τ q q (b) Der gegebene Graph enthält die Signalverläufe für die drei Eingänge j, k und t (Takt) eines synchronen JK-Flip-Flops, sowie Anfangsbelegungen für die Ausgänge q und q und die internen Signale r und s (Eingangssignale des ursprünglichen asynchronen RS- Flip-Flops aus Aufgabenteil (a)). Vervollständigen Sie die Signale. Beachten Sie dabei, dass q und q um τ verzögert sind. Zeit (ns) 0 2 3 4 5 6 / 6 Takt t 0 j 0 k 0 s 0 r 0 q 0 q 0

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 9 Aufgabe 7 206-H-07 Punkte Huffman-Kodierung / (a) Gegeben sei der folgende Text aus 29 Zeichen: EIN_BRAVER_HAI_ISST_HAFERBREI Erzeugen Sie zu der durch den Text gegebenen Wahrscheinlichkeitsverteilung eine Huffman-Kodierung. Tragen Sie dazu die Häufigkeiten der Zeichen in die untere Zeile der ersten Tabelle ein, erstellen Sie einen Huffman-Baum mit Angabe der Häufigkeiten an den Knoten und geben Sie in der zweiten Tabelle für jedes Zeichen eine dem Baum entsprechende Kodierung an. / 7 R I S H E N F B _ A V T Zeichen R I S H E N F B _ A V T Kodierung

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 0 (b) Gegeben seien zwei gleich lange Texte A und B, die aus denselben Zeichen Z bis Z 8 bestehen. Die Häufigkeitsverteilung aller Zeichen in beiden Texten kann der gegebenen Tabelle entnommen werden. Welcher der beiden Texte ist nach der Kodierung mit einer entsprechenden Huffman-Kodierung kürzer? Begründen Sie Ihre Antwort kurz. Zeichen: Z Z 2 Z 3 Z 4 Z 5 Z 6 Z 7 Z 8 gesamt Text A 0 0 0 0 0 0 0 0 80 Text B 73 80 / 2 (c) Wie lang ist Text A aus Teilaufgabe (b), wenn er mit einem Huffmancode kodiert ist? / (d) Wie lang wären die kodierten Texte A und B aus Teilaufgabe (b), wenn es sich bei den Zeichen Z bis Z 8 um einzelne Ziffern handeln würde, die im BCD-Code kodiert sind? /

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. Aufgabe 8 206-H-8 8 Punkte Rechnerarchitektur / 8 (a) Nennen Sie die einzelnen Bestandteile des klassischen Konzepts des von Neumann- Rechners. / 2 (b) In heutigen Rechnern werden als Speicherelemente unter anderem CPU, Register, Cache- Speicher und Arbeitsspeicher eingesetzt. Grenzen Sie diese Elemente voneinander ab, indem Sie die folgenden Eigenschaften der einzelnen Elemente mit einem Begriff beschreiben bzw. bei Bedarf einen Verlauf markieren. / 3 CPU Register Cache-Speicher Arbeitsspeicher Preis pro Bit Zugriffszeit Kapazität (c) Für ein erfolgreiches Zusammenwirken der einzelnen Funktionseinheiten sind spezielle Datensammelwege (Bus) von Bedeutung. Nennen Sie die drei typischen Datensammelwege heutiger Rechner und beschreiben Sie kurz deren Aufgabe. / 3

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 2 Aufgabe 9 206-H-9 8 Punkte Assembler und Adressierung / 8 Die Befehle einer Assembler-Sprache seien folgendermaßen aufgebaut: OpCode Q, (Q2,) Z Dabei werde das Ergebnis der Operation OpCode basierend auf den durch Q (und bei Rechenoperationen Q2) bezeichneten Operanden an der durch Z bezeichneten Adresse abgelegt. Gegeben sei folgender Ausschnitt aus einem Assemblerprogramm. STORE 00, 002 STORE #002, 00 STORE *00, 003 ADD 003, 002, *003 SUBTRACT 40, #79, 004 Dabei werden für die Adressierungsarten folgende Notationen verwendet: Unmittelbare Adressierung: Präfix # Direkte Adressierung: ohne Präfix Indirekte Adressierung: Präfix * Gegeben sei weiter ein 4-zeiliger Assoziativ-Cache, der nach dem Least-Recently-Used- Prinzip arbeite und zu Beginn die eingetragenen Werte enthalte: Cache- Zeile Tag-Feld (Hauptspeicheradresse) 0 00 40 2 3 Datum Zugriffs- Zeitpunkte Bei jeder Assembler-Operation werden die beteiligten Operanden im Cache abgelegt. Aktualisieren Sie die obige Tabelle mit den während des Programmlaufs anfallenden Werten. Schreiben Sie dabei die Zugriffszeitpunkte in die letzte Spalte.

Grundlagen der Informatik II Klausur 5.02.206 WS 205/6 Matr.-Nr. 3 Aufgabe 0 206-H-0 6 Punkte Hauptspeicherzuweisung / 6 Ein Prozessor benötigt Zugriff auf folgendes Speicherelement im virtuellen Hauptspeicher: 0 0 0 0 (a) Geben Sie sowohl die Adresse in der Seite als auch die dazugehörende Seitenadresse als Dezimalzahl an. Seitenadresse: Adresse in der Seite: / (b) Auf welches Speicherelement muss zugegriffen werden, wenn die Zuordnungsfunktion für das gesuchte Speicherelement der Seite σ für den Seitenrahmen F(σ) = 25 berechnet? Geben Sie für das neue Speicherelement sowohl die Seitenrahmenadresse als auch die Adresse innerhalb des Seitenrahmens in Binärdarstellung an. / 2 (c) Was bedeutet es, wenn die Zuordnungsfunktion F(σ) für die Seite σ den Ungültigkeitswert n liefert? / (d) Welche zwei Fälle können unterschieden werden, wenn F(σ) = n ist? Wie ist das jeweilige Vorgehen? / 2