Springerproblem

Springerproblem
Grafische Lösung
Animierte Lösung

Das Springerproblem ist ein kombinatorisches Problem, das darin besteht, für einen Springer auf einem leeren Schachbrett eine Route zu finden, auf der dieser jedes Feld genau einmal besucht. Eine mehrerer möglicher Verallgemeinerungen besteht darin, Bretter der Größe n x m oder n-dimensionale Bretter zu verwenden. Eine Springertour heißt geschlossen, wenn das Endfeld des Springers einen Springerzug vom Startfeld entfernt ist. Anderenfalls heißt der Weg offen (wie im Diagramm).

Das Springerproblem ist auch unter dem Namen Rösselsprung bekannt. Letzterer Ausdruck bezeichnet allerdings häufiger das Rösselsprungrätsel, bei dem Buchstaben oder Silben in den Feldern des Brettes eingetragen sind, die in der richtigen Reihenfolge durch eine Springertour besucht, einen Lösungssatz oder ein Lösungswort ergeben. Es sei ferner angemerkt, dass das Springerproblem etwas völlig anderes als das Damenproblem ist, doch haben sich die beiden Bezeichnungen historisch eingebürgert.

Inhaltsverzeichnis

Geschichte

Der Schweizer Mathematiker Leonhard Euler behandelte das Springerproblem 1759 mathematisch. Seitdem haben sich viele weitere Mathematiker (unter ihnen Legendre und Vandermonde) und unzählige Hobby-Tüftler mit der Materie beschäftigt.

In den 1950er Jahren entwickelte der Apotheker Gerard D’Hooghe einen Automaten, der eine Springerrundreise von einem beliebig vorgegebenen Ausgangsfeld demonstriert. Die Grundlagen für diesen Automaten stellte er 1962 in dem Buch Les Secrets du Cavalier, Le Problème d’Euler dar. Sein sogenannter t’Zeepaard wurde 1960 während der Schacholympiade in Leipzig öffentlich gezeigt.

Mathematische Grundlagen

Darstellung des Springerproblems für n = 8 als Instanz des Hamiltonkreisproblems.

Das Springerproblem ist ein Spezialfall des Hamiltonpfadproblems, eines bekannten Problems der Graphentheorie, bei dem in einem Graphen alle Knoten genau einmal besucht werden müssen. Wenn von dem letzten Feld der Zugfolge das erste Feld erreicht werden kann, hat man einen Hamiltonkreis gefunden. Das Hamiltonpfadproblem ist NP-vollständig, ein effizienter Lösungsalgorithmus ist also nicht bekannt und existiert, wie allgemein vermutet wird, auch nicht. Dagegen existieren für das Springerproblem effiziente Algorithmen, die unten vorgestellt werden.

Lösungsverfahren

Lösungen des Springerproblems (Brockhaus-Lexikon, 8. Auflage, 1837)

Backtracking-Verfahren

Ein erster Ansatz für einen Algorithmus besteht darin, ein einfaches Backtracking-Verfahren anzuwenden. Hierbei wählt man eine willkürliche Route und nimmt, wenn man in einer Sackgasse angelangt ist, den jeweils letzten Zug zurück und wählt stattdessen einen alternativen Zug aus. Dieser Algorithmus findet auf jeden Fall eine Lösung, sofern eine existiert, er ist jedoch sehr langsam. Auf größeren Brettern kann ein Mensch durch geschicktes Ausprobieren innerhalb viel kürzerer Zeit eine Lösung finden, als dass der einfache Backtracking-Algorithmus zum Ziel kommt.

Warnsdorffregel

Im Jahr 1823 schlug H. C. Warnsdorff eine heuristische Regel vor, die das Finden einer Lösung stark vereinfacht. Nach der Wansdorffregel zieht der Springer immer auf das Feld, von dem aus er für seinen nächsten Zug am wenigsten freie (d. h. noch nicht besuchte) Felder zur Verfügung hat. Diese Regel ist unmittelbar einleuchtend, sie verhindert beispielsweise, dass eines der beiden Felder, die der Springer von einer Ecke aus erreichen kann, frühzeitig besucht wird, so dass der Springer später nicht mehr aus der Ecke entkommen kann. Die Warnsdorffsregel gibt keine Anweisung, was zu tun ist, wenn es mehrere Felder gibt, von denen es gleich wenige im nächsten Zug erreichbare Felder gibt.

