official-stockfish/Stockfish
GitHub: official-stockfish/Stockfish
Stockfish 是一个免费、开源且实力顶尖的 UCI 国际象棋引擎,用于深度分析棋局并计算最佳着法。
Stars: 14962 | Forks: 2809
[][website-link]
[浏览 Stockfish 文档 »][wiki-link]
[报告 Bug][issue-link] · [开启讨论][discussions-link] · [Discord][discord-link] · [博客][website-blog-link] [][build-link] [][license-link]
[][release-link] [][commits-link]
[][website-link] [][fishtest-link] [][discord-link]
## 概述
[Stockfish][website-link] 是一个**免费且强大的 UCI 国际象棋引擎**,源自 Glaurung 2.1,能够分析棋局并计算最佳走法。
Stockfish **不包含图形用户界面** (GUI),而 GUI 是显示棋盘和简化走法输入所必需的。这些 GUI 独立于 Stockfish 开发,可在网上获取。请**阅读您所选 GUI 的文档**,了解如何配合使用 Stockfish。
另请参阅 Stockfish [文档][wiki-usage-link] 以获取更多使用帮助。
## 文件
此 Stockfish 发行版包含以下文件:
* [README.md][readme-link],即您当前正在阅读的文件。
* [Copying.txt][license-link],包含 GNU 通用公共许可证版本 3 的文本文件。
* [AUTHORS][authors-link],包含项目作者列表的文本文件。
* [src][src-link],包含完整源代码的子目录,其中包括一个可用于在类 Unix 系统上编译 Stockfish 的 Makefile。
* 一个扩展名为 .nnue 的文件,存储用于 NNUE 评估的神经网络。二进制发行版会将此文件嵌入其中。
## 贡献
__请参阅 [贡献指南](CONTRIBUTING.md).__
### 捐赠硬件
改进 Stockfish 需要大量的测试。您可以通过安装 [Fishtest Worker][worker-link] 并查看 [Fishtest][fishtest-link] 上的当前测试来捐赠您的硬件资源。
### 改进代码
在 [chessprogramming wiki][programming-link] 中,Stockfish 使用的许多技术都有详细的背景信息解释。
[关于 Stockfish 的章节][programmingsf-link] 描述了 Stockfish 使用的许多功能和技术。然而,它是通用的,而非专注于 Stockfish 的具体实现。
引擎测试在 [Fishtest][fishtest-link] 上进行。
如果您想帮助改进 Stockfish,请先阅读此[指南][guideline-link],其中解释了 Stockfish 开发的基础知识。
如今关于 Stockfish 的讨论主要在 Stockfish [Discord 服务器][discord-link] 中进行。这也是询问有关代码库以及如何改进它的最佳场所。
## 编译 Stockfish
Stockfish 支持 32 或 64 位 CPU、特定的硬件指令集、大端序机器(如 Power PC)以及其他平台。
在类 Unix 系统上,使用 `src` 文件夹中包含的 Makefile 直接从源代码编译 Stockfish 应该很容易。通常,建议运行 `make help` 以查看 make 目标列表及其相应描述。一个适用于大多数 Intel 和 AMD 芯片的示例:
```
cd src
make -j profile-build
```
所有平台的详细编译说明可以在我们的[文档][wiki-compile-link]中找到。我们的 Wiki 还包含有关 Stockfish 支持的 [UCI 命令][wiki-uci-link] 的信息。
## 使用条款
Stockfish 是免费的,并根据 [**GNU 通用公共许可证版本 3**][license-link] (GPL v3) 发布。本质上,这意味着您可以自由地对程序执行几乎任何您想做的操作,包括在朋友间分发、从您的网站提供下载、出售它(单独或作为某个大型软件包的一部分),或将其作为您自己的软件项目的起点。
唯一真正的限制是,每当您以某种方式分发 Stockfish 时,您必须始终包含许可证和完整的源代码(或指向可找到源代码位置的指针),以生成您正在分发的确切二进制文件。如果您对源代码进行任何更改,这些更改也必须在 GPL v3 下提供。
## 致谢
Stockfish 使用的神经网络是基于 [Leela Chess Zero 项目提供的数据][lc0-data-link] 训练的,该数据根据 [开放数据库许可证][odbl-link] (ODbL) 提供。
Stockfish
一个免费且强大的 UCI 国际象棋引擎。[浏览 Stockfish 文档 »][wiki-link]
[报告 Bug][issue-link] · [开启讨论][discussions-link] · [Discord][discord-link] · [博客][website-blog-link] [][build-link] [][license-link]
[][release-link] [][commits-link]
[][website-link] [][fishtest-link] [][discord-link]
标签:C++, Fishtest, GPLv3, NNUE, Python 3.9+, Stockfish, UCI协议, 人工智能, 分布式测试, 博弈论, 国际象棋, 数据擦除, 最佳着法计算, 游戏AI, 用户模式Hook绕过, 神经网络, 算法, 象棋分析, 象棋引擎