Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ein Rätsel für Menschen, die nichts wissen? (Rolf Miller)

Ähnliche Präsentationen


Präsentation zum Thema: "Ein Rätsel für Menschen, die nichts wissen? (Rolf Miller)"—  Präsentation transkript:

1 Ein Rätsel für Menschen, die nichts wissen? (Rolf Miller)
SUDOKU Ein Rätsel für Menschen, die nichts wissen? (Rolf Miller)

2 Agenda Was ist ein Sudoku? Die Geschichte des Sudokus
Mathematische Spielereien Andere Formen von Sudokus Warum sind Sudokus so beliebt? Quellcode und Website

3 Was ist ein Sudoku? Ein Quadrat, im Standard 9x9, befüllt mit den Ziffern 1-9. Jede Spalte, Zeile und jeder 3x3 Block darf die Zahlen 1-9 nur einmal enthalten.

4 Die Geschichte des Sudokus Quer durch die Welt
Vorläufer in Russland: Lateinische Quadrate von Leonard Euler (18.Jahrhundert) Fehlversuch in Frankreich: Rätselquadrate setzen sich nicht durch (19./20.Jahrhundert) Ersterscheinung in Amerika: Rätsel „Number Place“ von Howard Garns (Mai 1979) Namensänderung in Japan: „Sūji wa dokushin ni kagiru“ wird zum abgekürzten „Sūdoku“ (1984) Hype in London: Sudokus in der London Times starten einen weltweiten Siegeszug (2004)

5 Mathematische Spielereien Wie viele Sudokus gibt es?
9x9 Standard Sudokus: Erste beiden Zeilen vertauscht 90° Drehung im Uhrzeigersinn Farben statt Ziffern Horizontal gespiegelt Ohne diese Varianten: ca. 5,5 Miliarden

6 Mathematische Spielereien Wann ist ein Sudoku eindeutig lösbar?
Computerbeweis (2011): Minimale Anzahl an vorbelegten Felder ist 17 ABER: mathematischer Beweis und Begründung fehlen noch! Umkehrung: 77 belegte Felder und nicht eindeutig lösbar Mindestens 8 verschiedene Ziffern in Vorgabe

7 Andere Formen von Sudokus

8 Andere Formen von Sudokus Killer-Sudoku
Bereiche mit kleinen Zahlen versehen Summe aller Felder in diesem Bereich

9 Andere Formen von Sudokus 9 Dragons Sudoku
Auf jeder grauen Linie darf jede Zahl nur einmal vorkommen

10 Andere Formen von Sudokus Clone-Sudoku
Gefärbte Gebiete derselben Form sind identisch

11 Andere Formen von Sudokus Kompass-Sudoku
Die Ziffern in den Kreisen sind in den angrenzenden Kästchen enthalten Relationszeichen geben an welches Kästchen die größere bzw. kleinere Zahl enthält

12 Andere Formen von Sudokus Samurai-Sudoku
Auch bekannt als „Gattai 5“ 5 Standard Sudokus überlappen sich Andere Varianten: Gattai 8, Gattai 13 oder sogar mehr (Monster-Samurai)

13 Warum sind Sudokus so beliebt?
Keine externen Kenntnisse notwendig (Mathe bzw. Kreuzworträtsel) Einfache Regeln (simple Strategien lösen fast jedes Sudoku) Komplizierte Techniken für Hardcore-Fans Spielerisches Gedächtnistraining Sudoku als präventive Maßnahme gegen Demenz Kein Urheberrecht „There seem to be two main types of people in the world: Crosswords and Sudokus.“ Rebecca McKinsey

14 CindyScript Layout <body> <div id="wrapper"> <div id="separator1"> </div> <div id="titel"> <h1>Sudoku</h1> </div> <div id="separator2"> </div> <div id="game"> <canvas id="CSCanvas" width=800 height=600 background= #2f4f4f> </canvas> <div id="separator3"> </div> <div id="tutorial"> <h2>Spielanleitung</h2> <p…Anleitung…</p> <div id="separator4"> </div> </body>

15 CindyScript Skriptaufbau
csinit csmouseup csdraw cskeydown createCindy

