首先,西洋棋电脑用一般硬件在2008年左右已经可以让特级大师子了,
所以是已经超越人类没错。
其实早在70,80年代就有许多棋手提议说是不是该修改规则,不过那时
理由不是想要对付电脑,而是因为开局理论有了爆炸性的成长,一些开
局像sicilian defence的一些变例根本就深到中局里去了;一局平均
约40步,很多变例深到20多步去,这让棋局变得很没意思,很多时候看
到用哪个开局,就大略知道意图和结果了。
你所说的提议,像加大棋盘等等的,之前也很多人有提过,另外比较有
名的就Fischer Random,就Bobby Fischer提议说开下棋前,后排大子由
乱数抽选,这样开局理论就都没有效了,他本人在92年消失后也坚持只
玩Fischer Random,一些棋赛也有尝试性的导入。
致于这些提案,有没有办法把人类的优势拉回来呢? 答案是不会
可以先看其他棋类的案例:
1) 加砲
电脑象棋目前其实也有跟特级大师一较长短,甚至是挑战顶尖的实
力了,为什么还没有是因为大多数的棋手都不愿意下人机对局,各大组
织也大不愿举办或规定旗下棋手不可以参加这类的对局,所以短期内我
们不会看到到底结果为何,但确实是电脑被威胁到了才会有这样的反应,
所以看来加了砲似乎没什么效果。
其实在象棋里难处理的不是砲,是兵; 要在什么时机推兵、推到哪,
这比砲困难多了。
2) 加大棋盘
电脑将棋是10x10的棋盘上进行,虽然还未能跟羽生善治一较高下,
但前二次电王战已经"让"到限制硬件、赛前借出并不可修改,结果职棋
还是败退,可以合理的说加大棋盘应该也是没有什么用。
3) 没棋谱
在2003年时就有人发明了一个叫Arimaa的棋,它也是在西洋棋8x8棋盘上
进行, 它号称电脑永远无法赢人类棋手,又没有过于复杂的规则。每年都
会举办一个叫Arimaa Challenge的人机大战,结果今年四月,电脑就拿下
了这个头衔。当然,这么新发明的棋就没什么棋谱了。
另外,一个最有名的例子西洋双陆棋(Backgammon),当年第一支超越人类的
程式TD gammon就完全没有用任何棋谱,而是这程式自己和自己对下去训练
出来的。
前面这些都只是一些实例,要怎么评估会不会有效有更根本性的方法。
基本上,现在让电脑下棋的基本方法发展得很成熟了; 现在有一支研究就
在发展"只要告诉电脑那游戏的规则,它就有办法玩",叫General Game Play,
不只棋类,电脑游戏也有(General Video Game Play)
为什么可以办得到呢? 其实,一个游戏,你给了游戏环境(ex. 棋盘、棋子)
以及游戏规则,它就定义了一个数学结构,而很多方法都是为这数学结构
发展的,所以几乎任何游戏都适用 (当然,要变强就需要照游戏特性再修改)
因此,在评估到底一个游戏或一些修改变化对电脑是难还是不难,抑或是电脑
有没有可能下得好,就要从数学结构着手,一些游戏和修改方法有时没想像中
有效果。
说是数学结构,其实一些基本的东西也没很难,也没想像那么高深; 只要知道
一个叫游戏树(Game Tree)的东西就可以发现为什么提的那三项修改方法不见
得有用了。
https://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.jpg
上面那连结是井字游戏的例子,其实简单来说就是面对当下局面时,考量
你所有可能的棋步后,再考虑对手可能的应手,再考虑你的应对,这样一层
一层推下去,展开来的树状结构。
对电脑来说,它在"玩"游戏就是在这结构上"跑来跑去",所以在考量评估对
修改电脑影响时,就看这game tree的变化:
1) 加砲
在game tree上来说,只是一个分枝是如何生出来的差别而已,甚至因为要隔子
才能吃,反而有把game tree的分枝缩小,更有利于暴力搜寻方法。
2) 加大棋盘
这确实是会让game tree变很大,但光大是没用,尤其是很多可能的棋步臭棋我
们很快就可以忽略不看时,超大的game tree也只是纸老虎而已。
最明显的例子就free-style五子棋; 你可以在围棋19x19棋盘上玩,可能性超多,
game tree超大,但事实上,若后手一开始就跑去下离先手太远的地方就会马上
输,所以一般只会考虑在"附近落子"而已,棋盘上其他的地方根本就可以忽略
不计,所以要真正让电脑仔细看的地方,就只有game tree里很小的一部分。
一般有攻杀性的棋种多少都会有这种特征可以利用。
3) 没棋谱
其实以最终极的形式来说,若是把从游戏开始展开的game tree全部看完,
我们就知道这游戏最终结果了,像五子棋,西洋跳棋(checkers)或最近的
德洲仆克(Texas Hold'em),就是这样被"破解"了
所以,只给电脑去看game tree,像自我对局就是一种形式,没有棋谱还是可以慢
慢变强。
说到这里,也许有人会好奇那围棋是怎么一回事。围棋是一个非常特殊的存在,
也是它有趣的地方。
一样,先从game tree来看,它的game tree非常大略就1后面跟了360个0那么大
(10^360),但就像前面说的,不是大就有用,例如Arimaa的game tree就1后面
跟了402个0 (10^402),但反而比围棋还早被超越,原因就在围棋大部分的棋况
下每一手棋当下差距不会太大; 或者说,那效果要好几步棋之后才看得出来,
像解死活。当然西洋棋、象等等也有类似的性质的部分,但这些往往非常快非常
简单就可以判断出来,像车被抽了,就马上知道前一步不好,那部分不用看。
所以围棋的game tree,可以忽略不看的部分就少非常多。
当然,虽然如此,相信电脑还是可以下好围棋,目前还是缺一些方法上的突破;
这段期间就有如70年代电脑西洋棋在发展时的氛围,相信近年多少会有些新的进展。
其实,想要发明电脑无法赢的棋类游戏很简单,但人也不见得下得好,
游戏本身也不见得有趣就是了。
最后,我个人觉得电脑下赢人类不代表什么,也不见得是坏事。
西洋棋因为电脑的发展,开局理论和现在棋手对局品质非常得高; 从Kasparov开始,
现代棋手手边都会有个engine在帮忙分析、拆局,在观棋时用engine辅助反而多了
乐趣。将棋近年也是电脑对局软件加上网络直播,下棋人口反而成长许多。
就像Usain Bolt跑再快,还是没有法拉利跑得快,但你也不会让这他们比赛跑步,
或你也不会跟起重机比举重。
电脑对局软件也慢慢会是这种角色; 电脑有电脑善长的事,人有人的长处,
两着相辅相成,而非取而代之。
※ 引述《nanjing00 (知足常乐)》之铭言:
: 迷上西洋棋 偶尔下下chess.com的免费版
: 觉得西洋棋由于已经有许多谱了
: 所以电脑可能下的赢人
: 应该把西洋棋改成十成十 并且共多四个砲
: 这样由于还没有足够的谱
: 电脑应该还下不赢人
: 以上 小心得