您的位置:首页 > 编程语言 > Go语言

玩转你的AlphaGo(MAC OS)

2016-03-11 15:35 731 查看

玩转你的Alpha狗

外传

AlphaGo的代码已经开源了(AiphaGo),里面有一些代码是空的,说是在开发中,大公司内部还在审核评估吧。

放出来的代码里

interface 里server文件里是一个python的网页版围棋工具,可以导入SGF格式(一种围棋棋谱格式)。

启动server,goServer.py 68行需要插入 path = path.strip(“go.html”)

python goServer.py


浏览器里通过访问

http://localhost:8000/go.html


AlphaGo文件里是一些训练的代码和数据建模。可以拿来学习一下,具体用法可以看看test文件夹里的测试代码。

好了,说说简单的alphaGo开发

1.物料

一个简易版的alpha狗需要什么组件?

一个围棋UI,能够接入各种的围棋引擎。GoGui一个Java的围棋UI,支持GTP协议(这个协议是什么一会儿讲)。

一个围棋策略引擎,就像Alpha狗里的算法。看到的文章里提到了一个shedskin(应该就是人家写着玩的东西)。在examples文件夹里面。

只要引擎支持的协议UI支持就ok了。

引擎和UI之间通过一个协议进行通信,这就是GTP(http://www.lysator.liu.se/~gunnar/gtp/)。GTP是非对称协议,包括控制端和引擎两方面。控制端发送命令,引擎响应之。

2.安装

1.策略引擎shedskin下载即可。

进入examples文件夹,go.py是一个cmd界面的游戏,和MUD似的。disco.py是引擎脚本。支持GTP协议。

可以执行试试效果。

python go.py


2.编译GoGUI

因为GoGUI已经很久不维护了,所以里面的配置比较老,编译主要碰到了两个问题:

docbook-xsl配置

SetFile配置

1)docbook-xsl安装

docbook-xsl这里下载。我下载的是1.78.0。

解压缩,并将xsl拷贝到/usr/local/share,这一步不做也可以,下一步制定路径的时候制定到解压缩路径即可。

cp -r docbook-xsl-1.78.0 /usr/local/share/xml/docbook/docbook-xsl


制定docbook-xsl.dir参数编译。

ant gogui.app -Ddocbook-xsl.dir=/usr/local/share/xml/docbook/docbook-xsl


2)SetFile配置

编译的时候报了这么错误,蒙圈了。

/Users/yangpeng/Downloads/code/gogui/build.xml:376: Execute failed: java.io.IOException: Cannot run program "/Developer/Tools/SetFile": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at java.lang.Runtime.exec(Runtime.java:617)
at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58)


仔细看了看,原因现在SetFile已经不在这个路径了。

修改build.xml的这一行

<property name="osx.setfile" value="SetFile"/>


再次打包就ok了。

3.执行

进入/gogui/build,双击GoGUI。

GoGUI主界面如下图:



先把棋盘改为9 * 9的,没办法disco支持不了19 * 19的。



打开Program->New Program,用下图Command和Work Dictionary的配置就行。



在打开Program->Attach里选择“disco”引擎。



4.引用文章

学习你能打败这个简易版的AlphaGo 所得。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: