Перейти к основному содержимому

cli

Интерфейс командной строки для решателя AlphaCube.

Этот модуль предоставляет точку входа для утилиты командной строки, позволяя пользователям собирать кубик Рубика прямо из терминала. Он анализирует аргументы для выбора модели, ввода скрамбла, параметров поиска и уровня детализации вывода, а затем вызывает основной решатель и выводит результат.

main

def main()

Утилита командной строки для сборки кубика Рубика с помощью AlphaCube.

Аргументы:

  • --model_id/-m (str): Выберите конкретную модель для решения (по умолчанию: 'small' на CPU, иначе large; другой вариант — base).
  • --format/-f (str): Укажите формат ввода ('moves' или 'stickers').
  • --scramble/-s (str): Определите начальное состояние куба, используя последовательность ходов или строковое представление JSON-словаря.
  • --beam_width/-bw (int): Установите ширину луча для поиска (по умолчанию: 1024).
  • --extra_depths/-ex (int): Укажите дополнительные глубины для исследования (по умолчанию: 0).
  • --verbose/-v: Включить подробный вывод для отладки и отслеживания прогресса.

Возвращает:

  • None

Примеры использования:

Синтаксис
alphacube [--model_id MODEL_ID] [--format FORMAT] [--scramble SCRAMBLE]
[--beam_width BEAM_WIDTH] [--extra_depths EXTRA_DEPTHS]
1. Сборка куба с настройками по умолчанию
alphacube --scramble "R U R' U'"
2. Сборка куба с пользовательскими настройками
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. Сборка куба с использованием представления по наклейкам
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