Heilbronn, den 11.6.2010 Prof. Dr. V. Stahl WS 10/11 Übungen zu Logik und Künstliche Intelligenz Blatt 10 Aufgabe 1. Sei f = (R, R, R) R = {(a, b) | a, b ∈ R ∧ a2 + b2 = 2}. Handelt es sich bei f um eine Funktion bzw. eine partielle Funktion? Begründen Sie Ihre Antwort. Aufgabe 2. Definieren Sie eine Relation R, so dass f = (P (N), P (N2 ), R) eine Funktion ist. Berechnen Sie dann f ({2, 5}) und f (∅). Aufgabe 3. Für jede Relation R ist die Umkehrrelation R−1 definiert durch R−1 = {(a, b) | bRa}. Finden Sie eine Menge A und eine Relation R so dass • (A, A, R) und (A, A, R−1 ) Funktionen sind • (A, A, R) eine Funktion ist, aber (A, A, R−1 ) keine Funktion ist. Aufgabe 4. Sei A eine Menge von Zahlen und neg das Tripel neg = (A, A, R) mit R = {(x, y) | x ∈ A, y ∈ A, x + y = 0}. Für welche der nachfolgenden Mengen A ist neg eine partielle Funktion, für welche eine totale Funktion? Begründen Sie Ihre Antwort und berechnen Sie neg(x) für ein paar Beispiele x ∈ A. A = N A = Z A = R A = R \ {0} Aufgabe 5. Wieviele Elemente hat die Menge {0, 1} → {0, 1, 2}? Stellen Sie ein Element dieser Menge als Tripel (A, B, R) dar. 1 Aufgabe 6. Wieviele Elemente hat die Menge ¡ ¢ {0, 1} × {0, 1} → {0, 1} ? Hinweis: Achten Sie auf die Klammern, es handelt sich hier nicht um eine Menge von Funktionen. Aufgabe 7. Sei int = {−231 , . . . , 231 − 1} die Menge aller ganzer Zahlen, die mit dem Java Datentyp int dargestellt werden können. Sei +int ∈ int2 → int die int Addition, die in Java zur Verfügung gestellt wird. Sei weiterhin +Z ∈ Z2 → Z die Addition ganzer Zahlen. Lesen Sie im Skript nach, wie der Begriff der Erweiterung einer Funktion definiert ist. Ist +Z eine Erweiterung von +int ? Überlegen Sie sich, was im Fall eines Overflows passiert und begründen Sie Ihre Antwort indem Sie die Definition des Begriffs Erweiterung verwenden. Aufgabe 8. Zeigen Sie, dass für jede Funktion f ∈ A → B die Relation R = {(x, y) | x, y ∈ A, f (x) = f (y)} reflexiv auf A, symmetrisch und transitiv ist. Wenn der allgemeine Beweis zu schwierig ist, untersuchen Sie ein paar Beispiele für konkrete Mengen A und Funktionen f . Aufgabe 9. Sei (N × N, N, R) f = R = {((a1 , a2 ), b) | a1 , a2 , b ∈ N, a1 + a2 = b} Ist f eine Funktion? Wie sieht’s mit f = (N, N × N, R) R = {(a, (b1 , b2 )) | a, b1 , b2 ∈ N, b1 + b2 = a} aus? Beweisen Sie Ihre Antwort ausführlich. Aufgabe 10. Sei (N2 , N, R) mit f = R = {(x, y, z) | x, y, z ∈ N ∧ xy = xz}. 2 Beweisen Sie ausführlich, dass f eine Funktion ist. Wäre auch f = (Z2 , Z, R) mit R = {(x, y, z) | x, y, z ∈ Z ∧ xy = xz} eine Funktion? Aufgabe 11. Nennen Sie jeweils ein Beispiel für eine Funktion f ∈ N → N für das die Formel ¡ ¢ ∀x, y ∈ N f (x) = f (y) → x = y wahr bzw. falsch ist. Aufgabe 12. Finden Sie 3 Beispiele von Funktionen und 3 Beispiele von partiellen Funktionen, die nicht total sind. Es sollten auch mehrstellige Funktionen darunter sein. Aufgabe 13. Sei f ∈ A → B und g ∈ B → C. Außerdem sei f 0 ∈ A0 → B 0 Erweiterung von f und g 0 ∈ B 0 → C 0 Erweiterung von g. Ist dann auch g 0 ◦ f 0 Erweiterung von g ◦ f ? Finden Sie einen Beweis oder ein Gegenbeispiel. Aufgabe 14. Gegeben sind zwei Funktionen f ∈ R → R2 und g ∈ R2 → R mit f (x) = (2x, 3x + 1) g(x, y) = x − 5y Bestimmen Sie die Funktion g ◦ f und f ◦ g. Aufgabe 15. Gegeben sind die Funktionen f g f (x) = (2x + 4, x2 ) g(x, y) = x − y ∈ N → N × N, ∈ N × N → Z, Untersuchen Sie ob die Kompositionen f ◦ g bzw. g ◦ f existieren und falls ja berechnen Sie jeweils die entstehende Funktion. Geben Sie auch an von wo nach wo sie abbildet. Aufgabe 16. Seien f ∈ int → double g ∈ double → int die Typkonversionsfunktionen zwischen int und double in Java. Welche der folgenden Aussagen sind wahr: ∀x ∈ int (g ◦ f )(x) = x ∀y ∈ double (f ◦ g)(x) = x 3