16 CindyScript Initialisierung: <script id="csinit">
SudokuE = ((..),(8,4,0,0,0,0,0,2,5,6,5,3,2,0,8,4,1,7,7,1,2,6,0,4,9,8,3,1,8,0,0,4,0,0,7,9,3,0,4,0,8, 0,5,0,1,9,6,0,0,1,0,0,3,4,4,3,1,8,0,5,7,9,2,2,9,8,4,0,1,3,5,6,5,7,0,0,0,0,0,4,8),(..)) WritableE = ((..),(8,4,0,0,0,0,0,2,5,6,5,3,2,0,8,4,1,7,7,1,2,6,0,4,9,8,3,1,8,0,0,4,0,0,7,9,3,0,4,0,8, 0,5,0,1,9,6,0,0,1,0,0,3,4,4,3,1,8,0,5,7,9,2,2,9,8,4,0,1,3,5,6,5,7,0,0,0,0,0,4,8),(..)) SolutionE = ((..),(8,4,9,1,3,7,6,2,5,6,5,3,2,9,8,4,1,7, 7,1,2,6,5,4,9,8,3,1,8,5,3,4,6,2,7,9,3,2,4, 7,8,9,5,6,1,9,6,7,5,1,2,8,3,4,4,3,1,8,6,5, 7,9,2,2,9,8,4,7,1,3,5,6,5,7,6,9,2,3,1,4,8),(..))

17 CindyScript Buttonklick: <script id="csmouseup">
xx=mouse().x; yy=mouse().y; clickedHard=false; if(xx>10 & xx<14 & yy>0 & yy<1,clickedHard = true); if(clickedHard == true, Running = true; Current = false; S = randomint(10) + 1; Sudoku = SudokuH_(S); Solution = SolutionH_(S); Writable = WritableH_(S) );

18 CindyScript Feldklick: <script id="csmouseup">
if(Running == true, Spalten = (0,1,2,3,4,5,6,7,8,9); Zeilen = (0,1,2,3,4,5,6,7,8,9); forall(Spalten, i, if(xx>i & xx<i+1, forall(Zeilen, j, if(yy>j & yy<j+1, if(take(Writable, i*9 + j + 1) == 0, CurrentCol = i; CurrentRow = j; Current = true ) ); X

19 CindyScript Zeichnen (Feld und Buttons): <script id="csdraw">
fillpolygon([(0,0),(0,9),(9,9),(9,0)],color->(255,255,255)); A = (0,3,6,9); forall(A, i, draw([i, 0],[i, 9], size->2.5 )); forall(A, i, draw([0, i],[9, i], size->2.5 )); A = (1,2,4,5,7,8); forall(A, i, draw([i, 0],[i, 9] )); forall(A, i, draw([0, i],[9, i] )); fillpolygon([(10,0),(10,1),(15,1),(15,0)],color->(0.3,1,0.5)); drawpolygon([(10,0),(10,1),(15,1),(15,0)],color->(0,0,0), size->2.5); drawtext((10.15,0.35), "Neues Spiel - Schwer", size->18, family->"Lucida Calligraphy");

20 CindyScript Zeichnen (grüne Felder): <script id="csdraw">
if(Running==true, Spalten=(0,1,2,3,4,5,6,7,8); Zeilen=(0,1,2,3,4,5,6,7,8); forall(Spalten,i, forall(Zeilen,j, if(take(Writable, i*9 + j + 1) == 0, fillpolygon([(i+0.05,j+0.05),(i+0.05,j+0.95),(i+0.95,j+0.95), (i+0.95,j+0.05)],color->(0.7,1,0.7)) ) ); …

21 CindyScript Zeichnen (aktuelles Feld): <script id="csdraw">
If(Running = true, if(Current==true, fillpolygon([(CurrentCol+0.1,CurrentRow+0.1), (CurrentCol+0.1,CurrentRow+0.9), (CurrentCol+0.9,CurrentRow+0.9), (CurrentCol+0.9,CurrentRow+0.1)], color->(0,1,0)) ); …

22 CindyScript Zeichnen (Fehler & Zahlen): <script id="csdraw">
If(Running = true, forall(Spalten,i, forall(Zeilen,j, if(take(Sudoku, i*9 + j + 1) != 0, if(Testing==true, test1 = take(Sudoku, i * 9 + j + 1); test2 = take(Solution, i * 9 + j + 1); if(test1 != test2, fillpolygon([(i+0.1,j+0.1),(i+0.1,j+0.9),(i+0.9,j+0.9),(i+0.9,j+0.1)], color->(1,0,0)); ) ); drawtext((i + 0.5,j ),take(Sudoku,i*9 + j + 1),size->30,align->"mid") ) );

23 CindyScript Tastatur: <script id="cskeydown">
myKey = myKey + key(); if(Current == true, if(key() >= "0" & key() <= "9", Sudoku_(CurrentCol*9 + CurrentRow + 1)= parse(key()) ); Current = false; )

24 Meine Website

25 Quellen Bertram Felgenhauer, Frazer Jarvis: Enumerating possible Sudoku grids (June TU Dresden, University of Sheffield) Agnes M. Herzberg, M. Ram Murty: Sudoku Squares and Chromatic Polynomials (June/July Queen's University) Jean-Paul Delahaye: The Science behind Sudoku (June 2006, Scientific American p )


Herunterladen ppt "Ein Rätsel für Menschen, die nichts wissen? (Rolf Miller)"

Ähnliche Präsentationen


Google-Anzeigen