基于强化学习训练德州扑克的agent源码+项目说明.zip
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于强化学习训练德州扑克的agent源码+项目说明.zip 先说一下这个项目的存在原因: 1. 人的生命有限,对自己不感兴趣的事,是绝无必要,也不应浪费生命的。 2. 有一次和朋友玩桌游的发现:对于同一个合作目标,大家的策略竟如此不同;虽然每个玩家的已知信息有差异,十几年的好兄弟就为个这玩意吵得就差动手了,也没办法说服对方。这实在是一件很爽的事。 3. 所以这能给我什么启发?我的人生,基本可以抽象成无限次的大规模协作场景的信息不对称的博弈游戏。[吴军博士](https://weibo.com/drwujun?sudaref=www.baidu.com&retcode=6102&is_hot=1&noscale_head=1)对人生做过类似的思考,真的很有趣的角度。所以我想独立思考一下,没准能发现点我自己的东西。这就是这个项目的根本初衷了。 4. 用什么场景来玩?信息不对称的无限博弈:牌类,桌游。有很深的策略空间:无限制下注德州扑克。 5. 开源出来的目的?我希望我原创的东西能给你提供点价值,鉴于我自己已经通过这个得到很多收获了,所以我想尽可能多的记录点过程。当然结果也很重要,毕竟这是给自己的东西,不是混职场,还是要show myself the code,不能说大话的。我还在迭代,更好的是能有什么反馈,所以欢迎提bug,或者任何东西。 ## 策略选择 ### 数学的最优解思路 这听起来很酷,人生维度上的纳什均衡,那不是无敌了。所以我读了一些[Noam Brown](https://noambrown.github.io/)的工作,他确实在限制下注的德州扑克中,从博弈论的角度严格证明的得到了数学最优解(纳什均衡),并且在可接受的时间内做了实现,《Science》封面大神。但是我仔细想了下,发现这不是我想要的。 1. 他的思想就是遍历:已知我的手牌,牌桌上所有其他的可能,包括公共牌、其他玩家的手牌、所有玩家在接下来的轮次中的所有可能行动,然后用了一个两阶段的算法做了极限优化。这是数学上的最优解,因为已经达到纳什均衡了,不会有比他给出的解达到更高的期望收益了,所以他产出的东西叫solver,问题解决了。 2. 一个题外话是,他的这种solver在牌桌上就非常好使了,只要轮数足够多,他不可能输。所以很多这种受他启发的solver在做着盈利的事。我对这种盈利是没兴趣的。 3. 从数学的角度,他给出的证明是非常牛逼的,但是确实太复杂了,也不是我想要的,我没时间研究。 4. 他的一个弊端,解决了有限注德州扑克问题,对于无限注德州扑克,搜索空间太大,他也没搞定了。 5. 嗯还有,我职业生涯早期在电商做过仓库的拣货路径优化问题,也跟这有类似的部分。那个用的是高度优化的A\*算法,本质也是遍历,只不过用了启发式搜索,然后分阶段计算,跟这个工作确实存在一些相同的思路,这就很有趣了。而且再想一下,A\*和Q-learning的遍历方式也是很像的,只不过Q-learning用的是优化的方法罢了。这样大规模启发式遍历算法,和强化学习的方法在最原始的最底层的思路上就关联上了,这是非常有趣的。 6. 到这就不禁想到OpenAI还没发布的Q\*了,是有一些神似的,而且Noam去OpenAI了。 ### 强化学习的近似解思路 所以我想训出的是一个agent,像[AlphaGo](https://deepmind.google/discover/),不求数学最优解,如果能接近人类的水平,就证明这个思路是有效的。在这个过程里,要克服的问题也是很多的。 1. 不用强化学习行不行?那就是监督学习。不是不可以,但是没啥意思。 2. 用传统的强化学习行不行?我确实在最初的版本里是用的DDPG,这和[AlphaGo论文](http://home.ustc.edu.cn/~ustcsh/py2016/data/nature16961.pdf)里的第二个步骤,用强化学习的方法去训练策略网络Pρ很像了。但是这有个问题: 在缺少第一步的监督学习的情况下(我穷),导致了跳过第一步直接进行第二步,网络训练的进程非常慢。而且实际跑起来这样就是无效的,因为这样生成的训练数据就是随机,唯一的信息是env给出的最终的结果的反馈,而整个状态空间又太大了,网络很容易在一个随机的初始值上就过拟合了。 .......
- 1
- 粉丝: 1518
- 资源: 5643
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助