Einführung in das Teilprojekt „Dem Sudoku auf der Spur“

Slides:



Advertisements
Ähnliche Präsentationen
Sudoku Übersicht Spielregeln Strategien Knoch
Advertisements

Hier einige Hieroglyphen:
PC-Senioren Ludwigsburg
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Mit dem Computer kann man ganz toll präsentieren
Constraint Satisfaction Problems
Vom graphischen Differenzieren
Mathematik 9. Jahrgang: Zentrische Streckung
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
FH-Hof Optimierungsverfahren für kombinatorische Probleme Richard Göbel.
Algorithmus. Ein Kochrezept, zum Beispiel: Kartoffelbrei.
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
Kapitel 5 Stetigkeit.
Kapitel 1 Das Schubfachprinzip
Die Türme von Hanoi Die Lösungsfindung nach dem Prinzip der Rekursion wird noch einmal textuell und grafisch erläutert
Beispiele für Gleichungssysteme
Die Funktionsgleichung
Was ich gern lese Lesetagebuch von
Gymnasium Horn – Bad Meinberg
Übungen zur Vorlesung Stochastik und ihre Didaktik
und relative Häufigkeit Bettina delert, andreas mertke
| Datum | Titel | Name | Sonstiges |
Wie macht man ein Sudoku? Transformations-Methode:
Kakuro Regeln und Strategien
Vigenère Verschlüsselung
Eine Bewerbung schreiben
Wie man eine einfache Präsentation erstellt...
Willkommen bei Sycarus – dem Mathematikprogramm, das neue Wege geht.
Unterwegs im Internet.
Microsoft Outlook Express zur Einführung von Microsoft Outlook Express. Willkommen Erstellt von IT-Intern.
Arbeitsanweisungen.
Endliche Automaten Informatik JgSt. 13, Abitur 2009
Effiziente Algorithmen
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
§3 Allgemeine lineare Gleichungssysteme
Lineare Gleichungen Beispiel: 7x – 2 = 40 Eine Gleichung muss man sich so vorstellen wie eine Waage. Legt man auf die eine Seite Äpfel, so muss man auf.
Gleichungen und Gleichungssysteme
Ich habe mir mal die Mühe gemacht, aus dem
Datenreihen erzeugen –
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Wahrscheinlichkeitsrechnung
Kombinatorische Aspekte auf dem 9-Nagel-Geobrett
Wilhelm Söhne, Klasse 8b, Januar 2009
Ausgangslage 1 Land Name der Stadt Name Wettbewerbsgebiet Schwäche Schwäche des Gebietes Probleme Problem des Gebietes Stärken Stärke des Gebietes Chancen.
Strategie der Modellbildung
Lösen von quadratischen Ungleichungen
Sind Sie intelligent ? Diese Frage ist wichtig (da man ja denkt, dass man intelligenter ist als der Idiot von einem Nachbarn) Hier nun vier Fragen, die.
ENDLICHE KÖRPER RSA – VERFAHREN.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Das Traveling Salesman Problem (TSP)
Herzlich willkommen in Oberpullendorf! Üdvözöllek Felsőpulyán!
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
„Deutschland tritt seit langem für eine durchgreifende Reform …
Vom graphischen Differenzieren
Grammatikalische Begriffe im Unterricht
Installation, Konfiguration, Online stellen, Zugriff © by Lars Koschinski 2003.
Optimierungs- Algorithmen
Lineare Gleichungen Allgemeine Einführung Äquivalenzumformungen
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Chemie Olympiade Forschungsthema: Der Atombau.
Vorstellen und Herleiten der Horner Schemas
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Didaktik III : Der GTR im Mathematikunterricht Klassenstufe 8: Lineare Gleichungen und Gleichungssysteme Referentinnen: Nadine Ackermann & Christina Loch.
Arbeiten mit WordSmith 4. Inhalt 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus) 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus)
Lineare Optimierung Nakkiye Günay, Jennifer Kalywas & Corina Unger Jetzt erkläre ich euch die einzelnen Schritte und gebe Tipps!
 Präsentation transkript:

