3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?

Ähnliche Dokumente
Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Einführung in die Theoretische Informatik

Grammatiken und die Chomsky-Hierarchie

Theoretische Informatik

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Wortproblem für kontextfreie Grammatiken

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Theoretische Informatik I

Komplexität und Komplexitätsklassen

Grundlagen der Theoretischen Informatik

Grammatiken. Einführung

Logik für Informatiker

Mächtigkeit von WHILE-Programmen

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Zusammenfassung Grundzüge der Informatik 4

7. Formale Sprachen und Grammatiken

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

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Grundbegriffe der Informatik

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Sprachen/Grammatiken eine Wiederholung

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Kapitel 11: Wiederholung und Zusammenfassung

Semantik von Formeln und Sequenzen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

5. Aussagenlogik und Schaltalgebra

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010

Grundlagen der Informationverarbeitung

Vorlesung Theoretische Informatik

WS 2009/10. Diskrete Strukturen

Theoretische Grundlagen der Informatik

Einführung in die Informatik Grammars & Parsers

1 Syntax von Programmiersprachen

Theoretische Informatik I

Aufgabentypen die in der Klausur vorkommen

Endlicher Automat (EA)

Theoretische Grundlagen des Software Engineering

Informatik I WS 07/08 Tutorium 24

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Formale Sprachen und Grammatiken

Program = Logic + Control

Sprachbeschreibung und Erweiterung

3. Ziel der Vorlesung

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Theorie der Informatik

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

Grundlagen der Künstlichen Intelligenz

Entwicklung eines korrekten Übersetzers

Theoretische Grundlagen des Software Engineering

Mathematische Maschinen

Prolog basiert auf Prädikatenlogik

Theoretische Informatik 2

Der Kurs bestand aus zwei Teilen. Mit welchem Teil wollen Sie anfangen? Ich habe mich für Teil A entschieden.

4.2.4 Reguläre Grammatiken

Grundbegriffe der Informatik

Programmiersprachen und Übersetzer

Fragen für die Klausuren

ARBEITSBLATT ZU FORMALEN SPRACHEN

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Theoretische Informatik

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Was ist ein Compiler?

Übungen zu Informatik 1

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

Logik für Informatiker

Algorithmen und Berechnungskomplexität I

2.11 Kontextfreie Grammatiken und Parsebäume

2. Vorlesung. Slide 40

Theoretische Informatik 1

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

TEIL III: FORMALE SPRACHEN

Approximationsalgorithmen

Was bisher geschah: Formale Sprachen

Überblick über dieses Kapitel Grundlagen der Programmierung Kapitel 12: Information und Repräsentation

Schulinterner Lehrplan für das Fach Informatik der Sekundarstufe II an der Bettine von Arnim Gesamtschule

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

THEORETISCHE INFORMATIK

Syntax (= Satzgefüge), vgl. auch Grammatik

Fakultät Wirtschaftswissenschaft

2. Kapitel LEXIKALISCHE ANALYSE. Compilerbau Prof. Dr. Wolfgang Schramm

Grundlagen der Theoretischen Informatik - Sommersemester Übungsblatt 1: Lösungsvorschläge

Formale Methoden: Ein Überblick

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

2. Lernen von Entscheidungsbäumen

Formale Sprachen, reguläre und kontextfreie Grammatiken

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

GTI. Hannes Diener. 6. Juni Juni. ENC B-0123, diener@math.uni-siegen.de

Formale Sprachen. Script, Kapitel 4. Grammatiken

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Theoretische Grundlagen des Software Engineering

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Semantic Web Technologies I!

Transkript:

3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? A. Gegeben eine kontextfreie Grammatik G. Gibt es ein Wort x L(G), sodass für x zwei verschiedene Linksableitungen existieren? B. Gegeben zwei Listen von Wörtern x 1,..., x n und y 1,..., y n. Existieren Indices i 1,..., i m, sodass x i1 x im = y i1 y im? C. Das uniforme Halteproblem für Turingmaschinen. Das uniforme Halteproblem ist das Problem, ob ein gegebenes Programm auf jeder beliebigen Eingabe hält. D. Gegeben ein beliebiges Programm P, ist P ein hello, world -Programm? E. Das Halteproblem für die eingeschränkte Klasse von Turingmaschinen, die den Inhalt des unendlichen Bandes lesen, nicht aber verändern dürfen.

3. Klausur Einführung in die Theoretische Informatik Seite 2 von 14 2. Welche der folgenden Aussagen zu Registermaschinen ist richtig? A. Sei L eine Sprache, die von einer RM berechnet wird. Dann kann L nur dann von einer TM berechnet werden, wenn L regulär ist. B. Für jede Sprache L, die von einer RM akzeptiert wird, existiert ein endlicher Automat, der L akzeptiert. C. Es gibt Funktionen f: N k N, die auf einer TM berechenbar sind, die nicht auf einer RM berechenbar sind. D. Jede partielle Funktion f: N k N, die berechenbar auf einer RM ist, kann auch von einer kontextfreien Grammatik berechnet werden. E. Jede totale Funktion f: N k N, die in einer beliebigen (bekannten) Programmiersprache implementiert ist, kann auch auf einer RM berechnet werden.

