Gottes Algorithmus

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Gottes Algorithmus (englisch God’s Algorithm) ist ein Begriff aus Diskussionen über die optimale Lösung des Zauberwürfels. Die Formulierung stammt von dem englischen Gruppentheoretiker John Conway oder einem seiner Kollegen in Cambridge.[1] Sie kann auch auf andere Probleme der Kombinatorik und Spieltheorie bezogen werden. Ein Algorithmus wird als Gottes Algorithmus für ein Problem oder Puzzle bezeichnet, wenn er stets eine Lösung mit kleinstmöglichster Anzahl von Schritten oder Zügen produziert.

Anwendungsbereich und Definition[Bearbeiten | Quelltext bearbeiten]

Der Begriff Gottes Algorithmus bezieht sich jeweils auf ein Problem oder Puzzle, das eine endliche Anzahl von „Konfigurationen“ annehmen kann, in Verbindung mit einer eher kleinen, wohldefinierten Menge an „Zügen“, die Transformationen zwischen Konfigurationen darstellen. Ein Puzzle lösen heißt, von irgendeiner willkürlichen Startkonfiguration aus eine oder mehrere bestimmte spezifische „Endkonfigurationen“ (von endlicher Anzahl) durch die Anwendung einer Sequenz von Zügen zu erreichen. Eine solche Zugsequenz entspricht einer Lösung des Puzzles.

Auf einige gut bekannte Puzzle trifft die Beschreibung zu, z. B. Mechanische Geduldspiele wie den Zauberwürfel, Türme von Hanoi und das 15-Puzzle. Auch Solitaire zählt dazu, ebenso viele Logik-Puzzle wie das Problem der Missionare und Kannibalen. Ihnen gemeinsam ist die mathematische Modellierbarkeit als gerichteter Graph, wobei die Konfigurationen den Knoten („Punkten“) und die Züge den Kanten („Pfeilen“) des Graphen entsprechen. Eine lösende Zugsequenz (eine Lösung des Puzzles) entspricht dabei einem (gerichteten) Pfad im Graphen, der von einer Ausgangs- zu einer Endkonfiguration führt.

Ein Algorithmus heißt lösend, wenn er zu einer willkürlichen Anfangskonfiguration als Eingabe

  • eine Lösung ausgibt, falls das Puzzle von der Anfangskonfiguration lösbar ist, und andernfalls
  • ausgibt, dass es keine Lösung gibt.

Eine Lösung heißt optimal, wenn die Sequenz von Zügen so kurz wie möglich ist. Ein lösender Algorithmus für ein Puzzle wird Gottes-Algorithmus genannt, wenn er stets eine optimale Lösung ausgibt. Gottes Zahl schließlich ist definiert als die Länge der längsten Zugsequenz unter allen optimalen Lösungen für das Puzzle.

Ein echter „Gottes-Algorithmus“ soll auch praktikabel sein, d. h. nicht außergewöhnlich viel Speicherplatz oder Zeit benötigen. Bei vielen Puzzles könnte man zwar mit Hilfe einer riesigen Lookup-Tabelle, indiziert über alle Startkonfigurationen, schnell eine Lösung ausgeben können, aber dieses Vorgehen würde zu viel Speicherplatz erfordern.

Anstatt nach einer vollständigen Lösung zu fragen, kann man auch nach dem besten ersten Einzelzug nach der Startkonfiguration fragen. Ein Algorithmus für einzelne Züge kann in einen Algorithmus für die Gesamtlösung transformiert werden, indem man ihn bis zur Schlusskonfiguration wiederholt. Umgekehrt kann so auch der Algorithmus für die Gesamtlösung in Algorithmen für Einzelzüge zerlegt werden.

Beispiele[Bearbeiten | Quelltext bearbeiten]

Problem Gottes Zahl Größe des Zustandsraums Verdienst / Anmerkungen Jahr
N-Puzzle
(das verallg. 15-Puzzle)
? ? NP-vollständig, vergleiche Ratner und Warmuth[2] 1990
15-Puzzle 80
(durchschnittlich 52,6)
Korf und Schultze[3] 2005
8-Puzzle 31
(durchschnittlich 22)
Reinefeld[4] 1993
3-Puzzle 6
(durchschnittlich 3)
Reinefeld[4] 1993
Türme von Hanoi
mit n Scheiben
siehe auch Rueda[5] historisch
Zauberwürfel 20 (Viertel- und Halbdrehungen)
bzw. 26 (nur Vierteldrehungen;
Halbdrehung zählt als 2 Vierteldrehungen)

Rokicki, Davidson, Dethridge und Kociemba[6], siehe auch Optimale Lösungen des Zauberwürfels 2010
bzw. 2014
Schach ? ? Eine Endspieldatenbank im Schach findet den kürzesten Weg zum Schachmatt.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Literatur[Bearbeiten | Quelltext bearbeiten]

  • David Joyner: Adventures in Group Theory. Johns Hopkins University Press (2002), ISBN 0-8018-6947-1.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Vgl. Jerry Slocum: The Cube. The Ultimate Guide to the World's Bestselling Puzzle. Secrets – Stories – Solutions. New York: Black Dog & Leventhal, 2009, S. 26.
  2. D. Ratner, M. Warmuth: Finding a shortest solution for the (N X N)-extension of the 15-puzzle is intractable. Journal of Symbolic Computation 10 (1990), S. 111–137
  3. Richard E. Korf; Peter Schultze: Large-Scale Parallel Breadth-First Search (PDF; 104 kB). In: AAAI Conference On Artificial Intelligence. Proceedings of the 20th national conference on Artificial intelligence 3 (2005), S. 1380–1385, hier S. 1384–1385 (Fifteen Puzzle), Table 2 (States as a Function of Depth for Fifteen Puzzle).
  4. a b Alexander Reinefeld: Complete Solution of the Eight-Puzzle and the Benefit of Node Ordering in IDA*. In: Proceedings of the 13th International Joint Conference on Artificial Intelligence (1993), Chambery Savoi, France, S. 248–253.
  5. Carlos Rueda: „An optimal solution to the Towers of Hanoi Puzzle“ (MS Word; 33 kB)
  6. God's Number is 20 (cube20.org)