起初我有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