AlphaGeometry几何AI项目快速上手指南
2026-02-06 05:47:54作者:劳婵绚Shirley
AlphaGeometry是Google DeepMind发布的开源几何定理证明系统,能够在不依赖人类示范的情况下解决奥林匹克几何问题。本指南将帮助您快速上手这个强大的几何AI工具。
项目概述
AlphaGeometry项目包含两个核心几何定理证明器:DDAR和AlphaGeometry。DDAR是基于演绎推理的符号引擎,而AlphaGeometry则结合了符号推理与神经语言模型,能够自动构建辅助点来证明复杂的几何定理。
环境准备与安装
系统要求
- Python 3.10.9
- 虚拟环境支持(推荐使用virtualenv)
安装步骤
- 创建虚拟环境
virtualenv -p python3 .
source ./bin/activate
- 安装依赖包
pip install --require-hashes -r requirements.txt
- 下载模型权重和词汇表
bash download.sh
DATA=ag_ckpt_vocab
- 安装meliad库 由于meliad不是pip注册包,需要手动安装:
MELIAD_PATH=meliad_lib/meliad
mkdir -p $MELIAD_PATH
git clone https://github.com/google-research/meliad $MELIAD_PATH
export PYTHONPATH=$PYTHONPATH:$MELIAD_PATH
项目结构解析
AlphaGeometry采用清晰的模块化设计,主要文件包括:
核心算法模块:
geometry.py- 证明状态图中的节点实现(点、线、圆等)graph.py- 证明状态图实现numericals.py- 动态几何环境中的数值引擎problem.py- 问题前提、结论和DAG节点类
推理引擎:
dd.py- DD及其回溯实现ar.py- AR及其回溯实现ddar.py- DD+AR组合实现trace_back.py- 递归回溯和依赖差异算法
语言模型组件:
beam_search.py- JAX中的语言模型波束解码models.py- Transformer模型实现transformer_layer.py- Transformer层实现lm_inference.py- 训练LM解码接口
资源文件:
defs.txt- 不同几何构造动作的定义rules.txt- DD的演绎规则geometry_150M_generate.gin- meliad中LM的Gin配置imo_ag_30.txt- IMO-AG-30问题集jgex_ag_231.txt- JGEX-AG-231问题集
快速启动
一键执行所有指令
项目提供了完整的启动脚本:
bash run.sh
配置常用参数
在运行Python脚本前,需要设置一些常用参数:
# 符号引擎需要的定义和规则
DDAR_ARGS=(
--defs_file=$(pwd)/defs.txt \
--rules_file=$(pwd)/rules.txt
搜索参数设置
为快速测试,可以使用轻量级搜索参数:
BATCH_SIZE=2
BEAM_SIZE=2
DEPTH=2
SEARCH_ARGS=(
--beam_size=$BEAM_SIZE
--search_depth=$DEPTH
)
使用示例
运行DDAR求解器
解决IMO 2000 P1问题:
python -m alphageometry \
--alsologtostderr \
--problems_file=$(pwd)/imo_ag_30.txt \
--problem_name=translated_imo_2000_p1 \
--mode=ddar \
"${DDAR_ARGS[@]}"
运行AlphaGeometry求解器
解决垂心问题:
python -m alphageometry \
--alsologtostderr \
--problems_file=$(pwd)/examples.txt \
--problem_name=orthocenter \
--mode=alphageometry \
"${DDAR_ARGS[@]}" \
"${SEARCH_ARGS[@]}" \
"${LM_ARGS[@]}"
测试验证
运行测试套件确保一切正常:
bash run_tests.sh
性能表现
根据官方测试结果:
| 求解器 | IMO-AG-30 | JGEX-AG-231 |
|---|---|---|
| DDAR | 14 | 198 |
| AlphaGeometry | 25 | 228 |
注意事项
- 硬件要求:要达到论文中的性能,需要4个V100 GPU和250个CPU工作器
- 内存优化:此实现移除了内部基础设施依赖的优化
- 模型一致性:不同用户可能获得不同的LM评分
故障排除
如果遇到问题,请检查:
- 虚拟环境是否正确激活
- 所有依赖包是否安装成功
- meliad库是否正确安装并添加到PYTHONPATH
- 模型权重和词汇表是否下载完整
通过本指南,您应该已经掌握了AlphaGeometry的基本使用方法。现在可以开始探索这个强大的几何AI工具,解锁智能几何推理的无限可能。
登录后查看全文
热门项目推荐
相关项目推荐
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
热门内容推荐
最新内容推荐
Python小说下载神器:一键获取番茄小说完整内容如何用md2pptx快速将Markdown文档转换为专业PPT演示文稿 📊京东评价自动化工具:用Python脚本解放双手的高效助手三步掌握Payload-Dumper-Android:革新性OTA提取工具的核心价值定位终极Obsidian模板配置指南:10个技巧打造高效个人知识库终极指南:5步解锁Rockchip RK3588全部潜力,快速上手Ubuntu 22.04操作系统WebPlotDigitizer 安装配置指南:从图像中提取数据的开源工具终极FDS入门指南:5步掌握火灾动力学模拟技巧高效获取无损音乐:跨平台FLAC音乐下载工具全解析终极指南:5步复现Spring Boot高危漏洞CVE-2016-1000027
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
528
3.73 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
336
172
Ascend Extension for PyTorch
Python
338
401
React Native鸿蒙化仓库
JavaScript
302
353
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
883
590
暂无简介
Dart
768
191
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
114
139
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
openJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力
TSX
986
246