仙姑鱼蟒蛇皮

pyffish的Python项目详细描述


仙姑鱼

构建状态生成状态pypi version

仙子鱼是一种为支持(仙子)象棋变体而设计的鱼叉,使新变体的添加/配置尽可能简单灵活。该项目的目标是创建一个支持各种象棋类游戏的引擎,配备强大的搜索鱼群。它是对某些国际象棋变体更为专业化的鱼叉的补充,例如多变体的鱼叉,如:seirawan stockfish,seirawan stockfish,seirawan stockfish,seirawan stockfish,seirawan stockfish,seirawan stockfish,seirawan stockfish,seirawan stockfish。makruk stockfish等,支持更多变体,但性能稍低。

除了国际象棋,当前支持的游戏还有:

地区和历史游戏

国际象棋变体

Shogi变体

相关游戏

有关更多信息,请参见仙女鱼wiki。

鳕鱼

概述

生成状态生成状态

Stockfish是一个免费的、功能强大的UCI国际象棋引擎 源自Glaurung 2.1。这不是一个完整的国际象棋程序,需要 UCI兼容的图形用户界面(例如,Xboard with Polyglot,SCID,Cute Chess,Eboard,Arena, 西格玛国际象棋,碎纸机,国际象棋搭档或弗里茨),以便使用舒适。 有关如何使用的信息,请阅读所选gui的文档 用它钓鳕鱼。

文件

这个DIstockfish的分布由以下文件组成:

  • readme.md,您当前正在读取的文件。

  • copying.txt,包含GNU通用公共许可版本3的文本文件。

  • src,包含完整源代码的子目录,包括makefile 可用于在类unix系统上编译stockfish。

UCI参数

目前,Stockfish有以下UCI选项:

  • 调试日志文件

    将与引擎之间的所有通信写入文本文件。

  • 蔑视

    蔑视的正值有利于中间位置,避免平局。

  • 分析蔑视

    默认情况下,"藐视"设置为更喜欢移动的边。将此选项设置为"白色" 或"黑色"表示蔑视对方,或"关闭"表示禁用藐视对方。

  • 螺纹

    用于搜索位置的CPU线程数。为获得最佳性能,请设置 这等于可用的CPU内核数。

  • 哈希

    哈希表的大小(MB)。

  • 清除哈希值

    清除哈希表。

  • 思考

    当对手在思考时,让鱼思考下一步的行动。

  • 多伏

    搜索时输出n个最佳行(主变量,pvs)。 保持1以获得最佳性能。

  • 技能水平

    降低技能等级以使鱼群的力量减弱(另请参阅uci_limitstrength)。 在内部,multipv被启用,并且有一定的概率取决于技能等级a 将播放较弱的移动。

  • uci_极限强度

    根据UCI-ELO设定的ELO等级,启用较弱的播放。此选项将覆盖技能级别。

  • uci-elo

    如果由UCI_LimitStrength启用,则瞄准给定ELO的发动机强度。 此ELO等级已在60s+0.6s的时间控制下校准,并固定在CCRL 40/4上。

  • 头顶移动

    假设由于网络和gui开销导致x ms的时间延迟。这对 在这种情况下,要避免准时损失。

  • 最短思考时间

    每次移动至少搜索x毫秒。

  • 慢速移动

    较低的值将使鳕鱼在游戏中花费较少的时间,较高的值将 让它想得更久。

  • 节点时间

    告诉引擎使用搜索的节点而不是墙时间来解释 经过的时间。对发动机测试有用。

  • uci_chess960

    一个由gui处理的选项。如果为真,Stockfish将玩960号棋子。

  • UCI分析代码

    由图形用户界面处理的选项。

  • 系统路径

    存储Syzyy TableBase文件的文件夹/目录的路径。倍数 在windows上用";"分隔目录,在unix上用":"分隔目录 操作系统。请勿在";"或":"周围使用空格。

    示例:c:\ tablebases\wdl345;c:\ tablebases\wdl6;d:\ tablebases\dtz345;d:\ tablebases\dtz6

    建议将.rtbw文件存储在ssd上。储存没有损失 .rtbz文件在普通hd上。建议验证所有MD5校验和 已下载的表基文件(md5sum-c checksum.md5)的 导致发动机坠毁。

  • Syzygyprobedepth

    探测位置的最小剩余搜索深度。设置此选项 如果你经历了太多的减速,更高的数值可以减少探索的力度。 (就核动力源而言)由于结核探测。

  • Syzyy50控制阀

    禁用此选项可让Syzyy TableBase探测器检测到的50个移动规则绘制计数 作为胜负。这对iccf通信游戏很有用。

  • syzygyprobelimit

    将syzyy tablebase探测限制在只剩下这么多个片段的位置 (包括国王和当兵)。

