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