2016-05-01 94 views
-4

我是初学Java和编程,但我已经创建了德州扑克游戏作为“练习和学习”项目。教计算机玩德州扑克

我知道游戏规则,但我不确定如何包含机器人或电脑玩家,可以决定何时何时退出,投注多少(包括全押下注)以及如果可能的话,甚至不时虚张声势。

在这一点上,我的问题是: 我应该努力“与若的,然后解释的,什么时候做,或者是有一个算法,允许机器人球员做到这一点

如果?它是否存在,该算法是专门用于扑克还是可以将其重用于任何游戏,以允许计算机“学习”编程中描述的规则,针对不同的规则甚至不同的游戏(因此它适用于国际象棋或垄断,等)?

+0

来吧,是我的问题,我得到它-3,并搁置不好?还有一个关于玩AI的问题,但从2009年开始,网络链接被打破,实际上,我收到的一个答案很好,但我期待更多答案和更多信息 – Nooblhu

回答

1

扑克的复杂性和状态空间并不大,theref矿石有可能彻底搜索所有组合。事实上,你甚至可以计算获得每张卡片的算术概率。我建议您阅读Kevin Desmond在MIT Open Courseware上的Poker Theory and Analytics以了解更多信息。

你的想法正是决策树或随机森林。它们是机器学习技术,可以用if-s树建立人类可理解的规则。

另一方面,也有非人类可以理解的机器学习。神经网络就是这样的一种。这些模型对人类来说是非直观的。它们主要用于难以制定或者具有非常大的状态空间的问题,例如,玩Go(就像AlphaGo一样),识别图像中的所有对象,或者如何赢得Starcraft。