Julius-Maximilians-Universität Würzburg Fakultät für Mathematik und Informatik Bachelorarbeit in Mathematischer Physik Über die Anzahl von Sudokus und Lateinischen Quadraten 1 Bearbeiter: Damian Zawadka Betreuer: Prof. Jörn Steuding1 Abgabedatum: 16. August 2012 Institut für Mathematik und Informatik, Universität Würzburg Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Inhaltsverzeichnis 1 Einleitung 3 2 Etwas Graphentheorie 5 2.1 Erste graphentheoretische Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Sudokus als Färbeprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Das chromatische Polynom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Färbungen von n-Sudokus 10 3.1 Die chromatische Zahl eines n-Sudokus . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Eindeutigkeit von n-Problemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 Brute Force Methode zur Bestimmung der Anzahl von n-Sudokus 4.1 4.2 10 13 Gesamtzahl der 3-Sudokus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.1 Umbenennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1.2 Permutationen in einem Stapel . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1.3 Vertauschung der Stapel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.1.4 Vertauschung aller Stapel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.1.5 Vertauschungen der Zeilen und Bänder . . . . . . . . . . . . . . . . . . . . . 17 Anzahl der 2-Sudokus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5 Permanenten und Systeme von unterschiedlichen Repräsentanten 19 5.1 Permanenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.2 Systeme von unterschiedlichen Repräsentanten . . . . . . . . . . . . . . . . . . . . 20 6 n-Sudokus und Lateinische Quadrate 21 7 Schluss 27 2 Über die Anzahl von Sudokus und Lateinischen Quadraten 1 Damian Zawadka Einleitung Was ist ein Sudoku? Die populärsten Sudokurätsel sind 9 × 9 große Gitter, bei denen manche Zellen Einträge von {1, 2, . . . , 9} haben. Bei einem Sudokurätsel besteht das Ziel darin, dass in jeder Zeile, in jeder Spalte und in jedem der neun (3 × 3)-Untergitter jede Zahl der Menge {1, 2, . . . , 9} genau einmal vorkommt. Die Untergitter sind in Bild 1 dunkel umrandet. Dabei soll man die Lösungen meistens nur durch logische Betrachtungen erhalten. Wichtig bei diesen Rätseln ist, dass genau eine Lösung existiert. Durch die einfachen und wenigen Regeln sind Sudokurätsel leicht zu verstehen, wogegen der Schwierigkeitsgrad von ganz einfach bis höllisch schwer reicht. Es gibt einerseits Sudokus mit 36 Einträgen, die sehr schwer zu lösen sind, andererseits gibt es auch Sudokus, die 17 Einträge haben und trotzdem vergleichsweise recht einfach zu lösen sind. Das Sudoku rechts unten mit 17 Einträgen ist entnommen aus [4]. 2 3 5 4 3 2 4 7 1 2 3 5 4 7 3 8 6 5 7 2 4 5 3 6 6 5 7 2 1 3 7 2 7 5 3 9 7 1 2 6 7 4 7 3 8 1 1 2 8 5 4 6 Meistens lassen sich die ersten Zahlen sehr schnell eintragen, so dass sich erste Erfolgserlebnisse einstellen und man nicht sofort aufgeben will, falls sich erste Probleme auftun. Das anfängliche Tempo, mit der immer weitere Zahlen eingetragen werden, sinkt dann meistens rapide. Hat man die schwierigen Felder aber überstanden, so nimmt das Tempo wieder rasant zu, bis sich das Sudoku wie von selbst löst. Dieser Verlauf ist wahrscheinlich einer der Hauptgründe, warum Sudokus derart beliebt geworden sind. Die Entwicklungsgeschichte der Sudokos ist ebenfalls sehr interessant. 1979 wurde das erste Su” doku“ von Howard Garns in der Zeitschrift Pell Pencil Puzzles and Word Games“ als Number ” ” 3 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Place“ abgedruckt. Fünf Jahre später kamen dann die Sudokus nach Japan, wo sie auch ihren Namen bekommen haben. Sudoku ist eigentlich eine Abkürzung von Suji wa dokushin ni kagiru und bedeutet soviel wie Isolieren Sie die Zahlen“. In Japan lernte Wayne Gould weitere 13 Jahre ” später, also 1997, die Rätselform kennen und brachte die Sudokus nach Europa zurück. Dafür schrieb er ganze sechs Jahre an einem Programm, mit dem neue Sudokurätsel generiert werden konnten und überzeugte die Times in London, die Rätsel in ihre Tageszeitung mit einzubinden. Von da aus verbreiteten sich die Sudokus in ganz Europa. In den letzten Jahren sind zudem viele neue Varianten dieses Rätsels aufgetaucht, aber keines davon kommt an die Popularität der originalen Sudokus heran. Eng verwandt mit den Sudokus sind die Lateinischen Quadrate. Der einzige Unterschied zu Sudokus besteht darin, dass es keine Einschränkungen durch (3×3)-Untergitter gibt. Es ist nur wichtig, dass in jeder Zeile und in jeder Spalte jede Zahl von 1 bis 9 genau einmal vorkommt. Somit ist jedes Sudoku ein Lateinisches Quadrat, aber nicht jedes Lateinische Quadrat ein Sudoku. Lateinische Quadrate sind aber um vieles älter als Sudokus. Schon Albrecht Dürer (1471 - 1528) befasste sich mit diesen! Interessiert man sich für Sudokus, so stellen sich zwangsläufig ein paar Fragen ein: Ist das Sudoku lösbar? Wenn ja, ist es eindeutig lösbar und wenn nicht, wie viele Lösungen gibt es? Falls das Sudokurätsel nicht eindeutig ist, wie muss man es modifizieren, dass es eindeutig wird? Eine weitere Frage wäre, wie viele Felder ausgefüllt und wie viele verschiedene Zahlen vorgegeben sein müssen, dass es eindeutige Lösungen gibt. Mit Hilfe einer gewaltigen Rechenleistung von 7 Millionen Prozessoren und fast einem Jahr Rechenzeit konnten G. McGuire, B. Tugemann und G. Civario Anfang 2012 in [6] beweisen, dass es keine Sudokus mit 16 vorgegebenen Feldern gibt, die eindeutig lösbar sind. Demgegenüber sind viele Rätsel bekannt, bei denen 17 vorgegebenen Felder ausreichen, dass sie eindeutige Lösungen haben. In dieser Arbeit wollen wir einige der Fragen und einige grundlegende Eigenschaften von Sudokus untersuchen. Wir zeigen, dass wir Sudokus als mathematische Graphen auffassen können und dass das Lösen eines Sudokus ein Färbeproblem darstellt. Da die Eindeutigkeit der Lösung das zentrale Konzept jedes Sudokurätsels ist, werden wir auch hierzu ein paar Betrachtungen anstellen. Felgenhauer und Jarvis haben in [3] untersucht, wie viele vollständig ausgefüllte Sudokus existieren. In unserer Arbeit wollen wir den Weg, den die beiden eingeschlagen haben, skizzieren und dem Leser dadurch die hohe Zahl an Symmetrien eines Sudokus aufzeigen. Zum Schluss werden wir eine nicht-triviale obere Schranke für die maximale Anzahl von n-Sudokus, also Sudokus mit n2 × n2 Feldern, und eine nicht-triviale untere Schranke für die maximale Anzahl von n2 × n2 großen Lateinischen Quadraten angeben. Interessanterweise können wir daraufhin 4 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka beweisen, dass es im Vergleich zu Lateinischen Quadraten kaum Sudokus gibt. Dabei werden wir primär die Arbeit [4] von Herzberg und Murty aufgreifen und die grobe Struktur ihrer Arbeit beibehalten. 2 2.1 Etwas Graphentheorie Erste graphentheoretische Definitionen Ein endlicher Graph ist eine Menge von endlich vielen Knoten und Kanten. Dabei können Knoten als unterscheidbare Punkte und Kanten als die Verbindungen zweier Knoten symbolisiert werden. Ein Untergraph von G ist eine Teilmenge der Knoten des Graphens G mit allen Kanten zwischen diesen Knoten. Zwei Knoten heißen benachbart zueinander genau dann, wenn sie durch eine Kante verbunden sind. Hat jeder Knoten eines Graphens die selbe Anzahl k an Nachbarn, so nennt man ihn regulär vom Grad k. Eine λ-Färbung eines Graphen ist eine Abbildung f , die jedem Knoten eine natürliche Zahl zwischen 1 und λ zuordnet. Gilt f (x) 6= f (y) für je zwei benachbarte Knoten x und y, so sprechen wir im weiteren Verlauf von einer exakten Färbung. Ist ϕ eine exakte Färbung des Graphens G, so schreiben wir Gϕ für den exakt gefärbten Graphen und nennen ihn exakt. Wenn keine Verwechslungsgefahr zwischen Gϕ und G besteht, so wollen wir statt Gϕ nur G schreiben und G exakt nennen. Die minimale Zahl λ, für die eine exakte Färbung des Graphens G existiert, heiße chromatische Zahl und werde mit χ(G) bezeichnet. Für jeden endlichen Graphen G existiert χ(G) (da man einerseits jeden Graphen mit k Knoten durch k Farben exakt färben kann, aber andererseits mindestens eine Farbe zum Färben braucht. Folglich muss es eine kleinste Anzahl von Farben geben, die den Graphen exakt färbt). Um den ersten Satz zu beweisen, werden wir noch einige Begriffe aus der Graphentheorie verwenden, weswegen wir diese jetzt schon einmal einführen wollen: Sei G ein endlicher Graph und e eine Kante von G, die die Knoten x und y verbindet. Dann bezeichne G/e eine Kontraktion, d.h. wir ersetzen x und y durch einen neuen Knoten, dessen Nachbarn genau die Nachbarn von x und y sind. Allgemein heißt ein Graph G0 eine Kontraktion von G, falls man G0 durch endlich viele Kontraktionen von G erhalten kann. Mit G − e bezeichnen wir den Graph, den wir erhalten, wenn wir in G die Kante e, aber nicht die Endpunkte x und y löschen. 5 Über die Anzahl von Sudokus und Lateinischen Quadraten 2.2 Damian Zawadka Sudokus als Färbeprobleme Nun können wir Sudokus als Färbeprobleme betrachten. Dazu sei jedes Sudokufeld als Knoten aufgefasst und zwei Knoten sind genau dann benachbart, falls sie in einer Reihe, einer Zeile oder einem Untergitter liegen. Jedes vollständige Sudokus ist dann eine exakte Färbung dieses Graphens. Im weiteren Verlauf beschränken wir uns nicht mehr nur auf Sudokus mit (9 × 9)-Feldern, sondern betrachten ein (n2 × n2 )-Gitter S. Jeder Zelle ordnen wir nun ein Paar (i, j) mit 0 ≤ i, j ≤ n2 − 1 zu und nennen zwei Zellen (i, j) und (i0 , j 0 ) benachbart, falls i = i0 , oder j = j 0 , oder bi/nc = bi0 /nc und bj/nc = bj 0 /nc gilt. Dabei ist für x ∈ R mit bxc die größte ganze Zahl ≤ x gemeint. Ein n-Sudoku ist dann eine exakte n2 -Färbung von S. Sind nicht alle Knoten von S gefärbt, aber S lässt sich zu einer exakten n2 -Färbung erweitern, so nennen wir S ein n-Problem. Ein n-Sudoku bezeichnen wir ab jetzt mit Xn . Wir nennen Xn Lösung zum n-Problem P , falls P zu Xn erweitert werden kann und nennen P ein zu Xn zugehöriges n-Problem. Gibt es nur eine Lösung zu P , so nennen wir P eindeutig lösbar. Ein Sudokurätsel zu lösen bedeutet in der Sprache der Graphentheorie dann, dass wir einen teilweise gefärbten Graphen vorgeben und diesen zu einer exakten Färbung des Graphens erweitern, oder genauer, dass wir ein eindeutig lösbares n-Problem haben und die Lösung kennen. Lemma 1. Ein n-Sudoku ist ein regulärer Graph vom Grad 3n2 − 2n − 1 = (3n + 1)(n − 1). Beweis. Es sei (i, j) mit 0 ≤ i, j ≤ n2 − 1 beliebig, aber fest gewählt. Für alle 0 ≤ j 0 ≤ n2 − 1 und j 6= j 0 ist (i, j 0 ) benachbart zu (i, j). Also gibt es in diesem Fall n2 − 1 Nachbarn zu (i, j). Analog für (i, j) und (i0 , j) und 0 ≤ i0 ≤ n2 − 1. Es sei nun bi/nc =: k ∈ N0 . Für jedes α ∈ N0 mit 0 ≤ α < n gibt es ein α0 ∈ Q mit α = α0 n und 0 ≤ 0 nk+α n α0 < 1 und ein i0 ∈ N0 mit i0 = kn + α, für das bi0 /nc = b nk+α c = bk + α0 c = k = bi/nc n c=b n nk+n gilt. Ist α ≥ n und i0 = nk + α, so ist bi0 /nc = b nk+α n c ≥ b n c = bk + 1c = k + 1 > k = bi/nc. Folglich erhalten wir k = bi/nc = bi0 /nc genau dann, wenn i0 = kn + α mit α ∈ {0, 1, . . . , n − 1}, wodurch wir n Möglichkeiten haben ein i0 ∈ {0, 1, . . . , n2 − 1} zu finden, so dass (i, j) und (i0 , j 0 ) benachbart sind. Allerdings sind auch die Fälle i = i0 und j = j 0 mitgezählt. Somit gibt es (n − 1)2 Fälle, dass bi/nc = bi0 /nc oder bj/nc = bj 0 /nc und i 6= i0 oder j 6= j 0 gilt. Damit gibt es 2(n2 − 1) + (n − 1)2 = 2n2 − 2 + 22 − 2n + 1 = 3n2 − 2n − 1 Nachbarn für jedes feste (i, j). 2.3 Das chromatische Polynom Bevor wir den ersten Satz beweisen, müssen wir noch kurz die Begriffe der Halbordnung und der Möbiusfunktion einführen. 6 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Definition 1. Es sei M eine Menge und ≤ eine Verknüpfung auf M . Das Paar (M, ≤) nennen wir eine halbgeordnete Menge, falls ≤ und M folgende Eigenschaften erfüllen: Für x, y, z ∈ M gilt: (a) x ≤ x für alle x ∈ M ; (b) aus x ≤ y und y ≤ x folgt x = y; (c) aus x ≤ y und y ≤ z folgt x ≤ z. Definition 2. Sei (M, ≤) eine endliche, halbgeordnete Menge. Dann ist die Möbiusfunktion rekursiv definiert durch X µ : M × M → Z µ(x, x) = 1, µ(x, y) = 0 für x 6= z. x≤y≤z Lemma 2. Es sei (M, ≤) eine halbgeordnete Menge und f : M → C eine beliebige, komplexwertige P Funktion. Definieren wir g(y) := x≤y f (x), so gilt X f (y) = µ(x, y)g(x). x≤y Beweis. Der Beweis ist sehr geradlinig. Setzen wir die Definition von g(x) ein, so ist: X µ(x, y)g(x) = x≤y X µ(x, y) x≤y X f (z) z≤x Sortieren wir die Summanden nun um, so erhalten wir: X x≤y µ(x, y) X z≤x f (z) = X X f (z) z≤y µ(x, y) = f (y) z≤x≤y | {z =0 f ür z6=y } Jetzt haben wir genug Vorarbeit geleistet, um den folgenden Satz zu beweisen: Satz 1. Sei G ein endlicher Graph mit k Knoten und T ein Untergraph von G mit t Knoten und einer exakten d0 -Färbung. Sei pG,T (λ) die Anzahl der Möglichkeiten eine exakte λ-Färbung von G zu bekommen, wobei die d0 -Färbung von T vorgegeben ist. Für λ ≥ d0 ist dann pG,T (λ) ein normiertes Polynom in λ mit ganzen Koeffizienten vom Grad k − t und wir nennen pG,T (λ) das chromatische Polynom. Wir werden den Satz auf zwei Arten beweisen: Beweis a. Wir definieren für zwei endliche Graphen A, B: A ≤ B :⇐⇒ A ist eine Kontraktion von B. Wir schreiben (G, T ), wenn G und T zwei endliche Graphen sind, mit T Untergraph von G und T exakt. Wir nennen (G0 , T ) eine Kontraktion von (G, T ), falls G0 aus Kontraktionen von G entsteht, wobei jeweils maximal ein Endpunkt der kontrahierenden Kante in T liegt. Die minimale Kontraktion von (G, T ) ist (T 0 , T ), wobei T 0 der Graph T mit einer gewissen Anzahl an Knoten, 7 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka die keine Nachbarn haben, ist. So erhalten wir eine Halbordnung auf der Menge der Kontraktionen von (G, T ). Sei pG0 ,T (λ) die Anzahl der exakten λ-Färbungen der Kontraktionen (G0 , T ) mit der vorgegebenen Färbung von T und sei qG0 ,T (λ) die Anzahl der Möglichkeiten G0 mit λ Farben zu färben, wobei wiederum die Färbung von T vorgegeben ist. Ohne die Restriktion der exakten Färbung kann jeder nicht gefärbte Knoten einen von λ Farben 0 bekommen. Somit ist qG0 ,T (λ) = λk −t , wobei k 0 die Anzahl der Knoten in G0 und t die Anzahl der Knoten in T ist. Sei nun λ ≥ d0 . Haben wir eine beliebige λ-Färbung von (G, T ), so führen wir jedes Mal, wenn zwei benachbarte Knoten die selbe Farbe haben, eine Kontraktion mit der Kante dieser zwei Punkte durch. So erhalten wir eine eindeutige, exakte Kontraktion (G0 , T ). Folglich gibt es zu jeder möglichen Färbung von (G, T ) eine exakte Kontraktion (G0 , T ) und jede exakte Kontraktion (G0 , T ) kann zu einer Färbung von (G, T ) erweitert werden. So erhalten wir: qG,T (λ) = λk−t = X pG0 ,T (λ). T 0 ≤G0 Ist nun λ ≥ d0 fest und T vorgegeben, so definieren wir uns g(G) := P T 0 ≤G0 ≤G pG0 ,T (λ) und f (G0 ) := pG0 ,T (λ) mit T 0 ≤ G0 ≤ G. Durch die Möbiusinversion erhalten wir dann: pG,T (λ) = f (G) = X µ(G0 , G)g(G0 ) = T 0 ≤G0 ≤G X 0 µ(G0 , G)λk −t T 0 ≤G0 ≤G Wie man sieht, haben wir auf der rechten Seite ein ganzzahliges Polynom. Da µ(G, G) = 1 nach Voraussetzung gilt, ist das Polynom normiert und vom Grad k − t. Beweis b. Anstatt den Beweis über Möbiusfunktionen zu führen, können wir den Satz auch per Induktion über die Anzahl der Kanten des Graphens (G, T ) herleiten. 1. Angenommen, die Anzahl der Kanten von G ist gleich der Anzahl von T . Dann gibt es k − t Knoten in G, die keine Nachbarn haben und nicht in T liegen. Wir benennen diese Knoten als vj mit j ∈ {1, . . . , (k − t)}. Da vj zu keinem Knoten benachbart ist, ist G für jede Färbung der vj exakt. Jeder Knoten kann eine von λ Farben bekommen, so dass pG,T (λ) = λk−t gilt. 2. Angenommen, unser Satz ist für k − 1 Kanten bewiesen, wobei k die Anzahl der Kanten von G ist. 3. Sei nun e eine Kante von G, von der maximal ein Endpunkt in T liegt. Ist G exakt, so auch G − e. Andererseits folgt aus der Exaktheit von G − e genau dann eine exakte Färbung von G, wenn sie den beiden Endpunkten x, y der Kante e unterschiedliche Farben zuweist. Die Anzahl der exakten Färbungen von G − e, für die x und y die gleiche Farben haben, ist dabei die Anzahl der exakten Färbungen von G/e. Dies ist offensichtlich, indem man den Punkt 8 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka y entfernt und alle Nachbarn von y mit x verbindet. Da x und y die selben Farben haben, ist G/e genau dann exakt, wenn G − e exakt ist. Die Sachverhalte zusammen genommen, erhalten wir: pG,T (λ) = pG−e,T (λ) − pG/e,T (λ) Da sowohl G/e als auch G − e beide jeweils k − 1 Kanten haben, können wir unsere Induktionsvoraussetzung anwenden. Folglich ist pG−e,T (λ) ein normiertes, ganzzahliges Polynom in λ vom Grad k − t und pG/e,T (λ) ein normiertes, ganzzahliges Polynom in λ vom Grad k − t − 1. In Beweis a. haben Herzberg und Murty in [4] einen Fehler gemacht. Sie haben angenommen, dass die minimale Kontraktion von (G, T ) der Graph (T, T ) sei. Dies ist im Allgemeinen nicht der Fall. Um ein Gegenbeispiel zu erhalten betrachten wir einen beliebigen Graphen T mit einer d0 -Färbung und konstruieren uns einen neuen Graphen G, indem wir zu T einen weiteren Knoten hinzufügen, der keine Nachbarn hat. Dadurch hat jede Kante von G beide Endpunkte in T . Da wir keine Kante finden, die maximal einen Endpunkt in T hat, können wir keine Kontraktion (G0 , T ) von (G, T ) mit G 6= G0 finden. Insbesondere kann (T, T ) keine Kontraktion von (G, T ) sein. An sich ist dies kein gravierender Fehler, das Lösungsverfahren lässt sich leicht modifiziert weiter verwenden. Anstatt die Menge der Graphen G0 mit T ≤ G0 , muss die Menge der Graphen G00 mit T 0 ≤ G00 betrachtet werden. Möglicherweise ist dies der Grund, weswegen die resultierenden Möbiusfunktionen für pG,T (λ), in unserem und dem von Herzberg und Murty in [4] gegebenen Beweis verschieden sind. Korollar 1. Seien die selben Voraussetzungen wie in Satz 1 gegeben. Falls ein Knoten v0 existiert mit d Nachbarn in T , die d0 Farben haben, so gilt pG,T (λ) = 0 für λ < d0 . Beweis. Da λ < d0 ist, finden wir für jede der λ Farben einen Nachbarn von v0 in T , der schon diese Farbe hat. Also können wir keine exakte Färbung von G finden. Satz 2. Sei G ein Graph mit der chromatischen Zahl χ(G) und T eine teilweise Färbung von G mit χ(G) − 2 Farben. Falls G exakt gefärbt werden kann, gibt es mindestens zwei Möglichkeiten die Färbung von G zu einer exakten Färbung zu erweitern. Beweis. Herzberg und Murty beweisen den Satz in [4] intuitiv, nämlich folgendermaßen: Da mindestens χ(G) Farben benötigt werden um G exakt zu färben, können die beiden, in der anfänglichen Situation fehlenden Farben, bei der exakten Färbung getauscht werden und man erhält eine zweite exakte Färbung von G. Rigoros lässt sich der Satz folgendermaßen beweisen: Nach Satz 1 ist pG,T (λ) ein normiertes Polynom mit ganzzahligen Koeffizienten. Es muss gelten, 9 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka dass pG,T (λ) = 0 für λ ∈ {d0 , d0 + 1 . . . χ(G) − 1} ist. Daher können wir auch schreiben: χ(G)−1 Q pG,T (λ) = q(λ) (λ − j) mit einem ganzzahligen Polynom q(λ). Für λ = χ(G) erhalten wir j=d0 χ(G)−1 Y pG,T χ(G) = q χ(G) χ(G) − j = q χ(G) · χ(G) − d0 ! | {z } | {z } j=d 0 ∈Z ≥ 2 für d0 < χ(G) − 1 und da |pG,T χ(G) > 1| und pG,T (λ) die Anzahl der exakten λ-Färbungen von G angibt, gibt es nie genau eine exakte Färbung von G mit χ(G) − 2 Farben. 3 3.1 Färbungen von n-Sudokus Die chromatische Zahl eines n-Sudokus In diesem Abschnitt wollen wir nun die chromatische Zahl eines n-Sudokus bestimmen, so dass wir erste Eigenschaften aus den vorherigen Ergebnissen herleiten können. Definition 3. Mit Kn bezeichnen wir einen n knotigen, regulären Graphen vom Grad n − 1. Dann nennen wir Kn einen vollständigen Graphen. Lemma 3. Für die chromatische Zahl χ(Kn ) eines vollständigen Graphens Kn gilt χ(Kn ) = n. Beweis. Angenommen, es gelte χ(Kn ) < n. Dann gäbe es mindestens zwei Knoten x, y mit derselben Farbe. Da Kn ein regulärer Graph vom Grad n − 1 ist, sind insbesondere auch x und y benachbart im Widerspruch dazu, dass χ(Kn ) die kleinste Anzahl an Farben ist, für die Kn exakt ist. Aber da Kn genau n Knoten hat, ist χ(Kn ) ≤ n. Somit ist χ(Kn ) = n. Satz 3. Für jede natürliche Zahl n existiert eine exakte Färbung des n-Sudokus Xn mit n2 Farben. Die chromatische Zahl von Xn ist χ(Xn ) = n2 . Beweis. Die Knoten des (n × n)-Gitters an der oberen linken Ecke sind bei einem Sudoku alle zueinander benachbart. Folglich ist der Untergraph des (n × n)-Gitters der vollständige Graph Kn2 . Nach Lemma 3 ist also χ(Xn ) ≥ n2 . Jetzt zeigen wir, dass n2 Farben ausreichen, um ein exaktes Xn zu bekommen. Wir bezeichnen die Zellen von Xn wie zuvor mit (i, j), wobei 0 ≤ i, j ≤ n2 − 1 gelte. Für jedes i finden wir natürliche Zahlen ti , di mit 0 ≤ ti , di ≤ n − 1 und i = ti n + di . Analog für j. Der Zelle (i, j) des Graphens Xn ordnen wir nun die ”Farbe” c(i, j) := di n + ti + ntj + dj = di n + ti + j 10 mod n2 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka zu. Um zu zeigen, dass wir eine exakte Färbung erhalten haben, müssen wir noch zeigen, dass für zwei benachbarte Zellen (i, j) und (i0 , j 0 ) folgt, dass c(i, j) 6= c(i0 , j 0 ) ist. Sei also i = i0 . Dann ist ti n + di = ti0 n + di0 genau dann, wenn n(ti − ti0 ) = di0 − di . Wegen −n < −n + 1 ≤ di0 − di ≤ n − 1 < n ist −1 < ti − ti0 < 1 und da ti , ti0 ∈ N0 ist ti = ti0 und somit auch di = di0 . Nehmen wir weiterhin an, dass c(i, j) = c(i0 , j 0 ) gilt, so bekommen wir di n + ti + j = di0 n + ti0 + j 0 ⇔ di n + ti + j = di n + ti + j 0 ⇔ j = j 0 . Also muss (i, j) = (i0 , j 0 ) gelten. Analog verläuft die Argumentation, wenn wir zuerst c(i, j) = c(i0 , j 0 ) annehmen und wegen j = j 0 auf di n + ti = di0 n + ti0 schließen. Wie oben folgern wir daraus, dass di = di0 und ti = ti0 gilt. i Sei nun bi/nc = bi0 /nc und bj/nc = bj 0 /nc. Wegen ti = b ti n+d c = bi/nc = bi0 /nc = b n 0 t0i n+di0 n c = ti0 0 und analog tj = tj 0 , folgt aus c(i, j) = c(i , j ) die Gleichung di n + dj = di0 n + dj 0 die genau dann erfüllt ist, wenn n(di − di0 ) = dj 0 − dj gilt. Hier können wir wie oben schließen und erhalten dj 0 = dj und di = di0 . Also ist (i, j) = (i0 , j 0 ). 3.2 Eindeutigkeit von n-Problemen Nachdem wir etwas über exakte Färbungen von Graphen und die chromatische Zahl von n-Sudokus erfahren haben, wollen wir uns ein paar Gedanken zur eindeutigen Lösbarkeit von n-Problemen machen. Da nach Satz 3 für die chromatische Zahl χ(Xn ) = n2 gilt, müssen bei einem n-Problem mindestens n2 − 1 Zahlen vorgegeben sein, dass es eindeutig lösbar ist. Allerdings sind das nicht die einzigen notwendigen Bedingungen. Anhand dreier fast vollständig ausgefüllter 3-Probleme wollen wir Beispiele angeben, die nicht eindeutig lösbar sind. Andererseits gibt es 3-Probleme, bei denen 17 Einträge und 8 verschiedene Zahlen ausreichen, dass sie eindeutig lösbar sind, wie zum Beispiel: 1 3 2 5 6 7 7 3 4 8 1 1 2 8 4 5 6 Im Beispiel (a) kann man ein (2 × 2)-Untergitter der Form 11 2 7 7 2 oder 7 2 2 7 einsetzt. Im zweiten Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka 5 6 8 4 3 2 7 1 9 1 2 3 4 5 6 7 8 9 3 4 1 9 7 8 2 6 5 7 8 9 1 2 3 4 5 6 9 5 6 1 8 4 3 4 5 6 7 8 9 1 2 3 3 6 9 5 4 8 1 2 1 4 3 6 5 8 9 7 6 8 4 7 1 3 9 5 2 3 6 5 8 9 7 2 1 4 9 1 5 2 8 4 6 3 7 8 9 7 2 1 4 3 6 5 4 5 3 8 2 9 1 7 6 5 3 1 4 2 7 8 1 7 9 3 4 6 5 2 8 4 2 7 8 3 1 8 2 6 1 5 7 3 9 4 7 8 3 1 4 2 5 (a) 5 (b) 1 2 3 4 5 6 7 8 9 7 8 9 1 2 3 4 5 6 4 5 6 7 8 9 1 2 3 2 1 4 3 6 5 8 9 7 3 6 5 8 9 7 2 1 4 8 9 7 2 1 4 3 6 5 5 3 1 6 4 2 9 7 8 4 2 7 8 3 1 7 8 3 1 4 2 (c) Beispiel (b) gibt es ein (3 × 3)-Untergitter, mit 5 . Wir können in das Untergitter sowohl 5 5 5 6 9 9 5 6 6 9 5 als auch 5 9 6 6 5 9 9 6 5 einsetzen. Im dritten Fall (c) können wir ein (2 × 3)-Untergitter mit 6 9 5 9 5 6 oder 9 5 6 6 9 5 einsetzen, wodurch wir bei allen drei Beispielen zwei verschiedene 3-Sudokus erhalten. Satz 4. Sei Xn ein n-Sudoku. Es gebe einen (k × k)-Block Bk , k ∈ (2, 3, . . . , n), der durch k verschiedene Zahlen gefüllt ist, wobei jeweils k Zahlen in einem Block liegen. Sind die zugehörigen n-Probleme eindeutig lösbar, a) so sind mindestens k − 1 Zahlen in Bk vorgegeben. b) so sind Zahlen in mindestens je k − 1 Zeilen und Spalten von Bk vorgegeben. c) gibt es für k > 3 mindestens eine Zeile oder Spalte von Bk , bei der zwei Zahlen vorgegeben sind. Beweis. Wir beweisen den Satz durch Kontraposition. a) Angenommen, Xn erfülle die Voraussetzungen des Satzes. Betrachte ein n-Problem P n , bei dem 12 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka weniger als k − 1 Zahlen in Bk vorgegeben sind. Dann finden wir zwei Zeilen oder Spalten in Bk , in denen keine Zahlen vorgegeben sind. O.B.d.A. finden wir zwei solche Zeilen a1 ... ak a01 ... a0k a01 ... a0k a1 ... ak Vertauschen wir sie zu so erhalten wir einen weiteren (k × k)-Block Bk0 mit dem wir P n lösen können, also ist P n nicht eindeutig lösbar. b) Sind in weniger als k − 1 Zeilen oder Spalten Zahlen vorgegeben, so finden wir ebenfalls zwei Zeilen oder Spalten die keine Einträge haben und schließen wie bei a). 0 c) Ist k > 3 und P n ein n-Problem, bei dem in jeder Zeile und Spalte maximal eine Zahl vorgegeben 0 ist, so gibt es einen Block Bk , der P n löst. Wir finden eine Permutation σ der Zeilen von Bk , 0 so dass die vorgegebenen Zahlen von P n auf der Hauptdiagonalen liegen. Wenden wir σ auf Bk an, spiegeln den neuen Block an der Hauptdiagonalen und wenden anschließend σ −1 auf die Zeilen an, so erhalten wir einen neuen Block Bk0 , der das n-Problem löst. 4 Brute Force Methode zur Bestimmung der Anzahl von n-Sudokus 4.1 Gesamtzahl der 3-Sudokus Wie zu Beginn ordnen wir jeder Zelle unseres n-Sudokus ein Paar (i, j) mit 0 ≤ i, j ≤ n2 − 1 zu. Die Box Bk, mit k ∈ {1, . . . , n2 }, sei die Menge der Zellen, für die k = bi/nc + bj/nc + 1 gilt. Die Menge aller Zellen (i, j) mit festem i, sei die (i + 1)-te Zeile; mit festem j die (j + 1)-te Spalte. Die Menge, für die bi/nc konstant ist, bezeichnen wir als Stapel und für die bj/nc konstant ist, als Band. 13 Über die Anzahl von Sudokus und Lateinischen Quadraten B1 B2 B3 B4 B5 B6 B7 B8 B9 Damian Zawadka Haben wir ein Sudoku gegeben, so gibt es gewisse Operationen die wir durchführen können, um ein neues Sudoku zu erhalten. Wir nennen zwei Sudokus ähnlich, falls sie sich durch eine der folgenden Operationen ineinander überführen lassen: 1. Umbenennung 2. Vertauschung zweier Spalten eines Stapels 3. Vertauschung zweier Zeilen eines Bandes 4. Drehung um 90◦ , 180◦ oder 270◦ 5. Reflexion an einer der Mittelsenkrechten oder an den Hauptdiagonalen ansonsten nennen wir sie wesentlich verschieden. Felgenhauer und Jarvis konnten in [3] zeigen, dass es zwar 6.670.903.752.021.072.936.960 ≈ 6.7×1021 3-Sudokus gibt, aber in einem weiteren Artikel [7] zeigten Russel und Jarvis, dass davon nur 5.472.730.538 ≈ 5.5 × 109 wesentlich verschieden sind. Im Durchschnitt kann man also aus einem Sudoku 1.2 × 1012 ähnliche Sudokus bekommen! Wir wollen jetzt für 3-Sudokus die Operationen etwas verdeutlichen und den Weg skizzieren, wie Felgenhauer und Jarvis in [3] die Anzahl der 3-Sudokus berechnet haben. Im Nachfolgenden bezeichnen wir mit Sudokus ausschließlich 3-Sudokus. 4.1.1 Umbenennung Hat man ein beliebiges Sudoku, z.B. 14 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka 5 6 8 7 1 9 4 3 2 3 4 1 2 6 5 9 7 8 2 9 7 8 4 3 5 6 1 7 3 2 4 8 1 6 9 5 6 8 4 9 5 2 7 1 3 9 1 5 6 3 7 2 8 4 4 5 3 1 7 6 8 2 9 1 7 9 5 2 8 3 4 6 8 2 6 3 9 4 1 5 7 so kann man für jede beliebige Permutation σ ∈ S9 ein neues Sudoku erhalten. Insbesondere kann jedes Sudoku auf die Standardform gebracht werden, d.h. die Box B1 hat die Form: 1 2 3 4 5 6 7 8 9 Gibt es N1 Sudokus in der Standardform, so gibt es also ingesamt N0 = 9! × N1 Sudokus. Für unser Beispiel wäre die Permutation die folgende: 1 → 6 → 2 → 7 → 9 → 8 → 3 → 4 → 5 → 1 und wir erhalten folgendes Sudoku: 4.1.2 1 2 3 9 6 8 5 4 7 4 5 6 7 2 1 8 9 3 7 8 9 3 5 4 1 2 6 9 4 7 5 3 6 2 8 1 2 3 5 8 1 7 9 6 4 8 6 1 2 4 9 7 3 5 5 1 4 6 9 2 3 7 8 6 9 8 1 7 3 4 5 2 3 7 2 4 8 5 6 1 9 Permutationen in einem Stapel Vertauscht man die Spalten in einem Stapel, so bekommt man ein neues Sudoku. Dabei kann man die Spalten insbesondere so vertauschen, dass die Einträge der Zellen in der ersten Zeile jedes Stapels aufsteigend angeordnet sind. Da wir den ersten Stapel unverändert ließen und nur Permutationen im zweiten und dritten durchgeführt haben, ist mit N2 als Anzahl solcher geordneten Sudokus in Standardform N1 = 3! × 3! N2 = 36 N2 . Also ist N0 = 9! × 3! × 3! N2 Führen wir diese Operation an unserem Sudoku durch, so erhalten wir: 15 Über die Anzahl von Sudokus und Lateinischen Quadraten 4.1.3 Damian Zawadka 1 2 3 6 8 9 4 5 7 4 5 6 2 1 7 9 8 3 7 8 9 5 4 3 2 1 6 9 4 7 3 6 5 8 2 1 2 3 5 1 7 8 6 9 4 8 6 1 4 9 2 3 7 5 5 1 4 9 2 6 7 3 8 6 9 8 7 3 1 5 4 2 3 7 2 8 5 4 1 6 9 Vertauschung der Stapel Da nicht nur die Vertauschungen der Spalten in einem Stapel neue Sudokus ergeben, sondern auch das Vertauschen des zweiten und dritten Stapels untereinander, können wir insbesondere die Stapel nach dem ersten und zweiten Schritt so anordnen, dass die Zahl in Zelle (3, 0) kleiner ist als in Zelle (6, 0). Diese Form nennen wir nun lexikographisch. Für unser Beispiel also: 1 2 3 4 5 7 6 8 9 4 5 6 9 8 3 2 1 7 7 8 9 2 1 6 5 4 3 8 4 7 8 2 1 3 6 5 2 3 5 6 9 4 1 7 8 9 6 1 3 7 5 4 9 2 5 1 4 7 3 8 9 2 6 6 9 8 5 4 2 7 3 1 3 7 2 1 6 9 8 5 4 Ist N3 die Anzahl der Sudokus in lexikographischer Form, so ist N2 = 2N3 und folglich N0 = 9! × 3! × 3! × 2 N3 = 26.127.360 N3 . 4.1.4 Vertauschung aller Stapel Bisher haben wir die Sudokus immer in Standardform gelassen. Natürlich können wir aber auch im ersten Stapel die Spalten vertauschen, genauso wie die drei Stapel untereinander. Wenn wir nun wieder die Schritte 1 bis 3 durchführen, so gilt leider nicht, dass wir die Gesamtanzahl der Sudokus um einen Faktor von 3! × 3! × 2! = 72 reduziert haben. Denn durch den letzten Schritt erhalten wir nicht zwangsläufig neue Sudokus. 16 Über die Anzahl von Sudokus und Lateinischen Quadraten 4.1.5 Damian Zawadka Vertauschungen der Zeilen und Bänder Man kann nicht nur die Spalten in einem Stapel oder die Stapel untereinander vertauschen, sondern die selben Operationen sind auch für die Bänder und die Zeilen in den Bändern möglich. Auch hierdurch müssen nicht zwangsläufig neue Sudokus entstehen. Unser Sudoku wäre nach allen Schritten dann in folgender Form: 1 2 3 4 5 7 6 8 9 4 5 6 8 9 3 2 7 1 7 8 9 2 1 6 5 3 4 2 3 5 6 9 4 1 7 8 8 6 1 3 7 5 4 9 2 9 4 7 8 2 1 3 6 5 3 7 2 1 6 9 8 5 4 5 1 4 7 3 8 9 2 6 6 9 8 5 4 2 7 3 1 Felgenhauer und Jarvis behelfen sich in [3] damit, dass sie nur das erste Band in Standardform betrachten. Durch einfache Überlegungen bestimmen sie dann die Anzahl der Möglichkeiten, die beiden Blöcke B2 und B3 zu beschriften. Diese beträgt 2.612.736. Aufgrund der lexikographischen Sortierung müssen sie letztlich nur noch 2.612.736/72 = 36288 Konfigurationen untersuchen. Durch Schritt 4 (Vertauschung aller Stapel) verringern sie die Anzahl der zu betrachtenden Konfigurationen auf nur noch 2051 und durch Schritt 5 (Vertauschung der Zeilen und Bänder), sinkt diese Zahl auf nur noch 416. Untersucht man diese 416 Konfigurationen, so finden sich weitere Möglichkeiten der Reduktion, wie z.B. bei folgenden Konfigurationen: 1 2 3 4 5 8 6 7 9 4 5 6 1 7 9 2 3 8 7 8 9 2 3 6 1 4 5 Man sieht sofort, dass die Anzahl von Sudokus mit dieser Konfiguration des ersten Bandes dieselbe ist wie für die folgende: 1 2 3 4 5 9 6 7 8 4 5 6 1 7 8 2 3 9 7 8 9 2 3 6 1 4 5 Durch solche Überlegungen (in der oberen Konfiguration sind noch weitere derartige Paare vorhanden) haben Felgenhauer und Jarvis die Anzahl der Konfigurationen auf 44 gesenkt. Per Computer haben die beiden anschließend überprüft, wie viele Sudokus mit einer dieser 44 Konfigurationen möglich sind und bewiesen, dass es insgesamt 6.670.903.752.021.072.936.960 verschiedene Sudokus gibt. 17 Über die Anzahl von Sudokus und Lateinischen Quadraten 4.2 Damian Zawadka Anzahl der 2-Sudokus Für 2-Sudokus kann man die vorherigen Überlegungen ebenfalls anstellen. Um ein besseres Gefühl für die hohe Anzahl von Symmetrien zu bekommen, die ein n-Sudoku hat, wollen wir die Anzahl der wesentlich verschiedenen und die Gesamtzahl der 2-Sudokus bestimmen. Im Gegensatz zum Beginn wollen wir die Zelle in der i-ten Spalte und j-ten Zeile mit (i, j) beschriften. Zuerst bringen wir unser Sudoku wieder in Standardform: 1 2 3 4 Durch die lexikographische Sortierung der Zeilen und Spalten müssen wir nur noch folgende 2-Sudoku betrachten: 1 2 3 4 3 4 2 4 Die einzigen möglichen Zahlen in der Zelle (3, 3) sind die 1 und 4. Setzt man dort eine 1 ein, so ergibt sich ein Widerspruch: 1 2 3 4 2 3 4 1 3 4 1 4 Setzen wir eine 4 in Zelle (3, 3) so gibt es drei Möglichkeiten die Zelle (1, 4) zu beschriften: 1 2 3 4 2 3 4 4 4 1 2 3 4 3 2 1 4 4 4 1 2 3 4 2 2 3 4 4 4 3 Diese 3 Konfigurationen können wir nun lösen und wir erhalten die 2-Sudokus: 1 2 3 4 1 2 3 4 1 2 3 4 3 4 1 2 3 4 2 1 3 4 1 2 2 1 4 3 2 1 4 3 2 3 4 1 4 3 2 1 4 3 1 2 4 1 2 3 18 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Allerdings sind das erste und dritte 2-Sudoku ähnlich. Transponiert man das dritte 2-Sudoku und permutiert 2 → 3, so erhält man das erste. Folglich gibt es zwar 4! × 2 × 2 × 3 = 288 verschiedene, aber nur 2 wesentlich verschiedene 2-Sudokus. Weiterhin ist die Frage interessant, wie viele Einträge in den Zellen vorgegeben sein müssen, dass das 2-Sudoku eine eindeutige Lösung besitzt. Nach Satz 2 hat ein 2-Sudoku die chromatische Zahl χ(X2 ) = 3. Ein eindeutig lösbares 2-Sudoku mit 4 Einträgen wäre z.B.: 1 2 4 1 Um zu beweisen, dass 4 die minimale Anzahl an vorgegeben Einträgen ist, müssen wir nur zeigen, dass für 3 vorgegebene Einträge keine eindeutige Lösung existiert. Am einfachsten und schnellsten macht man dies, indem man die beiden wesentlichen verschiedenen 2-Sudokus untersucht und ausnutzt, dass man 3 unterschiedliche Ziffern vorgeben muss. Allerdings gibt es immernoch 4 × 4 × 4 × 4 × 2 = 512 2-Probleme, die untersucht werden müssen. 5 Permanenten und Systeme von unterschiedlichen Repräsentanten In diesem Teil werden wir eine nichttriviale obere Schranke für die Anzahl von n-Sudokus und eine nichttriviale untere Schranke für die Anzahl von Lateinischen Quadraten der Größe n herleiten, wobei n nur genügend groß sein muss. Dafür werden wir vor allem die Permanente einer Matrix A verwenden. Für weitere Details verweisen wir auf [5]. 5.1 Permanenten Definition 4. Ist A eine (n × n)-Matrix, mit aij als dem (i, j)-ten Eintrag, so ist die Permanente von A, bezeichnet mit per A, definiert durch X a1σ(1) a2σ(2) . . . anσ(n) . σ∈Sn Pn Dabei ist Sn die Symmetrische Gruppe auf {1, 2, . . . , n}. Ist weiterhin j 0 =1 aij 0 = 1 für alle Pn 1 ≤ i ≤ n und i0 =1 ai0 j = 1 für alle 1 ≤ j ≤ n, so nennen wir A doppelt stochastisch. Sind die Einträge einer Matrix A ausschließlich 0 und 1, so nennen wir A eine (0, 1)-Matrix. 1981 wurden zwei verschiedene Beweise von D. I. Falikman und von G. P. Egoritsjev geliefert, dass per A ≥ 19 n! nn (1) Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka für jede doppelt stochastische (n × n)-Matrix A gilt. Diese Schranke ist optimal, da für die (n × n)Matrix A mit aij = 1 n gilt: X a1σ(1) a2σ(2) · · · anσ(n) = X 1 n n! = n n n σ∈Sn σ∈Sn Bis dahin wurde die Ungleichung als die ”van der Waerden Vermutung”bezeichnet, da van der Waerden 1926 die Frage aufwarf, welche Matrix die kleinste Permanente habe. Für eine obere Schranke stellte H. Minc 1967 die Vermutung auf, dass für eine (0, 1)-Matrix A mit ri als die Summe der Einträge der i-ten Zeile, gilt: per A ≤ n Y (ri !)1/ri (2) i=1 Bewiesen wurde diese Vermutung 1973 von L. M. Brégman (siehe Seite 82 in [5]). Beide Ungleichungen werden wir verwenden, um die Schranken für unsere n-Sudokus und Lateinische Quadrate zu bestimmen. Definition 5. Es sei S ein (n × n)-Gitter. Jeder Zelle ordnen wir ein Paar (i, j) mit 0 ≤ i, j ≤ n − 1 zu und nennen zwei Zellen (i, j) und (i0 , j 0 ) benachbart, falls i = i0 oder j = j 0 . Eine exakte n-Färbung von S heißt dann Lateinisches Quadrat der Größe n. Eine etwas anschaulichere Definition wäre: Wir betrachten ein Quadrat mit n2 kleineren, gleichgroßen Quadraten. Wenn in jeder Zeile und Spalte jede Zahl aus {1, 2, . . . , n} genau einmal vorkommt, dann nennt man dies ein Lateinisches Quadrat. Ein Beispiel für ein Lateinisches Quadrat wäre: 5.2 1 2 3 4 4 1 2 3 3 4 1 2 2 3 4 1 Systeme von unterschiedlichen Repräsentanten Definition 6. Es seien A1 , A2 , . . . , An Teilmengen der Menge I := {1, 2, . . . , n}. Können wir n paarweise verschiedene Elemente ai ∈ Ai für i ∈ I finden, so nennen wir die Menge {a1 , a2 , . . . , an } ein System von unterschiedlichen Repräsentanten. Lemma 4. Seien A1 , A2 , . . . , An Teilmengen von I := {1, 2, . . . , n}. Sei N (S) := S Aj . Existiert j∈S ein System von unterschiedlichen Repräsentanten, so gilt für jede Teilmenge S von I, dass |N (S)| ≥ |S| ist, wobei |S| die Anzahl der Elemente in S bezeichnet. 20 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Beweis. Angenommen es gäbe eine Teilmenge S von I := {1, 2, . . . , n} für die N (S) < |S| gilt. Da N (S) weniger Elemente als {Aj }j∈S hat |S| = |{Aj }j∈S | , ist es uns nicht möglich |S| paarweise verschiedene Elemente aus N (S) zu wählen. Insbesondere finden wir keine paarweise verschiedenen aj ∈ Aj mit j ∈ S und wegen S ⊆ I finden wir kein System von unterschiedlichen Repräsentanten von A1 , A2 , . . . , An . Die Kontraposition von Lemma 4 wird auch die Hall-Bedingung genannt. Ohne Beweis wollen wir noch einen Satz anführen, den wir im weiteren Verlauf benutzen werden. Den Beweis kann man in [5] nachlesen. Lemma 5 (Halls-Theorem). Mit den Bezeichnungen aus Lemma 4 folgt: Gilt für alle S ⊆ I, dass |N (S)| ≥ |S| ist, so finden wir ein System von unterschiedlichen Repräsentanten von A1 , A2 , . . . , An . Definition 7. Seien A1 , A2 , . . . , An Teilmengen von I := {1, 2, . . . , n} und A eine (n × n) − (0, 1)Matrix bei der der (i, j)-te Eintrag genau dann 1 ist, wenn i ∈ Aj ist. Dann bezeichnen wir A als die zu A1 , A2 , . . . , An zugehörige Hall-Matrix. Satz 5. Seien A1 , A2 , . . . , An Teilmengen von I := {1, 2, . . . , n} und A die zugehörige Hall-Matrix. Dann gibt per A die Anzahl der Systeme von unterschiedlichen Repräsentanten von A1 , A2 , . . . , An an. Beweis. Wir bezeichnen mit aij den (i, j)-ten Eintrag der Hall-Matrix A. Es ist also aij = 1 genau dann, wenn i ∈ Aj . Dann gilt für σ ∈ Sn n Y aiσ(1) = 1 ⇐⇒ aiσ(i) = 1 ∀i ∈ {1, 2, . . . , n} ⇐⇒ i ∈ Aσ(i) ∀i ∈ {1, 2, . . . , n}. i=1 Ist nur ein aiσ(i) 6= 1, so ist aiσ(i) = 0, also n Q aiσ(i) = 0. Damit gelten folgende Gleichungen: i=1 per A = n X Y ajσ(j) = σ∈Sn j=1 n X Y σ∈Sn , i∈Aσ(i) ajσ(j) = j=1 X 1 σ∈Sn , i∈Aσ(i) Die rechte Seite zählt die Anzahl der σ ∈ Sn für die i ∈ Aσ(i) für alle i ∈ I ist. Dies ist gleichbedeutend damit, dass ai := σ −1 (i) ∈ Ai ist. Daher bilden a1 , a2 , . . . , an ein System von unterschiedlichen Repräsentanten. 6 n-Sudokus und Lateinische Quadrate Nun haben wir genug Erkenntnisse gesammelt, so dass wir eine untere Schranke für die Anzahl von Lateinischen Quadraten angeben können. 21 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Satz 6. Die Anzahl der Lateinischen Quadrate mit n × n Einträgen, ist von unten durch (n!)2n /nn 2 beschränkt. Beweis. Für jedes Lateinische Quadrat der Größe n gibt es n! Möglichkeiten die erste Zeile zu beschriften. Angenommen, wir haben bereits k Zeilen des Lateinisches Quadrates und wollen die (k + 1)-te Zeile beschriften. Für jede Zelle i der (k + 1)-ten Zeile definieren wir Ai als die Menge aller Zeilen, die noch nicht in der i-ten Spalte verwendet wurden. Also ist die Anzahl von Elementen in Ai genau n − k. Die (k + 1)-te Zeile des Lateinischen Quadrates zu beschriften ist äquivalent dazu, dass wir ein System von unterschiedlichen Repräsentanten von A1 , . . . , An haben. Nach Satz 5 ist die Anzahl der Möglichkeiten, so ein System zu finden, die Permanente der zugehörigen Hall-Matrix A. Weil (n − k)−1 A doppelt stochastisch ist, erhalten wir mit (1), dass es mindestens (n − k)n n! nn Möglichkeiten gibt, die (k+1)-te Zeile zu beschriften. Multiplizieren wir die Anzahl der Möglichkeiten von k = 0 bis n − 1, so folgt schließlich n−1 Y k=0 n−1 n (n!)n Y (n!)n Y n n! · n! (n − k)n n! (n!)2n n = (n − k) = k = = . nn (nn )n nn2 n n2 n n2 k=0 k=1 Korollar 2. Die Anzahl der Lateinischen Quadrate mit n2 × n2 Einträgen ist mindestens 4 n2n e−2n 4 +O(n2 log n) . 2 4 Beweis. Nach Satz 6 ist die Anzahl der Lateinischen Quadrate der Größe n2 mindestens (n2 !)2n /n2n . Mit Hilfe der Stirlingschen Formel log n! = n log n − n + 1 log n + O(1), 2 folgt: (n2 !)2n log n2n4 2 = 2n2 log(n2 !) − 2n4 log n = 2n2 n2 log n2 − n2 + log n + O(1) − 2n4 log n = 4n4 log n − 2n4 + 2n2 log n + O(n2 ) − 2n4 log n = 2n4 log n − 2n4 + O(n2 log n) 4 = log n2n − 2n4 + O(n2 log n) und wir erhalten 2 4 4 2 (n2 !)2n = n2n e−2n +O(n log n) . n2n4 22 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Ein n-Sudoku hat n2 Boxen. Für jede Box gibt es (n2 )! Möglichkeiten sie genau mit den Zahlen {1, 2, . . . , n2 } auszufüllen. Bei n2 Boxen ist eine obere Schranke für die Anzahl der n-Sudokus n2 folglich (n2 )! . Dies ist aber eine sehr triviale Schranke. Wenden wir die Stirlingsche Formel an, so erhalten wir n2 (n2 )! = elog n2 (n2 )! = en 2 log (n2 )! = en 4 log n2 −n4 +n2 log n+O(1) 4 = n2n e−n 4 +O(n2 ) . Für große n können wir den Verlauf dieser Schranke etwas besser approximieren, wie wir das im folgenden Satz zeigen wollen: Satz 7. Die Anzahl der n-Sudokus ist von oben beschränkt und zwar durch 4 n2n e−2.5n 4 +O(n3 log n) , für n genügend groß. Beweis. Analog zu früher wollen wir die Begriffe Stapel, Spalte, Zeile, Band und Box eines n-Sudokus verwenden. Im weiteren Verlauf definieren wir uns eine Hilfsgröße ν(j, k) := n2 − (j − 1)n − (k − 1). Im ersten Schritt schauen wir uns das erste Band an und bestimmen eine obere Schranke für die Möglichkeiten es auszufüllen. Um die erste Zeile zu füllen, haben wir (n2 )! = ν(1, 1) ! Möglichkeiten. Betrachten wir jetzt die 2. Zeile, so können wir jede Zahl i ∈ I := {1, 2, . . . , n2 } in eine von n2 − n = ν(2, 1) Zellen eintragen, da i bereits in einer der n Boxen liegt und wir i in die Zellen dieser Box nicht mehr eintragen dürfen. Sei Aj die Menge der Zahlen, die in die j-te Spalte der 2. Zeile eingetragen werden dürfen und A die zugehörige Hall-Matrix. Nach Satz 5 ist per A die Anzahl der Möglichkeiten ein System von unterschiedlichen Repräsentanten zu finden. Nach unserer Definition von Aj und A ist per A also die Anzahl von Möglichkeiten die 2. Zeile auszufüllen. Die Zeilensumme von A ist jeweils n2 − n = ν(2, 1) und nach Ungleichung (2) ist 2 per A ≤ n Y (n2 − n)1/(n 2 −n) = (n2 − n)n 2 /(n2 −n) = ν(2, 1) n2 /ν(2,1) . j=1 Analog verläuft die Argumentation für die 3. Zeile und wir erhalten als obere Schranke 2 n (n2 − 2n)! n−2 = ν(3, 1) !n /ν(3,1) . Führen wir die Argumentation nun für jede Zeile des ersten Bandes durch, so erhalten wir als maximale Anzahl von Möglichkeiten das erste Band eines n-Sudokus auszufüllen n−1 Y n (n2 − kn)! n−k = k=0 n−1 Y n n2 /ν(k+1,1) Y n2 /ν(k,1) ν(k + 1, 1)! = ν(k, 1)! . k=0 k=1 23 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Jetzt nehmen wir an, dass wir j − 1 Bänder ausgefüllt haben. Dann können wir jede Zahl i ∈ I in eine von ν(j, 1) = n2 − (j − 1)n Zellen der 1. Zeile eintragen, da i bereits in (j − 1)n Spalten eingetragen ist. Daher ist, mit der selben Argumentation wie zuvor, die maximale Anzahl der Möglichkeiten die erste Zeile auszufüllen n2 2 n2 − (j − 1)n ! n2 −(j−1)n = ν(j, 1) !n /ν(j,1) , und für die Anzahl der Möglichkeiten die 2. Zeile n2 2 n − (j − 1)n + 1 ! n2 − (j−1)n+1 n2 /ν(j,2) = ν(j, 2)! . So gehen wir weiter vor, bis wir die j-te Zeile ausgefüllt haben. Dagegen ändern wir unsere Betrachtungsweise ab der (j + 1)-Zeile, da dann jede Zahl i ∈ I bereits in einer von j Boxen des j-ten Bandes liegt und nur noch in n − j Boxen eingetragen werden kann. Folglich kann jede Zahl i ∈ I nur in n2 − jn Zellen der (j + 1)-ten Zeile des j-ten Bandes eingetragen werden. Also ist die maximal Anzahl, die (j + 1)-te Zeile des j-ten Bandes auszufüllen: n2 n2 /ν(j+1,1) (n2 − jn)! n2 −jn = ν(j + 1, 1)! . Schauen wir uns jetzt die (j + 2)-te Zeile des j-ten Bandes an, so ist jedes i ∈ I bereits in j + 1 Boxen eingetragen und kann nur noch in eine von n2 − n(j + 1) Zellen der (j + 2)-ten Zeile des j-ten Bandes eingetragen werden. Also ist die maximal Anzahl, die (j + 2)-te Zeile des j-ten Bandes auszufüllen n2 n2 /ν(j+2,1) (n2 − n(j + 1))! n2 −n(j+1) = ν(j + 2, 1)! . Diese Betrachtungen führen wir bis zur n-ten Zeile im n-ten Band durch und können jetzt ν(j, k) interpretieren. Ist 1 ≤ k ≤ j ≤ n, so darf jedes i ∈ I in ν(j, k) und ist 1 ≤ j ≤ k ≤ n, so darf jedes j ∈ I in ν(k, 1) Zellen der k-ten Zeile im j-ten Band liegen, falls alle vorherigen Zeilen ausgefüllt sind. Folglich ist die Anzahl Sn der n-Sudokus beschränkt durch: n i−1 Y Y i=1 = ν(i, k + 1)! n2 ν(i,k+1) k=0 n i Y Y i=1 k=1 · n−1 Y n2 ν(l + 1, 1)! ν(l+1,1) ! l=i n Y n2 n2 ν(i, k)! ν(i,k) · ν(l, 1)! ν(l,1) ! l=i+1 Dabei werden wir verwenden, dass folgende Ungleichungen für alle 1 ≤ i, k ≤ n gelten: ν(i, k) = n2 − (i − 1)n − (k − 1) > n2 − in − (k − 1) = ν(i + 1, k) ν(i, k) = n2 − (i − 1)n − (k − 1) > n2 − (i − 1)n − k = ν(i, k + 1) 24 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Insbesondere gilt 1 = ν(n, n) ≤ ν(n − 1, n − 1) ≤ ν(i, k) ≤ ν(1, 1) = n2 für alle 1 ≤ i, k ≤ n − 1. Anstatt Sn schätzen wir erstmal log Sn n2 ab: n i n X n2 n2 ν(l,1) ν(i,k) log Sn 1 X X log ≤ + log ν(l, 1)! ν(i, k)! n2 n2 i=1 k=1 l=i+1 ! n i n X X log ν(i, k) ! X log ν(l, 1)! = + ν(i, k) ν(l, 1) i=1 k=1 ! l=i+1 Die Logarithmen schätzen wir mit der Stirlingschen Formel ab und erhalten log ν(i, k)! log ν(i, k) 1 ≤ log ν(i, k) − 1 + +O 2 . ν(i, k) 2ν(i, k) n Mit den Abschätzungen ! X ! n n i n−1 n−1 X X log ν(n, k) X X log ν(i, k) log ν(i, k) 1 1 = +O 2 + +O 2 2ν(i, k) n 2ν(n, k) 2ν(i, k) n i=1 k=1 i=1 k=1 k=1 ! n n n X X X log ν(1, 1) log ν(1, 1) 1 ≤ + +O 2 2ν(n, n) 2ν(n − 1, n − 1) n i=1 k=1 k=1 log n2 = 0.5n log n2 + 0.5n2 + O(1) ≤ 2n log n + O(1) = O(n log n) n+1 und ! n−1 ! n X X log ν(l, 1) log ν(i, k) 1 1 +O 2 +O 2 = 2ν(l, 1) n 2ν(l, 1) n i=1 l=i+1 i=1 l=i+1 ! n−1 n X X log ν(1, 1) 1 n2 log n2 +O 2 + O(1) ≤ ≤ 2ν(n, 1) n 2 n i=1 n X n X l=i+1 = n log n + O(1) = O(n log n) erhalten wir als ersten Zwischenschritt n i n X X X log Sn 2 + n ≤ log ν(i, k) − 1 + log ν(l, 1) − 1 2 n i=1 k=1 l=i+1 ! n i n X X X ≤ log ν(i, 1) + log ν(l, 1) + O(n log n) = = i=1 k=1 n X i X i=1 k=1 n X + n2 + O(n log n) l=i+1 2 log n − (i − 1)n + n X ! 2 log n − (l − 1)n i log n + i log(n − i + 1) + (n − i) log n + = n log n + + O(n log n) l=i+1 i=1 2 ! n X ! log(n − l + 1) l=i+1 n X i=1 i log(n − i + 1) + n X ! log(n − l + 1) l=i+1 25 + O(n log n). + O(n log n) Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka Um weiter abschätzen zu können, benötigen wir noch folgendes n X n X log(n − l + 1) = i=1 l=i+1 n X ≤ n X n X log (n − i)! = (n − i) log(n − i) − (n − i) + O(log n) i=1 i=1 (n − i) log(n − i + 1) − (n − i) + O(n log n) i=1 ≤ n X (n − i) log(n − i + 1) − n2 + 0.5n2 + 0.5n + O(n log n) i=1 ≤ n X (n − i) log(n − i + 1) − 0.5n2 + O(n log n). i=1 Daher gilt n X log Sn 2 2 + 1.5n − n log n ≤ i log(n − i + 1) + (n − i) log(n − i + 1) + O(n log n) n2 i=1 = n X n log(n − i + 1) + O(n log n) = n log(n!) + O(n log n) i=1 = n2 log n − n2 + O(n log n). Es folgt also log Sn = 2n2 log n − 2.5n2 + O(n log n), n2 woraus wir die gesuchte Ungleichung erhalten: 4 4 Sn ≤ n2n e−2.5n +O(n3 log n) Korollar 3. Sei pn die Wahrscheinlichkeit, dass ein zufällig gewähltes Lateinisches Quadrat der Größe n2 ein n-Sudoku ist. Dann ist pn ≤ e−0.5n 4 +O(n3 log n) Insbesondere ist pn → 0 für n → ∞. Beweis. Nach Satz 7 ist die Anzahl der n-Sudokus von oben durch 4 n2n e−2.5n 4 +O(n3 log n) und nach Satz 6 die der Lateinischen Quadrate der Größe n2 nach unten durch 4 n2n e−2n 4 +O(n2 log n) beschränkt. Daher ist 4 4 3 4 3 n2n e−2.5n +O(n log n) pn ≤ 2n4 −2n4 +O(n2 log n) = e−0.5n +O(n log n) . n e 26 Über die Anzahl von Sudokus und Lateinischen Quadraten 7 Damian Zawadka Schluss Wie in der Einleitung erwähnt, wurde Anfang 2012 gezeigt, dass bei einem 3-Sudoku mindestens 17 Zahlen vorgegeben sein müssen, dass es eindeutig lösbar ist. Wie viele Zahlen bei einem n-Problem mindestens vorgegeben sein müssen, ist eine Frage, die man weiter verfolgen könnte. Bisher haben wir gezeigt, dass mindestens n2 − 1 Zahlen vorgegeben sein müssen. Aber bei 2-Sudokus brauchen wir schon 4 statt 3 Zahlen und bei 3-Sudokus eben 17 statt 8. Folglich ist unsere untere Grenze sehr schwach! Weiterhin lässt sich die obere Abschätzung für die Anzahl der n-Sudokus noch verbessern. Herzberg und Murty stellen in [4] die Vermutung auf, dass limn→∞ log Sn 2n4 log n = 1 gilt. Wie wir in dem Artikel versucht haben darzulegen, kann man aus einem Sudoku viele neue herstellen. Man kann die Operationen, die ähnliche Sudokus herstellen, zu einer mathematischen Gruppe zusammenfassen und dann diese mit gruppentheoretischen Ansätzen untersuchen. Weiterhin kann man die Frage aufwerfen, wie viele wesentlich verschiedene n-Sudokus existieren, bzw. wie der asymptotische Verlauf der Anzahl von wesentlich verschiedenen n-Sudokus aussieht. In Satz 4 haben wir einige notwendige Bedingungen angegeben, die erfüllt sein müssen, dass ein n-Problem eindeutig ist. Vermutlich kann man den Satz noch stärker fassen und es müssen in einem (k × k)-Block wie in Satz 4 nicht nur k − 1 Zahlen vorgegeben sein, sondern sogar k + 1. Die notwendigen Bedingungen lassen sich noch besser bestimmen, wenn man Lateinische Quadrate genauer untersucht. Schließlich ist so ein (k × k)-Block nichts anderes als ein (k × k)- Lateinisches Quadrat. Folglich sind die notwendigen Bedingungen um lateinische Quadrate eindeutig ausfüllen zu können ebenfalls notwendig um eindeutige n-Probleme zu erhalten. Literatur [1] Bammel, S. ; Rothstein, J.: The number of 9 × 9 Latin squares. In: Discrete Math. 11 (1975), S. 93–95 [2] Elsholtz, C. ; Mütze, A.: Sudoku im Mathematikunterricht. In: Mathematische Semesterberichte. Berlin, Heidelberg : Springer Verlag, 2007 [3] Felgenhauer, B. ; Jarvis, A. F.: Mathematics of Sudoku I. In: Mathematical Spectrum 39 (2006), S. 15–22 [4] Herzberg, Agnes M. ; Murty, M. R.: Sudoku Squares and Chromatic Polynomials. In: Notices of the AMS, Volume 54, Number 6 [5] Lint, J. H. V. ; Wilson, R. M.: A Course in Combinatorics. Cambridge University Press, 1992 27 Über die Anzahl von Sudokus und Lateinischen Quadraten Damian Zawadka [6] McGuire, G. ; Tugemann, B. ; Civario, G.: There is no 16-Clue Sudoku: Solving the Sudoku Minimum Number of Clues Problem. http://www.arxiv.org/pdf/1201.0749v1.pdf: , January 2012 [7] Russell, E. ; Jarvis, A. F.: Mathematics of Sudoku II. In: Mathematical Spectrum 39 (2006), S. 54–58 28