蕭簫 發自 凹非寺
量子位 | 公眾號 QbitAIChatGPT對戰國際象棋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— 完 —
量子位 QbitAI · 頭條號簽約