当前位置: 首页 > news >正文

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

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.hskmm.com/?act=detail&tid=26333

相关文章:

  • 推荐一款Swift开发框架- Aquarius
  • 1.如何导入Aquarius开发框架
  • 课程作业(10月8日)
  • 帮宣——可控核聚变
  • 浅谈导数
  • 洛谷P5304 [GXOI/GZOI2019] 旅行者(二进制分类技巧)
  • 英语_阅读_AI Robot_待读
  • 【C++】AVL树的概念及完成(万字图文超详解)
  • 打造自主学习的AI Agent:强化学习+LangGraph代码示例
  • 关于二分
  • NKOJ全TJ计划——NP11721
  • 印度全球能力中心2030年展望与技术基建规划
  • NOI Linux 食用教程
  • 详细介绍:基于 Android 和 JBox2D 的简单小游戏
  • 基于深度学习的语音识别高效的系统设计与实现
  • CF2152H2 Victorious Coloring (Hard Version) 题解
  • 题解:P6162 [Cnoi2020] 四角链
  • 题解:P3301 [SDOI2013] 方程
  • # 20232321 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 题解:CF1292E Rin and The Unknown Flower
  • 打印A3大小的PDF文件为A4幅面
  • 课程总结2
  • 解码查找算法与哈希表
  • 第二次课动手动脑合集
  • centos8的防火墙管理
  • 如何生成和制作PDF文件 - 实践
  • 1.2 马尔可夫决策过程(Markov Decision Process, MDP)
  • 博弈论dp复习笔记
  • 10.7阅读笔记
  • 如果你的微信支付界面出现“摇一摇”,说明你的隐私正在泄露