Wie es funktioniert
AlphaCube baut auf der Deep-Learning-Methode von EfficientCube (TMLR'23) auf und führt Funktionen für ein flexibleres und leistungsfähigeres Lösen ein.
Zu den Hauptmerkmalen gehören:
- Ein fließender Kompromiss zwischen Geschwindigkeit und Qualität, gesteuert durch die Anpassung der Suchbreite.
- Ergonomisches Lösen, das die Suche so beeinflusst, dass Lösungen gefunden werden, die für menschliche Hände schneller ausführbar sind.
Diese Funktionen werden durch die probabilistische Natur der zugrunde liegenden Methode ermöglicht.
Die Kernmethode: EfficientCube
Im Kern verwendet AlphaCube ein tiefes neuronales Netzwerk (DNN), das darauf trainiert ist, die Wahrscheinlichkeit von Zügen vorherzusagen, die einen verdrehten Würfel näher an den gelösten Zustand bringen. Der Löser wendet nacheinander die besten Züge an, um eine Lösung zu finden.
Unter der Haube gibt das DNN nicht nur einen einzigen Zug aus, sondern eine Wahrscheinlichkeitsverteilung über alle möglichen nächsten Züge, wobei die Qualität jedes Kandidaten bewertet wird.
Anhand dieser Wahrscheinlichkeiten verwendet der Löser einen Beam-Search-Algorithmus, um eine begrenzte Menge der vielversprechendsten Zugfolgen zu untersuchen. Durch Anpassen des beam_width
-Parameters steuern Sie, wie viele Sequenzen untersucht werden, was es Ihnen ermöglicht, Rechenzeit gegen kürzere, qualitativ hochwertigere Lösungen einzutauschen.
Geschwindigkeitsoptimale Lösungen
Durch die Nutzung des probabilistischen Kerns kann AlphaCube Lösungen finden, die nicht nur kurz, sondern auch ergonomisch sind. Dies wird durch die Anwendung einer ergonomischen Gewichtung (ergonomic bias) erreicht.
Indem Sie ein Wörterbuch mit Zugpräferenzen (ergonomic_bias
) bereitstellen, definieren Sie eine Art Wünschbarkeitsverteilung. Der Löser kombiniert diese mit den vom Modell vorhergesagten Wahrscheinlichkeiten und verzerrt die Suche, um Züge zu bevorzugen, die sowohl nahezu optimal als auch einfach auszuführen sind, was zu einer minimalen Ausführungszeit führt.
Dies formuliert die Suche neu als das Finden des kürzesten Weges auf einem gewichteten Graphen, bei dem die Kantengewichte ihre Ausführungsfreundlichkeit darstellen. Indem Sie die Gewichtung an Ihre Vorlieben anpassen, erhalten Sie Lösungen, die nicht nur effizient, sondern wirklich für Ihre Finger optimiert sind.