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
參考鏈接:
[ 1 ] https://www.reddit.com/r/ChatGPT/comments/10ypvie/i_placed_stockfish_white_against_chatgpt_black/
[ 2 ] https://twitter.com/JoINrbs/status/1624351822621315072
[ 3 ] https://stockfishchess.org/blog/
[ 4 ] https://github.com/official-stockfish/Stockfish/pull/3927