| title | GomokuZero |
|---|---|
| emoji | ♟️ |
| colorFrom | gray |
| colorTo | red |
| sdk | docker |
| pinned | false |
| app_port | 7860 |
GomokuZero 是一个基于 AlphaZero 思路的五子棋项目,包含 MCTS/Zero MCTS、训练与评估脚本、 本地 GUI,以及可用于 Web 前端的 FastAPI WebSocket 服务。
- 标准 Gomoku 环境与规则实现(9x9 默认,可扩展)。
- 纯 MCTS 与 Zero MCTS(策略网络 + 价值网络)。
- 本地 GUI(Pygame)支持人机对战与 AI 对战。
- FastAPI WebSocket 后端,支持浏览器对战与验证集管理接口。
- 训练与自对弈管线(Ray + PyTorch)。
- Rust 版 MCTS 实验实现(
zero_mcts_rs/)。
gomoku/:核心实现(环境、MCTS、策略网络、训练与评估)。models/:预训练权重与继续训练模型。runs/:TensorBoard 日志输出。web/:前端工程(Next.js 静态导出)。zero_mcts_rs/:Rust 实验版 MCTS。WEB_DEPLOY.md:Web 部署说明。
Python 3.12+。
# 使用 uv
uv sync
# 或使用 pip
python -m pip install -e .本地 GUI(Pygame):
python gomoku/gui.pyFastAPI 后端(WebSocket + 验证集管理):
uvicorn gomoku.app:app --reload常用环境变量:
GOMOKU_MODEL_PATH:模型权重路径(默认models/gomoku_zero_9_lab_4/policy_step_30000.pth)GOMOKU_MCTS_ITERS:MCTS 迭代次数(默认400)GOMOKU_MCTS_PUCT:PUCT 常数(默认2.0)GOMOKU_AI_WORKERS:AI 线程数(默认2)GOMOKU_CORS_ORIGINS:CORS 允许域(默认*,逗号分隔)
Web 前端说明见 web/README.md,部署指引见 WEB_DEPLOY.md。
python gomoku/trainer.py训练依赖 PyTorch、Ray,且会占用较多算力。可按需调整 gomoku/trainer.py 中的参数。
运行轻量的 MCTS 案例集:
python gomoku/evaluation/mcts_cases.pyzero_mcts_rs/ 提供实验性的 Rust MCTS。若需要在 Python 中使用,请参考目录内的 pyproject.toml
与 Cargo.toml,通过 maturin 构建安装。