Minic:一款强大的开源国际象棋引擎

Minic:一款强大的开源国际象棋引擎

Minic A simple chess engine to learn and play with Minic 项目地址: https://gitcode.com/gh_mirrors/mini/Minic

在开源的国际象棋引擎领域,Minic以其出色的性能和独特的特性,逐渐崭露头角。本文将为您详细介绍Minic的核心功能、技术分析、应用场景及项目特点,帮助您更好地了解并使用这一项目。

项目介绍

Minic是一个国际象棋引擎,由开发者用于学习国际象棋编程和现代C++技术。它不包含图形界面(GUI),但兼容CECP和UCI协议,可以与多种流行的国际象棋软件配合使用,如Cutechess、Arena、Banksia等。Minic目前在全球主要的评级列表中排名前15,是法国最强的国际象棋引擎。

项目技术分析

Minic的开发始于2018年10月,最初是一个仅有2000行代码的周末项目。随着功能的增加,代码量逐渐增长,但开发者始终致力于保持代码的简洁性。从版本2开始,Minic的代码风格变得更加经典,虽然仍保留一些密行的特点。

Minic的开发过程中,特别值得一提的是神经网络评估(NNUE)的集成。从版本2.47开始,Minic可以构建使用StockfishNNUE框架的版本,这显著提升了引擎的Elo评分。但从版本3.00开始,Minic采用了Seer chess engine作者的NNUE实现,不再兼容Stockfish的NNUE网络。

项目技术应用场景

Minic作为一款国际象棋引擎,主要应用于以下场景:

  1. 棋力评估:Minic的Elo评分可达3400,能够与其他顶级引擎进行较量,为棋手提供准确的棋力评估。
  2. 棋谱分析:Minic可以分析棋谱,为棋手提供开局、中局和残局的最佳走法建议。
  3. 学习与训练:棋手可以使用Minic进行自我训练,通过分析引擎的走法,提高自己的棋艺。

项目特点

Minic具有以下显著特点:

  1. 兼容性强:支持CECP和UCI协议,可以与多种国际象棋软件配合使用。
  2. 性能卓越:在全球主要的评级列表中排名前15,是法国最强的国际象棋引擎。
  3. 灵活配置:支持多种神经网络评估网络,用户可以根据自己的需求选择合适的网络。
  4. 持续更新:Minic的开发者不断进行优化和更新,使其保持竞争力。

以下是Minic的一些技术创新:

  • 使用位置评分表(PST)在移动排序器中补偿静止移动的历史分数接近0的情况。
  • 聚合历史评分用于移动排序器和历史启发式(cmh + history[piece and color][tosquare] + history[color][square][square])。
  • 基于危险(来自评估)的剪枝和搜索减少。
  • 基于紧急情况(来自IID循环的不稳定性)的剪枝和搜索减少。
  • 基于历史的(boom/moob)剪枝和搜索减少。
  • 在搜索中使用移动性数据。
  • 考虑对手名称或对手评分的对手模型。
  • 用户可配置的"特征"评估参数,用于调整游戏玩法(仅适用于HCE评估,不适用于NNUE)。
  • 使用考虑表格入口深度的深度因子进行剪枝和减少。

Minic的神经网络评估(NNUE)在性能和原创性方面也有显著特点:

  • 推断代码:基于Seer的实现,经过大量重构和实验(如剪辑ReLU、读取量化、向量化、基于棋子数量的子网等)。
  • 网络拓扑:尝试了多种网络结构(有无跳接、更大或更小的输入层、层数、棋子桶等),目前采用基于棋子数量的多桶网络,具有共同的输入层和两个内部网络。
  • 训练代码:主要基于Gary Linscott和Tomasz Sobczyk的pytorch训练器,适应和调整到Minic。
  • 数据生成代码:完全原创,纯Minic数据。尝试了多种数据生成方法(在搜索树中生成、自我对弈、多PV、随机、有无Syzygy等)。

总之,Minic是一个功能强大、特点鲜明的开源国际象棋引擎,无论是棋手还是国际象棋爱好者,都可以从中受益。我们鼓励用户在最新的硬件上使用Minic,以充分利用其性能。

Minic A simple chess engine to learn and play with Minic 项目地址: https://gitcode.com/gh_mirrors/mini/Minic

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晏易桥Orson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值