2009-07-29 34 views
6

起初我有5張隨機卡,當然。只有一次我可以改變,也已經在我的系統中教過[程序]撲克規則。我的問題是如何選擇「我不需要這張卡或有卡?」。我可以自己改變,但電腦不知道。我想也許這很困難,但是你們有什麼幫助可以提供嗎?我如何教計算機系統如何玩撲克?

回答

0

您打算研究Expert System s Design。並將其應用於您的問題域。

如果它似乎壓倒性的,從小開始。創建規則的基本知識庫,使您的撲克機器人貪婪地尋找對(和3或4種)。如果情況良好,請添加規則以嘗試構建直線,並規定何時贊成直接建設而不是尋求配對,然後在運行良好時添加沖洗。持續的,小增量是這個過程的關鍵。

+0

我只是擡頭看看「專家系統設計」....祝你好運託尼.... :-) – 2009-07-29 16:40:39

+0

這當然不是一個簡單的問題。創建專家系統可能是最大的問題,您需要訪問實際的專家,以便您可以定義一套完善的規則。 – 2009-07-29 16:42:37

16

看看這對於在撲克馬胃蠅蛆入門大量信息How I Built a Working Poker Bot Series(零件12345678)。

具體看看Part 8,詳細說明如何評估手的價值。你想要做的是統計評估手牌中的牌,並從那裏確定哪些牌最有可能獲得一手牌。然後你可以丟棄你不需要的卡片。

2

聽起來像博弈論和AI是你需要在這裏研究。

0

從最簡單的東西開始並不是最好的嗎?就像二十一點,我認爲在事情的宏偉計劃中會比較容易?

2

如果您正在尋找簡單的構建撲克遊戲程序,那麼上述建議很有幫助。如果你想建立一個學習如何玩撲克的系統,那麼你需要利用機器學習/歸納學習技術,如神經網絡,決策樹,遺傳算法。塞繆爾寫了一個早期的棋子玩遊戲程序,學會了改善它的表現。

http://en.wikipedia.org/wiki/Arthur_Samuel

還有機器學習和遊戲網站:

http://satirist.org/learn-game/

1

要小心,不要在這做太好的工作,或者你可以最終失去了很多錢。

0

你想學習的東西是博弈論和數據挖掘。頂級程序使用大型的遊戲理論模擬來產生專家系統的容差,該專家系統被用來隨機化遊戲,使得儘可能少的系統錯誤。如果你足夠好地搜索網頁,你會發現這些類型的解決方案的完整實現,但他們通常缺乏生成它們的代碼。接受這些解決方案之一的缺點是,他們沒有充分利用對手的錯誤,這是今天大多數研究的主題。

然而,使用幾乎所有可以想象的AI算法,有很多方法可以產生博弈論解。