跳到主要内容

cli

AlphaCube 求解器的命令行界面。

该模块提供了命令行工具的入口点,允许用户直接从终端求解魔方。它解析用于模型选择、打乱输入、搜索参数和详细程度的参数,然后调用核心求解器并打印结果。

main

def main()

使用 AlphaCube 求解魔方的命令行工具。

参数:

  • --model_id/-m (str): 选择用于求解的特定模型(默认:CPU 上为 'small',否则为 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