文号
t69823
阅读
9220
回复
7
收藏
7
文献-蒙特卡罗算法在围棋中的应用。
2015/02/08
IP:天津
围棋程序的编写是一个棘手的问题,尽管笔者现实中有中强5段的水平(YC中弱9)可以0封现在最强的软件2子,但是与职业相比,被让3子只有50%左右的胜率,因而软件击败人类,目前仍然看不到希望,目前最强的软件是ZEN CRAZYSTONE和银星14,其均引入了蒙特卡罗算法达到强4d的水平,但是又不是纯的下随机棋来单纯计算胜率,因为围棋的味道,是要靠逻辑来支撑的,单纯靠统计 只能达到业余2-3段,因而,如何用围棋逻辑来优化MC算法,是现在必须要解决的问题,希望爱好者们关注一下,现在的围棋软件真的很有意思,它们率先自动掌握了某些中盘封锁的技术(局部的技术有5),一般人类高手,不是那么下的,有点类似武宫正树的风格(尤其目前KGS5d的ZEN19S或D),还有 YC8d以上的朋友,可以私信我,欢迎交流切磋。[s::)]
attachment icon Efficient_selectivity_and_backup_operators_in_Monte-Carlo_tree_search.pdf 133.58KB PDF 251次下载 预览
11年10个月前IP:天津
746178
1楼
会下围棋的程序员
引用
评论
11年10个月前IP:浙江
746184
2楼
蒙特卡罗算法是随机数落在一个满足方程的面积里求定积分的方法吧。

PS:上学时候买个小霸王学习机BASIC学的蒙特卡罗算法求圆周率。
引用
评论
QQQQQQQ作者
11年10个月前IP:天津
746189
3楼
引用 samhrc:
蒙特卡罗算法是随机数落在一个满足方程的面积里求定积分的方法吧。

PS:上学时候买个小霸王学习机BASIC学的蒙特卡罗算法求圆周率。
围棋蒙特卡罗的基本思想就是,首先做出首步假设,然后让几万个傻子按随机数的方法在棋盘上落子,最后统计胜率,比如下A点 胜率70% 下B点胜率52% 那么就可以基本确定A好了,当然后来做了些优化 比如一些手筋 一些型(比如小飞) 还有常见的比如花5的点,再就是后来的,利用子的权重,有意识地要求不许在对方确定领域里走棋,但是目前实力还是不行,可以下载一些自己试试确实较以前程序有很大进步(比如单机版ZEN5)[s::D]
引用
评论
11年10个月前IP:广西
746260
4楼
下载学习下
引用
评论
11年10个月前IP:江西
746270
5楼
GNU Go就是用这算法做的围棋程序啊。我是从来没赢过。
引用
评论
11年10个月前IP:浙江
746328
6楼
很久之前曾经想过一些相关的问题,无奈自己围棋水平甚差。。
优化有两个方向,其一是围棋的胜负(或者利弊?)判定比国际象棋复杂很多,判定的计算开销大小严重影响预测的深度
其二是尽量减小随机性,避免漫无目的落子,但这也会引入局限性的问题,可能最终的方向是分区域模拟吧(比如对于某一片的争夺,可以不考虑外部情况),但这又会影响最终AI的全局观念
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的