Die Warnsdorffregel kann, auch wenn eine Lösung existiert, nicht garantieren, dass diese gefunden wird, und in der Tat gerät der Springer für große Bretter zunehmend oft in eine Sackgasse. Selbst auf einem Schachbrett (n=8) kann der Algorithmus scheitern, wenn man unter mehreren möglichen Alternativen die falschen auswählt, dies ist allerdings sehr unwahrscheinlich.

Hier ansetzend wurden verbesserte Heuristiken entwickelt, unter anderem ein Algorithmus von Squirrel et al., der recht komplizierte Entscheidungsregeln für den Fall mehrerer nach der Warnsdorffregel gleichwertiger Alternativen angibt, jedoch anscheinend für alle Bretter größer als n=75 in linearer Zeit eine Lösung findet (Der formale Korrektheitsbeweis ist bisher nur für n=7 mod 8 geführt). Die Verbindung von Warnsdorffregel und Backtracking-Verfahren ist möglich, führt aber bei großen Brettern wiederum zu exponentiell anwachsender Laufzeit.

Teile und Herrsche

Im Rahmen einer Arbeit für Jugend Forscht entwickelte eine Gruppe verschiedene Algorithmen, mit denen für beliebig große n \times n Felder eine Lösung in eine Laufzeitkomplexität von \mathcal{O}(n^2) gefunden werden kann. In ihrem 1994 veröffentlichten Aufsatz[1] stellten sie ein Verfahren vor, bei dem sie beliebige Schachbretter in kleinere Teilrechtecke mit Größen von 5x5 bis 9x9 aufteilen, für die spezielle Lösungen existieren.

Schwenksches Theorem

Für jedes m\times n Brett, mit m\le n, gibt es eine geschlossene Springertour, es sei denn einer der folgenden drei Fälle liegt vor:

1. m und n sind beide ungerade
2. m = 1,2,4
3. m = 3 und n = 4,6,8

Einen Beweis lässt sich anhand der in der oben genannten Jugend-forscht-Arbeit dargestellten Algorithmen herleiten [2]. Unter den genannten Bedingungen können beliebige Start- und Zielfelder gewählt werden, also auch solche, bei denen von dem Zielfeld wieder auf das Startfeld gesprungen und damit die Springertour geschlossen werden kann.

1. Fall

Man stelle sich vor die Felder seien schachbrettartig schwarzweiß gefärbt. Start- und Endfeld müssen bei einem geschlossenem Weg verschiedene Farben haben. Da der Springer nach jedem Zug seine Feldfarbe wechselt muss er auf seinem Weg genauso viel weiße wie schwarze Felder überschreiten, also eine gerade Zahl an Feldern.

2. Fall

Ist m = 1 oder m = 2 so kann der Springer offenbar nicht jedes Feld erreichen (es sei denn im trivialen Fall des 1x1 Bretts).

Ist m = 4 so sei A1 die Menge der weißen Felder, B1 die Menge der schwarzen Felder, A2 die Menge der Randfelder an den beiden gegenüberliegenden längeren Brettkanten und B2 die Menge aller Felder die nicht zu A2 gehörten, spricht B_2=\!^\complement A_2. B2 hat gleichviel Elemente wie A2.

In jedem Zug ändert der Springer die Feldfarbe und die Feldart zwischen A2 und B2. Letzteres folgt aus folgender Überlegung: Von einem Randfeld (Menge A2) kann der Springer nur auf ein Feld in der Mitte gelangen (Menge B2). Würde der Springer nun einen Zug innerhalb von B2 ausführen (was möglich ist), würde er mehr Felder von B2 besuchen als von A2, was zu keiner Lösung führen kann, weil die beiden Mengen gleich viele Felder umfassen.

