两个开源中国象棋引擎的编译

news/2025/10/7 21:34:27/文章来源:https://www.cnblogs.com/funwithwords/p/19128916

Debian 12, gcc 12.

CCStockfish编译通过,运行时没有.nnue文件。文档声称可不用NNUE, ucioption.cpp里没有Use NNUE,不可能setoption 它 false.

Screenshot_20251007_211937

Pikafish,make build时自动先make net,从GitHub下载到了43MB的.nnue文件。

AI说:根据同类引擎测试数据:

  • 文件大小与ELO呈正相关(每10MB约提升50-80ELO)
  • 该规模文件在i7-12700H处理器上实测(6个性能核+8个能效核。20 线程(性能核支持超线程,能效核不支持)‌三级缓存‌24MB‌)
  • 平均计算速度:18层/秒
  • 典型ELO范围:2400-2600
  • 对职业棋手胜率:约65%‌

特级大师水平通常对应ELO 2500+,具体表现特征包括:

  • 计算深度:15-20层/秒(取决于硬件)
  • 局面评估误差率<5%
  • 对复杂残局处理准确率>90%‌

我修改的ElephantEye,在N100上 9~10层/秒 (单核)。据说用了NNUE后多线程很方便。普通状态cpu MHz 700,单核最高睿频‌3.4G,6M缓存,bogomips 1612.8,有avx2和avx_vnni. Advanced Vector eXtensions - Vector Neural Network Instructions‌, AVX512-VNNI的丐版,支持256/512位向量,但性能弱。

垂涎三尺,奈何编译出错。① “能累机器就不累人” ② 访问GitHub不快,源码降级不如gcc降级,然而11和10都编译不过。

先歇会;倒是顺路把一团乱麻的sources.list整理清爽了:

deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
#deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
deb https://mirrors.aliyun.com/debian bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.aliyun.com/debian bullseye main contrib
deb https://mirrors.tencent.com/debian buster main contrib

Debian 12的backports,11和10加起来,apt list | wc -l 121,572个包。

deb [选项] <协议>://<镜像地址>/<发行版代号> <组件1> <组件2>

  • <发行版代号>‌:Debian 版本名称(如 bookworm)或类别(如 stable)‌
  • <组件>‌:软件包分类,如 main(自由软件)、contrib(依赖非自由软件)、non-free(非自由软件)‌

然后可以在多个gcc版本间切换:

# update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10最后面那个数是优先级,机智的我用了版本号 || 脑子不够想新数的# update-alternatives --config g++2 个候选项可用于替换 g++ (提供 /usr/bin/g++)。
选择       路径           优先级  状态
------------------------------------------------------------0            /usr/bin/g++-12   12        自动模式
* 1            /usr/bin/g++-10   10        手动模式2            /usr/bin/g++-12   12        手动模式# g++ -v
gcc version 10.2.1 20210110 (Debian 10.2.1-6)

哦,打个补丁:

# update-alternatives --display g++
g++ - 手动模式最佳链接版本为 /usr/bin/g++-12
链接目前指向 /usr/bin/g++-10
链接 g++ 指向 /usr/bin/g++
/usr/bin/g++-10 - 优先级 10
/usr/bin/g++-12 - 优先级 12自动模式‌:系统自动选择优先级(priority)最高的版本作为默认版本。

VinXiangQ基于深度学习(YOLOv5),用它来识别抓屏中的棋子,从屏幕截图看引擎可用fairy-stockfish.exe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php网站开发实用技术答案新乡网站建设设计

为什么需要使用泛型: 1):存储任意类型的数据在集合中 ,但是取出来都是Object类型的,此时就得强转.List list new ArrayList();list.add(1); //Interger类型Object ele list.get(0); //现在需要调用Interger类中的方法I nterger num (Interger) ele;System.out.println(num);…

网站优化竞争对手分析网站建设项目延期验收申请

第一章 计算机系统概述 1.3 计算机的性能指标 本笔记参考书目&#xff1a; 计算机组成原理&#xff08;第六版.立体化教材&#xff09;白中英、戴志涛2021王道计算机组成原理视频公开课 本节重点&#xff1a; 容量计算K/M/G/T单位转换CPU主频/CPI/IPS/FLOPS数据通路带宽/吞吐…

爱站网络科技有限公司wordpress 搬家 域名

需要重载QwtScaleDraw类的virtual QwtText label(double)const;方法 该方法在需要绘制scale label时会调用。 主要思路是标尺上的点对应QDateTime::toTime_t()的值。然后重载label方法&#xff0c;在QwtText label(double v) const 方法中将参数v转化为QDateTime对象&#xff0…

推荐一款Swift开发框架- Aquarius

Aquarius开发框架旨在帮助独立开发者和中小型团队,完成iOS App的快速实现与迭代。使用框架开发将给你带来简单、高效、易维护的编程体验。大家好,我是K哥。一名独立开发者,同时也是Swift开发框架【Aquarius】的作者…

1.如何导入Aquarius开发框架

