起初我有5張隨機卡,當然。只有一次我可以改變,也已經在我的系統中教過[程序]撲克規則。我的問題是如何選擇「我不需要這張卡或有卡?」。我可以自己改變,但電腦不知道。我想也許這很困難,但是你們有什麼幫助可以提供嗎?我如何教計算機系統如何玩撲克?
回答
您打算研究Expert System s Design。並將其應用於您的問題域。
如果它似乎壓倒性的,從小開始。創建規則的基本知識庫,使您的撲克機器人貪婪地尋找對(和3或4種)。如果情況良好,請添加規則以嘗試構建直線,並規定何時贊成直接建設而不是尋求配對,然後在運行良好時添加沖洗。持續的,小增量是這個過程的關鍵。
聽起來像博弈論和AI是你需要在這裏研究。
從最簡單的東西開始並不是最好的嗎?就像二十一點,我認爲在事情的宏偉計劃中會比較容易?
如果您正在尋找簡單的構建撲克遊戲程序,那麼上述建議很有幫助。如果你想建立一個學習如何玩撲克的系統,那麼你需要利用機器學習/歸納學習技術,如神經網絡,決策樹,遺傳算法。塞繆爾寫了一個早期的棋子玩遊戲程序,學會了改善它的表現。
http://en.wikipedia.org/wiki/Arthur_Samuel
還有機器學習和遊戲網站:
要小心,不要在這做太好的工作,或者你可以最終失去了很多錢。
alt text http://ecx.images-amazon.com/images/I/616X%2BHJmE7L._SL500_AA240_.jpg
蓋螺栓和借鑑。在閱讀完畢後,你會意識到它有多難。
請注意,這本書已超過25歲,但這是一個好的開始。
你想學習的東西是博弈論和數據挖掘。頂級程序使用大型的遊戲理論模擬來產生專家系統的容差,該專家系統被用來隨機化遊戲,使得儘可能少的系統錯誤。如果你足夠好地搜索網頁,你會發現這些類型的解決方案的完整實現,但他們通常缺乏生成它們的代碼。接受這些解決方案之一的缺點是,他們沒有充分利用對手的錯誤,這是今天大多數研究的主題。
然而,使用幾乎所有可以想象的AI算法,有很多方法可以產生博弈論解。
檢查撲克評估者。 http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup 使用蒙特卡羅分析來找出哪些卡片要放在oreder中以最大化期望值。
- 1. 教計算機玩德州撲克
- 2. 如何給玩家一副撲克牌?
- 3. Java-撲克玩家
- 4. 計算撲克牌手
- 5. 爲德州撲克撲克牌編碼邏輯子撲克系統
- 6. 二進制系統如計算機如何處理小數?
- 7. 計算機和系統
- 8. 計算機I/O-計算機系統和體系結構
- 9. 即使關機後CPU如何計算系統時間?
- 10. 如何整合/鏈接R和計算機代數系統(CAS)
- 11. 如何獲取遠程計算機的操作系統版本
- 12. 如何獲得計算機運行java的操作系統?
- 13. 如何唯一標識計算機上的操作系統?
- 14. iphone sdk - 撲克賠率計算
- 15. 如何克隆我的計算機上已有的git程序?
- 16. 如何將我的主存儲庫克隆到多臺計算機/不同的操作系統?
- 17. Flash CS4 [AS3]:玩撲克牌陣列
- 18. 如何計算某人登錄了我的系統多少次?
- 19. 如何創建第二個玩家/計算機
- 20. 我如何克隆我使用的測功機上的文件系統?
- 21. 計算機代數系統介紹?
- 22. 將BPM轉換爲計算機系統
- 23. 構建計算機代數系統
- 24. 我的玩家死後如何添加粒子系統?
- 25. 計算機如何計算float 0.1?
- 26. 處理隨機撲克手
- 27. 如何使用計算機名稱或IP地址獲取遠程計算機的操作系統版本?
- 28. 如何identy撲克手在C++中
- 29. 計算android系統
- 30. 如何使用Ansible計算有關主機(如操作系統版本)的統計信息?
我只是擡頭看看「專家系統設計」....祝你好運託尼.... :-) – 2009-07-29 16:40:39
這當然不是一個簡單的問題。創建專家系統可能是最大的問題,您需要訪問實際的專家,以便您可以定義一套完善的規則。 – 2009-07-29 16:42:37