Zum Hauptinhalt springen

cli

Kommandozeilenschnittstelle für den AlphaCube-Löser.

Dieses Modul stellt den Einstiegspunkt für das Kommandozeilen-Dienstprogramm bereit und ermöglicht es Benutzern, Zauberwürfel direkt vom Terminal aus zu lösen. Es analysiert Argumente für die Modellauswahl, die Eingabe des verdrehten Zustands (Scramble), Suchparameter und die Ausführlichkeit der Ausgabe, ruft dann den Kern-Löser auf und gibt das Ergebnis aus.

main

def main()

Kommandozeilen-Dienstprogramm zum Lösen eines Zauberwürfels mit AlphaCube.

Argumente:

  • --model_id/-m (str): Wählen Sie ein bestimmtes Modell zum Lösen aus (Standard: 'small' auf CPU, ansonsten large; eine weitere Wahl ist base).
  • --format/-f (str): Geben Sie das Eingabeformat an ('moves' oder 'stickers').
  • --scramble/-s (str): Definieren Sie den anfänglichen Zustand des Würfels entweder durch eine Zugfolge oder ein als String formatiertes JSON-Wörterbuch.
  • --beam_width/-bw (int): Legen Sie die Strahlbreite (Beam Width) für die Suche fest (Standard: 1024).
  • --extra_depths/-ex (int): Geben Sie zusätzliche Tiefen für die Erkundung an (Standard: 0).
  • --verbose/-v: Aktivieren Sie die ausführliche Ausgabe zum Debuggen und zur Fortschrittsverfolgung.

Rückgabewert:

  • None

Anwendungsbeispiele:

Syntax
alphacube [--model_id MODEL_ID] [--format FORMAT] [--scramble SCRAMBLE]
[--beam_width BEAM_WIDTH] [--extra_depths EXTRA_DEPTHS]
1. Einen Würfel mit Standardeinstellungen lösen
alphacube --scramble "R U R' U'"
2. Einen Würfel mit benutzerdefinierten Einstellungen lösen
alphacube --model_id large --beam_width 128 --extra_depths 2 \
--scramble "R U2 F' R2 B R' U' L B2 D' U2 R F L"
3. Einen Würfel mithilfe einer Sticker-Darstellung lösen
alphacube --format stickers \
--scramble '{ \
"U": [0, 0, 5, 5, 0, 5, 5, 4, 0], \
"D": [1, 3, 3, 4, 1, 1, 4, 1, 3], \
"L": [4, 5, 1, 0, 2, 2, 0, 1, 4], \
"R": [5, 2, 0, 2, 3, 3, 2, 0, 2], \
"F": [4, 3, 2, 4, 5, 1, 1, 4, 3], \
"B": [1, 5, 5, 0, 4, 3, 3, 2, 2] \
}' \
--beam_width 64