Aquarius开发框架旨在帮助独立开发者和中小型团队,完成iOS App的快速实现与迭代。使用框架开发将给你带来简单、高效、易维护的编程体验。大家好,我是K哥。一名独立开发者,同时也是Swift开发框架【Aquarius】的作者…

课程作业(10月8日)

1.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。 public class PureRandomNumberGenerator { // 模数,即 2^31 - 1 private static final long MODULUS = 2147483647L; // 乘数 private static …

班级网站 php戴尔网站建设的目标

路由 vue-router 1.对路由的理解&#xff1a; vue的一个插件库&#xff0c;专门用来实现SPA应用 2.对SPA应用的理解&#xff1a; 1.单页web应用2.整个应用只有一个完整的页面&#xff08;index.html&#xff09;3.点击页面中的导航链接不会刷新页面&#xff0c;只做页面的局部…

帮宣——可控核聚变

本文从章鱼本人的博客转载而来 这是一个 \(GC\)!(\(Great\) \(Convenience\),极大便利) 众所周知,\(NKOJ\) 的评测机性能堪忧,评测速度较于各 \(OJ\) 存在不容轻视的差距,当大规模评测时更是有直接停止评测,从…

浅谈导数

引入 我们在初中学一次函数的时候,知道有一个东西叫做斜率。令在某一次函数上的两点分别为 \((x_0, y_0)\) , \((x_1,y_1)\) ,则它的表达式为 \(k = \large{\frac{x_0 - x_1}{y_0 - y_1}}\)。

洛谷P5304 [GXOI/GZOI2019] 旅行者(二进制分类技巧)

假设我们把特殊点分成 A,B 两个集合,新建 s 连 A 集合的所有点,边权 0 ,新建 t 连接 B 集合里的所有点,边权 0 ,那么 s 到 t 的最短路就是 A,B 集合点之间的最短路的最小值。 那么对于 k 个特殊点,我们枚举二进制…

【C++】AVL树的概念及完成(万字图文超详解)

【C++】AVL树的概念及完成(万字图文超详解)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

打造自主学习的AI Agent:强化学习+LangGraph代码示例

在充满不确定性的现实世界里,AI的价值不在于预设规则,而在于持续学习和适应AI Agent这个概念最近被炒得很热,从管理日程的语音助手到仓库里跑来跑去的机器人,大家都在谈论Agent的"自主性"。但是真正让Ag…

宁波网站优化技术免费推广渠道有哪些

源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明&#xff1a; 访问者模式的基本想法是&#xff0c;软件系统中拥有一个由许多对象构成的、比较稳定的对象结构&#xff0c;这些对象的类都拥有一个 accept 方法用来接受访问者对象的访问。访问者是一个接口&am…

NKOJ全TJ计划——NP11721

前言 我的做法也是成功的拿到了最优解,开一瓶可乐(其实只喝得起免费的学校饮用水)庆祝。顺便说一句,INTP男叫柯乐。但这显然并不是重点。 只是一个简单的小优化,大家可以看到,只有2行(显然不是章鱼的核聚变,不…

印度全球能力中心2030年展望与技术基建规划

印度工业联合会发布政策框架,建议各邦建立审批促进机构、设计财政激励措施,并投资高性能计算集群和数据中心等数字基础设施,预计到2030年全球能力中心可为印度经济贡献2000亿美元。印度全球能力中心2030年有望贡献2…

NOI Linux 食用教程

一、前置工作:安装虚拟机软件 + 下载 NOI Linux 镜像 1.安装 VMware(如果已经安装跳过即可) VWware,毫无疑问应该是目前最好用的免费虚拟机软件。 官方网站,官方最新版本,需要注册账号并登录 下载完就按照提示安…

营销运营主要做什么seo推广教学

七大原则网站地址&#xff1a;设计模式7大原则&#xff0b;类图关系-CSDN博客 创建型设计模式&#xff1a;创建型设计模式合集-CSDN博客 七大结构型设计模式&#xff1a;7大结构型设计模式-CSDN博客 11种行为型设计模式&#xff1a; 11种行为型模式&#xff08;上&#xff0…

详细介绍:基于 Android 和 JBox2D 的简单小游戏

详细介绍:基于 Android 和 JBox2D 的简单小游戏pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

CF2152H2 Victorious Coloring (Hard Version) 题解

Description 给定一棵有 \(n\) 个顶点的树,每个顶点编号为 \(1\) 到 \(n\)。每条边都被赋予一个正整数权值 \(w_1, w_2, \ldots, w_{n-1}\)。 一种“胜利染色”指的是将所有顶点染成红色或黄色两种颜色,其中必须至少…

题解:P6162 [Cnoi2020] 四角链

传送门 绝大多数的计数题都可以用 dp 和容斥解决。 本题的 dp 比较好想,设 \(f_{i,j}\) 表示前 \(i\) 个位置填了 \(j\) 个数。考虑如果第 \(i\) 个位置不填,则贡献是 \(f_{i-1,j}\);否则前面 \(i-1\) 个位置一共填…