Relationen und Funktionen Relationen und Funktionen Vorkurs Informatik Theoretischer Teil WS 2013/14 2. Oktober 2013 Vorkurs Informatik WS 2013/14 1/27
Relationen und Funktionen > Relationen Relationen Vorkurs Informatik WS 2013/14 2/27
Relationen und Funktionen > Relationen Einführung (1/2) Wozu überhaupt Relationen? Beziehungen zwischen den Elementen von Mengen darstellen Datenbanken Prädikatenlogik Beispiele: 5 ist kleiner oder gleich 6, kurz: 5 6 (Robert-Mayer-Straße, 11, 60325, Frankfurt am Main) als Ergebnis einer Datenbank-Abfrage Vorkurs Informatik WS 2013/14 3/27
Relationen und Funktionen > Relationen Einführung (2/2) Nach unserer Definition von Mengen gilt {Suppe, Pizza, Eis} = {Eis, Suppe, Pizza} = {Suppe, Pizza, Eis, Eis}. Wir können also mit Mengen nicht unterscheiden, in welcher Reihenfolge die Speisen verzehrt werden. Ebenso wenig können wir ausdrücken, dass es zweimal Eis geben soll. Dafür brauchen wir einen neuen Datentyp. Vorkurs Informatik WS 2013/14 4/27
Relationen und Funktionen > Relationen Tupel (1/2) Definition (Tupel) Seien m, n N. 1 Für n Objekte a 1,..., a n bezeichnet (a 1,..., a n ) das Tupel mit Komponenten a 1, a 2,..., a n. 2 a i ist die i-te Komponente und die Zahl n heißt Länge des Tupels. 3 Tupel der Länge 2 nennen wir auch geordnete Paare, Tupel der Länge 3 Tripel, Tupel der Länge n kurz n-tupel. 4 Zwei Tupel (a 1,..., a n ) und (b 1,..., b m ) sind gleich, falls m = n ist und für alle i {1,..., n} gilt: a i = b i. Vorkurs Informatik WS 2013/14 5/27
Relationen und Funktionen > Relationen Tupel (2/2) Beispiele: Das leere Tupel () hat die Länge 0. Es ist (1, 2) (1, 2, 1) (1, 2, 2), aber {1, 2, 1} = {1, 2, 2} = {1, 2}. (Anna, Peter) ist ein geordnetes Paar, {Anna, Peter} ist eine zweielementige Menge, manchmal auch Paar genannt. Es gilt (a 1, a 2,..., a n ) {a 1, a 2,..., a n } für beliebige Objekte a 1, a 2,..., a n. Vorkurs Informatik WS 2013/14 6/27
Relationen und Funktionen > Relationen Kartesisches Produkt (1/4) Definition (Kartesisches Produkt) Sei n N und seien M 1,..., M n Mengen. Das kartesische Produkt von M 1,..., M n ist die Menge M 1... M n := {(a 1,..., a n ) a 1 M 1, a 2 M 2,..., a n M n }. Falls M := M 1 = M 2 =... = M n, so schreiben wir M n anstelle von M 1 M 2... M n. Das kartesische Produkt enthält alle n-tupel, bei denen die erste Komponente aus M 1 ist, die zweite aus M 2 usw. Vorkurs Informatik WS 2013/14 7/27
Relationen und Funktionen > Relationen Kartesisches Produkt (2/4) Beispiele: Das kartesische Produkt der Menge W aller weiblichen und der Menge M aller männlichen Besucher eines Tanzkurses ist W M, die Menge aller Tanzpaare der Form (Frau, Mann). Die Menge aller Uhrzeiten im Format SS:MM ist {00, 01,..., 23} {00, 01,..., 59}. Die Menge aller dreigängigen Menüs, die eine Speisekarte bietet, ist V H N, wobei V die Menge aller Vorspeisen, H die Menge aller Hauptspeisen, N die Menge aller Nachspeisen ist. Die reelle Zahlenebene ist R 2 = R R. Vorkurs Informatik WS 2013/14 8/27
Relationen und Funktionen > Relationen Kartesisches Produkt (3/4) Übung: Wie lauten die folgenden kartesischen Produkte in expliziter Schreibweise und ihre Mächtigkeiten? {0, 1} {0, 1} M 0 und M 1 für eine beliebige Menge M M für eine beliebige Menge M {rot, gelb, grün} {Ball, Kleid, Auto} Wie lässt sich die Menge aller Spielkarten eines Skatblatts als kartesisches Produkt zweier Mengen auffassen? Welche Mächtigkeiten haben diese? Vorkurs Informatik WS 2013/14 9/27
Relationen und Funktionen > Relationen Kartesisches Produkt (4/4) Satz Sei n N und seien M 1, M 2,..., M n Mengen. Dann gilt M 1 M 2... M n = M 1 M 2... M n. Beweis: durch Induktion nach n (später mehr dazu). Vorkurs Informatik WS 2013/14 10/27
Relationen und Funktionen > Relationen Relation (1/2) Definition (Relation) Sei n N und seien M 1, M 2,..., M n Mengen. Eine Teilmenge R des kartesischen Produkts M 1 M 2... M n heißt Relation von M 1, M 2,..., M n mit Stelligkeit n. Nach der obigen Definition ist jedes kartesische Produkt M 1 M 2... M n selbst eine (n-stellige) Relation von M 1, M 2,..., M n. Vorkurs Informatik WS 2013/14 11/27
Relationen und Funktionen > Relationen Relation (2/2) Beispiele: Sei M das deutsche Alphabet, als Menge aufgefasst. Wenn wir jedes Wort als Tupel seiner Buchstaben interpretieren, ist die Menge aller dreibuchstabigen deutschen Wörter eine Relation von M, M, M. Für die zuvor definierte Menge W M aller denkbaren Tanzpaare ist die Menge aller tatsächlich gebildeten Tanzpaare für den Abschlussball eine Relation von W und M. Die Menge aller bereits bestellten dreigängigen Menüs ist eine Relation der zuvor definierten Mengen V, H und N. Die Menge {(x, y) x = y }, bei deren Elementen die erste Komponente der Betrag der zweiten ist, stellt eine Relation von R und R dar. Vorkurs Informatik WS 2013/14 12/27
Funktionen Vorkurs Informatik WS 2013/14 13/27
Funktion (1/5) Was wir aus der Schule kennen: f (x) = x 2 g(x) = sin(x) h(x) = e x... Vielleicht auch schon sowas: def verdoppeln(x): y = 2*x return y Vorkurs Informatik WS 2013/14 14/27
Funktion (2/5) Funktionen sind spezielle Relationen: Eine Funktion ist eine Relation von zwei Mengen, bei der jedes Element der ersten Menge in genau einem Tupel der Relation als erste Komponente auftritt. Das heißt: Zu jedem Element der ersten Menge gibt es genau ein zugehöriges in der zweiten Menge. Vorkurs Informatik WS 2013/14 15/27
Funktion (3/5) Definition Seien X und Y Mengen. (a) Eine Relation f X Y, bei der es zu jedem x X genau ein y Y mit (x, y) f gibt, nennen wir Funktion von X nach Y (in Zeichen: f : X Y ). Die Menge X heißt Definitionsbereich von f und die Menge Y Bildbereich von f. (b) Sei f eine Funktion von X nach Y. Für jedes x X bezeichnen wir mit f (x) das eindeutige y Y, für das (x, y) f gilt. Wir nennen f (x) auch den Funktionswert von x. (c) Sei f eine Funktion von X nach Y. Wir nennen die Menge f (X ) := {y Y Es gibt ein x X mit f (x) = y} das Bild von f. Vorkurs Informatik WS 2013/14 16/27
Funktion (4/5) Übung: Bei welchen der folgenden Relationen handelt es sich um Funktionen? Versuche, für jede Funktion auch ihr Bild anzugeben. 1 Die geordneten Paare der Form (Personalausweisnummer, Einwohner Deutschlands über 16) als Teilmenge des kartesischen Produkts von N mit den Einwohnern Deutschlands 2 Die geordneten Paare der Form (Adresse, Einwohner Deutschlands) als Teilmenge des kartesischen Produkts der Menge aller Adressen in Deutschland und der Einwohner Deutschlands 3 Die Menge aller tatsächlich gebildeten Tanzpaare der Form (Frau, Mann) als Teilmenge des kartesischen Produkts der weiblichen und der männlichen Tanzkursteilnehmer (vorausgesetzt, jede Frau findet einen Tanzpartner) Vorkurs Informatik WS 2013/14 17/27
Funktion (5/5) Übung: Bei welchen der folgenden Relationen handelt es sich um Funktionen? Versuche, für jede Funktion auch ihr Bild anzugeben. 4 {(x, x) R 2 } 5 {(x, y) R 2 y = 5x} 6 {(x, y) R 2 x 2 + y 2 = 1} Vorkurs Informatik WS 2013/14 18/27
Notation von Funktionen Notation Die Varianten f 1 = {(0, 0), (1, 2), (2, 4), (4, 8),... } N N f 2 = {(x, y) N 2 y = 2x} f 3 : N N, f 3 (n) := 2n f 4 : N N, f 4 : n 2n beschreiben allesamt dieselbe Funktion von N nach N, die jeder natürlichen Zahl ihr Doppeltes zuweist. Vorkurs Informatik WS 2013/14 19/27
Eigenschaften von Funktionen (1/7) Definition (Gleichheit von Funktionen) Seien X und Y Mengen, seien f und g Funktionen mit dem gleichen Definitionsbereich X und dem gleichen Bildbereich Y. Wir bezeichnen f und g als gleich (in Zeichen: f g), wenn für alle x X gilt: f (x) = g(x). Warum müssen wir für beide Funktionen den gleichen Definitionsbereich fordern? Antwort: Weil dies sonst dem Gleichheitsbegriff für Mengen widersprechen würde. Vorkurs Informatik WS 2013/14 20/27
Eigenschaften von Funktionen (2/7) Satz Seien f : X f Y f und g : X g Y g Funktionen. Falls X f X g, so sind f und g nicht gleich im Sinne der Definition der Gleichheit von Mengen. Vorkurs Informatik WS 2013/14 21/27
Eigenschaften von Funktionen (3/7) Und warum fordern wir auch gleiche Bildbereiche? Antwort: Weil weitere interessante Eigenschaften von Funktionen davon abhängen. Beispiel: f 0 : N N, f 0 (n) := n f 1 : N Z, f 1 (n) := n Beobachtung: Alle Elemente aus N sind Funktionswerte von f 0, aber nicht alle Elemente aus Z sind Funktionswerte von f 1. Zum Beispiel gibt es kein n N, so dass f 1 (n) = 1. Vorkurs Informatik WS 2013/14 22/27
Eigenschaften von Funktionen (4/7) Definition Sei f : X Y eine Funktion. (a) Wir bezeichnen f als surjektiv, wenn es für jedes y Y mindestens ein x X mit f (x) = y gibt. (b) Wir bezeichnen f als injektiv, wenn es für jedes y Y höchstens ein x X mit f (x) = y gibt. (c) Wir bezeichnen f als bijektiv, wenn es für jedes y Y genau ein x X mit f (x) = y gibt. Beobachtung: f ist genau dann bijektiv, wenn f injektiv und surjektiv ist. Vorkurs Informatik WS 2013/14 23/27
Eigenschaften von Funktionen (5/7) (a) surjektive Funktion (b) injektive Funktion (c) bijektive Funktion Abbildung : Quelle: http://de.wikibooks.org/wiki/mathematik: Analysis: Grundlagen: Funktionen Vorkurs Informatik WS 2013/14 24/27
Eigenschaften von Funktionen (6/7) Beispiel: Sind die folgenden Funktionen surjektiv, injektiv, bijektiv? f : R R, f (x) := x g : R R 0, g(x) := x h : R 0 R 0, g(x) := x Beobachtung: g entsteht aus f durch Verkleinerung des Bildbereichs. Jede nicht-surjektive Funktion lässt sich so in eine surjektive verwandeln. Vorkurs Informatik WS 2013/14 25/27
Eigenschaften von Funktionen (7/7) Satz Seien X und Y endliche Mengen. Es gilt X = Y genau dann, wenn es eine bijektive Funktion von X nach Y gibt. Vorkurs Informatik WS 2013/14 26/27
Fragen? Quelle Bild: http://www.citycampus.eu/cms/images/comic fragezeichen.png Vorkurs Informatik WS 2013/14 27/27