前言

随着80年代中日围棋擂台赛的开始,中国大地上兴起了围棋热,于是,从初中一年级开始,围棋成为了我的爱好之一,甚至曾经为之痴迷了七八年(如果不是爱好了围棋,也许我能考上一表大学)。转眼30年过去了,自己的围棋水平基本停滞不前,在弈城围棋网6-7D,偶尔能侥幸赢一次8D。本以为自己终生也就是混迹于这个水平的圈子了,没想到这两年人工智能、大数据的发展,围棋AI竟然将人类打翻在地。得利于开源运动的兴起和传播,感谢众多的开源软件作者,我等升斗小民也能紧跟潮流,尝试一下围棋AI的滋味,俨然自己是职业棋手与围棋AI恶战一番。

相关软件介绍和下载(Windows 10 Pro 64位版本)

1、Sabaki

一个完全使用网页技术(HTML5 + Javascript)开发,由electron封装,界面漂亮的围棋应用程序。作者的中文名字好象叫沈易川。Sabaki好象是日语发音,腾挪(围棋术语)的意思。
官网地址:http://sabaki.yichuanshen.de/
Github地址:https://github.com/SabakiHQ/Sabaki

官方网站截图

Github上Sabaki的页面

下载地址:https://github.com/SabakiHQ/Sabaki/releases/tag/v0.33.3
在官方网站上点击“Download”就会链接到最新版的Sabaki下载地址

2018年2月11日,当下的最新版本是0.33.3

运行下载的“sabaki-v0.33.3-win-x64-setup.exe”文件,按照提示安装即可。
注意:1、最好不要安装在默认的“Program Files”文件夹下,因为随后复制其他工具时会受到权限提示;2、安装文件夹不要有空格,我开始命名文件夹含有空格,结果调用Leela GTP引擎时,报一堆js错误。
Sabaki的Theme(可以定制棋盘棋子的样式)下载地址:https://github.com/SabakiHQ/Sabaki/blob/master/docs/guides/theme-directory.md

2、Leela

2017年2月18日,比利时人工智能开发者Gian-Carlo Pascutto在自己的主页公开了一款围棋人工智能“Leela”,并提供免费下载。这款围棋人工智能据悉接近了职业水准。韩国职业棋手孙根气五段说:“虽然在部分死活问题上存在短板,但棋感和局面的运营接近了职业水准,尤其这款程序在普通个人电脑上运行就可达到上述的水准。”Leela在KGS计算机围棋大赛多次获得冠军(第32、38、42届),2008年在计算机奥林匹克赛上获得过九路围棋银牌和十九路围棋铜牌。现在(2018年2月11日),Leela的水平又有提高,而且衍生出Leela-Zero这一版本。
官网地址:https://www.sjeng.org/leela.html

Leela主页

Leela本身就有图形化界面的对局程序,能够实现人机对弈。Leela还提供GTP(Go Text Protocol,即围棋文本协议)功能的引擎程序。
Leela GTP引擎下载链接:https://www.sjeng.org/dl/Leela0110GTP.zip
在Leela主页选择“Leela 0.11.0 engine only”下载
将下载得到的“Leela0110GTP.zip”文件解压,确认含有“Leela0110GTP.exe”和“Leela0110GTP_OpenCL.exe”两个文件后,在Sabaki的安装文件夹下建立类似下图的文件夹。

“Leela0110GTP”就是解压后得到的文件夹

3、LeelaSabaki

Github地址:https://github.com/SabakiHQ/LeelaSabaki

LeelaSabaki页面

LeelaSabaki下载,选择“Download LeelaSabaki”

LeelaSabaki下载页面

将下载得到的“leelsabaki-v0.3.0-linux-macos-win-x64.7z”文件解压,将解压得到的文件夹复制到Sabaki文件夹下,如下图。

“leelsabaki-v0.3.0”就是解压后的文件夹

4、进入Sabaki设置GTP引擎

首先运行Sabaki应用程序,在窗口的菜单栏中选择“Engines”,选择“Manage Engines...”。

Manage Engines...

在弹出的窗口中,选择“Engines”标签,点击左下的“Add”,分别填入“Engine Name”(引擎名字,随便写)、“Path”(LeelaSabaki的路径和文件名)、“Arguments”(执行参数,还要把Leela GTP的路径和文件名带上)字段。图中下面的是已经填好的样例。完成后点击“Close”。如下图。

填好Engines的样子

LeelaSabaki的正则表达式:leelasabaki [--flat] [--heatmap] [--help] <path-to-leela> [leela-arguments...]
在Sabaki主界面窗口的菜单栏中选择“View”,按照下图勾选。
还要勾选“Show Comments”

View的勾选样例

在Sabaki主界面窗口的菜单栏中选择“Engines”,选择“Attach...”,开始自动对局。如下图。

