作者chz (喵的勒)
看板GO
标题Re: [讨论] 关於mogo调整等级
时间Sat Feb 28 02:02:52 2009
※ 引述《zeat (Lucifer)》之铭言:
: 有个网友问了我如何调整mogo的等级, 其实我也不知
: 道XD 但基於好奇心, 我去找了些资料:)
: 如同那位网友所讲, 我参考了mogo的网页发现了下面
: 这个说明.
: "What is the level of MoGo?": all depends on the time you give to it. With
: very little time, it can be no better than random, and with infinite time, it
: plays perfectly! You are surely in between :-). Seriously, if it is too
: strong, give it less time. If it is too weak, buy a faster computer, give it
: more time, or play with handicap. Anyway, we did our best, sorry if it is
: still too weak :-p. On a fast computer it should be at about 3 dan on 9x9 and
: 3 kyu on 19x19.
: 的确mogo并没有设定level, 我看过整个网页(几乎啦
: XD)我发现mogo所强调的是绝对的胜利, 因此并没有办法
: 调整他的等级.
: 但可以透过给予较短的思考时间或较差的等级的电脑
: , 让mogo的演算法无法得出最佳解. (嗯, 就像我们跟mogo
: 打架时,我们拿枪mogo拿刀... 嗯, 有点贱XD)
: 为何会如此呢? 我猜想是为了学术研究, 我看过mogo
: 所采行的演算法简介. 与一般使用patten模拟人类思考的
: 电脑不同, mogo使用的是一种名为UCT的演算法. 在这种
: 演算法下是无法调整等级的, 因为每一步都会求出最佳解
: . (详细可以参考http://0rz.tw/VwUWP这篇pdf)
: 不过呢, 以上的成立是有个但书的. 本人英文极破(
: 升四技二专的统测英文16分(挺), 谜之音:这没什麽好现
: 的吧╮(╯_╰)╭), 因此我不保证我是否看错, 看漏...
: 为此发文就是希望可以讨论XD 不要因为我的错而误
: 导了别人 ̄▽ ̄
很简单的讲一下mogo的程式是怎麽算棋的。
对於一个给定的盘面,它怎麽决定接下来要下哪呢?
基本上是乱下......
假设黑白两方一路random下到结束,然後算赢(输)几目,把这当做所选的位置的分数。
只这样乱下一盘基本上没有意义的,不过如果是成千上万盘的话就有了。
最後,把所有乱下的局中统计出来最好的点当做下一手的地方。
有点像是我们下子後,算接下来的棋局
只是算哪边我们通常会有个大概,但是电脑没有,又不知道怎麽教电脑会
於是乾脆就让它搜所有空格。
这就是为什麽mogo布局很怪,又常常会手拔,但是局布又不算弱的原因。
所以给它时间长了,取样当然会比较准,也比较容易算到较强的手。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.31.173
1F:→ Jamei:听起来是很暴力的演算法…… = = 02/28 09:38
2F:推 monyo:其实是很酷的作法~~ 02/28 11:28
3F:推 MarioPuzo:酷 也许这是电脑围棋要打败人类的最快方式 02/28 11:51
4F:推 neji12149:真的很暴力的演算= = 02/28 12:37
5F:推 xhank76:感觉对围棋的发展跟研究很有帮助... 02/28 12:54
6F:推 dreamerx:给他串联两百台电脑来算算看... 02/28 13:30
7F:推 ilw4e:蛮有意思的 围棋程式难开发就是因为没办法建立完整的tree 02/28 15:12
8F:→ ilw4e:用他那个UCT随机模拟应该是可以大幅减小资料量 02/28 15:13
9F:推 microball:啧啧 原来是这样喔 02/28 15:30
10F:→ microball:那局部跟死活有关的一定会非常强 02/28 15:30
11F:推 carlcarl:自我进化这样= =" 02/28 15:31
12F:推 danielcz:mogo=Monte Carlo go,UCT是剪枝处理的Monte Carlo算法 03/04 12:00