SWP Prüfungsvorbereitung



Ähnliche Dokumente
1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

7 Rechnen mit Polynomen

Simplex-Umformung für Dummies

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie

Kapiteltests zum Leitprogramm Binäre Suchbäume

Vorkurs Mathematik Übungen zu Polynomgleichungen

Zeichen bei Zahlen entschlüsseln

Teile und Herrsche Teil 2

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

1 topologisches Sortieren

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

Erwin Grüner

Was meinen die Leute eigentlich mit: Grexit?

Theoretische Informatik SS 04 Übung 1

Analysis I für Studierende der Ingenieurwissenschaften

Grundbegriffe der Informatik

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Der Zwei-Quadrate-Satz von Fermat

Professionelle Seminare im Bereich MS-Office

Einführung in die Algebra

Binärdarstellung von Fliesskommazahlen

Gleichungen und Ungleichungen

Lineare Gleichungssysteme

Grammatiken. Einführung

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Informationsblatt Induktionsbeweis

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Musterlösungen zur Linearen Algebra II Blatt 5

5.1 Drei wichtige Beweistechniken Erklärungen zu den Beweistechniken... 56

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Einführung in die Kodierungstheorie

Primzahlen und RSA-Verschlüsselung

Beispiel Zusammengesetzte Zufallsvariablen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Das Briefträgerproblem

Übung 9 - Lösungsvorschlag

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Was ist Logische Programmierung?

3. LINEARE GLEICHUNGSSYSTEME

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Lineare Gleichungssysteme

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Wofür braucht man eine Tabellenkalkulation? Das Programm Microsoft Excel gehört in Softwarekategorie der Tabellenkalkulationen.

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Informatik 12 Datenbanken SQL-Einführung

Codierungstheorie Rudolf Scharlau, SoSe

2. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 7 Saison 1962/1963 Aufgaben und Lösungen

Repetitionsaufgaben Wurzelgleichungen

Grundbegriffe der Informatik

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

Vorkurs: Mathematik für Informatiker Steven Köhler, Anja Moldenhauer, Marcel Morisse

Beispiellösungen zu Blatt 111

Kap. 8: Speziell gewählte Kurven

5. Übung: Binäres Rechnen und Fließkommazahlen Abteilung Verteilte Systeme, Universität Ulm

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

Übungen Programmieren 1 Felix Rohrer. Übungen

Was ist Sozial-Raum-Orientierung?

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Die Bundes-Zentrale für politische Bildung stellt sich vor

Grundbegriffe der Informatik

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Java Kurs für Anfänger Einheit 5 Methoden

Formale Sprachen und Grammatiken

Zahlensysteme. von Christian Bartl

5.2 Neue Projekte erstellen

WS 2008/09. Diskrete Strukturen

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Mikro-Controller-Pass 1

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

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

Datenbanken Microsoft Access 2010

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book

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

Der Gabelstapler: Wie? Was? Wer? Wo?

Rationale Zahlen. Weniger als Nichts? Ist Null nichts?

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Rationale Zahlen. Vergleichen und Ordnen rationaler Zahlen

6.2 Scan-Konvertierung (Scan Conversion)

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Beispiel(unten ist der Spielfeldrand):

Summenbildung in Bauteiltabellen mit If Then Abfrage

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Korrelation (II) Korrelation und Kausalität

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

Abituraufgabe zur Analysis, Hessen 2009, Grundkurs (TR)

Transkript:

20. Juni 2011

1 Grammatiken 2 LL(1) 3 EXP 4 Datentypen 5 LP

Grammatiken Angabe Erstellen Sie First- und Follow-Mengen aller Non-Terminale der folgenden Grammatik. S a S S B y B A C A A b b A x A ɛ C c A C C ɛ

LL(1) Grammatik S as S By B AC A Abb A x A ɛ C cac C ɛ LL(1) Tabelle S A B C a b c x y $

LL(1) 2 Grammatik S as S By B AC A Abb A x A ɛ C cac C ɛ LL(1) Tabelle a b c x y $ S a S B y B y B y B y A B C

LL(1) 3 Grammatik S as S By B AC A Abb A x A ɛ C cac C ɛ LL(1) Tabelle a b c x y $ S a S B y B y B y B y A ɛ ; A ɛ x; A ɛ b b b b B C

LL(1) 4 Grammatik S as S By B AC A Abb A x A ɛ C cac C ɛ LL(1) Tabelle a b c x y $ S a S B y B y B y B y A ɛ; A b ɛ x; A ɛ b b b B A C A C A C A C C c A C ɛ

LL(1) 5 Grammatik LL(1) Grammatik S as S By B AC A Abb A x A ɛ C cac C ɛ S as S By B AC A xr A R R bbr R ɛ C cac C ɛ

