當前位置: 華文星空 > 體育

寫一個智能的程式來玩德州撲克,是否可行?

2014-03-15體育

本來上來想說先問有沒有再問為什麽,後來一看是快十年前提出來的問題,我八十米的大刀又收了回去。

基本上是有兩種套路,巧合的是最有名的PioSOLVER和Pluribus都發表在問題提出的2014年不久之後。

一種是基於統計方法的撲克求解器(Solver)例如2015年推出的PioSOLVER。Solver是一種特定於德州撲克的人工智能輔助工具,能夠幫助玩家透過計算找出一種被稱為「拿殊均衡」的策略,以保證在長期的遊戲中不會處於劣勢。要使用Solver,玩家需要提供對自己和對手可能持有的牌的預估,然後Solver會根據這些資訊構建遊戲樹,並計算出最優的拿殊均衡策略。然而,Solver的計算能力受限於遊戲樹的復雜性,導致其在撲克遊戲的前幾輪(特別是preflop和flop)時,無法做到即時計算,只能離線計算。此外,如果玩家對自己和對手的牌的預估不準確,Solver的效果也會大打折扣。盡管如此,Solver憑借其數學上的嚴謹性和強大的可解釋性,被廣泛套用於德州撲克的研究和復盤分析。

與此不同,另外一類是以Pluribus為代表的AI模型,它們可以自主地計算並調整其遊戲策略,而無需玩家提供預估的牌型範圍。2019年發表的Pluribus采用了一種被稱為反事實遺憾最小化(Counterfactual Regret Minimization,簡稱CFR)的技術的變體,這是一種叠代的自我對弈方法。Pluribus首先透過自我對弈來計算出一個初始的策略藍圖,然後根據遊戲的實際進展,對可能的走勢進行詳細搜尋,並適時調整其策略。此外,Pluribus在搜尋過程中並不需要考慮到遊戲的全部可能結果,這在計算上極大地降低了復雜性。Pluribus采用的這種新的有限前瞻搜尋演算法,使其能夠成功應對多人撲克對局,取得了一次次勝利。Pluribus的成功代表了AI在多人博弈、不完全資訊遊戲中取得了重大突破,開啟了人工智能在解決各種實際問題中的新可能性。