选择对局引擎,填写对局信息

成功载入引擎,我的显卡是Nvidia GeForce GTX 1050 Ti,准备对局

人机对弈,左边窗口是Leela GTP引擎的信息窗口,右边窗口是棋子树

如果想要围棋AI给你下一手的建议,在引擎设置窗口添加“--heatmap”参数,红色区域越大越浓,表示这个着点的胜率越高

5、后记

从下载软件到学习使用,再到写这个博客文章,前前后后花了5、6小时,希望这篇文章能给更多的棋友和棋童父母以方便,希望围棋AI程序能给更多的棋友和棋童父母以更大的帮助。如有疑问,欢迎留言共同学习。

6、补记.安装AQ引擎

2018年2月12日又试着在Sabaki上安装了一下另一个围棋GTP引擎,Github地址:https://github.com/ymgaq/AQ

AQ的Github页面

在页面中寻找这一段:

注意图中蓝色字:here

点击上图中蓝色的“here”,下载编译好的的AQ程序,链接:https://github.com/ymgaq/AQ/releases

AQ下载链接

上图中,AQ-mini_win.zip是CPU版,不需要显卡支持;AQ_win.zip是显卡版,要求Nvidia显卡的GPU CUDA capability>=3.0。看看Nvidia的显卡GPU CUDA capability吧:

Nvidia主流显卡GPU CUDA capability值

根据自己电脑的配置选择下载文件,解压到Sabaki的文件夹下,运行Sabaki,在窗口的菜单栏中选择“Engines”,选择“Manage Engines...”,点击“Add”,按照自己的文件路径写入,完成后点击“Close”。

添加AQ引擎

设置好AQ引擎了,进入Sabaki试试AI对抗吧。

AQ 2.1.1执黑对Leela 0.1.1.0 GTP

白中盘胜,我电脑的CPU是Intel i7 2600,显卡是Nvidia Geforce GTX 650 Ti,也许是CPU版的AQ弱一些?

7、补记.安装RN(ray)引擎

RN(ray)跟AQ引擎相似的调用方式,下载的文件里面有README.md解释参数的意思。我是在Sabaki里调用的,跟AQ一样的方法,喜欢就试试参数,比如:--thread 4。意思是使用CPU的4线程。
2018年2月18日,飞扬围棋论坛myp0001棋友提供参数参考:--thread 4 --tree-size 262144 --reuse-subtree --const-time 15
RN的Github地址:https://github.com/zakki/Ray

RN的Github页面

RN的Github下载地址:https://github.com/zakki/Ray/releases

RN的Github下载页面

8、补记.安装Leela Zero引擎.配置权重文件

Leela Zero的官方主页:http://zero.sjeng.org/
Leela Zero的Github下载地址:https://github.com/gcp/leela-zero/releases
Leela Zero的权重文件就在官方主页的下方:

Leela Zero的权重文件

Leela Zero的配置方法与Leela相似(其中的参数“-t 6”表示使用CPU的6线程;“-w 20180220.txt”表示调用名字为“20180220.txt”的权重文件;“--noponder”表示对手时间内不思考):

Leela Zero的配置方法

注意:
1、权重文件我是解压缩了的,虽然有说不用解压。
2、权重文件要放在“leelsabaki-v0.3.0”文件夹下,而不是“leela-zero-0.12”文件夹下。因为Sabaki是调用“leelasabaki-win.exe”这个文件,而不是直接调用“leelaz.exe”。
3、可以在DOS窗口,用“leelaz.exe -h”命令查看leelaz的参数说明。

leelaz的参数说明

关于棋子摆放整齐的方法

怀疑自己有轻度强迫症,面对Sabaki棋子排列不整齐的样子难受啊。于是,2018年2月12日在作者的Github上提问了这个问题,下午的时候作者(沈易川?)回复了邮件。解决方法是:菜单栏上点击“File”,再选择“Preferences...”,在弹出的窗口中,把“Fuzzy stone placement”前面的对号去掉。唉,英文不行啊!

选择Preferences...

把“Fuzzy stone placement”前面的对号去掉