Einführung in das Teilprojekt „Dem Sudoku auf der Spur“ Projektbetreuer: Uwe Gotzes Projektgrundlage: Artikel „Mathematik für den Volkssport“ in DMV-Mitteilungen II/06, 93-96, 2006 von Volker Kaibel und Thorsten Koch.

Worum geht‘s? Wir möchten hier eine Modellierung diskutieren, mit der ein Sudokurätsel mit mathematischen Methoden und Software gelöst werden kann. Zunächst werden die Sudokuregeln besprochen. Anschließend wird einführend eine (relativ einfache) verwandte Problemstellung mit den uns zur Verfügung stehenden Werkzeugen behandelt. Schließlich soll von Euch ein Modell für das Sudokuproblem selbstständig erarbeitet und mit Hilfe eines bereitgestellten Softwarepakets gelöst werden. Abschließend könnt Ihr Eure Projektergebnisse in einer PowerPoint Präsentation aufbereiten. Mit etwas Glück räumt Ihr mit Eurer Präsentation einen Preis ab und habt die Möglichkeit die Ergebnisse Eures Projekttags am 13.9. einem interessierten Publikum vorzustellen.

Die Sudokuregeln Beim Sudoku ist die Aufgabe, ein Feld wie in der Abbildung so zu vervollständigen, dass in jeder Zeile, in jeder Spalte, und in jedem der angedeuteten 3 x 3 - Quadrate jede der Zahlen 1,2,…,9 genau einmal vorkommt. Der Rätselsteller garantiert dabei, dass die Vervollständigung eindeutig ist. Dieses Sudoku erfüllt zwar nicht die ästhetischen Ansprüche von Sudoku-Meistern (weil die Einträge nicht symmetrisch verteilt sind), kommt aber dafür mit der derzeit kleinsten bekannten Anzahl von 17 vorgegebenen Zahlen aus.

Volkssport Sudoku Warum Millionen Deutsche dem Zahlenrätsel verfallen sind (Artikel im „Stern“ vom 24. Mai 2006) Kommt hier ein großes bisher verborgenes Potential von Mathematik-Begeisterung zum Vorschein? Oder ist es doch eher so, wie die britische Zeitung „The Independent“ seine Sudokus bewirbt: „There is no math involved“? Natürlich ist hier Mathematik involviert, z.B., wenn man fragt, wie viele ausgefüllte Sudokus es denn gibt, oder bei der bisher ungelösten Frage nach der (viel größeren) Zahl der verschiedenen Sudokurätsel. Unbekannt ist bislang auch die minimale Anzahl an Einträgen, die bei richtiger Positionierung ein eindeutig lösbares Sudoku nach sich ziehen.

Ob das manuelle Lösen eines Sudokurätsels nun als Mathematik gewertet werden darf oder muss, soll nicht unser Thema sein. Wir möchten hier eine Modellierung diskutieren, mit der ein Sudokurätsel mit mathematischen Methoden und Software gelöst werden kann. Diese Software wird in vielen Anwendungsbereichen wie der Telekommunikation, dem Transport oder dem Nahverkehr eingesetzt. Unser Projekt ist als eine Einladung in ein Gebiet gedacht, das sowohl mathematisch faszinierend als auch für Anwendungen in Schlüsseltechnologien sehr fruchtbar ist: Die sogenannte ganzzahlige lineare Programmierung. Sudokus kann man leicht mit Hilfe von 81 Variablen xi,j  {1,2,...,9} (i, j  {1,2,...,9}) modellieren, wobei xi,j = k bedeutet, dass im Feld (i, j) (d.h Zeile i, Spalte j) die Zahl k steht. Die Sudokuregeln übersetzen sich dann in haufenweise Ungleichheitsbedingungen der Art x2,3 ≠ x2,7 (d.h. in Zeile 2 darf in der 3. Spalte nicht die gleiche Zahl stehen, wie in der 7. Spalte). Allerdings sind solche Ungleichheitsbedingungen in der Regel mit dem Computer schwierig zu behandeln. Wir verwenden deswegen eine etwas andere Modellierung. Dazu werden wir Variablen einführen welche nur die Werte 0 und 1 annehmen dürfen (sogenannte Binärvariablen). Das Vorgehen wird im Folgenden an einem verwandten Problem erläutert.

