2016-05-01 40 views
-4

我是初學Java和編程,但我已經創建了德州撲克遊戲作爲「練習和學習」項目。教計算機玩德州撲克

我知道遊戲規則,但我不確定如何包含機器人或電腦玩家,可以決定何時何時退出,投注多少(包括全押下注)以及如果可能的話,甚至不時虛張聲勢。

在這一點上,我的問題是: 我應該努力「與若的,然後解釋的,什麼時候做,或者是有一個算法,允許機器人球員做到這一點

如果?它是否存在,該算法是專門用於撲克還是可以將其重用於任何遊戲,以允許計算機「學習」編程中描述的規則,針對不同的規則甚至不同的遊戲(因此它適用於國際象棋或壟斷,等)?

+0

來吧,是我的問題,我得到它-3,並擱置不好?還有一個關於玩AI的問題,但從2009年開始,網絡鏈接被打破,實際上,我收到的一個答案很好,但我期待更多答案和更多信息 – Nooblhu

回答

1

撲克的複雜性和狀態空間並不大,theref礦石有可能徹底搜索所有組合。事實上,你甚至可以計算獲得每張卡片的算術概率。我建議您閱讀Kevin Desmond在MIT Open Courseware上的Poker Theory and Analytics以瞭解更多信息。

你的想法正是決策樹或隨機森林。它們是機器學習技術,可以用if-s樹建立人類可理解的規則。

另一方面,也有非人類可以理解的機器學習。神經網絡就是這樣的一種。這些模型對人類來說是非直觀的。它們主要用於難以制定或者具有非常大的狀態空間的問題,例如,玩Go(就像AlphaGo一樣),識別圖像中的所有對象,或者如何贏得Starcraft。