围棋AI.Sabaki+Leela+Leela Zero+AQ+Ray.2018年2月21日更新相关推荐

  1. “决胜算力时代 ”AI算力高端闭门分享会(7月21日)

    2018年07月21日,"决胜算力时代 "AI算力高端闭门分享会将在北京天使汇极客咖啡举办.本次沙龙是由 CSDN 发起,由CTO俱乐部,深脑链.AI科技大本营和区块链大本营协办. ...

  2. AI智商评测标准专家研讨会邀请,2018年12月20日北京

    21世纪以来,人工智能领域陆续爆发很多重要事件.其中最吸引人们眼球的,当属2016年战胜了人类围棋冠军并开始能够从0自我学习的AlphaGo. 10月26日,软银CEO孙正义在沙特阿拉伯举行的未来投资 ...

  3. 围棋AI.续一.Sabaki+Leela Zero+Leelasabaki.2018年6月26日

    前言 年初,伴随着围棋AI的兴起,自己也试着安装.对弈.随后将自己的安装.使用记录下来,在简书这个平台发布,方便感兴趣的网友安装使用.对应链接:https://www.jianshu.com/p/c4 ...

  4. 中国AI创新者论坛将于3月21日在清华大学举办

    来源:网易智能 创新者是如何改变世界的? 史蒂夫·乔布斯生前在苹果产品发布会上,经常会用同一张幻灯片作为总结,在他身后的大屏幕上会出现一个路标,上面标示着"技术"(Technolo ...

  5. AI:2020年6月21日北京智源大会演讲分享之20:00-21:00邱锡鹏教授《如何学习深度学习》

    AI:2020年6月21日北京智源大会演讲分享之20:00-21:00邱锡鹏教授<如何学习深度学习> 导读:首先感谢北京智源大会进行主题演讲的各领域顶级教授,博主受益匪浅,此文章为博主在聆 ...

  6. AI:2020年6月21日北京智源大会演讲分享之20:05-20:25陶建华《人工智能学科设置与人才培养》、雷明《企业对人工智能人才的要求以及对人工智能人才培养的建议》

    AI:2020年6月21日北京智源大会演讲分享之20:05-20:25陶建华<人工智能学科设置与人才培养>.雷明<企业对人工智能人才的要求以及对人工智能人才培养的建议> 导读: ...

  7. AI:2020年6月21日北京智源大会演讲分享之15:15-15:40黄萱菁教授《自然语言处理中的表示学习》

    AI:2020年6月21日北京智源大会演讲分享之15:15-15:40黄萱菁教授<自然语言处理中的表示学习> 导读:首先感谢北京智源大会进行主题演讲的各领域顶级教授,博主受益匪浅,此文章为 ...

  8. AI:2020年6月21日北京智源大会演讲分享之14:50-15:15穗志方教授《从语言到知识——构建语言智能的基石》

    AI:2020年6月21日北京智源大会演讲分享之14:50-15:15穗志方教授<从语言到知识--构建语言智能的基石> 导读:首先感谢北京智源大会进行主题演讲的各领域顶级教授,博主受益匪浅 ...

  9. AI:2020年6月21日北京智源大会演讲分享之14:00-14:25 张铭教授《基于知识图谱的机器学习》

    AI:2020年6月21日北京智源大会演讲分享之14:00-14:25 张铭教授<基于知识图谱的机器学习> 导读:首先感谢北京智源大会进行主题演讲的各领域顶级教授,博主受益匪浅,此文章为博 ...

最新文章

  1. mysql 去除括号_MySQL语句批量去除括号及内容
  2. scala运行包含package文件注意细节
  3. java 时间衰减函数_TensorFlow实现指数衰减学习率的方法
  4. 用python绘制图形_python绘制图形
  5. 一元二次方程求根公式的花样变换,你看懂了吗?
  6. 矩形嵌套(NYOJ-16)
  7. Aizu - 1386 Starting a Scenic Railroad Service (思维乱搞)
  8. idea使用svn下载项目并配置项目
  9. Win10下windows mobile device center设备中心连接不上无法启动
  10. 小精灵无尽的长廊_绝顶高手的养成日常
  11. 【无标题】iTunes更新报错1110错误代码
  12. 综合应用_6多字符串-烟锁池塘柳
  13. c语言最简单的程序流程图,高手帮忙画个流程图简单的俄罗斯方块C语言程 – 手机爱问...
  14. 网络安全:图片隐藏攻击
  15. VLSM子网掩码详解!!
  16. linux 基本操作
  17. 柯桥日语培训:语法 | 「あまり 」知识解析
  18. 英汉小词典 java_英汉小词典 java随机存取文件流应用 version1.0
  19. C语言结构体复习(一)
  20. Down友庆新年,下载中心新版分享达人排行赛开始!【已结束】

热门文章

  1. SoDate-7201新一代光伏发电数据采集器终端(光伏逆变器数据采集监测终端)HPLC双模通信+台区融合终端+4G云平台方案
  2. Curvature与Radius of curvature的区别
  3. 电脑怎么截图?常见的4种截图方法分享!
  4. 华尔街日报创新大奖!
  5. 【UnityTips】一种仿 Minecraft 物品合成的思路
  6. 架构师图谱·微服务消息队列篇
  7. RK3288下如何实现虚拟摄像头。
  8. 计算机丢失vcomp140.dll 正确做法!
  9. 配电室为什么还需要安装气象站?
  10. 传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(day01~day10)(2015年11月17日20:51:59)