cli
Interface en ligne de commande pour le solveur AlphaCube.
Ce module fournit le point d'entrée pour l'utilitaire en ligne de commande, permettant aux utilisateurs de résoudre des Rubik's Cubes directement depuis le terminal. Il analyse les arguments pour la sélection du modèle, l'entrée du mélange, les paramètres de recherche et la verbosité, puis invoque le solveur principal et affiche le résultat.
main
def main()
Utilitaire en ligne de commande pour résoudre un Rubik's Cube avec AlphaCube.
Arguments:
--model_id
/-m
(str) : Choisir un modèle spécifique pour la résolution (par défaut : 'small' sur CPU, sinonlarge
; un autre choix estbase
).--format
/-f
(str) : Spécifier le format d'entrée ('moves' ou 'stickers').--scramble
/-s
(str) : Définir l'état initial du cube en utilisant soit une séquence de mouvements, soit un dictionnaire JSON sous forme de chaîne de caractères.--beam_width
/-bw
(int) : Définir la largeur du faisceau (beam width) pour la recherche (par défaut : 1024).--extra_depths
/-ex
(int) : Spécifier des profondeurs supplémentaires pour l'exploration (par défaut : 0).--verbose
/-v
: Activer la sortie détaillée pour le débogage et le suivi de la progression.
Retours:
None
Exemples d'utilisation :
Syntaxe
alphacube [--model_id MODEL_ID] [--format FORMAT] [--scramble SCRAMBLE]
[--beam_width BEAM_WIDTH] [--extra_depths EXTRA_DEPTHS]
1. Résoudre un cube avec les paramètres par défaut
alphacube --scramble "R U R' U'"
2. Résoudre un cube avec des paramètres personnalisés
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. Résoudre un cube en utilisant une représentation par autocollants
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