Teil 1 Zähltheorie KAPITEL 1 Zahlen und Rechenstrukturen Eine klassische Aufgabe der diskreten Mathematik (Kombinatorik) besteht darin zu ermitteln, wieviele Konfigurationen“ (d.h. diskrete Objekte von ” einem gewissen Typ) es gibt. Zu diesem Zweck wurden die Zahlen“ ent” wickelt. Wir gehen hier (aus Gründen praktischer Zweckmässigkeit) den umgekehrten Weg und diskutieren zuerst kurz die Zahlen, bevor wir untersuchen, wie man damit zählen kann. Wir gehen von den natürlichen Zahlen als gegeben aus. Alle anderen Zah” len“ sind mathematische Konzepte, die einem das logische Verständnis von mathematischen Strukturen erleichtern können. Praktisches Rechnen wird aber immer auf das Rechnen mit natürlichen Zahlen zurückgeführt! 1. Die natürlichen Zahlen Die natürlichen Zahlen bilden die Menge N = {0, 1, 2, . . . , n, n + 1, . . .}. Charakteristisch für sie ist, dass sie mit einem Element 0 beginnen und dann jedes Element n ∈ N genau einen Nachfolger n + 1 ∈ N besitzt. Dadurch kann man Elemente m einer Menge M der Reihe nach“ abzählen: ” m 0 , m1 , m2 , . . . Dies ist ein algorithmischer Prozess, den man so präzisieren kann: (0) Setze n := 0. (i) Ist M = ∅, stop mit der Ausgabe M hat n Elemente“. ” Ist M 6= ∅, wähle m ∈ M und setze n := n + 1 und M := M \ {m} und iteriere. Endliche und unendliche Mengen. Wenn dieser Zählalgorithmus nach endlich vielen Schritten stoppt, dann ist M endlich und hat |M | = n Elemente. Ansonsten heisst M unendlich, was mit |M | = ∞ ausgedrückt wird. 5 6 1. ZAHLEN UND RECHENSTRUKTUREN 1.1. Induktion und rekursive Definition. Die Konstruierbarkeit jeder natürlichen Zahl n als Nachfolger von Nachfolger von .... von Nachfol” ger von 0“ führt auf das fundamentale Beweis- und Definitionsprinzip der mathematischen Induktion. Man geht von einer Reihe von Aussagen“ An aus, die jeweils von einem ” Parameter n ∈ N abhängen. Das Schlussprinzip ist nun: A0 ist wahr wenn An wahr ist, dann auch An+1 =⇒ An ist für alle n ∈ N wahr. Nach diesem Prinzip kann man algebraische Operationen auf N definieren. Die Addition erhält man z.B. so: (0) m + 0 := m (n) m + n := (m + (n − 1)) + 1. Die Multiplikation ist so definiert: (0) m · 0 := 0 (n) m · n := m · (n − 1) + m. Es ist dann Routine, die Gültigkeit der folgenden Rechenregeln (per Induktion!) zu beweisen: a + (b + c) a+b a · (b · c) a·b a · (b + c) = = = = = (a + b) + c b+a (a · b) · c b·a (a · b) + (a · c) Nach dem gleichen Prinzip lassen sich auch mathematische Ausdrücke definieren. Zum Beispiel kann man n! so definieren: (0) 0! := 1 (n) n! := n · (n − 1)!. Eine solche Definition (per Induktion) heisst auch rekursiv. M AN BEACHTE : Eine Definition per Rekursion beinhaltet immer einen Algorithmus zur praktischen Berechnung des Ausdrucks! 1.2. Die fundamentalen Zählprinzipien. Das Abzählprinzip der natürlichen Zahlen ergibt das grundsätzlichste aller Zählprinzipen. Sind M und N endliche Mengen, dann gilt die Summenregel: |M ∪ N | = |M | + |N | wenn M ∩ N = ∅ 1. DIE NATÜRLICHEN ZAHLEN 7 Daraus folgt per Induktion“ sofort für die paarweise disjunkten Mengen ” M1 , . . . , M n : n X |M1 ∪ . . . ∪ Mn | = |Mi | (wenn Mi ∩ Mj = ∅ für alle i 6= j.) i=1 Daraus wieder folgt die allgemeine Formel |M | + |N | = |M ∪ N | + |M ∩ N |, wie man durch Zerlegung in paarweise disjunkte Mengen sofort sieht: M = (M \ N ) ∪ (M ∩ N ) N = (N \ M ) ∪ (M ∩ N ) M ∪ N = (M \ N ) ∪ (M ∩ N ) ∪ (N \ M ). PARTITIONEN . Eine Partition der Menge M ist eine Zerlegung von M in paarweise disjunkte Teilmengen M1 , . . . , Mk (den sog. Blöcken der Partition): k [ M= Mi mit Mi ∩ Mj = ∅ für alle i 6= j. i=1 Das zweite fundamentale Zählprinzip leitet sich aus dem ersten ab. Wir betrachten die Menge M × N aller Paare (m, n) von Elementen m ∈ M und n ∈ N . Dann gilt die Produktregel |M × N | = |M | · |N | Um die Produktregel einzusehen, nehmen wir M = {m1 , . . . , mk } und N = {n1 , . . . , n` } an. M × N lässt sich dann partitionieren in die k Blöcke M1 = {(m1 , n1 ), (m1 , n2 ), . . . , (m1 , n` )} M2 = {(m2 , n1 ), (m2 , n2 ), . . . , (m2 , n` )} .. . Mk = {(mk , n1 ), (mk , n2 ), . . . , (mk , n` )} Jeder Block Mi umfasst ` Elmente. Also ist |M × N | = k · `. 1.3. Kombinationen und Permutationen. Sei M eine Menge mit |M | = m Elementen und k eine natürliche Zahl. Eine (m, k)-Kombination ist eine Anordnung von k verschiedenen Elementen von M : (m1 , m2 , . . . , mk ) (mi ∈ M \ {m1 , . . . , mi−1 }, i = 2, . . . , k.} Sei C(m, k) die Anzahl aller möglichen (m, k)-Kombinationen. Dann gilt offenbar 8 1. ZAHLEN UND RECHENSTRUKTUREN (0) C(m, k) = 0, wenn m 6≥ k. (i) C(m, 1) = m, wenn m ≥ 1. (ii) C(m, k) = m · C(m − 1, k − 1), wenn m ≥ k ≥ 2. Die Rekursion (ii) folgt aus der Summenregel, wenn wir die Kombinationen nach dem ersten Element geordnet in m Blöcke partitionieren. Induktion ergibt somit für m ≥ k ≥ 1: (1) C(m, k) = m(m − 1) · · · (m − (k − 1)) = m! (m − k)! Definieren wir zusätzlich C(0, 0) := 1, dann gilt die Formel (1) für alle natürlichen Zahlen m ≥ k ≥ 0. Im Fall m = k heisst eine (m, k) − Kombination auch Permutation von M . Also ist die Anzahl der Permutationen von M : C(m, m) = m! (m ∈ N) 1.4. Teilmengen. Sei M wieder eine Menge mit |M | = m Elementen und k ∈ N. Wir bezeichnen die Anzahl aller k-elementigen Teilmengen von M mit dem Symbol m . Dieser Parameter heisst auch Binomialkoeffizient. k (Woher diese Bezeichnung kommt, wird später aus dem sog. Binomial” satz“ klar werden.) Um eine Formel für diese Anzahl zu bekommen, überlegt man sich: aus jeder k-Teilmenge von M lassen sich k! Kombinationen bilden. Ausserdem führen verschiedene k-Teilmengen zu verschiedenen Kombinationen. Die Summenregel ergibt deshalb: m m m! (2) C(m, k) = k! bzw. = (m ≥ k ≥ 0) k k k!(m − k)! 1.4.1. Das Pascalsche Dreieck. Auch für die Binomialkoeffizienten lässt sich über die Summenregel leicht eine Rekursion aufstellen. Dazu überlegt man sich zunächst: m m m = 0 (m 6≥ k) und = = 1 (m ∈ N), k 0 m wobei die zweite Formel die Wahl der leeren Menge als einziger Teilmenge mit 0 Elementen bzw. der Wahl von M als Teilmenge mit m Elementen entspricht. Im Fall m ≥ k ≥ 1 beobachten wir die Relation m m−1 m−1 (3) = + , k k−1 k 1. DIE NATÜRLICHEN ZAHLEN 9 wenn wir die k-Teilmengen von M danach unterteilen, ob sie ein fest gewähltes Element a ∈ M enthalten oder nicht enthalten. Diese Relation, aus der man die Binomialkoeffizienten nach einem rekursiven Schema berechnen kann, ist als Pascalsches Dreieck bekannt. Sei P ot(M ) die Potenzmenge von M . Der gleiche rekursive Ansatz zeigt |P ot(∅)| = 1 und |P ot(M )| = 2 · |P ot(M \ {a})|. Also schliessen wir: |P ot(M )| = 2|M | bzw. m m m + + ... + = 2m 0 1 m 1.5. Beschreibung durch Funktionen. Die oben eingeführten kombinatorischen Grundstrukturen können auch in der Sprache von Abbildungen verstanden werden. Zum Beispiel kann man sich eine Teilmenge S ⊆ M als durch eine Funktion fS : M → {0, 1} gegeben“ vorstellen, wobei ” S = {m ∈ M | fS (m) = 1}. Mit diesem Verständnis wäre fS etwa als eine Messapparatur“ aufzufassen, ” in die Elemente m ∈ M eingegeben werden können. Genau im Fall m ∈ S wird der Wert 1“ angezeigt: ” m ∈ S −→ fS −→ 1 , m ∈ / S −→ fS −→ 0 . Eine (m, k)-Kombination wäre in diesem Rahmen einfach eine injektive(!) Abbildung f : {1, . . . , k} → M, die wir durch ihre Wertetafel angeben: 1 2 ... k f m1 m2 . . . mk ←→ (m1 , m2 , . . . , mk ). Um Partitionen zu beschreiben, definieren wir zuerst eine geordnete Partition von M in k nichtleere Blöcke als eine surjektive Abbildung f : M → {1, . . . , k}. Die zugehörigen k Blöcke M1 = f −1 (1), . . . , Mk = f −1 (k) bilden dann eine ungeordnete Partition von M . B EMERKUNG. Der Unterschied zwischen ungeordneten“ und geordneten“ Par- ” ” titionen ist wie der Unterschied zwischen Teilmengen“ und Kombinationen“. ” ” 10 1. ZAHLEN UND RECHENSTRUKTUREN 2. Allgemeinere Zahlen, Gruppen, Ringe und Körper In der algebraischen Struktur (N, +) kann man eine Gleichung vom Typ a+x=0 (a ∈ N \ {0}) nicht lösen. Deshalb definiert man neue Zahlen xa als ideelle Grössen vom Typ xa = −a (a ∈ N \ {0}) und rechnet mit diesen neuen wie mit natürlichen Zahlen unter Beachtung der Zusatzregel a + (−a) = 0 (a ∈ N). Mit Z = {. . . , −n, . . . , −1, 0, . . . , n, . . .} kommt man damit zu der Rechenstruktur (Z, +, ·) der ganzen Zahlen mit der eindeutigen Lösbarkeitseigenschaft a + x = 0 =⇒ x = −a (a ∈ Z). In (Z, +, ·) kann man jedoch keine Gleichungen der Form a·x=1 (a 6= 0, 1) lösen. Also erweitert man Z mit wieder neuen Zahlen vom Typ xa = a−1 (wenn a 6= 0) und rechnet wie in (Z, +, ·) mit der Zusatzregel a · a−1 = 1 (a 6= 0). Damit kommen wir zur Menge der rationalen Zahlen Q = {b · a−1 | a, b ∈ Z, a 6= 0} mit den üblichen Rechenregeln. In Q sind nun beliebige Gleichungen der Form p · x = q (p, q ∈ Q) lösbar. B EMERKUNG. Sind a, b, c ∈ Z beliebige ganze Zahlen 6= 0, so sind die rationalen Zahlen b · a−1 und (b · c)(a · c)−1 äquivalent. Man schreibt dies kurz als Gleichung b b·c = a a·c und interpretiert diese als Kürzungsregel. Streng genommen ist eine rationale ” Zahl“ also eine Äquivalenzklasse von Ausdrücken der Form b · a−1 . Für den Ma” thematiker“ erscheint dies als selbstverständlich. Im richtigen Leben“ macht es ” jedoch einen gewaltigen Unterschied aus, ob man z.B. 1 ganzes Ei oder 2 halbe Eier hat! 2. ALLGEMEINERE ZAHLEN, GRUPPEN, RINGE UND KÖRPER 11 2.1. Reelle und komplexe Zahlen. Anschaulich gesprochen ist eine reelle Zahl ein Ausdruck der Form ∞ X ai r =a+ mit a ∈ Z, ai ∈ {0, 1, 2, 3, 4, 5, 6, 7, 9}. i 10 i=1 Genauer aber ist r eine Folge (rn ) von rationalen Zahlen der speziellen Form n X ai rn = a + , i 10 i=1 als deren Limes man sich r denkt. Auch hier muss man eigentlich noch präziser sein und sich r als eine Äquivalenzklasse von Folgen (rn0 ) rationaler Zahlen rn0 denken, mit der Eigenschaft lim (rn − rn0 ) = 0. n→∞ E X . 1.1. Jede rationale Zahl q ist eine reelle Zahl. Um das einzusehen, nehmen wir 0 ≤ q < 1 an und definieren an rekursiv als die grösste ganze Zahl mit der Eigenschaft n−1 X ai an + ≤ q. 10n i=1 10i Dann gilt n X ai . q = lim i n→∞ 10 i=1 Man kann sich also Q als Teilmenge der Menge R aller reellen Zahlen vorstellen. In diesem Sinn gilt: N ⊆ Z ⊆ Q ⊆ R. In R kann man nicht nur Gleichungen der Form a · x = b sondern auch der Form ax = b (a, b > 0) lösen, deren Lösung man als x = loga b notiert. Ausserdem kann man Wurzeln (aus nichtnegativen) reellen Zahlen ziehen. D.h. die Gleichung xn − r = 0 ist für alle r ≥ 0 lösbar. Allerdings existieren schon keine Quadratwurzeln negativer Zahlen. Z.B. ist die folgende Gleichung in R unlösbar: x2 + 1 = 0. 12 1. ZAHLEN UND RECHENSTRUKTUREN Man nimmt sich deshalb eine fiktive ( imaginäre“) neue Zahl“ i zur Hand, ” ” die man sich als Lösung der obigen Gleichung vorstellt, i2 = −1, bildet die Menge C aller Ausdrücke z der Form z = a + ib (a, b ∈ R) und rechnet mit diesen nach den üblichen Rechenregeln. Es stellt sich nun heraus, dass in der Rechenstruktur (C, +, ·) die Gleichung a0 + a1 x + . . . + an−1 xn−1 = 0 (a0 , . . . , an−1 ∈ C) immer lösbar ist, sofern ai 6= 0 für mindestens ein i ≥ 1 gilt. Diese Feststellung ist als der sog. Fundamentalsatz der Algebra bekannt. B EMERKUNG. Die obigen Konstruktionen“ von Zahlen haben bislang zu keinem ” erkennbaren Widerspruch im Rahmen unseres menschlichen Verständnisses von logisch“ geführt. Daraus folgern manche Leute, dass es tatsächlich ein irgendwie ” absolutes“ Universum gibt, in dem es rein logisch zugeht und in dem diese fiktiven ” gedanklichen Einheiten echt existieren. (Bei solchen Überlegungen bewegt man sich aber schon im Bereich von Philosophie und Religion.) 2.2. Gruppen, Ringe und Körper. In Verallgemeinerung der algebraischen Rechenstruktur von (N, +, ·) verstehen wir unter einer kommutativen Halbgruppe eine algebraische Rechenstruktur (H, ⊕) mit binärer Verknüpfung ⊕ und Neutralelement e ∈ H derart, dass für alle a, b, c ∈ H gilt: a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c a⊕e = e⊕a = a Der Halbring (H, ⊕) heisst kommutativ (oder abelsch), wenn die Reihenfolge bei der Summenbildung keine Rolle spielt, d.h. a⊕b=b⊕a für alle a, b ∈ H. So ist (N, +) eine (abelsche) Halbgruppe mit Neutralelement e = 0. Ebenso ist aber auch (N \ {0}, ·) eine (ablesche) Halbgruppe mit Neutralelement e = 1. T ERMINOLOGIE . Schreibt man die Halbgruppe mit Additionszeichen, so heisst das Neutralelement meist Nullelement und wird mit 0“ notiert. Bei multiplikati” ver Notation, heisst das Neutralelement entsprechend Einselement und wird mit 1“ bezeichnet. ” Unter einem Halbring versteht man eine algebraische Struktur (H, ⊕, ) derart, dass (HR1) (H, ⊕) ist eine kommutative additive Halbgruppe. 3. DER BINOMIALSATZ 13 (HR2) (H \ {0}, ) ist eine multiplikative Halbgruppe. (HR3) Für alle a, b, c ∈ H gilt a0 = 0a = 0 a (b ⊕ c) = (a b) ⊕ (a c) (a ⊕ b) c = (a c) ⊕ (b c). Der Halbring (H, ⊕, ) heisst kommutativ, wenn auch die Multiplikation in H kommutativ ist. Die Halbgruppe (G, ⊕) mit Neutralelement e heisst Gruppe, wenn die Gleichung a⊕x=e immer lösbar ist. Die Lösung xa ∈ G heisst Inverses von a. Im additiven Fall schreibt man xa = −a und im multiplikativen Fall xa = a−1 . Der Halbring (R, ⊕, ) heisst Ring, wenn (R, ⊕) eine Gruppe ist. Ein Körper ist ein Ring (K, ⊕, ), bei dem auch (K\{0}, ) eine kommutative Gruppe ist. So ist (Z, +, ·) ein kommutativer Ring (aber kein Körper). Q, R, C sind (unter den üblichen Rechenregeln mit +“ und ·“) Körper. ” ” Ganz allgemein können wir die Elemente jeder algebraischen Struktur als Zahlen“ interpretieren (weil wir mit diesen in einem vernünftigen Sinn ” rechnen“ können). Für die Zwecke dieser Vorlesung werden wir uns dabei ” aber auf Halbringe beschränken. 3. Der Binomialsatz Sei R = (R, +, ·) ein beliebiger kommutativer Halbring und N = {1, . . . , n} eine n-elementige Menge. Wir betrachten beliebige Elemente x1 , . . . , xn , y1 . . . , yn ∈ R und setzen für jede Teilmenge S ⊆ N abkürzend Y x∅ := 1 ∈ R und xS := xs (S 6= ∅). s∈S (yS ist natürlich analog definiert.) Dann ergeben die Rechenregeln in R: S ATZ 1.1 (Binomialsatz). n Y X (xi + yi ) = xS · yN \S i=1 S⊆N Beweis. Wir argumentieren (natürlich) per Induktion. Im Fall n = 1 haben wir x1 + y1 = x∅ y1 + x1 y∅ , 14 1. ZAHLEN UND RECHENSTRUKTUREN wie behauptet. Für n ≥ 2 schliessen wir deshalb n n−1 Y Y (xi + yi ) = (xn + yn ) (xi + yi ) i=1 i=1 X = xn S⊆N \{n} = X X xS y(N \{n}\S) S⊆N \{n} xS yN \S + X xS yN \S S63n S3n = X xS y(N \{n}\S) + yn xS yN \S . S 3.1. Ein paar klassische Formeln für Binomialkoeffizienten. Durch spezielle Wahl der xi und yi erhält man nun sofort neue Formeln. Nimmt man z.B. x1 = . . . = xn = x und y1 = . . . = yn = y, dann erhält man X n (x + y) = |S| n−|S| x y = S⊆N Im Fall R = N haben wir X n X X xk y n−k . k=0 |S|=k k n−k x y |S|=k n k n−k = x y k und erhalten somit die Identität n (x + y) = n X n k=0 k xk y n−k Daraus wiederum folgen die Summenformeln der Binomialkoeffizienten n X n−k n 0 = (x = 1, y = −1) (−1) k k=0 n X n n 2 = (x = y = 1) k k=0 4. Boolesche Algebra und Funktionenräume Auf der zweielementigen Menge B = {0, 1} betrachten wir die Operationen ∨ 0 1 0 0 1 1 1 1 ∧ 0 1 0 0 0 1 0 1 − 0 1 1 0 4. BOOLESCHE ALGEBRA UND FUNKTIONENRÄUME 15 Mit diesen Operationen ist B ein Halbring. Insbesondere haben wir z.B. a ∨ b = a ∧ b. Sei nun M eine beliebige Menge. Wir betrachten die Menge aller Funktionen B M = {χ : M → B} Jedem χ ∈ B M entspricht eine eindeutige Teilmenge tr χ = {m ∈ M | χ(m) 6= 0}. Im Fall tr χ = A benutzen wir deshalb auch die Notation χA (statt nur χ). Die oben eingeführte algebraische Struktur auf B macht B M selber zu einem Halbring und es gelten die Regeln χA ∨ χB χA ∧ χB χA χA ∨ (χB ∧ χC ) χA ∨ χB = = = = = χA∪B χA∩B χM \A (χA ∨ χB ) ∧ (χA ∨ χC ) χA ∧ χB . Die Rechenregeln des Halbrings B M übersetzen sich in die Sprache der Teilmengen von M als die sog. de Morganschen Gesetze: A ∪ (B ∩ C) = (A ∩ B) ∪ (A ∩ C) M \ (A ∪ B) = (M \ A) ∩ (M \ B) (B M , ∨, ∧,− ) ist eine sog. boolesche Algebra. Im Fall M = {1, . . . , n} benutzt man auch die Notation Bn = B {1,2,...,n} = B n . 4.1. Boolesche Funktionen. Eine Funktion ϕ : {0, 1}n → {0, 1} ist eine sog. boolesche Funktion. Mit M = {0, 1}n bildet die Menge aller booleschen Funktionen die boolesche Algebra B M . Sei ϕ eine feste boolesche Funktion. Wir setzen C = tr ϕ = {x ∈ {0, 1}n | ϕ(x) = 1} und erhalten dann die Darstellung _ ϕ(x) = ϕc (x) mit c∈C 1 (x = c) ϕc (x) = 0 (x = 6 c) 16 1. ZAHLEN UND RECHENSTRUKTUREN Betrachten wir weiterhin die Trägermengen tr c = {i | ci = 1}, so können wir ϕc als Produkt von booleschen Variablen xi und xj (mit Werten in B) ausdrücken: ^ ^ ϕc (x) = ( xi ) ∧ ( xj ) i∈tr c j∈ / tr c In dieser Form ausgedrückt ist ϕc (x) eine sog. Klausel. Insgesamt erhalten wir ϕ(x) als boolesche Summe von Klauseln, die selber nur Produkte von (möglicherweise negierten) booleschen Variablen sind: _ ^ ^ (4) ϕ(x) = [ xi ) ∧ xj ] c∈C i∈tr c j∈ / tr c Diese Darstellung ist die sog. disjunktive Normalform der booleschen Funktion ϕ. Analog erhält man die konjuktive Normalform, nämlich ein boolesches Produkt von Klauseln, die jeweils nur boolesche Summen von booleschen Variablen sind: ^ (5) ϕ(x) = ϕc (x). c∈C / Denn wir haben nach den booleschen Rechenregeln: _ _ xj . ϕc (x) = xi ∨ i∈tr c j∈ / tr c 4.2. Binäre Vektorräume. Man kann auf der zweielementigen Menge Z2 = {0, 1} auch die folgende Rechenstruktur definieren: + 0 1 0 0 1 1 1 0 · 0 1 0 0 0 1 0 1 Damit ist Z2 ein Körper und die Funktionenmenge ZM 2 (die aus den gleichen M Funktionen besteht wie B ) ist ein Vektorraum. Hier sind die Rechenregeln χA + χB = χA∆B χA · χB = χA∩B , wobei die sog. symmetrische Differenz von Teilmengen definiert ist als A∆B = (A ∪ B) \ (A ∩ B). 4.3. Funktionenräume. Sei (R, ⊕, ) ein beliebiger Halbring. Dann ist RM = {f : M → R} ein Halbring unter den Operationen f ⊕ g ←→ (f ⊕ g)(m) = f (m) ⊕ g(m) f g ←→ (f g)(m) = f (m) g(m) 4. BOOLESCHE ALGEBRA UND FUNKTIONENRÄUME 17 Im speziellen Fall einer konstanten Funktion χm (x) = m können wir m ∈ M mit χm (x) ∈ RM identifizieren. In diesem Sinn gilt M ⊆ RM . Ist R ein Körper, dann ist RM ein Vektorraum mit der Skalarmultiplikation mf = χm f ←→ (mf )(x) = m f (x), die sich als Spezialfall einer allgemeineren Multiplikation von Vektoren(!) erweist. 4.4. Matrizen. Matrizen A = [aij ] mit Koeffizienten aij in einem Halbring (R, ⊕, ) können nach den üblichen Regeln des Matrixkalküls addiert und multipliziert werden. Damit wird beispielsweise die Menge Rn×n aller (n × n)-Matrizen über R zu einem (bzgl. der Multiplikation nichtkommutativen!) Halbring. 4.4.1. Kürzeste Wege. Als Beispiel betrachen wir R = R ∪ {∞} mit den Operationen a ⊕ b = min{a, b} ab = a+b (R, ⊕, ) ist ein Halbring mit Nullelement(!) ∞ und Einselement(!) 0: a⊕∞=a und a 0 = a. n×n Sei D = [dij ] ∈ R eine Matrix, wobei wir dij als die (kürzeste) Distanz von i nach j interpretieren, wenn wir j von i in einem Schritt erreichen wollen. Die kürzeste Distanz mit genau einem Zwischenschritt ist M (2) (dik dkj ) dij = min{dik + dkj } = k k Also finden wir (2) [dij ] = D D = D2 . (m) Allgemeiner erhalten wir die kürzesten Distanzen dij Zwischenschritten aus der Matrixpotenz: mit genau m − 1 (m) [dij ] = Dm−1 · D = Dm . F OLGERUNG : Kürzeste Abstände können also mit simplen Matrixmultiplikationen ermittelt werden. B EMERKUNG. Im Fall dii = 0 für alle i, ist d(m) ij natürlich die kürzeste Distanz von i nach j mit höchstens m − 1 Zwischenschritten. 18 1. ZAHLEN UND RECHENSTRUKTUREN 5. Polynomfunktionen Eine Funktion p : R → R heisst Polynomfunktion, wenn p die folgende Darstellung erlaubt: p(x) = a0 + a1 x + . . . + an−1 xn (ai ∈ R). (Der Einfachheit halber schreiben wir hier +“ statt des allgemeinen ⊕“ usw.) ” ” PR bezeichnet die Menge aller Polynomfunktionen. Ist q mit der Darstellung q(x) = b0 + b1 x + . . . + bm−1 xm eine weitere Polynomfunktion, so ist das Produkt h = p · q eine Polynomfunktion, wobei n+m X X ai b j , ck xk mit ck = (6) h(x) = i+j=k k=0 wie man durch Ausmultiplizieren von p(x)q(x) und Zusammenfassen nach Potenzen xk sofort sieht. Ist R ein Ring, Pdann ist auch PR ein Ring. Denn die Polynomfunktion −p mit −p(x) = ni=0 (−ai )xi löst die Gleichung p + X = 0. Im Fall R = C sieht man leicht n X sup | ak x k | = ∞ x∈N wenn an 6= 0 und n ≥ 1. k=0 Daraus folgt, dass das Nullpolynom p0 ≡ 0 in PC nur die Darstellung p(x) = 0 gestattet. Damit findet man L EMMA 1.1 (Eindeutigkeitslemma). Seien a0 , . . . , an , b0 , . . . , bn ∈ C derart, dass n n X X k ak x = bk xk für alle x ∈ N. k=0 k=0 Dann gilt ak = bk für alle k = 0, . . . , n. Beweis. Sei n ≥ 1. Wir betrachten die Polynomfunktion p(x) = n X (ak − bk )xk . k=0 Nach Voraussetzung haben wir supx∈N |p(x)| = 0 und folglich ak − bk = 0 für alle k. Wegen Z ⊆ Q ⊆ R ⊆ C finden wir, dass auch z.B. für jede Polynomfunktion p ∈ PZ gilt: 6. DOPPELTES ZÄHLEN UND DAS SCHUBFACHPRINZIP 19 • entweder ist p ≡ 0 oder es gibt eindeutig bestimmte Koeffizienten a0 , . . . , an mit an 6= 0 und der Eigenschaft p(x) = a0 + a1 x + a2 x2 + . . . + an xn . E X . 1.2 (Vandermondsche Identität). Wir wählen R = N und substituieren xi = x und y = 1 in der binomischen Formel. Sind nun a, b ∈ N beliebige natürliche Zahlen, so erhalten wir a+b X a+b k x = (x + 1)a+b = (x + 1)a (x + 1)b k k=0 a b X a i X b j = x · x i j i=0 j=0 Polynommultiplikation und Koeffizientenvergleich liefert k X ab X a+b a b (7) = = . k i j i k−i i=0 i+j=k 6. Doppeltes Zählen und das Schubfachprinzip Das Prinzip des doppelten Zählens (in Bezug auf eine kommutative Halbgruppe H) beruht auf der Tatsache, dass man die Koeffezientensumme einer Matrix a11 a12 a13 . . . a1n a21 a22 a23 . . . a2n A = .. .. .. ... . . . am1 am2 am3 . . . amn auf zwei Weisen berechnen kann: • Addition der Spaltensummen von A oder Addition der Zeilensummen von A: n X m m X n X X aij = aij . j=1 i=1 i=1 j=1 Die Reihenfolge der Summanden in einer endlichen Summe in H ist nämlich für den Summationswert irrelevant. E X . 1.3 (Harmonische Zahlen). Relativ zu H = N definieren wir für alle 1 ≤ i, j ≤ n die Koeffizienten ( 1 i teilt j, aij = 0 i teilt j nicht. 20 1. ZAHLEN UND RECHENSTRUKTUREN Damit erhalten wir n X tj = aij = Anzahl der Teiler von j vi = i=1 n X aij = Anzahl der Vielfachen ≤ n von i, d.h. vi = bn/ic , j=1 wobei bac die grösste ganze Zahl ≤ a bezeichne. Wir interessieren uns für den Durchschnittswert t(n) der Teileranzahlen tj : n n t1 + t2 + . . . + tn 1 XX t(n) := = aij . n n i=1 j=1 Das Prinzip des doppelten Zählens führt auf v1 + v2 + . . . vn 1 t(n) = = (bn/1c + bn/2c + . . . + bn/nc) . n n Wegen bn/ic ≤ n/i ≤ bn/ic + 1 finden wir t(n) ∼ Hn bzw. |t(n) − Hn | ≤ 1 , wobei Hn = 1 + 1/2 + 1/3 + . . . + 1/n die sog. n-te harmonische Zahl ist. B EMERKUNG. Aus der Annäherung des Integrals durch Riemannsche Summen gewinnt man in der vorliegenden Situation die Approximation: Z n 1 Hn ∼ dx = log n . 1 x In diesem Sinn könnte man deshalb sagen: Im Durchschnitt“ hat eine ” natürliche Zahl n etwa log n viele Teiler. Das Schubfachprinzip ist die Formulierung der folgenden trivialen Beobachtung: • Wenn n Gegenstände auf r > 0 Schubfächer verteilt werden, so enthält mindestens ein Fach n/r (oder mehr) der Gegenstände. Mit dem Schubfachprinzip kann man keine genauen Anzahlen von Konfigurationen ableiten. Aber es liefert oft überraschend einfache Beweise der Existenz bestimmter Konfigurationen. Wir illustrieren dies am Beispiel des Satzes von Ramsey für Graphen Kn (s.u.). Der (sog. vollständige) Graph Kn hat als Knoten die Elemente der Menge N = {1, 2, . . . , n} und als Kanten alle 2-elementigen Teilmengen e ⊆ N . Wir schreiben abkürzend N En = := {e ⊆ N | e ist 2-elementig} . 2 6. DOPPELTES ZÄHLEN UND DAS SCHUBFACHPRINZIP 21 Die Knoten u und v heissen die Endpunkte der Kante e = {u, v}. Unter einer (rot/blau)-Färbung von En verstehen wir eine Abbildung N c: → {r, b} 2 und nennen die Kante e ∈ En rot“ bzw. blau“ je nach dem, ob c(e) = r ” ” oder c(e) = b gilt. E X . 1.4 (Satz von Ramsey). Man sagt, Kn habe die Ramseyeigenschaft R(p, q), falls folgende Aussage richtig ist: R(p, q): Zu jeder Färbung c : En → {r, b} existiert entweder ein U ⊆ N mit |U | = p derart, dass c(e) = r für alle e ∈ U2 , oder es existiert ein V ⊆ N mit |V | = q derart, dass c(e) = b für alle e ∈ V2 . Wir wollen nun für alle p, q ≥ 2 beweisen: Es gibt eine kleinste Zahl r(p, q) mit der Eigenschaft n ≥ r(p, q) =⇒ Kn besitzt die Eigenschaft R(p, q). Man überzeugt sich leicht (wenn p, q ≥ 2): r(p, 2) = p und r(2, q) = q . Für den allgemeinen Fall nehmen wir nun an, dass r(p−1, q) und r(p, q−1) existieren und betrachten n ≥ 2 · max{r(p − 1, q), r(p, q − 1)} und einen festen Knoten a ∈ N = {1, 2, . . . , n}. Nach dem Schubfachprinzip sind mindestens n/2 der Kanten mit Endpunkt a z.B. rot“ gefärbt (bei ” blau“ würden wir völlig analog argumentieren). Sei ” N 0 = {u ∈ N \ {a} | c({a, u}) = r} . Wegen |N 0 | ≥ r(p − 1, q) gibt es entweder eine Teilmenge V ⊆ N 0 von q Knoten mit ausschliesslich blauen Kanten oder es gibt eine Teilmenge U 0 ⊆ N 0 von p−1 Knoten mit ausschliesslich roten Kanten (sodass U = U 0 ∪{a} eine p-Teilmenge von N mit ausschliesslich roten Kanten ist). Auf jeden Fall haben wir somit erkannt: r(p, q) ≤ 2 · max{r(p − 1, q), r(p, q − 1)} . 22 1. ZAHLEN UND RECHENSTRUKTUREN B EMERKUNG. Man sieht leicht ein: r(3, 3) = 6. Im allgemeinen sind die exakten Werte der Ramseyzahlen“ r(p, q) nur in ganz wenigen Fällen bekannt. ”