加拿大阿爾伯塔大學的電腦科學家編寫了一款人工智慧撲克玩家的程序,該玩家在一系列牌局中永遠不會輸。單挑限注德州撲克。
命名仙王座該程式使用了一種兩人單挑限注德州撲克的策略,這種策略非常出色,統計分析表明,即使一個人一生都在與該程式玩撲克,該程式也永遠不會輸。人工智慧只會脫穎而出,或是收支平衡。即使不知道對手拿著什麼牌,它也永遠不會出錯。
這並不是要贏得每一手牌——它會像下一個人一樣經常收到爛牌——但人工智慧已經找到瞭如何扭轉最糟糕的情況,從而脫穎而出。 「如果手牌較差,它就會輸,但它會在數學上盡可能地減少損失,並且會在任何給定情況下做出“完美”決定,緩慢但肯定地拿走你的錢,”Motherboard 的 Jason Koebler 說道。 “單挑限注德州撲克,可以說已經‘解決’了。”
「限注」和「無限制」撲克之間的差異歸根結底在於金錢——您要么被限制可以下注的金額,要么您可以隨心所欲地下注。後者對於電腦程式來說是不可能解決的,因為預測隨機且無限數量的金錢本身就是一項壯舉。但這並不影響該程式的功能。
將它的表現與其他由人工智慧玩家「解決」的遊戲進行比較。即使是我們脆弱的大腦也能弄清楚如何在零和交叉中保持無與倫比的能力。國際象棋和西洋跳棋等遊戲將複雜性提升了一個檔次,因為每個回合都有不同的可能性,但所有資訊仍然存在於棋盤上。對手除了他們的策略之外無法隱藏任何東西,但這並不重要,因為人工智慧已經知道每一種可能的玩法,並且在遊戲開始之前就已經找出了反擊每一步棋的完美策略。
但撲克呢?如果程式知道對手在每一輪中持有的兩張隱藏牌上的內容,那麼它就會作弊。正如科伯勒所指出的,Cepheus 必須以某種方式知道如何在限注撲克遊戲中做出 3 x 10^14 種可能的決策,在這種遊戲中,在任何給定時刻,它都不知道所有的資訊。阿爾伯塔大學團隊將這種並非所有資訊都已知的遊戲稱為「不完美資訊」遊戲。
「不完全資訊遊戲的解決方案要求電腦處理不確切知道遊戲狀態的額外複雜性,例如不知道對手的手牌,」團隊成員之一尼爾·伯奇(Neil Burch)說道。告訴 IEEE Spectrum 的 Jeremy Hsu。 “此類技術需要更多的電腦記憶體和計算能力。”
具體多少記憶體?約 262 TB。哎呀。它對這些記憶體有什麼作用? Cepheus 運行一種名為 CFR+ 的演算法,該演算法是該團隊發明的,作為現有反事實後悔最小化 (CFR) 演算法的增強。
從本質上來說,最小化遺憾就是從錯誤中學習。所以,正如 Arielle Duhaime-Ross 在 The Verge 上所解釋的那樣,如果 Cepheus 考慮加註的可能性,並決定隨機玩並輸了,它會回溯其步驟,計算出如果加註的話它可以贏多少錢,並將該金額存儲為“遺憾值” '。
這個值被放置在電腦可以做出相同決定的每個可能的機會上,因此它將避免犯下同樣的錯誤。這與人類的遊戲方式非常不同——如果我們遭受了巨大損失,我們會專注於試圖贏回損失,而不是如何利用這些資訊來完善遊戲的其餘部分。 Cepheus 將繼續用這些遺憾值更新自己,直到達到團隊所說的「完美發揮」。
“CFR+ 仍然像舊的 CFR 演算法一樣工作,透過玩成千上萬手撲克逐漸開發出更好的解決方案,”Hsu 在 IEEE Spectrum 上撰文。 “但是,透過提高效率,它可以比任何過去的 CFR 演算法更快地開發出非常好的解決方案;基本上相當於朝著最佳解決方案邁出更少、更大的步伐。”
根據 IEEE 頻譜,一旦團隊確定了策略,他們就設法將記憶體需求減少到不到 11 TB 來儲存反事實值,以及 6 TB 來計算主要策略。最終,我們在 70 天內花費了 24 兆手撲克牌,以及 200 台運行 CFR+ 演算法、32 GB RAM 和 24 個中央處理器的電腦來訓練 Cepheus 來「解決」遊戲。 「我們可以繼續訓練它,它會繼續變得更好,」團隊成員之一 Michael Bowlin 說道。告訴 The Verge 的 Arielle Duhaime-Ross。 “但我們在這一點上停了下來,因為我們無法區分它是否完美。”
該團隊現在正致力於調整演算法以玩單挑無限注撲克。他們知道,由於存在變數,可能不可能創造出「無與倫比」的人工智慧玩家,但他們希望創造出能夠擊敗世界上最好的人類玩家的玩家。這就是目標。他們也正在考慮如何利用該技術幫助政府和私人公司創建更好的、無法被駭客攻擊的安全系統。
想嘗試對抗仙王座嗎?點這裡進行對戰。我只是希望你能享受失去的感覺。