Das Damenproblem Das Damenproblem ist eine Denksportaufgabe: Man finde eine Stellung für acht Damen auf einem Schachbrett derart, dass keine zwei Damen sich gegenseitig nach den Regeln des Schach schlagen können (die Figurenfarbe wird dabei ignoriert, und es wird angenommen, dass jede Figur jede andere angreifen könnte). Anders gesagt sollen sich keine zwei Damen die gleiche Reihe, Linie oder Diagonale teilen. Zur mathematischen Modellierung diese Problems führen wir 64 sogenannte Binärvariablen, d.h. Variablen die nur die Werte 0 und 1 annehmen, ein. xi,j  {0,1} für alle i, j = 1,…,8 (insg. 64 Variablen). i durchläuft dabei die 8 Reihen, j die 8 Spalten des Spielbretts. xi,j=1 soll bedeuten, dass im Feld (i,j) eine Dame platziert wird. xi,j=0 soll bedeuten, dass im Feld (i,j) keine Dame platziert wird.

Modellierung der Regeln für das Damenproblem Die Bedingung „keine zwei Damen in die gleiche Reihe“ lässt sich dann für die, sagen wir 3. Reihe folgendermaßen mathematisch formulieren: x3,1+x3,2+x3,3+x3,4+x3,5+x3,6+x3,7+x3,8 ≤ 1 Was bedeutet dies in Worten? „Keine zwei Damen in die gleiche Spalte“ übersetzt sich in ganz ähnlicher Weise in die Sprache der Mathematik. Wie? Wenn wir die obigen Bedingungen für alle Zeilen und Spalten berücksichtigen, haben wir gewissermaßen das Problem für „Türme“ beschrieben. Damen können aber auch diagonal schlagen. Wie lässt sich dies mathematisch beschreiben? Überlegt Euch die Formeln für ein „3 x 3 – Schachbrett“. Jetzt geht‘s ans Rechnen! Geht dazu bitte in den Ordner D:\Eigene Dateien\JDM\Queens und öffnet die Datei queens.zpl mit dem Windows-Texteditor. Erkennt Ihr die besprochenen Bedingungen wieder? Überlegt Euch die Bedingung für die Spalten und fügt diese der Modelldatei queens.zpl hinzu. Auch die zweite Gruppe von Bedingungen für diagonales Schlagen fehlt noch. Wenn Ihr die Formulierung verstanden habt, schließt die Datei wieder und öffnet die cmd.exe durch Doppelklick. Gebt nun „scip –f queens.zpl –l queens.txt“ in der cmd (dem schwarzen Fenster) ein. Damit wendet Ihr ein leistungsfähiges Optimierungsverfahren, für dessen Grundform es einst sogar einen Nobelpreis gab und das erfolgreich in der Industrie eingesetzt wird auf das Damenproblem an. Die Lösung findet Ihr anschließend in queens.txt. Was muß in der Modelldatei geändert werden um, sagen wir mal ein 100x100-Schachbrett zu benutzen? Wie lässt sich die Stellung einzelner Damen vor der Lösung fixieren? Wie lässt sich feststellen ob es noch weitere Lösungen gibt?

Nun zurück zu unserem Sudoku-Problem Bestimmt sind euch einige Gemeinsamkeiten zwischen dem Damenproblem und Sudoku aufgefallen. Ziel ist nun die Entwicklung eines Modells für das Sudokuproblem, welches die Sudoku-Regeln beschreibt, jedoch nicht so wie in der Einleitung angedeutet, sondern mit Binärvariablen und ohne Ungleichheitsbedingungen. Dieses soll anschließend in der selben Sprache wie das Damenproblem (diese heißt ZIMPL) formuliert werden, so dass es der Optimierungssoftware scip mit >scip –f sudoku.zpl –l sudoku.txt zur Lösung übergeben werden kann. Auf geht‘s!

Zusatzaufgaben Löse die beiden Sudokus, die in dieser Einführung vorkommen mit scip. Gibt es eine Möglichkeit zu überprüfen, ob die Lösung eindeutig ist? Gibt es eine Möglichkeit alle Lösungen ausfindig zu machen? Wie lässt sich das Modell auf 16 x 16, 25 x 25, … - Sudokus verallgemeinern?