对西兹的期望ykyBASE?

如果引擎正在搜索不在表基中的位置(例如 一个有8块的位置),它将在搜索过程中访问数据库。 如果引擎报告一个非常大的分数(通常是153.xx),这意味着 它已经找到一条获胜的线进入了一个桌面位置。

如果给引擎一个在表基中搜索的位置,它 将在搜索开始时使用表基来预选所有 好的动作,即在比赛中保持胜局或平局的所有动作 考虑到50步移动规则。 然后它将只对这些移动执行搜索。发动机不会移动 立即,除非只有一个好动作。发动机可能 即使已知该职位已获得,也不会报告配偶得分。

因此,很明显,这种行为与人们可能 习惯与纳利莫夫的桌面。这有技术上的原因 区别,主要的技术原因是Nalimov数据库使用 DTM度量(到配偶的距离),而SyzyyBase使用 DTZ度量(距离为零,零表示重置50个移动的任何移动 计数器)。这种特殊的度量是syzygybase 比Nalimov数据库更紧凑,同时仍然存储所有信息 需要最佳的发挥,而且能够考虑到 50移动规则。

从源代码中自行编译stockfish

在类unix系统上,应该可以编译stockfish 直接从包含makefile的源代码中获取。

Stockfish支持32或64位CPU,即硬件POPCNT 指令、大型机器(如Power PC)和其他平台。

通常,建议运行make help以查看make列表 有相应描述的目标。当不使用makefile 编译(例如使用Microsoft MSVC)您需要手动 在编译器命令行中设置/取消设置某些开关;请参见filetypes.h 快速参考。

了解代码库并参与项目

过去几年里,鳕鱼的进步很大 社区努力。有几种方法可以帮助其增长。

捐赠硬件

改善家畜需要大量的试验。你可以捐赠 通过安装fishtest worker来获取硬件资源 并在fishtest上查看当前的测试。

改进代码

如果您想帮助改进代码,有几个有价值的资源:

  • 在这个wiki中,使用了很多技术 stockfish有很多背景信息。

  • 关于stockfish的部分 描述了许多特点和技术所使用的鲟鱼。然而,它是 泛型而不是专注于stockfish的精确实现。 不过,这是一个有用的资源。

  • 最新的源代码可以在github上找到。 有关Stockfish的讨论在鱼烹饪 组和引擎测试在fishtest上完成。 如果您想帮助改善Stockfish,请阅读本指南 首先,在这里,我们将解释一下鳕鱼发展的基本知识。

使用条款

鳕鱼是免费的,在GNU公共许可证下分配ENSE版本3 (GPL V3)。从本质上说,这意味着你可以做几乎完全正确的 你想要的程序,包括在你的 朋友,可以从您的网站下载,销售 它(单独或作为某个更大软件包的一部分),或者 把它作为自己软件项目的起点。

唯一真正的限制是每当你在 在某种程度上,您必须始终包含完整的源代码或指针 到可以找到源代码的地方。如果您对 源代码,这些更改也必须在GPL下可用。

有关详细信息,请阅读在名为 正在复制.txt

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将jaxb插件扩展与gradlejaxbplugin一起使用   java Hibernate列表<Object[]>到特定对象   java使用多态性显示arraylist的输出   java水平堆叠卡,带有一定偏移量   java错误:找不到符号方法liesInt()   java客户机/服务器文件收发中的多线程流管理   在java中可以基于访问重载方法吗?   包含空元素的java排序数组   swing Java按钮/网格布局   java BottomNavigationView getmaxitemcount   java空指针异常字符串生成器   java Xamarin升级导致“类文件版本错误52.0,应为50.0”错误   java我正在尝试打印它,而不只是对每一行进行println   Tomcat7中的java是否需要复制上下文。将xml转换为conf/Catalina/locahost以使其生效   带有注入服务的java REST端点在何处引发自定义WebServiceException?   在Java中使用GPS数据   java如何将JFreeChart ChartPanel导出到包含添加的CrosshairOverlay的图像对象?   内置Eclipse期间的Java 8堆栈溢出   java在GWT编译的JavaScript中如何表示BigDecimal