LL(1) 6 Die häufigsten Fehler: Zu wenig Übung Keine Antwort auf Erklären Sie $ Spalte vergessen Mit S as kann man nicht aaaa auf einmal Parsen.

Angabe Schreiben Sie ein Programm in EXP über N 0 (Funktionen: add, div, lt?), welches als Parameter eine Zahl (x) nimmt und den abgerundeten Logarithmus zur Basis 2 dieser Zahl ( log 2 x ) zurückgibt. log 2 0 := 0. Zeigen Sie die Korrektheit ihrer Implementation für alle Zahlen in N 0 unter Verwendung der Interpretationsfunktion.

Lösung - Rekursive Definition Mathematisch EXP* log 2 x = { 0 x < 2 log2 x 2 + 1 sonst δlog(x) =if lt?(x,2) then 0 else add(log(div(x,2)),1)

Lösung - Beweis Zu zeigen* ω : I (δ, ω, log(x)) = log 2 ω(x) Wann macht eine vollständige Induktion Sinn? Gibt es ein Kriterium nachdem man mögliche Eingaben sortiert aufzählen kann? Baut ein Berechnungsschritt auf einem (in dieser Sortierung) früheren Schritt auf? z.b. Rekursion

Lösung - Induktion Schema Induktionshypothese: Einschränkung der zu zeigenden Aussage auf bestimmte ω (z.b. ω(x) n) Induktionsbasis: Wir beweisen die Aussage für einen einfachen Spezialfall (Abbruchbedingung bei Rekursion) Induktionsschritt: Wir beweisen dass das Ergebnis für einen Berechnungsschritt korrekt ist, wenn die (in der Sortierung) vorhergehenden Berechnungsschritte korrekt sind Induktionshypothese* ω, ω(x) n : I (δ, ω, log(x)) = log 2 ω(x)

Lösung - Induktion 2 Induktionsbasis* Sei ω(x) < 2. I (δ, ω, log(x)) = I (δ, ω, if lt?(x,2) then 0 else add(log(div(x,2)),1)) NR: I (δ, ω, lt?(x,2)) = lt?(i (δ, ω, x), I (δ, ω, 2)) = lt?(ω(x), 2)) =. = I (δ, ω, 0) = log 2 ω(x) Dieses Ergebnis entspricht der Definition. Damit sind alle Fälle bewiesen für die ω(x) < 2.

Lösung - Induktion 3 Induktionsschritt Teil I* Sei ω(x) = n + 1 2 ( 2, denn die Basisfälle haben wir ja schon bewiesen). I (δ, ω, log(x)) = I (δ, ω, if lt?(x,2) then 0 else add(log(div(x,2)),1)) NR: I (δ, ω, lt?(x,2)) = lt?(i (δ, ω, x), I (δ, ω, 2)) = lt?(ω(x), 2)) =. = I (δ, ω, add(log(div(x,2)),1)) = add(i (δ, ω, log(div(x,2))), I (δ, ω, 1)) = add(i (δ, ω, log(div(x,2))), 1) = ( )

Lösung - Induktion 4 Induktionshypothese (zur Erinnerung) ω, ω(x) n : I (δ, ω, log(x)) = log 2 ω(x) Induktionsschritt Teil II* NE: ω (x) = I (δ, ω, div(x,2)) = div(ω(x), 2) = ( ) = add(i (δ, ω, log(x)), 1) ω(x) 2 = n+1 2 n. Weil ω (x) n gilt Induktionshypothese für ω! laut IH = add( log 2 ω (x), 1) = log 2 ω (x) + 1 = log 2 ω(x)

Angabe Codierung von N in {x N x 0 mod 2} Gegeben sind der Datentyp der Natürlichen Zahlen (inkl. 0) und jeder der geraden, natürlichen Zahlen (Funktionen/Prädikate jeweils: add, mul, div, eq?) Geben Sie eine Codierung des Datentyps der Natürlichen Zahlen in den Datentyp der geraden, natürlichen Zahlen an. Zeigen Sie, dass ihre codierte mul-funktion die Codierungseigenschaften erfüllt.

Lösung Ansatz (informell) Es gibt gleich viele gerade Zahlen wie natürliche Zahlen Wir codieren die i. natürliche Zahl mit der i. geraden (π(a) = 2 a) Addition ist trivial: π(a) + π(b) = 2 a + 2 b = 2 (a + b) = π(a + b) Multiplikation: Direkt multiplizieren geht nicht, da π(a) π(b) = 2 a 2 b = 4 a b, also ein Faktor 2 zu viel. Division hat das gleiche Problem: π(a)/π(b) = 2 a 2 b = a b, also Faktor 2 zu wenig. Vergleichen ist aber auch trivial, da wir schon einen Vergleichsoperator haben.

