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.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. 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 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 Problem Gottes Zahl Größe des Zustandsraums Verdienst / Anmerkungen Jahr N-Puzzle(das verallg. 15-Puzzle) ? ? NP-vollständig, vergleiche Ratner und WarmuthD. 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 1990 15-Puzzle 80(durchschnittlich 52,6) Korf und SchultzeRichard 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). 2005 8-Puzzle 31(durchschnittlich 22) ReinefeldAlexander 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. 1993 3-Puzzle 6(durchschnittlich 3) Reinefeld 1993 Türme von Hanoimit n Scheiben siehe auch Rueda (MS Word; 33 kB) historisch Zauberwürfel 20 (Viertel- und Halbdrehungen) bzw. 26 (nur Vierteldrehungen;Halbdrehung zählt als 2 Vierteldrehungen) Rokicki, Davidson, Dethridge und KociembaGod's Number is 20 (cube20.org), 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 Orakel-Turingmaschine Methoden zum Lösen des Zauberwürfels
Literatur David Joyner: Adventures in Group Theory. Johns Hopkins University Press (2002), ISBN 0-8018-6947-1.
Einzelnachweise
Kategorie:Suchalgorithmus Kategorie:Kombinatorik Kategorie:Spieltheorie Kategorie:Cubing