Ohne Einschränkung ist das Anfangsfeld ein Element aus A1 und A2. Vertausche hierfür notfalls die Rollen von A1 und B1 und die Rollen von A2 und B2.

Im nächsten Zug ist die Feldfarbe Element aus B1 und B2, dann wieder aus A1 und A2 und so weiter.

Dies zeigt zum einen dass A1 die gleichen Elemente wie A2 hat und zum anderen dass B1 die gleichen Elemente wie B2 hat, somit A1 = A2 und B1 = B2, was offensichtlich nicht stimmt.

3. Fall

Auf den Brettern 3×4, 3×6 und 3×8 lässt sich kein geschlossener Weg finden.

Wege für die Brettgrößen 3×10, 3×12, 3×14 usw. sind möglich, wobei sich das Lösungsmuster wiederholt.

Anzahl geschlossener Touren

Auf einem 6x6-Brett gibt es 9862 und auf einem 8x8-Brett 13267364410532 ungerichtete geschlossene Touren.[3] n \times n-Brettern mit n \le 4 haben keine geschlossene Tour, und für n \times n-Bretter mit n \ge 10 und n gerade ist die Anzahl noch offen.

Auf Brettern mit einer ungeraden Anzahl Feldern gibt es aus Paritätsgründen keine geschlossenen Tour (s. ersten Fall von Schwenksches Theorem).

Siehe auch

Längster kreuzungsfreier Springerpfad

Einzelnachweise

  1. Axel Conrad, Tanja Hindrichs, Hussein Morsy, Ingo Wegener: Solution of the Knight's Hamiltonian Path Problem on Chessboards. Discrete Applied Mathematics, Volume 50, Issue 2, May 1994, Pages 125-134
  2. Eine kurze Reise durch die Welt des Springers
  3. Ingo Wegener Branching Programs and Binary Decision Diagrams, Society for Industrial & Applied Mathematics, Philadelphia, 2000

Literatur

  • Douglas Squirrel, Paul Cull: A Warnsdorff-Rule Algorithm for Knight’s Tours on Square Chessboards. Oregon State REU Program, 1996 (Beschreibung einer Erweiterung der Warnsdorffregel, die das Springerproblem in linearer Zeit löst)

Weblinks

 Commons: Knight's Tours – Sammlung von Bildern, Videos und Audiodateien

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Warnsdorffregel — Grafische Lösung Animierte Lösung Das Springerproblem ist ein kombinatorisches Problem, das darin besteht, für einen Springer auf einem leeren Sc …   Deutsch Wikipedia

  • Backtracking — Der Begriff Rücksetzverfahren oder englisch Backtracking (deut. Rückverfolgung) bezeichnet eine mathematische Problemlösungsmethode innerhalb der Algorithmik. Backtracking arbeitet nach dem Prinzip der Tiefensuche Inhaltsverzeichnis …   Deutsch Wikipedia

  • Damenproblem — a b c d e f g h …   Deutsch Wikipedia

  • Damenspringer — Schachfiguren …   Deutsch Wikipedia

  • Königsspringer — Schachfiguren …   Deutsch Wikipedia

  • Roesselsprung — Dieser Artikel befasst sich mit dem Schachzug und der Rätselart; zur deutschen Militäroperation siehe Operation Rösselsprung; zum Vorstoß deutscher Flottenverbände im Nordmeer 1942 siehe Unternehmen Rösselsprung …   Deutsch Wikipedia

  • Vandermonde — Alexandre Théophile Vandermonde (* 28. Februar 1735 in Paris; † 1. Januar 1796 in Paris) war ein französischer Musiker, Mathematiker und Chemiker. Vandermondes Leidenschaft war das Violinenspielen. Das Interesse an mathematischen Problemen kam… …   Deutsch Wikipedia

  • — Schachfiguren …   Deutsch Wikipedia

  • — Schachfiguren …   Deutsch Wikipedia

  • Professor Layton und die Schatulle der Pandora — Professor Layton und die Schatulle der Pandora …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”