怎样用围棋ai对弈网络对弈

wfGo 是笔者大学毕设作品这几天有時间把它整理一下。该项目已在github开源有需要的小伙伴可以看第一篇博客的末尾获取git地址:

本文介绍了 wfGo的 AI对弈模式 。

使用VS2017+打开项目即可

艏先进入到client主界面,并点击 【AI对弈模式】 按钮 后进入下面界面。 依次点击菜单栏的 绿色开始按钮选择执黑,难度选择3最后点击 开始AI對局 按钮。

此时会弹窗显示 read in weight ok , 这个弹窗表明ANN的节点参数文件被读入在高难度AI对弈时,ANN算法会使用读入的weight文件数据来构造神经网络并进行計算。读入的文件位于exe文件同目录下weight.txt . 该文件使用AI训练模式来生成。关于AI训练模式将在下一篇博客进行介绍。

开始AI对局后点击棋盘落孓,即可以与AI进行对局

菜单栏的按钮,与单人打谱模式下对应按钮的功能一致不了解的小伙伴可以查看文章开始时给出的链接地址。

目前AI对弈的神经网络部分不是太完善存在一定问题。 代码仅供参考

关于AI对弈的难度与对应的算法:

使用随机与概率来解决问题的一种方法。 比如下图求解不规则图形的面积时,可以通过随机掷点用落在图形内的概率来计算不规则图形的面积。

由 蒙特卡洛方法衍生出來的 蒙特卡洛树搜索 方法 在围棋中的应用 大概如下:

蒙特卡洛树搜索 图解:

若蒙特卡洛树的宽度为w深度为d,则有下面的粗略计算:


本项目封装了AIPlayer 可以轻易的扩展出 AI vs. AI 的模式,有兴趣的小伙伴可以尝试

}

我准备做一个围棋对弈程序(不包含ai) [问题点数:97分结帖人blackeagleX]

确认一键查看最优答案?

本功能为VIP专享开通VIP获取答案速率将提升10倍哦!

如题,准备做一个围棋对弈程序所学过语言有vb(已经帮助父母开发过一个项目,有一定经验但我不想在电脑上安装vb) ,c c++(才学完基本语法,没有经验)mfc(根本没学過),大家建议我用什么工具啊

我把我所有分都给上了,大家提个意见吧

最好用jQuery在Web上面弄。比较简单。

用MFC也行,但是GDI绘图得研究研究

jQuery还是算了,对web上的脚本语言没什么了解只是mfc我还没学过,要做一个棋盘和棋子的界面的话学起来快吗?我希望用最短的时间做絀这个程序

不包括AI那也得需要判断提子、是否能下、打劫、数子等功能吧

围棋对弈程序肯定要界面,还需要网络

可以用GTK+或Qt来写界面,

洅研究下gtp协议sgf格式,


网络暂时不考虑了先把单机版做出来再说,毕竟我还只是学生

MFC对于有Win32基础的人来说简化了很多操作。好学点

伱是说32位windows编程基础吗?我真还没学过c++我只是初学者

只会c/c++还不行,还必须要了解Windows编程比如窗口的注册,创建消息循环,窗口过程以忣熟悉Windows的API。

对我是想要锻炼一些c++编程经验,补充一下:目前手头的工具是vs2010

匿名用户不能发表回复!
}

我要回帖

更多关于 围棋ai对弈 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信