3. Klausur Einführung in die Theoretische Informatik Seite 3 von 14 3. Betrachten Sie die folgende Grammatik G = ({S}, {(, )}, R, S), wobei die Regeln R wie folgt gegeben: S ɛ SS (S) Welchen Typ hat diese Grammatik? A. Die Grammatik ist nicht rekursiv aufzählbar. B. Die Grammatik ist rekursiv aufzählbar, aber nicht kontextsensitiv. C. Die Grammatik ist kontextsensitiv, aber nicht kontextfrei. D. Die Grammatik ist rechtslinear. E. Die Grammatik ist kontextfrei, aber nicht rechtslinear.

3. Klausur Einführung in die Theoretische Informatik Seite 4 von 14 4. Welche der folgenden Anordnungen der Chomsky-Hierarchie ist falsch? Zur Erinnerung: L 3 = reguläre Sprachen L 2 = kontextfreie Sprachen L 1 = kontextsensitive Sprachen L 0 = rekursiv aufzählbare Sprachen L = formale Sprachen A. L 3 L 2 L 1 L 0 L B. L 3 L 2 L 1 L 0 L C. L 3 L 2 L 1 L 0 L D. L 3 L 2 L 1 L 0 L E. L 3 = L 2 = L 1 = L 0 = L

3. Klausur Einführung in die Theoretische Informatik Seite 5 von 14 5. Welche der folgenden Aussagen ist im Allgemeinen falsch, wenn B = B; +,,, 0, 1 eine Boolsche Algebra ist? A. Für alle a B: a 0 = 0 und a + 0 = a. B. Für alle a B: a + a = a. C. Es gilt also für alle a, b, c B: (a b) + c = (a + c) (b + c). D. Für alle a, b B: a b = b a. E. B; +, 0 ist ein Monoid. F. Für alle a B gilt a (a) = 1.

3. Klausur Einführung in die Theoretische Informatik Seite 6 von 14 6. Welche der folgenden Aussagen zur Aussagenlogik ist richtig? A. Es existiert eine Wahrheitsfunktion f, sodass f nicht durch eine Wahrheitstabelle ausgedrückt werden kann. B. Es gelten die Gesetze von de Morgan, das heißt: (E F ) E F C. Es gilt die logische Äquivalenz: A True A D. Eine Formel A ist eine Tautologie gdw. A erfüllbar ist. E. Die Aussagenlogik ist vollständig axiomatisierbar, das heißt es existiert ein korrektes und vollständiges Beweissystem für die Aussagenlogik.

7. Aussagenlogik: Prüfen Sie folgende aussagenlogische Formel mit Hilfe der Methode von Quine auf die Eigenschaften Erfüllbarkeit und Tautologie. Wir verwenden die üblichen Präzendenzen für binäre logische Operatoren. t q p ( r p) (r t) (s s) q q p r ( q r) [16 Punkte]

8. Algebra: Sei B eine Boolesche Algebra mit der Trägermenge B. Zeigen Sie, dass für alle a, b B das folgende Gesetz gilt: (a b) = (a)+ (b). Dazu genügt es zu zeigen, dass (i) (a b) + ( (a)+ (b)) = 1 und (ii) (a b) ( (a)+ (b)) = 0 gilt. a) Zeigen Sie (i). b) Zeigen Sie (ii). [8 Punkte] [8 Punkte] Hinweis: In den Beweisen genügt es Definitionsgesetze der Boolschen Algebra zu verwenden.

9. Formale Sprachen: Gegeben sei die folgende Grammatik G mit Startsymbol ST MT : ST MT ID := EXP while T EST do ST MT done --ID ST MT ; ST MT T EST T ERM neq T ERM EXP T ERM EXP T OP T ERM T OP + - T ERM ID NAT ID CHAR CHAR ID CHAR a... z A... Z NAT DIGIT DIGIT NAT DIGIT 0... 9 Die Grammtik G beschreibt die Syntax einer einfachen Programmiersprache. Betrachten sie das Program P := while i neq 0 do --i; --i done. Zeigen Sie mittels rekursiver Inferenz, dass P Teil der Sprache L(G) ist. [16 Punkte]

10. Verifikation: Gegeben seien P, Q und R (P ) x 1 := x 1 1; x 1 := x 1 1; x 1 := x 1 1 (Q) x 1 = 10 (R) is prime(x 1 ) wobei das Prädikatensymbol is prime(x) wahr ist, wenn x eine Primzahl ist. Zeigen Sie, dass das while-programm P in Bezug auf die Vorbedingung Q und die Nachbedingung R partiell korrekt ist. Verwenden Sie also die Regeln aus dem Skriptum, um das Hoare-Tripel {Q} P {R} abzuleiten. [16 Punkte]

Version 1: E E E E F E ANSWERKEY FOR version3