构建并运行一个可以提供Pikafish Web API服务的交互式系统,用户通过浏览器与 Pikafish 交互,并查看运行结果。以下是主要步骤:
分类: 象棋
幻彩象棋之(一)引擎搭建
自战解说(2)
自战解说(1)
“下盲棋”使用指南
“下盲棋”为橘中新趣出品的Android手机客户端软件,开发初衷主要是为了方便作者自我训练下盲棋,当然一般象棋爱好者也可用来自我训练,此外还可以兼顾中残局摆棋及解实用残局功能,软件棋力一般,解残局功能主要借助象棋云库实现,因此只要是收录在云库当中的残局,对弈时软件出招是非常精准的,因此,特别适合用来指导爱好者进行实用残局学习。主要功能及用法简介如下:
1、下盲棋
进入主界面后就可以开始下盲棋了。点击棋盘中某交叉点选择要走的棋子,再点击要走到的目的交叉点即可控制棋子走动,软件回应的棋步显示在棋盘下面的编辑框里(我方走棋控制及软件棋步回应方式以后有时间再改进:增加我方棋步语音识别控制与软件棋步回应播报功能)。下棋过程中如记忆混乱了,可点击显示棋盘棋子按钮看一下,然后隐藏继续下。软件棋力一般,但用来陪你下盲棋还是够力了。
2、全盘对弈
自由对弈时,点击“新局”按钮开始新的棋局。如仍要下盲棋,可先隐藏棋子仅显示棋盘后,即可继续下盲棋。
3、解残局
自由对弈时,任何时候都可以点击“摆棋”按钮进入摆棋状态,摆好棋局后点击“完成”按钮或左上角退出箭头即可退出摆棋状态进入自由对弈状态。然后即可按照下盲棋或明棋方式开始自由对弈。解残局功能借助于象棋云库实现,只要是收录在云库当中的残局,对弈时软件出招是非常精准的。因此本功能非常适合用来指导爱好者进行实用残局学习,如马擒单士,你下士方可学习软件如何铁定赢你!
4、另外,增加了复制与粘贴fen格式串功能,可用于方便地摆棋与棋局交换。
5、使用过程中如果存在什么问题,可以留言反馈。因本软件为个人爱好业余维护,BUG反馈以及改进意见不能保证100%及时响应及处理,但会尽量回复或解决。软件设计说明:中国象棋盲棋辅助训练软件设计与实现
最新版下载地址:下盲棋
以下软件信息(含MD5码计算工具链接):
软件相关信息:
文件:app-release.apk
大小: 16640392 字节
修改时间: 2019年9月30日, 23:23:48
MD5: DEC8AC76443E1EF7C5A0946F1A166771 (MD计算工具)
SHA1: 4F5ECA5D009FA511CDB98AD5938C1ECD580734AA
CRC32: 55A8B1BC
简易象棋连线器升级版(卷积神经网络应用实例)
前面那个象棋连线器简易版,总有那么几个盘面图识别不完整。本次基于深度学习框架tensorflow搭建卷积神经网络,利用自己的棋盘图文件制作类cifar10棋子数据集,再通过训练好的cnn模型,识别出完整棋盘图的fen串。制作方法如下:
1、用自己的棋盘图文件制作类cifar10棋子数据集。采集样本图像,把不同兵种的棋子图像文件分别存于工作目录 _strWorkingFolder 下不同的子文件夹中,子文件夹依次命名为类别名(如rook、knight共10类),图像文件名则随意。
2、用renBatchImag()函数按照“类别名_顺序号.jpg”的形式批量重命名各类别子文件夹下所有图像文件,如:”rook_1.jpg”、”rook_2.jpg”和”knight_1.jpg”、”knight_2.jpg”。这步也可省略。
3、用img2bin()函数把全部准备好的样本图像生成想要的二进制数据集(含data_batch_x.bin、test_batch.bin及makeBatchesMeta.txt等7个文件)。 CCifar10 binData; binData.img2bin( “c:\\dl\\Pieces”);
4、将 tensorflow/models/image/cifar10 模块中获取数据的部分参数修改成为适合自己数据集。
5、完成在自定义数据集上用 tensorflow/models/image/cifar10 模块的源码训练测试。
6、输入棋盘图,输出fen串,搞定。
局面评估初探
1、基本概念
棋局达到特定盘面,到底孰优孰劣,就需要一个数学模型来进行静态判定,这个进行静态判定的数学模型通常也叫评估函数。记忆中高等数学里有关多项式的内容中表示,不管多么复杂的评估函数,都可以用多项式逼近这个函数(泰勒公式?)。这个多项式是影响局面优劣的各种因素量化后的加权和。从而问题最终归结于如何选择影响局面优劣的因素及对应的权重,最后计算出多项式的值即为局面评价最终得分。 继续阅读“局面评估初探”
Parallel Searching Algorithm “YBWC”
Parallel Searching
In general, when parallelizing a sequential algorithm we have at least the following main problems: We have to find some way of dividing the work that has to be done, so that it can be done in parallel We want to keep all available processors as busy as possible doing useful work at all times。 继续阅读“Parallel Searching Algorithm “YBWC””