ChatGPT对战国际象棋AI,不到15秒就让人大受震撼。开局ChatGPT执黑,国际象棋AI执白,双方有来有往,ChatGPT甚至主动出击,逼退对方的象(主教):看起来会是一场激烈较量,直到ChatGPT突然嘎嘣一下,吃掉了自己的象!
△奇怪的王车易位操作
事情到这里开始不对劲起来。
无论是棋盘上凭空出现的第9个黑兵(国际象棋黑白各只有8个兵):
还是突然把斜线上的象吃掉的马:
△马本来只能走“日”字
简直不把规则放在眼里有木有!
这般神奇操作吸引了一大波网友前来围观,有人直呼“这不就是我5岁表弟想赢棋的耍赖操作?”
不过也可以说,ChatGPT分分钟学会了人类下棋精髓——耍赖……
所以这场神奇的AI国际象棋大战,究竟谁赢了?
发明了一套“全新”规则
对战虽然只有1分32秒,但ChatGPT却整出了一套船新的规则。
其一,可以“隔山打牛”,除了马以外,甚至连皇后、车和象都可以随便越子(跨过某个棋子到它后面去)。
其二,不在棋盘上的子(被吃掉或不存在)可以原地复活,甚至当场吃掉对方的子:
△死去的皇后突然攻击我
有网友调侃,莫非这就是传说中的僵尸战术?
其三,所有的子都可以“不按常理出牌”,例如车不仅可以越子,甚至还能走斜线……
剧透个结局,ChatGPT最后输了,但依旧是以违反规则的形式——主动送将!
有网友看完后调侃,这大概就是Calvinball国际象棋大师吧。
(Calvinball,一种不受规则束缚的游戏方式,唯一的规则是“不能使用与上一场游戏相同的规则”)
还有网友对ChatGPT的对手表示同情:这哪预判得了?(手动狗头)
所以,在这场乱斗中赢过ChatGPT的对手来历如何?
充当ChatGPT对手的AI名叫Stockfish,也是个历史悠久的开源国际象棋引擎了。
它基于一个叫做NNUE的神经网络开发,于2008年发布,最初结构非常简单,就是一个4层全连接神经网络,配合alpha-beta搜索使用。
这些年经过了几次迭代,已经到了第四代NNUE,在架构上进行了一些优化:
现在Stockfish也已经迭代到了版本15.1,据说与Stockfish 14对战中,胜场数达到败场数的9倍。
作为一个经典国际象棋AI,它这些年经常出现在各种新AI论文中,作为下象棋的性能对比。
例如DeepMind推出的AlphaZero就拿它做了对比,表示自己的性能比Stockfish更高。
即便如此,Stockfish赢人类国际象棋高手还是绰绰有余的。
“ChatGPT更适合写个象棋程序”
看完比赛后不少人认为,ChatGPT显然不适合下国际象棋。
有人试着和ChatGPT下了盘国际象棋,并在它做出错误操作时和它解释规则,每次ChatGPT都会主动道歉,“对不起,我知道了”,但还是坚持做出错误操作:
大概这就是ChatGPT版本的“我错了,但我不改”吧(手动狗头)
不过也有网友觉得,ChatGPT能下象棋已经很神奇了。
它作为一种语言模型,其实擅长的方向不是国际象棋游戏,而更适合去写一套国际象棋引擎。
事实上,不久前还真有网友这么做了,让ChatGPT自己用Python编写一套象棋程序。
首先让它生成一套棋盘,并打印出来,效果如下:
随后,让ChatGPT根据国际象棋规则,制定棋子移动的方法,包括兵、车、马、象、后、王六种。
最后,再让ChatGPT生成一个函数,能充当机器人bot和对手进行对战。
感兴趣的小伙伴们,可以去试试ChatGPT写的这套引擎,究竟好不好用~
那么,你觉得ChatGPT的棋力如何呢?(手动狗头)
ChatGPT写的国际象棋程序:https://medium.datadriveninvestor.com/writing-a-chess-program-in-one-hour-with-chatgpt-67e7ec56ba5d