我有兴趣用 Java 构建德州扑克 AI 引擎。这是一个长期项目,我计划至少投资两年。我还在上大学,还没有建立任何雄心勃勃的目标,想要解决一个能够长期保持我兴趣的问题。我是人工智能领域的新手。从大学的数据结构课程中,我了解了 BFS 和 DFS、回溯、DP、树、图等基本构建块。我正在学习正则表达式,正在为 SCJP 和 SCJD 学习,我很快就会参加(密集)统计课程。

问题:

-我从哪里开始?我应该选择什么书?扑克游戏程序运行在什么样的人工智能上?我可以从哪个开源项目获取页面?有什么好的Java AI资源吗?我也有兴趣学习 Lisp,Jatha 好吗?

其他提示

扑克AI的是出了名的难以得到正确的,因为人类无法预测投注。它通常分成两个部分。

1)计算的你的手作为赢家的几率。

2)根据1制定投注策略。

我建议你开始有大量的统计数据阅读部分1.这似乎很容易在第一脸红的,但它实际上是非常复杂(和犯错也注定你的AI)。然后移动到遗传算法的第2部分投注策略大多是遗传算法。他们调整自己,根据过去的成功和失败+一些随机以免成为可预测的。

我用Java写了一个德州扑克视频扑克机

此代码是德州扑克核心发动机而不视图和其他

http://github.com/phstc/javapokertexasholdem

而且,令遗传算法调整神经网络,它决定了判定逻辑的权重。这种方法非常适合于扑克AI

我做我自己。我喜欢这一点。起初,我创建〜1000级的球员,谁不知道如何在所有玩游戏。在手根据他们的初步运气,他们的体能是加权和新一代创建。新“大脑”被打得比上一代更好。

最后,最好的个人打得非常好。

正如已经推荐的,这本书 扑克理论 对于玩游戏和构建人工智能来说,这是真正宝贵的信息来源。您可能应该购买它,因为它的成本并不高。

阿尔伯塔大学的研究小组目前处于最先进的水平,尽管他们时不时会出现激烈的竞争。(并非该领域的所有扑克机器人和人工智能研究都是公开的,因为人们很容易在互联网扑克中使用自己的结果,尽管这是被禁止的。)

首先,您应该决定首先要玩什么类型的扑克。两人德州扑克已经基本解决,尽管最优秀的人类仍然可以与最优秀的人工智能进行真正的战斗。人工智能相对于人类的主要优势在于对过去的手有无限的完美记忆,基于此对模式进行完美的分析,并且由于它们是机器,它们不会像几乎所有人类偶尔那样倾斜。

固定德州扑克可能是最容易破解的,因此您可能希望从 1-1 固定德州扑克开始,然后决定下一步要做什么。

以下是改变正确策略(和你的人工智能)的一些方面:

  • 现金游戏不同于 比赛 -玩家人数 使决策不同。
  • 德州扑克 不是唯一的扑克。奥马哈,梭哈 其他的则存在并广泛存在 玩过。
  • 固定限额不同于 底池限制,与否不同 限制。
  • 为了击败最好的玩家,你需要涵盖最好的玩家在比赛时思考的许多非常微妙的事情。要赢得一场低风险的业余比赛,这些都不算数。

如果您决定参加无限注德州扑克,您可能需要查看三本书系列 哈林顿德州扑克 和一本书 无限注扑克 - 理论与实践. 。我读了很多关于扑克的书,可以说这些书结合扑克理论已经足够了。

我不知道你是哪个具体的游戏感兴趣,但典型的方法是创建一个游戏的小得多抽象的版本,解决了小游戏,然后绘制实际比赛情况回到抽象的游戏产生咨询。大部分学术论文的跳过这个过程的细节赞成呈现约收敛,剥削和比赛结果的结果。

然而,存在其中存在的完整实现一些可公开获得的代码库。一个最好的是的Fell预兆:

http://www.deducer.org/pmwiki/pmwiki。 PHP?N = Main.ArtificialIntelligencePoker

这是使用虚拟发挥优化抽象游戏策略基本完整的战略机器人。这是一个很好的起点,因为它是相当简单的,完整的,代表抽象的游戏方法的一个很好的展示。

如果您有兴趣开发扑克AI,我建议从2007年和从UA扑克组和图奥马斯桑德霍姆的学生阅读的一切:

http://www.cs.cmu.edu/~sandholm/

http://poker.cs.ualberta.ca/publications.html

我在本科写了扑克AI。这是没有特别先进,我使用的遍历对每个状态的数量的状态和更新的Q值的Q值的机器。

我发现阿尔伯塔省的AI扑克项目的大学信息的宝贵来源,避免陷阱。

作为一个海报上述状态中,第一步骤是在几个确定的扑克规则钉 - 一个对单扑克可以编程开发

一个陷阱我掉进了没有建设可重构早期。例如能够切换学习/播放档次。

我很想听到你给我发邮件stevekeogh如何获得在gmail.com

只需添加到上面的链接,为执行重要的事情之一将是的http:// EN .wikipedia.org /维基/ Kelly_criterion 这将有助于找出一系列投注给出的预期赔率投注的最佳尺寸。 与人类有可能在赔率的判断错误,但如果你的AI程序可以吐出无论基于何种算法中的一些预期的归一化的赔率那么这个赌上浆技术,它平衡风险和回报的优势,赌徒会是一个很好的廉价的解决方案

一个有趣的结果,我听说的是,如果你限制投注选项折叠,检查和全在,你可以写一个AI获胜单对单的人的概率至少是49%,如果49.5%它的(这个)的的第一去

我不知道这AI更容易编写一个该知道多少赌,但它的深思:选择大量押注只占获胜的概率为1.5%

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top