作者ddavid (星舞弦独角兽神话忆)
看板GO
标题Re: [问题] 电脑棋力的问题
时间Tue Apr 19 12:15:14 2005
※ 引述《GBET (moi)》之铭言:
: 我直觉地预测 电脑永远也不会有赢过人的一天
: 因为程式思考者总是希望电脑评估所有参数以求出 Maximum 谋取最大利益
: 但是围棋的原理并不是"最大" 而是"中"与"平衡"
: 如果出发前提偏差了那结果一定不会好
: 人很容易就会抓出电脑的"顾此失彼" 这也是电脑永远搞不懂他为什麽会输的原因
围棋是属於一种资讯完全公开的对局游戏,凡是资讯完全公开,在不考虑运算时
间的情况下,必可以找出「尽可能最佳」的解(尽管这解不一定通往胜利),因为资
讯全公开就可以被穷举且没有机率影响的问题。因此,在期待储存媒体及运算能力持
续增长的情况下,围棋是「将有一天」必会被解完的问题(尽管那一天可能很久才会
到,甚至人类灭亡前都不会到)。
在运算速度不够的情况下,程式才会被迫去使用「评估」这件事情。比如井字棋
,我们用人脑都能够穷举,所以早以了解的人不需要去评估什麽,单单照已知去下就
够了,最後结论是双方都了解的情况下必然下成和局。
运算速度加上储存能力足够的情况下,单使用胜负二分的盘面逆推建立出资料库
就可以了,没有什麽评估:)。举个例,如果现在有一个下完的棋局A,最後一手是黑
子下的,而结果是黑子胜。那我们可以很简单的逆推一步,把这个盘面上任何一颗黑
子拿起来,然後说拿起之後的盘面B为一黑子必胜的盘面。这很容易理解,因为黑子
就把那子下下去就会赢。若A上有n颗黑子,那至少就有B1到Bn这n个盘面是拿起不同
黑子所形成的黑子必胜盘面。另外也因为最後一手可能造成提子,所以不会只有n个
可逆推盘面。
接下来我们思考一个任意盘面X轮黑,它盘面上有n个可落子处,这代表它通往n
个不同的下一手盘面,我们暂称Y1到Yn。若这其中有一个Ym是我们之前已知黑必胜的
盘面,那我们就说X也是黑必胜的。为什麽?因为黑就下m这手就行了。而万一Y1到Yn
都是已知黑负的盘面,那麽X也就是黑负的盘面,因为黑无论怎麽下都会到一个黑负
的盘面。
然後再考虑对手白子的情况,假设对手一定下得出最佳步,也就是说对方会尽可
能下出通往白胜的盘面,避开黑胜的盘面。考虑一个任意盘面X轮白,它盘面上有n个
可落子处,通往Y1到Yn这些盘面。若这其中有一个Ym是我们之前已知黑负的盘面,我
们就说X也是黑负了。反之,若Y1到Yn都是黑可胜的盘面,我们就说X也是黑胜的盘面
。
利用这样简单的逻辑,最终必可逆推回第一手是黑胜或黑负的盘面,并且建立出
何时该如何着手的资料库出来,因为围棋具有不可同型反覆这条规则。另外上面刻意
不提和局的可能性,但逻辑上其实处理法一样的,直接加进去就是。
而因为运算速度与储存能力的不足,这方法是目前不能在围棋上实作的,因此才
会需要有各种评估方法的AI出现:)
--
「传说的最後,魔王总是被勇者封印。但勇者会逝去、封印会衰弱,魔王却永远
不灭。传说呢?传说持续着。只是,变质了。所以对於传说而言,只有反覆无常的自
己是主角,而魔王只是配角。勇者?勇者不过是消耗品罢了,封印则什麽也不是。你
好不容易有机会当上配角,怎麽走回头路想成为消耗品?你早晚会什麽也不是的。」
--星.幻.梦的传说
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.31.131