Lösung Codierung π(a) = 2 a π[add N ](a, b) = add G (a, b) π[mul N ](a, b) = div G (mul G (a, b), 2) π[div N ](a, b) = div G (mul G (a, 2), b) π[eq N?](a, b) = eq G?(a, b)

Lösung Beweis, dass π[mul N ](a, b) korrekt ist zzg: s, t N : π[mul N ](π(s), π(t)) = π(mul N (s, t)) Beweis: π[mul N ](π(s), π(t)) = I EXP (δ, ω, div G (mul G (π(s), π(t)), 2)) = /(I EXP (δ, ω, mul G (π(s), π(t))), I EXP (δ, ω, 2)) = /( (I EXP (δ, ω, π(s)), I EXP (δ, ω, π(t))), 2) = /( (π(s), π(t)), 2) = /( (2 s, 2 t), 2) = (2 s 2 t)/2 = 2 s t = π(s t) = π(mul N (s, t))

Angabe Programmierbeispiel in LP Gegeben sei der Funktor element(v, R), der eine Liste über einen Wert V und eine Restliste R beschreibt. Der Wert V ist eine natürliche Zahl inklusive Null, die wiederum mit dem Funktor s(x) dargestellt wird. Für die leere Liste wird die Konstante null verwendet. Auf die Liste ist das Prädikat len(l, Len) definiert, welches immer wahr ist wenn die übergebene Liste L genau Len Elemente enthält. Definieren Sie ein Prädikat sum(l, E) unter dieser Listendarstellung, das immer dann wahr ist, wenn ein übergebenes Element E die Summe der Werte V der übergebenen Liste L ist. Beweisen Sie folgende Anfrage mittels Resolution: sum(element (s(0), element(s(0), element(s(0), null))), s(s(s(0)))).

Lösung Ansatz (informell) Prädikat add richtig! Bestimmen des Basisfalls. Wie kommen wir zu unserem Basisfall? Mögliche Fehler Prädikat add ist falsch definiert (läuft in eine Endlosschleife). Vermischung logisch / funktional. Achtung LP!= Prolog (cuts, Vergleichsoperatoren) Auslassen von Zwischenschritten bei der Resolution.

Lösung Prädikat add add(x, 0, X) :- nat(x). add(x, s(y), s(z)) :- add(x, Y, Z). Prädikat sum %Basisfall, Ende der Liste sum(null, 0). %Abarbeiten der Liste sum(e(v, R), E) :- sum(r, S), add(v, S, E).

Resolution(1) sum(e(s(0), e(s(0), e(s(0), null))), s(s(s(0)))). sum(e(v, R), E) :- sum(r, S), add(v, S, E). Θ = {V s(0), R e(s(0), e(s(0), null)), E s(s(s(0))) } sum(e(s(0), e(s(0), sum(e(s(0), e(s(0), e(s(0), null))), e(s(0), null))), s(s(s(0)))). s(s(s(0)))) :- sum(e(s(0), e(s(0), null)), S), add(s(0), S, s(s(s(0)))). sum(e(s(0), e(s(0), null)), S). Θ = {V s(0), R e(s(0), null)), E S } sum(e(v, R), E) :- sum(r, S 1 ), add(v, S 1, E).

Resolution(2) sum(e(s(0), e(s(0), null)), S). sum(e(s(0), e(s(0), null)), S) :- sum(e(s(0), null)), S 1 ), add(s(0), S 1, S). sum(e(s(0), null), S 1 ). sum(e(v, R), E) :- sum(r, S 2 ), add(v, S 2, E). Θ = {V s(0), R null, E S 1 } sum(e(s(0), null), S 1 ). sum(e(s(0), null), S 1 ) :- sum(null, S 2 ), add(s(0), S 2, S 1 ). sum(null, S 2 ). sum(null, 0). Θ = {S 2 0)}

Resolution(3) add(s(0), 0, S 1 ). add(x, 0, X) Θ = {X s(0) add(s(0), 0, s(0)). rückeinsetzen S 1 s(0) sum(e(s(0), e(s(0), add(x, s(y), s(z)) :- null)), s(0)), add(s(0), add(x, Y, Z). s(0), S). Θ = {X s(0), Y s(0), Y S sum(e(s(0), e(s(0), null)), s(0)), add(s(0), s(0), S). add(s(0), 0, S). Θ = {X s(0) add(x, s(y), s(z)) :- add(s(0), 0, S). add(x, 0, X).

Resolution(4) add(s(0), 0, s(0)). rückeinsetzen S s(s(0)) sum(e(s(0), null)), s(s(0))), add(s(0), s(s(0)), s(s(s(0)))). add(s(0), s(s(0)), add(x, s(y), s(z)) :- s(s(s(0)))). add(x, Y, Z).... add(s(0), 0, s(0)). add(x, 0, X)