§3 Mengen und Abbildungen

Werbung
Mathematik für Ingenieure I, WS 2008/2009
Dienstag 4.11
$Id: mengen.tex,v 1.3 2008/11/10 18:20:17 hk Exp hk $
§3
Mengen und Abbildungen
3.2
Operationen mit Mengen
Zusammenfassend haben wir damit die folgenden Operationen für Mengen definiert:
3.3
Vereinigung
M ∪N
{x|x ∈ M ∨ x ∈ N }
Durchschnitt
M ∩N
{x|x ∈ M ∧ x ∈ N }
Komplement
M \N
{x ∈ M |x ∈
/ N}
Produkt
M ×N
{(x, y)|x ∈ M, y ∈ N }
Abbildungen und Relationen
Definition 3.5: Seien n ∈ N eine natürliche Zahl und M1 , . . . , Mn gegebene Mengen.
Eine Relation R auf M1 , . . . , Mn ist eine Teilmenge R ⊆ M1 × · · · × Mn .
Wir sprechen auch von einer n-stelligen Relation, da R aus n-Tupeln besteht. Beachte
das die Angabe der Mengen M1 , . . . , Mn etwas willkürlich ist, wir können jederzeit zu
größeren Mengen M10 ⊇ M1 , . . . , Mn0 ⊇ Mn übergehen und R ist dann offenbar auch
eine Relation auf M10 , . . . , Mn0 . Insbesondere können wir immer M1 = . . . = Mn = M
annehmen, d.h. das alle Mengen M1 , . . . , Mn gleich sind, indem wir etwa zu M =
M1 ∪. . .∪Mn übergehen. Weiter könnten wir eine n-stellige Relation damit auch einfach
als eine Menge von n-Tupeln definieren, ohne von den Mengen M1 , . . . , Mn überhaupt
zu sprechen. Allerdings gibt es oftmals eine aus dem Kontext heraus gegebene Wahl
der Mengen M1 , . . . , Mn so, dass es sinnvoll erscheint, diese auch in der Definition einer
Relation zu bennenen.
Wir wollen nun einige Beispiele von Relationen durchgehen. Dabei beginnen wir
mit für die Mathematik typischen Relationen, und diese sind in der Regel zweistellig,
d.h. in unserer obigen Definition haben wir n = 2. Die Ordnung der reellen Zahlen
ergibt eine Relation
R := {(x, y) ∈ R2 |x ≤ y} ⊆ R2 .
Tatsächlich pflegt man in der Mathematik den Ordnungsbegriff dem allgemeinen Relationsbegriff unterzuordnen, d.h. man definiert die Ordnung der reellen Zahlen überhaupt
4-1
Mathematik für Ingenieure I, WS 2008/2009
Dienstag 4.11
als die obige Relation R und fasst die Notation x ≤ y einfach als eine Schreibweise für
(x, y) ∈ R auf. Dann wird R =≤ die Ordnung der reellen Zahlen. Eine andere nützliche Relation, die Sie wahrscheinlich noch aus der Schule kennen, ist die Kongruenz
von Dreiecken. In diesem Fall sind M = M1 = M2 beides die Menge der Dreiecke in
der Ebene, und wir haben die sogenannte Kongruenzrelation
R = {(∆1 , ∆2 ) ∈ M × M |∆1 und ∆2 sind zwei kongruente Dreiecke}.
Diese Relation ist hilfreich, da kongruente Dreiecke ja in vielerlei Hinsicht dieselben
geometrischen Eigenschaften haben.
Wir wollen nun noch ein Beispiel eines etwas anderen Typs einer Relation betrachten, das zwar in der Mathematik keine Rolle spielt, aber außerhalb dieser von
Bedeutung ist. Außerdem ermöglich es uns dieses Beispiel die Verwendung kartesischer
Produkte in der in §1 diskutierten mathematischen Modellierung zu demonstrieren. Wir
werden kurz an einem Beispiel die Verwendung des Relationenbegriffs in sogenannten
relationalen Datenbanken“ beschreiben, natürlich ohne allzu sehr auf technische De”
tails einzugehen. Konkret wollen wir hier eine Menge von Studenten als eine Relation
betrachten. Wir bereits bemerkt, stellen wir uns immer auf den Standpunkt keine Mengen realer, physikalischer Objekte zu erlauben, und daher können wir nicht direkt eine
Menge von Studenten einführen. Anstelle dessen gehen wir zu einer mathematischen
Beschreibung über, d.h. wir führen eine Modellierung wie in §1 geschildert, durch. Dies
deckt sich mit dem Vorgehen bei der Verwendung realer Datenbanken, die Erfassung
der relavanten Daten über die zu beschreibenden Objekte, in unserem Beispiel also die
Studenten, ist ein spezieller Fall einer mathematischen Modellierung.
Wie wollen wir nun einen Studenten beschreiben? Wie wählen hier die einfachste
Methode und beschreiben einen jeden Studenten durch einen Datensatz
(Id,Matrikelnummer,Name,Geburtsdatum,Semester,Studiengang).
Dabei interpretieren wir die Einträge Matrikelnummer und Semester als natürliche
Zahlen, also als Elemente von N. Den Eintrag Studiengang interpretieren wir ebenfalls
als eine natürliche Zahl, etwa indem wir alle möglichen Studiengänge einfach durchnumerieren. Der Name des Studenten Name entstammt einer Menge S von Strings, also
Zeichenketten, die wir uns hier der Einfachheit halber als vorgegeben denken. Das Geburtsdatum interpretieren wir dagegen als eine natürliche Zahl, etwa indem wir ein
jedes Datum durch die Anzahl der Tage seit dem ersten Januar des Jahres 1900 beschreiben, dies sollte ausreichen alle derzeit lebenden Studenten zu erfassen. Der letzt
Eintrag Id ist einfach eine natürliche Zahl, die diesen Studenten eindeutig kennzeichnet.
Je nach geplanten Verwendungszweck könnten wir hierfür auch die Matrikelnummer
verwenden, eine davon unabhängige Nummer erlaubt es uns aber auch beispielsweise
nicht mehr immatrikulierte Studenten zu erfassen. Die gesamte Beschreibung eines Studenten, also das volle oben angegebene 6-Tupel ist dann ein Element des kartesischen
Produkts
N × N × S × N × N × N.
4-2
Mathematik für Ingenieure I, WS 2008/2009
Dienstag 4.11
Technische Details ignorieren wir hierbei, in realen Datenbanken müsste man sich über
die erlaubten Wertebereiche der verschiedenen auftretenden Zahlen Gedanken machen,
man sollte sich für eine Stringcodierung sowie für eine maximale Namenslänge entscheiden, und so weiter. Eine Menge von Studenten, beziehungsweise genauer von Beschreibungen von Studenten, wird nun eine Teilmenge S ⊆ N × N × S × N × N × N des
obigen kartesischen Produkts, also eine sechsstellige Relation. Notiert denken wir uns
diese üblicherweise in einer Tabelle, etwa wie folgt
1
2
3
.
.
.
456123
673961
987543
Burg, Klemens
Haf, Herbert
Wille, Friedrich
26123
27467
25939
3
2
1
1
2
1
Die Reihenfolge in der die Zeilen dieser Tabelle aufgelistet werden spielt keine Rolle,
es handelt sich um eine Menge von Studenten, und nicht um eine irgendwie geordnete
Liste. Es darf in der Tabelle keine zwei identischen Zeilen geben. Diese Einschränkung
gibt es übrigens auch in den Tafeln einer realen, relationalen Datenbank, die Tafeln
repräsentieren eben Mengen und keine Listen.
Die mit dieser Tabellensichtweise verbundene Vorstellung ist es sich ein Tupel, also
ein Element eines kartesischen Produktes, als einen Datensatz vorzustellen, also als
eine Zeile in einer Tabelle, und Relationen werden dann zu Tabellen. Diese Vorstellung
können wir auch in anderen Situation verwenden, zum Beispiel können wir uns einen
Punkt (1, 2, −1) ∈ R3 im Raum auch als eine Beschreibung {x = 1, y = 2, z = −1}
interpretieren. Für die Mathematik ist diese Vorstellung aber in der Regel nicht sehr
hilfreich.
Unsere mengentheoretischen Operationen, also Vereinigen, Schneiden, das Bilden
von Teilmengen und so weiter treten nun tatsächlich bei der Verwendung relationaler Datenbanken auf. Haben wir beispielsweise eine Menge Studenten von Studenten
gegeben und interessieren uns für die Teilmenge aller dieser Studenten, die im ersten
oder zweiten Semester sind, also in mengentheoretischer Notation
{(i, m, n, d, s, f ) ∈ Studenten|s ∈ {1, 2}},
so können wir diese mathematische Notation in der üblichen Abfragesprache (SQL),
auch als
SELECT * FROM Studenten WHERE semester <= 2
formulieren. Die Formulierung SELECT * FROM Studenten“ ist dabei die Aufforde”
rung eine Teilmenge der Relation Studenten zu bilden, und hinter dem Schlüsselwort
WHERE“ wird die, die Teilmenge definierende Bedingung angegeben. In unserer obigen
”
Beispieltabelle wäre die Antwort
4-3
Mathematik für Ingenieure I, WS 2008/2009
2
3
.
.
.
673961
987543
Haf, Herbert
Wille, Friedrich
Dienstag 4.11
27467
25939
2
1
2
1
Suchen wir dagegen beispielsweise alle Studenten im Studiengang Elektrotechnik, so
können wir diese durch eine zu obigem Kommando analoge Anfrage SELECT * FROM
”
Studenten WHERE fach=1“ erhalten, wobei angenommen sei, dass der Srudiengang
Elektrotechnik die Nummer 1 erhalten hat. In unserem Beispiel sind dies
1
3
.
.
.
456123
987543
Burg, Klemens
Wille, Friedrich
26123
25939
3
1
1
1
Wollen wir nun alle Studenten, die beide Bedingungen erfüllen, also Studenten der
Elektrotechnik im ersten oder zweiten Semester, so müssen wir den mengentheoretischen Durchschnitt der beiden eben erhaltenen Mengen bilden. Wir hatten bereits die
Beziehung
{x ∈ M |A(x)} ∩ {x ∈ M |B(x)} = {x ∈ M |A(x) ∩ B(x)}
zwischen Durchschnitt und dem logischen Junktor und“ festgehalten, und unter Ver”
wendung dieser Beziehung erhalten wir die Abfrage
SELECT * FROM Studenten WHERE semester <= 2 AND fach = 1
mit Ergebnistabelle
3
.
.
.
987543
Wille, Friedrich
25939
1
1
Wir werden dieses Beispiel später noch etwas fortsetzen. Wir kommen nun zu den
Operationen wie Hintereinanderausführung und Inversion von Relationen. Diese sind
hauptsächlich für zweistellige Relationen von Interesse, und zu ihrem Verständnis ist
eine weitere Veranschaulichung speziell zweistelliger Relationen hilfreich. Wir können
uns eine Relation R ⊆ M × N als eine Menge von Pfeilen von Elementen von M zu
Elementen von N vorstellen, indem wir jedes Element (x, y) ∈ R ⊆ M × N als einen
Pfeil von x nach y interpretieren. Haben wir zum Beispiel M = N = {1, 2, 3, 4}, so
veranschaulicht
4-4
Mathematik für Ingenieure I, WS 2008/2009
Dienstag 4.11
die Relation
R = {(1, 1), (2, 1), (2, 2), (3, 4), (4, 4)}
wobei wir uns die vier Elemente von M beziehungsweise N von oben nach unten durchnumeriert denken.
Definition 3.6: Sei R ⊆ M × N eine Relation. Dann heißt die Menge
R−1 := {(y, x)|(x, y) ∈ R} ⊆ N × M
die zu R inverse Relation.
In unserem Pfeilbild entspricht das Bilden der Inversen einer Relation einfach dem
Umdrehen aller Pfeile, in unserem obigen Beispiel ist etwa
R−1 = {(1, 1), (1, 2), (2, 2), (4, 3), (4, 4)},
und im Pfeilbild ist dies
Die andere Operation auf Relationen ist das Bilden der Hintereinanderausführung:
Definition 3.7: Seien A, B, C drei Mengen und R ⊆ A × B, S ⊆ B × C Relationen.
Die Hintereinanderausführung von R und S ist dann die Relation
S ◦ R := {(a, c) ∈ A × C|Es gibt ein b ∈ B mit (a, b) ∈ R und (b, c) ∈ S} ⊆ A × C.
4-5
Mathematik für Ingenieure I, WS 2008/2009
Dienstag 4.11
Alternativ spricht man auch vom Produkt oder der Komposition von R und S.
Diese Definition wird im Pfeilbild klarer. Wir betrachten die folgende Situation:
R
A
S
C
B
Dabei ist A = B = {1, 2, 3, 4}, C = {1, 2, 3}, R ist wieder die schon oben als Beispiel
verwendete Relation und S ist die Relation S = {(2, 1), (3, 1), (3, 2), (4, 3)}. Die Elemente von S ◦ R sind jetzt alle Paare (a, c) ∈ A × C = {1, 2, 3, 4} × {1, 2, 3}, so dass
es zunächst einen Pfeil von a zu einem Punkt b ∈ B = {1, 2, 3, 4} gibt, und es weiter
auch einen Pfeil von b nach c gibt. Wir setzen also auf alle möglichen Weisen Pfeile
aus S an Pfeile aus R und gucken uns dann nur noch die Start- und Endpunkte dieser
kombinierten Pfeile an. In unserem Beispiel sind dies
R
A
S
B
C
und die Hintereinanderausführung von R und S wird zu
S ◦ R = {(2, 1), (3, 3), (4, 3)}.
Die Bedeutung der Hintereinanderausführung für unsere Zwecke wird erst im Zusammenhang mit Abbildungen klar werden. Die verschiedenen Operationen auf Relationen
4-6
Mathematik für Ingenieure I, WS 2008/2009
Dienstag 4.11
haben allerdings auch einige durchaus praktische Anwendungen, beispielsweise im Zusammenhang mit den bereits oben als Beispiel verwendeten relationalen Datenbanken.
Wir wollen unser obiges Beispiel der Studenten Tabelle weiter ausbauen, wir brauchen
ja mehrere Relationen um Beispiele von Hintereinanderausführungen zu diskutieren.
Wir denken uns eine weitere Tafel Vorlesungen zur Beschreibung von Vorlesungen
gegeben. Für die Zwecke unseres Beispiels wollen wir eine Vorlesung durch ein 4-Tupel
(Id,Name,Zeit,Raum)
beschreiben. Wir könnten beispielsweise die folgende Tabelle vorliegen haben
1
2
.
.
.
Elektrotechnik I
Mathematik I
Di. 16.15--17.45
Do. 14.15--15.45
CAP3, Raum 1
Audimax H
Natürlich sollte nun auch erfasst werden, welche Studenten welche Vorlesung besuchen.
Dies können wir beispielsweise durch Einrichten einer weiteren, diesmal zweistelligen,
Relation Teilnehmer erreichen, die einfach Paare
(Vorlesung.Id,Student.Id)
enthält. Besuchen beispielsweise die Studenten Burgm Klemens und Wille, Friedrich
die Vorlesung Elektrotechnik I und Burg, Klemens sowie Haf, Herbert die Vorlesung Mathematik I, so wird unsere Teilnehmer Relation zu
1
1
2
2
1
3
1
2
Nehmen wir nun an, wir möchten einen vollständigen Stundenplan aller Studenten
aufstellen, d.h. für jeden der vorhandenen Studenten auflisten zu welcher Zeit sie oder
er sich in welchem Raum befindet, oder zumindest befinden sollte. Wir wollen also eine
Tabelle von Tripeln
(Student.Name,Vorlesung.Raum,Vorlesung.Zeit)
konstruieren, wobei ein solcher Eintrag bedeutet, dass sich der Student mit dem Namen
Student.name zur Zeit Vorlesung.Zeit im Raum Vorlesung.Raum befindet. Solch ein
Tripel wird in unsere Liste aufgenommen, wenn die Tafel Teilnehmer einen Eintrag
(Vorlesung.Id,Student.Id) enthält, denn diese Tafel listet ja gerade die Teilnehmer
der verschiedenen Vorlesungen auf. Was hat das mit der Hintereinanderausführung von
4-7
Mathematik für Ingenieure I, WS 2008/2009
Dienstag 4.11
Relationen zu tun? Zu diesem Zweck denken wir uns die Relation Studenten als eine
Teilmenge des kartesischen Produkts N × M indem wir die hinteren fünf Einträge in
einem einzigen 5-Tupel zusammenfassen, also M = N × S × N × N × N. Ebenso denken
wir uns Vorlesung als eine Teilmenge des kartesischen Produkts N × N , wobei N für
die hinteren drei Komponenten einer Vorlesung steht. Sind s ein Student und v eine
Vorlesung, geschrieben als s =(s.Id,s.M) und v =(v.Id,v.N), wobei s.M und v.N für
die hinteren fünf beziehungsweise drei Komponenten von s beziehungsweise v stehen,
so müssen wir (s, v) genau dann in usere Liste aufnehmen, wenn es einen Eintrag
t = (n, m) in Teilnehmer gibt so, daß s.Id= m und v.Id= n ist. Wir brauchen also
einen zusammengesetzten Pfeil, wie im folgenden Bild angedeutet
−1
Vorlesung
N
Teilnehmer
IN
Studenten
IN
M
Wir müssen also die Relation
Student ◦ Teilnehmer ◦ Vorlesung−1
bilden. Für unser konkretes Beispiel müssen anschließend noch die zur Anzeige vorgesehenen Spalten unserer Tabellen ausgewählt werden. Ein SQL Kommando um all dies
zu erreichen wäre etwa
SELECT
FROM
WHERE
Student.Name, Raum, Zeit
Student,Vorlesungen,Teilnehmer
Teilnehmer.vorlesung id = Vorlesung.Id
AND Teilnehmer.student id = Student.Id
Als Ausgabe für unsere Beispieldaten ergibt sich
Burg, Klemens
Wille, Friedrich
Burg, Klemens
Haf, Herbert
.
.
.
CAP3, Raum 1
CAP3, Raum 1
Audimax H
Audimax H
Di.
Di.
Do.
Do.
16.15-17.45
16.15-17.45
14.15-15.45
14.15-15.45
Dabei wollen wir die Beispiele für Relationen beenden und uns nun dem Abbildungsbegriff zuwenden. Dabei ist das Wort Abbildung“ einfach ein Synonym für das et”
was vertrautere Wort Funktion“. Die Ihnen wahrscheinlich aus der Schule bekannte
”
4-8
Mathematik für Ingenieure I, WS 2008/2009
Dienstag 4.11
Definition einer Funktion f erklärt diese als eine Abbildungsvorschrift, die jedem Element x des Definitionsbereichs der Funktion ein Element f (x) des Wertebereichs der
Funktion zuordnet. Allerdings ist die Funktion dann doch nicht wirklich gleich der
Abbildungsvorschrift sondern der durch sie gegebenen Wirkung, zwei völlig verschiedene aussehende Abbildungsvorschriften können ja exakt dieselben Werte liefern, und
sollten damit natürlich auch dieselbe Funktion sein. Beispielsweise werden Sie als eine
Übung einsehen, dass die beiden für n ∈ N erklärten Abbildungsvorschriften
f (n) = 12 + 22 + . . . + n2
und
n(n + 1)(2n + 1)
6
genau dieselbe Funktion beschreiben. Die Abbildungsvorschrift selbst zur Funktion zu
ernennen scheint also ein etwas unpassender Ansatz zu sein. Ein weiteres Argument das
gegen diese Idee spricht, ist, dass wir dann den Begriff einer Abbildungsvorschrift als
einen weiteren Grundbegriff akzeptieren müssten. Das kann man natürlich tun, aber
wie sich herausstellt ist dies überhaupt nicht nötig. Die seit inzwischen fast 100 Jahren
in der Mathematik verwendete Definition einer Funktion, oder Abbildung, erwähnt das
Konzept einer Abbildungsvorschrift nicht einmal mehr, sondern interpretiert Funktionen als eine spezielle Sorte zweistelliger Relationen.
g(n) =
Definition 3.8: Seien M, N zwei Mengen. Eine Abbildung f von M nach N , geschrieben
als f : M → N , ist eine zweistellige Relation f ⊆ M × N , die die folgende Bedingung
erfüllt: Für jedes x ∈ M gibt es genau ein Element y ∈ N mit (x, y) ∈ f . Wir schreiben
dann auch f (x) für dieses eindeutige Element y ∈ N .
Mit der Schreibweise f (x) für x ∈ M ist dann
f = {(x, f (x))|x ∈ M } ⊆ M × N.
Natürlich spielt die Idee einer Abbildungsvorschrift weiter eine Rolle, aber nicht mehr
in der Definition einer Abbildung, sondern bei der Beschreibung konkret gegebener
Funktionen. Bezeichnet F (x) eine Abbildungsvorschrift mit freier Variablen x, also
beispielsweise eine Formel in der x als freie Variable vorkommt, so bezeichnen wir mit
f : M → N ; x 7→ F (x)
die Funktion f := {(x, F (x))|x ∈ M }, d.h. diejenige Funktion, deren Werte f (x) sich
gemäß der gegebenen Formel als f (x) = F (x) berechnen. Beispielsweise steht
f : R → R; x 7→ x2
für die Funktion f = {(x, x2 )|x ∈ R} ⊆ R2 . In unserer Pfeilinterpretation einer zweistelligen Relation, bedeutet die eine Abbildung definierende Eigenschaft gerade, dass
von jedem Punkt der linken Seite genau ein Pfeil zur rechten Seite startet.
4-9
Herunterladen