2009-07-29 38 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算法,有很多方法可以产生博弈论解。