Nun geht es noch darum, dass Ihr Eure Ergebnisse angemessen darstellt Nun geht es noch darum, dass Ihr Eure Ergebnisse angemessen darstellt! Dazu bietet sich die MS Office-Anwendung PowerPoint an. Wie Ihr wisst, soll die Präsentation am Ende des Tages abgegeben werden. Die drei besten Präsentationen zu jedem Thema werden während der Abschlussveranstaltung am 13.09.2008 bekannt gegeben und mit einem Preis geehrt. Außerdem stellen die jeweils Erstplatzierten ihre Projektergebnisse vor. Unter D:\Eigene Dateien\JDM\Vorlage findet Ihr eine Vorlage zur Erstellung der Präsentation.

Zusatzinfo: Ganzzahlige lineare Programmierung Das Sudokuproblem kann also als die Aufgabe modelliert werden, eine ganzzahlige, nicht negative Lösung eines linearen Gleichungssystems (oder Ungleichungssystems) zu bestimmen. Dieses algorithmische Problem, meistens in der Variante, dass unter allen Lösungen eine gefunden werden soll, die eine gegebene lineare Zielfunktion optimiert, ist als ganzzahlige lineare Programmierung bekannt. Lässt man die Ganzzahligkeitsbedingungen eines ganzzahligen linearen Programms weg, so erhält man ein kontinuierliches lineares Programm. Um dieses zu lösen gibt es mehrere Verfahren, allen voran das 1947 von Dantzig entwickelte, in der Praxis sehr erfolgreiche Simplexverfahren. Die Lösungsmenge eines linearen Ungleichungssystems ist geometrisch ein (i.A. hochdimensionaler) von geraden Flächen begrenzter Körper. Man kann zeigen, dass die Menge auf der die Zielfunktion den bestmöglichen Wert annimmt stets eine Ecke enthält. Die Simplexmethode nutzt dies sehr geschickt aus. Sie startet mit einer Ecke und wandert dann zu einer besseren Ecke. Da es nur endlich viele Ecken gibt, wird so irgendwann das Optimum erreicht. Das Simplex-Verfahren läuft von einer Ecke eines Vielecks zur nächsten, bis keine Verbesserung mehr möglich ist.

Sind nun zusätzlich Ganzzahligkeitsforderungen zu erfüllen, so werden diese zunächst vernachlässigt, so dass man die Simplexmethode anwenden kann. Die Lösung der kontinuierlichen Relaxierung des Sudokumodells ist nicht notwendigerweise ganzzahlig. Wird aber zusätzlich eine Variable testweise auf 0 oder 1 fixiert, kann es passieren, dass die kontinuierliche Relaxierung keine zulässige Lösung mehr hat, mit der Folge, dass die Variable den anderen Wert annehmen muss. Berliner Mathematiker haben dies bei 15.000 verschiedenen Sudokus nacheinander für beide möglichen Werte aller Variablen durchgeführt. Trägt man die so ermittelten fixen Werte in das Problem ein, war danach in allen Fällen die Lösung der kontinuierliche Relaxierung ganzzahlig und damit das Sudoku gelöst. Zunächst wird die kontinuierliche Relaxierung des ganzzahligen Problems gelöst (1). Ist diese nicht ganzzahlig, so gibt es zwei Möglichkeiten fortzufahren: Hinzufügen von Schnittebenen (2) oder Zerlegen (3).

Weiterführende Literatur Volker Kaibel und Thorsten Koch. Mathematik für den Volkssport. DMV-Mitteilungen II/06, 93-96, 2006. http://opus.kobv.de/zib/volltexte/2006/922/pdf/ZR-06-28.pdf Tobias Achterberg. SCIP – a framework to integrate constraint and mixed integer programming. Technical Report 04-19, Zuse-Institut Berlin, 2004. http://scip.zib.de Thorsten Koch. Zimpl (Zuse Institute Mathematical Programming Language) User Guide. http://zimpl.zib.de/download/zimpl.pdf