金角银棱草面垃圾中间。
3D不合适人下,因为看不清。
对计算机来说,本质上2D和3D的区别不如对人的影响大。如果单纯是希望给电脑带来麻烦,只需要增加2D棋盘的大小,对现有的计算机技术来说,就已经相当灾难了。但是如果有算法或者硬件上的突破,相信计算机反而更容易适应3D而不是人类。
对于小型围棋盘(13*13,如果我没记错的话),AI已经能和职业中高段棋手媲美了。但在正规棋盘上,还差得远。
其实AI在围棋的发展远不如国际象棋。国际象棋方面,近20年前电脑就已经击败人类了。围棋的话,似乎现在最高实力也不过是媲美职业低段位(搜索了下,似乎最近结果是让4子战胜武宫正树九段,算的上业余高段的样子?),这还是近些年有技术突破的结果,之前围棋AI更是惨不忍睹。当然这和没有IBM这样的大公司不惜血本投入研发有关,不过围棋本质上也有很多不同的地方。
简单说,电脑围棋只能看见“术”,不能算到“势”。
AI在围棋上的突破是从蒙特卡洛模拟的应用开始的,一直以来围棋AI都是用某种基于围棋规则和经验的评估函数加上博弈树来推演。它给可能的落子打分,然后不断推演之后的变化。但是由于围棋的可能性超过大多数其他棋类,它的博弈树搜索空间几乎是无法用哪怕超级计算机在有效时间内准确推演的。尤其是序盘左右,博弈树推演到终盘按照现有计算力是几乎不可能的。这样电脑的开局甚至到中盘都会相当孱弱,无法正确应对(我不确定但我相信官子之类的电脑应该是更厉害的)。
蒙特卡洛方法是一种很邪恶技术。它的本质是随机模拟,并用随机模拟结果胜负的概率来评估一个子的效力。简单说就是,当我面临选择的时候,我看不清这些选择之后的万般变化,所以与其去勉强估算,不如我找几亿个傻子帮我随便下,然后我去统计不同选择最后的胜率。虽然我无法穷尽所有变化,但是我仍然能大致看出这些选择的优劣:因为我看到了“势”。
用这个方法去代替或者补充传统的,根据棋型来打分的评估函数,大大增加了AI对大局的判断力。之后的各种优化,比如并行化博弈树模拟,都是在这基础上的。
但是你也可以看到,这种对“势”的评估也并不是精确的,我相信职业棋手的对大局的判断还是要优于哪怕是几百亿个猴子的。蒙特卡洛方法可以说是出于对围棋艰深和现有计算力的不足而作出的迂回解决方案。但如果某天,计算机的计算力千万甚至上亿倍的增加(比如量子计算机?),那AI将有可能穷尽每个子所有的变化,象神一样一眼看穿结果,那人就基本没得下了。3D棋盘增加的变化只会让人更不适应。
大家来感受一下,在三维棋盘上下棋是什么感觉, 我 反正是醉了……
鉴于三维围棋的规则可能会有争议,这里用三维五子棋来做个示范:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.(太复杂了……必须开座标轴了…………)
14.
………………我已经要下吐了,让其中一方快点赢吧:
15.
16.
17.
18.
至此,黄子胜,橙子「一失足成千古恨」…………
这里可以看到几个难点,就只列举刚刚下棋时碰到的问题:
=============Mathematica 源代码============
f[x_, y_, z_] := 0; data = Array[f, {8, 8, 8}]; Dynamic[Image3D[data, Axes -> True]]