社区
数据结构与算法
帖子详情
★★★ 求顶级黑白棋的估值方法。欢迎讨论!
NowCan
2004-11-26 01:18:29
国内的黑白棋智能和国外的差距很大,希望大家能讨论讨论,怎样才能写出顶级的黑白棋程序。
...全文
2396
42
打赏
收藏
★★★ 求顶级黑白棋的估值方法。欢迎讨论!
国内的黑白棋智能和国外的差距很大,希望大家能讨论讨论,怎样才能写出顶级的黑白棋程序。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
42 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shines77
2005-06-28
打赏
举报
回复
4天?我倒了。。。。真有毅力:)
NowCan
2005-06-28
打赏
举报
回复
呵呵,4天还是保守估计,经过昨天一夜的运算,我发现程序有越来越慢的趋势。而且今天发现程序有错误,只好重来。
其实,统计逼近的方法也可以用在经典的估值方法(行动力、潜在行动力、稳定子)上,应该是一样的,而且计算起来应该会快很多,也许我还会试试这条路。
NowCan
2005-06-27
打赏
举报
回复
现在已经基本明白了模板估值。编了个程序正在计算模板参数,估计运行时间4天左右,这个帖子结了。
xu770
2005-06-03
打赏
举报
回复
mark
wh_5
2005-06-02
打赏
举报
回复
高手看哈这个问题。。http://community.csdn.net/Expert/topic/4054/4054933.xml?temp=.1963007
NowCan
2005-06-02
打赏
举报
回复
最新进展。
看到了Zebra的源代码,很复杂,难。
反编译了Booby java版,还没仔细看。
jerryy
2005-04-07
打赏
举报
回复
我倒是一直想做一个五子棋的
wuyi8808
2005-04-03
打赏
举报
回复
mark
NowCan
2005-02-07
打赏
举报
回复
我倒是见过一个用C写的全bitboard的黑白棋,计算棋子翻转的地方比求行动力复杂很多,没仔细看。本想看看他怎么计算模板的,但是没有。
我看到Logistello模板值的计算方法了,是迭代的,还不是很明白。再找找其他程序的方法看看。
shines77
2005-02-07
打赏
举报
回复
今天是魔兽世界WoW欧洲内测的最后一天,也许我会上去一下,他陪伴我度过了近4个月,再下来偶就没有钱在发行的时候玩它了(内测免费的),纪念一下。国内的至少要5月以后才能上市,同样,不一定有时间和money玩
shines77
2005-02-07
打赏
举报
回复
我现在在写bitboard的计算某位置的flip disc list(翻转棋子列表的函数),我想出了一个还可以通过的方法,不知道有没有效率更高的方法,这个函数看起来比bitboard计算计算行动力难度高了许多,开始本想写一个漂亮的函数,结果发现实在没有办法写得漂亮,代码量会比计算行动力的多一倍左右
这个函数完成了,搜索过程中其他的部分就基本上可以全部使用bitboard了,当然,估值的时候最好也是用模板pattern,它太适合bitboard了,那是我写一步要做的。我现在也把我的AI函数写成了DLL和静态的Lib(两种方式),不知道什么时候可以完成。上面的翻转列表函数(使用MMX+汇编)写完了我会公开的
NowCan
2005-02-07
打赏
举报
回复
又研究了一下模板估值,镜像和旋转都看成是同一模板。现在主要问题就是模板的值怎么计算了。
Logistello作者公布的那些文档我找了很久,也没发现特别详细的说明。
我现在可以统计棋局,把各个阶段各种模板的取胜比例都统计出来,但是下一步呢?我卡在这里了。
NowCan
2005-01-28
打赏
举报
回复
谢谢关注.
其实你说的模板估值方法我大概也知道,一般的程序有11种模板,2*2角,3*3角,2*5角,4种横线,长度超过4的斜线,还有一种是边加两个X格.然后对于任意棋局,都可以拆分为这11种模板或其旋转,镜像.最后进行线性组合.
我主要是不知道这些模板的值怎么计算.以及在生成这些值时如何处理他们的旋转和镜像.
MPC我倒是知道一些,但没开始实用.因为我现在的估值函数太不稳定了.
Booby我领教过他的棋力,确实很强.但你说他终局比WZebra还快,我到没觉得,也许是版本不同,我的是4.21版,Booby是4.0版.但我看不出他终局搜索了多少层,感觉上好像是20-24层,不过可以看出,他刚开始的几次终局搜索是胜负搜索,并没有搜索确切比分,这样能快很多.我试验过我自己的程序,如果胜负搜索22层,一般会在1分钟内出结果,但是要搜索确切比分,10分钟都不一定能有结果.
Booby的开局库是exe文件里的一些资源,又没有相关的菜单,没办法不用开局库.
Booby的网站对我来说没用,全是乱码:)
shines77
2005-01-26
打赏
举报
回复
说说我所了解的模板估值方法吧,其实这是一个漫长的统计过程,先确定模板的类型,大概有10几种。然后确定每一个模板的估值,像Nowcan说的,估值的大概就是类似查表的方法。再找一个比较厉害的程序或棋手,进行大量的对局,进而判断胜率或评估棋力。根据模拟火的策略(棋力会忽高忽低的反弹,模拟金属加热和退火的过程,在碰到表现不佳的模板参数时,在一定的概率上继续尝试下去(参数仅做少量的修改)),不断的修改模板的估值,然后重复上一步的大量对局,这样有可能求出一个较优解。Logistello的作者的一个.ps文件里有一些更详细的讲述,只是我当时没怎么看懂。还有,就是不同的棋局的阶段应使用相应的模板的参数。
至于WZebra等搜索较深的程序来讲,一般都用到了MPC(Mutil-Prob Cut,多重概率剪枝),但是这个算法要求有一个比较稳定而且较为准确的高质量评估函数作为基础,因为它在浅层(如8层)的搜索里就要剪掉很多的分支(好像这是对于ProbCut而言的,对于Mutil-ProbCut是对每一层都会剪掉一些分支),所以它的搜索节点是减少了很多的,所以可以搜索较深的层数。
还有就是,其实日本对于的黑白棋的研究也是相当不错的,某些程序也是很牛的,比如Booby REVERSI这个小程序,竟然是Turbo Pascal 7.0写的,程序很小,但棋力也很强,走棋没有WZebra快,但终局的搜索比WZebra快(好像是),唯一的遗憾就是无法去掉其开局的开局库(你会看到某些它存有的开局,它都是不必搜索就下了的,好像不容易检验其真正的棋力,尤其是开局),其中对棋局的分析有其独到之处(可以使用菜单里的Analyze查看),主页好像是:http://www.amy.hi-ho.ne.jp/okuhara/
yeeshengwei
2005-01-21
打赏
举报
回复
关注一下!
NowCan
2005-01-19
打赏
举报
回复
如何进行对战去我的blog看。
http://blog.csdn.net/nowcan
wvins
2005-01-19
打赏
举报
回复
人工智能对战的能提供网址吗?
希望有一天也能成为高手!
wvins
2005-01-19
打赏
举报
回复
我有个黑白棋的游戏,同学的同学编的。据说很强,我又不会。有兴趣的找我,自己分析吧。
QQ:36330393
赖勇浩
2004-12-26
打赏
举报
回复
我会时时帮顶的.
Fortress
2004-12-24
打赏
举报
回复
最近没空考虑这个,不过还是顶一下。
加载更多回复(22)
价值神经网络在计算机围棋的优化研究_王力.caj
对于人工智能来说,棋类由于其巨大的复杂度一直是最具有挑战的游戏。围棋自从被创造出来,已经有数千年的历史了,在19路围棋中,即棋盘是由19*19个纵横交叉点组成的,每个交叉点都有黑白空三种不同的状态,则博弈树的复杂度在10的300次方左右,其天文数字远远的超过了宇宙中原子的个数。在象棋与国际象棋被计算机用穷举加上搜索的
方法
战胜了世界上
顶级
的棋手后,围棋成为了人工智能最想要征服的游戏。但是,传统的计算机围棋程序面对职业围棋棋手时仍然被让3到4子,在2015年国际学术界普遍认为解决围棋问题至少需要10年到20年的时间。但是,2016年3月,DeepMind团队的人工智能程序AlphaGo以4比1的成绩战胜了韩国棋手世界围棋冠军李世乭九段,引起了围棋界以及人工智能界的广泛关注,这对于计算机围棋来说具有跨时代的意义,AlphaGo所使用的深度学习技术也成为人们关注和
讨论
的热点。AlphaGo围棋程序程序通过决策与评估两个大脑的组合进行围棋的对弈,策略大脑对当前盘面进行下一步棋的选择,评估大脑对当前的盘面进行大局观的评价。本文主要研究AlphaGo的价值神经网络的设计与实现,通过从围棋数据集的制作,到价值神经网络模型的复现,从网络训练过程中的算法优化,到实现一个36层深度残差价值神经网络,最后进行大规模分布式的神经网络的训练,并训练出更为精确的价值神经网络。本文研究的目的在于设计出一个更为精确的价值神经网络,该网络可以准确的预测出当前盘面的黑子与白子的胜率,具有很好的大局观,从而可以提升计算机围棋的水平,同时价值神经网络的工作模式可以应用解决生活中的
估值
问题。本文相较于AlphaGo的价值神经网络在数据集制作,网络模型的构建和大规模分布式训练方面都有较大的改进,从而提升了
估值
的准确性。
JAVA
黑白棋
之算法浅析
引言 本为主要对我在开发JAVA
黑白棋
人机算法过程中所用的博弈思想、
估值
函数、搜索算法分3个方面进行了阐述,由于本人水平有限,如果大家希望了解更多有关
黑白棋
博弈策略以及人机算法的深入的理论研究,可以参看本文最后的参考文献,或者搜索其他相关资料。
黑白棋
,又叫反棋(Reversi)、奥赛罗棋(Othello)、苹果棋或翻转棋。
黑白棋
在西方和日本很流行。游...
基于Minimax和Alpha-Beta剪枝实现的C语言五子棋AI入门
五子棋AI是上大学第一学期做的第一个工程,其中断断续续做了近一个月时间,其中的思路和
估值
参考了许多这位大神的作品lihongxun,但其中有些算法功能还未能完全掌握运用,不过目前棋力很多时候已不输于其AI。由于没有掌握C++,而项目开始时过于自信,虽然程序中用了类,但实则为一个实实在在的C语言项目,可以直接忽略其中类的部分。
AlphaGo围棋 论文笔记
标签: AlphaGo围棋论文翻译 2016-03-17 17:00 6460人阅读 评论(0) 收藏 举报 分类: machine learning(15) algorithm(6) 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] Mastering the game of Go with d
蒙特卡洛算法与电脑围棋
弈棋计算机 弈棋自古被视为一种关乎智力的高级挑战。和其他智力测试相比,弈棋具有直接对抗的特点,没有什么比在紧张的对局中看到对手一手精妙凶狠的棋招更 能让人感觉到一种智力上的刺激和挑战了。弈棋相比于其他牌类游戏而言,随机和不可控因素更小,因此对局双方的决策能够更直接地控制整个局面的走势,这进一步增强了智力的对抗性。 毫不意外,在国际象棋更加流行的西方国家,人工智能领域自创建之初就
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章