写象棋 AI 很厉害的人,下象棋也很厉害吗?
还是说有可能他们仅仅只会象棋的皮毛而已。
如果你遍历的话,会生成一棵树。在树的叶子上你会有很多种局面。如果下象棋不历害,你就很难判断哪个局面更好。只有能找到好的局面,然后你才能尽可能的往那个局面走。
这种古老的 game 到现在基本都有固定招式的,比如国际象棋的 开局、残局 基本也就那么几种,中盘用 hash table 找最优手。当年 深蓝 能找到 12 步棋这算不错了吧
国际象棋的 AI 比较常见大概因为国外研究的多,AI 算难的一个是围棋、另一个就是日本将棋了
没法直接回答,但是我记得在 卡斯帕罗夫(陪深蓝玩那位)的 棋与人生 说有举行过人 + 电脑(深蓝有的时候也需要人来调整策略)辅助的国际象棋比赛,比较牛的,不是国际象棋大师,也不是很懂计算机的,而是两者都懂的人。但我记不清具体的规则是什么了。。。
只知道最简单的方法是对所有可能尽可能的穷举,然后给每一种可能的情况一个评分(是否更有利),下一步是分数最多的那个。
跑下题,卡斯帕罗夫有一次推算了 20 步 +(可能是 36 步吧。。。),但他自己也说忽略了大量的可能情况。
再跑一下 还有某个大师,下着棋,大脑中有歌谣想起,于是收到了启发。。。于是赢了。。。人在想出很难的问题的答案的前一刻的大脑是非常平静,然后突然爆发。good idea 也许不是“想”出来的,而是“不想“出来的。
随便一提,现在国际象棋方面,难点不是如何让计算机更厉害(据说的推算能力是 200 步),而是如何让计算机笨成不同等级。
我当年学象棋的时候,我爸说只要你每下一步棋都能想到后面三步可能的下法,你的水平就算“比较不错”了。以前有个我同学写了个五子棋 AI,仅仅向后推算 5 步,就不是那么容易能下赢了,感觉这个和编写者的下棋水平没什么关系吧,对于比较简单的棋类游戏,只要穷举足够的可能性,人类的大脑总归是有跟不上的时候。
我们县城里小朋友不知从什么时候开始从小就要去学国际象棋,也诞生了几个国际大师级的人物。 我不会,但是认为 不怎么会下国际象棋的人也写不出来什么象棋程序。 就好象玩游戏小白的人,也不会写出好的游戏脚本出来。