Allgemeine Algebren Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden [email protected] Bernhard Ganter, TU Dresden Mathematik I für Informatiker Operationen Eine Operation auf einer Menge A ist eine Abbildung f : An → A. An ist dabei die Menge aller n-Tupel mit Einträgen aus A. Man nennt n die Stelligkeit der Operation f ; dies wird auch durch σ(f ) = n ausgedrückt. Die Menge A ist die Trägermenge der Operation f . Bernhard Ganter, TU Dresden Mathematik I für Informatiker Schreibweisen (1) Für zweistelligen Operationen verwendet man gern Symbole, die an die Zeichen erinnern, die man beim Rechnen benutzt, wie +. Man benutzt dann die Infixnotation, bei der das Operationssymbol zwischen die Argumente geschrieben wird, d.h., man schreibt a1 f a2 statt f (a1 , a2 ). Einstellige Operationen stellt man oft in der Exponentenschreibweise dar, schreibt also af statt f (a). Bernhard Ganter, TU Dresden Mathematik I für Informatiker Schreibweisen (2) Nullstellige Operationen benötigen kein Argument und liefern ein konstantes Ergebnis. Man kann sie mit den Elementen von A identifizieren ( Konstanten“). ” In der Informatik betrachtet man oft allgemeiner mehrsortige Operationen, bei denen es mehrere Trägermengen gibt. Das wird in etwa so angegeben: wohnt in : Person × Stadt → boolean. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Signatur Eine Signatur Σ := (F, σ) einsortiger Algebren (auch Rangalphabet genannt), besteht aus einer Menge F, deren Elemente wir Operationssymbole nennen, und einer Abbildung σ : F → N0 , die jedem Operationssymbol eine Stelligkeit zuordnet. Um eine Signatur anzugeben, schreibt man meist nur σ als Menge von Paaren auf. Die Signatur {(◦, 2), (−1 , 1), (e, 0)} kann man z.B. für Gruppen verwenden. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Algebra Eine (allgemeine) Algebra zur Signatur Σ := (F, σ) ist ein Paar A := (A; F ), wobei A eine Menge und F eine Folge von Operationen auf A ist mit der Eigenschaft, dass es in F zu jedem Operationssymbol aus F genau eine Operation der entsprechenden Stelligkeit gibt (und keine weiteren Operationen). Die Folge der Stelligkeiten nennt man den Typ der Algebra. Die Menge A ist die Trägermenge der Algebra. Die Operationen in F sind die fundamentalen Operationen der Algebra. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Binar und Halbgruppe Eine Algebra vom Typ (2) ist ein Binar (auch Gruppoid genannt). Ein assoziatives Gruppoid ist eine Halbgruppe. Ein besonders wichtiges Beispiel einer Halbgruppe erhält man folgendermaßen: Zu einer Menge S (dem Alphabet“) bildet ” man die Menge aller Tupel ( Wörter“). Als zweistellige ” Operation nimmt man die Verkettung, die Wörter einfach aneinanderhängt. Man erhält so die Worthalbgruppe über dem Alphabet M. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Monoid Eine Halbgruppe mit neutralem Element, also eine Algebra der Signatur((◦, 2), (e, 0)), die für alle Elemente a, b, c aus der Trägermenge die Gesetze a ◦ (b ◦ c) = (a ◦ b) ◦ c und a ◦ e = e ◦ a = a erfüllt, ist ein Monoid. Es kann in einem Monoid nur ein neutrales Element geben. Lässt man bei der Worthalbgruppe das leere Wort zu (das Nulltupel), dann wird die Worthalbgruppe zu einem Monoid. Ein weiteres wichtiges Beispiel eines Monoids besteht aus allen Abbildungen einer Menge in sich; neutrales Element ist dabei die identische Abbildung, die zweistellige Operation ist die Hintereinanderausführung der Abbildungen. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Halbverband Ein Halbverband ist eine kommutative idempotente Halbgruppe, d.h. eine Halbgruppe (H; ∨) mit x ∨y =y ∨x x ∨x =x und für alle x, y ∈ H. Einfache Beispiele von Halbgruppen erhält man aus Wurzelbäumen. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Quasigruppe Eine Quasigruppe ist ein Gruppoid, in dem zu je zwei Elementen a, b stets genau ein Element x und genau ein Element y existieren mit a·x sowie Bernhard Ganter, TU Dresden = b y · a = b. Mathematik I für Informatiker Strukturenzoo: Gruppe Eine Gruppe ist eine Algebra (G ; ◦,−1 , e) vom Typ (2, 1, 0) mit folgenden Eigenschaften: (G , ◦, e) ist ein Monoid, es gilt g ◦ g −1 = g −1 ◦ g = e für alle g ∈ G . Die Gestalt der Operationssymbole ist dabei nebensächlich, oft werden z.B. auch die Symbole +, −, 0 benutzt. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Gruppe (2) Durch die zweistellige Operation sind die anderen fundamentalen Operationen einer Gruppe eindeutig bestimmt. Manche Autoren definieren deshalb eine Gruppe als eine Algebra (G ; ◦) vom Typ (2), die folgenden Gesetzen genügt: Die Operation ◦ ist assoziativ. Es gibt ein Element e ∈ G , so dass für alle g ∈ G die Gleichung e ◦ g = g ◦ e = g gilt. Zu jedem Element g ∈ G existiert ein Element g −1 ∈ G mit g ◦ g −1 = g −1 ◦ g = e. Wir bevorzugen die erste Definition, weil sie logisch etwas einfacher ist: alle Bedingungen sind Gleichungen. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Beispiele von Gruppen Gruppen tauchen vielfältig in der Arithmetik auf: die ganzen Zahlen, die rationalen Zahlen, die reellen Zahlen und die komplexen Zahlen bilden jeweils mit der Addition eine Gruppe, die von Null verschiedenen rationalen Zahlen, die von Null verschiedenen reellen Zahlen bzw. die von Null verschiedenen komplexen Zahlen mit der Multiplikation als zweistellige Operation bilden ebenfalls eine Gruppe. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Beispiele von Gruppen (2) All diese Gruppen sind abelsch, was das gleiche bedeutet wie kommutativ. Diese Eigenschaft haben auch die Gruppen Zn := ({0, 1, . . . , n − 1}; + mod n) der ganzen Zahlen modulo n. Nichtabelsche Gruppen spielen ebenfalls eine große Rolle. Die Menge alle bijektiven Abbildungen einer Menge S auf sich ist, mit der Hintereinanderausführung von Abbildungen als Operation, eine Gruppe. Sie wird die symmetrische Gruppe auf S genannt. Hat S mehr als zwei Elemente, dann ist die symmetrische Gruppe nicht abelsch. Als Faustregel kann man sich merken, dass Monoide zur Beschreibung von Vorgängen taugen, während Gruppen zur Beschreibung reversibler Vorgänge geeignet sind. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Ring Ein Ring eine Algebra (R; +, −, 0, ·) vom Typ (2, 1, 0, 2) mit der Eigenschaft, dass (R; +, −, 0) eine abelsche Gruppe ist und die Operation · assoziativ sowie über der Operation + distributiv ist. Hat man zusätzlich noch ein neutrales Element der Multiplikation · (als Operationssymbol nimmt man dafür gern das Symbol 1), dann spricht man von einem Ring mit Eins. Neben den ganzen Zahlen und den Körpern bekommt man auf folgende Weise eine wichtige Beispielklasse: Bernhard Ganter, TU Dresden Mathematik I für Informatiker Polynomringe Ist (R; +, −, 0, ·, 1) ein Ring mit Eins und ist X ein Symbol, welches nicht in R liegt, dann bezeichnet R[X ] die Menge aller Ausdrücke der Form {r0 + r1 X + r2 X 2 + . . . + rn X n | n ∈ N, alle ri ∈ R}. Man nennt diese Ausdrücke Polynome über dem Ring R. Solche Polynome kann man auf die gewohnte Weise miteinander addieren und multiplizieren. Dadurch wird R[X ] zum Polynomring über R. Man kann eine Division mit Rest auch für Polynome definieren. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Körper Ein Körper ist ein Ring (K ; +, −, 0, ·, 1) mit Eins, bei dem die Multiplikation · eine Gruppenoperation auf K \ {0} ist. Die bekanntesten Beispiele von Körpern sind die rationalen, die reellen und die komplexen Zahlen. Diese Körper sind sogar kommutativ (was bedeuten soll, dass auch die Multiplikation kommutativ ist). Nichtkommutative Körper nennt man echte Schiefkörper. Sie spielen in unserer Vorlesung keine Rolle. Für die Informatik wichtig sind auch die endlichen Körper, die man aus dem Modulo-Rechnen gewinnt. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Vektorraum Ein Vektorraum über einem Körper K ist eine abelsche Gruppe mit der Eigenschaft, dass es zu jedem Element k von K ( Skalar“) eine einstellige Operation ” ( Skalarmultiplikation“) ” v 7→ kv auf V gibt mit folgenden Eigenschaften: k1 (k2 v ) = (k1 k2 )v , k(v1 + v2 ) = kv1 + kv2 , (k1 + k2 )v = k1 v + k2 v 1v = v . Bernhard Ganter, TU Dresden Mathematik I für Informatiker Beispiele von Vektorräumen Die Menge Kn aller n-Tupel mit Komponenten aus einem Körper K bildet mit der komponentenweisen Addition (a1 , a2 , . . . , an )+(b1 , b2 , . . . , bn ) := (a1 +b1 , a2 +b2 , . . . , an +bn ) und der Skalarmultiplikation λ(a1 , a2 , . . . , an ) := (λa1 , λa2 , . . . , λan ) einen Vektorraum. Die Polynome K[X ] bilden einen K-Vektorraum. Die Abbildungen von K nach K bilden einen K-Vektorraum. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Verband Ein Verband (V ; ∨, ∧) ist eine Algebra vonm Typ (2, 2), bei der (V ; ∨) und (V ; ∧) Halbverbände sind, die durch die folgenden Absorptionsgesetze miteinander verbunden sind: x ∨ (x ∧ y ) = x für alle x, y ∈ V . x ∧ (x ∨ y ) = x Verbände tauchen unablässig in Mathematik und Informatik auf, typischerweise dann, wenn es gilt, die Teile einer Struktur bezüglich ihrer Enthaltenseinsordnung zu beschreiben. Begriffsverbände sind natürlich Beispiele von Verbänden. Jeder vollständige Verband ist zu einem Begriffsverband isomorph. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Distributive Verbände Ein Verband heißt distributiv, falls die folgenden Distributivgesetze erfüllt sind: x ∨(y ∧z) = (x ∨y )∧(x ∨z) für alle x, y , z ∈ V . x ∧(y ∨z) = (x ∧y )∨(x ∧z) Jedes dieser beiden Gesetze impliziert das andere. Die Menge aller Teilmengen einer beliebigen Menge M bildet einen distributiven Verband, wobei die Verbandoperationen die Vereinigung und der Durchschnitt von Mengen ist. Bernhard Ganter, TU Dresden Mathematik I für Informatiker Strukturenzoo: Boolesche Algebra Eine Boolesche Algebra1 (B; ∨, ∧, 0 , 0, 1) ist vom Typ (2, 2, 1, 0, 0), wobei (B; ∨, ∧) ein distributiver Verband ist und für alle x, y ∈ B folgende Gleichungen gelten: x 00 = x, x ∨ 1 = 1, x ∧ 0 = 0, x ∨ x 0 = 1, x ∧ x 0 = 0, 0 0 (x ∨ y ) = x ∧ y 0 , (x ∧ y )0 = x 0 ∨ y 0 . 1 Nach George Boole (1815–1864). Also bitte nicht: Bolsche Algebra, Boolsche Algebra, Bollesche Algebra, Boule-Algebra, Boulez’sche Algebra,. . . Bernhard Ganter, TU Dresden Mathematik I für Informatiker