zhudage1 發表於 2020-9-12 17:20

回看贴发现 第一次发的要写一个德州辅助ai 已经是2023年

说一下 最近的进展吧,一直写的断断续续。原因归咎于: 如果是纯手工撸代码,很难让ai理解整个游戏的进程以及翻牌转牌河牌对于牌面的变化。而solver算法,刚好弥补了这个问题,因为在不断的互博中,已经把翻牌转牌和牌的价值都量化出来了。所以只能把目前是solver 解算的代码加起来,来解决这个问题。但是解算的速度比较慢,这是一个难点。目前暂时是实现了:多个 客户端实时获取游戏数据,读取玩家记录在h2n的范围,拼凑成解算数据,发送给B服务端,B服务端把解算数据分发给空闲的解算端,进行运算,因为多桌的关系,所以配置了多个解算服务器,如果是一个解算服务器同时解算两个,那么速度就会下降至少一半,所以只能租用多个服务器进行解算。相当于 多个客户端,对应多个解算服务器,由服务端进行分配。归功于 现在的比较牛逼大模型ai 写这些功能基本没用过脑子。接下来的思路就是几点 第一点就是 在初始解算的时候 粗略计算,这点在其他比较成熟的ai上面大致都是采用这种方式翻牌粗解算: 底池8 STR 和后手96 STR的情况下(这里是以PKW的 100个STR 200个bb) ,服务器 Bet 50Raise 也是50的尺度 仅保留一个bet尺度和一个Raise ,剥削程序1%的情况下 计算速度可以快到几秒内,电脑如果够好的话 估计能更快.。这点的灵感来一些ai系统他们 会进行分段式的计算。(这块已经实现了)当转牌的牌发出来之后,把翻牌面 双方的 范围牌weights 带入转牌进行计算 加上多个 25,50,75,100 , 计算都是1秒左右就能解算完 转牌河牌的结果。(这块今天写完)接下去的思路 就是既然gto相当于把行动进行了量化,读取h2n的数据,对玩家进行偏移, 诚实玩家的bet 把ev低于一定正值的进行弃牌(只保留坚果听牌,赔率不合适的就弃牌),喜欢诈唬的玩家把ev大于一定负值 保留进行跟注,把所有的偷鸡牌都进行放弃,等等一系列的设置。这是目前的的思路跟方向。已经完成了95% ,快完成了,聊聊大家思路 加提提意见。

rui369369 發表於 2020-9-12 17:40

这种非对称信息博弈 可比围棋要复杂的多哦你要alphago公司deepmind来做 我绝得有限德州可能可以无限深码多人不可能的啦gto只是一个基于纳什均衡的理解 它不是一个剥削策略别浪费时间了哦 兄弟

zhudage1 發表於 2020-9-12 17:53

rui369369 发表于 2025-5-19 08:49这种非对称信息博弈 可比围棋要复杂的多哦你要alphago公司deepmind来做 我绝得有限德州可能可以无限深码 ...gto是相当于量化了过程,gto不是一个剥削策略,但是他会告诉你一手牌应该怎么打,首先要让软件学会如何打,然后再根据h2n的数据,对量化之后的ev进行偏移。就比一个新手学习扑克,他要知道每个行动转牌和河牌 对自己的利弊,而gto的算法从互相博弈中刚好把这个量化了。gto 解算之所以比较慢原因就在于 筹码深度会让创建的树几何增大,好比spr 5:1 单bet50的情况下创建的树,可能有几百个。但是如果是10:1 就是几万个,这只是单个bet 50%的情况下如果在多几个下注的选项,那么这个数量大的吓人,收敛时间自然也是很长。目前很多ai已经可以战胜人类了,大部分情况下还是都是100bb左右的游戏。

rui369369 發表於 2020-9-12 18:17

gto 最大的贡献是为那些打的很agressive的玩家 打红线的情况下去bluff 提拱了很强的理论基楚gto理解环境是所有的对手都是gto玩家但现实的玩家池是个完全偏离的玩家池 你完全按它的量化去行为 很多时候就会太-ev而且会action会非常多单挑会好很多吧你会在哪里测试啊 但特别是像你如果 比喻rush多开 服务器会不会炸啊

rui369369 發表於 2020-9-12 18:26

还是人脑优秀吧 耗能又低 又可以多线程做战还能根据环境 改变策略

rui369369 發表於 2020-9-12 18:50

大兄弟别gto了 这个东西骗钱的东西 搞不成的你就用做alphago的思路来做啊先用海量的人类的人类牌普教它再做个比喻多少手数 百手bb 的价值选择 策略树然后再深度学习的的神经网络 不停学习那做成了你就是下个 王兴兴

rui369369 發表於 2020-9-12 18:58

deepmind 后面2019年有搞一个alphastar用来打星际的也蛮成功的 腾讯也以它的思路做过一个星际跟poker基本上本质一样你可以去参考去研究下

youngsdikode 發表於 2020-9-12 19:19

为什么是用实时计算,而不是像gtowizard那样,搞个手牌数据库呢?

zhudage1 發表於 2020-9-12 19:41

youngsdikode 发表于 2025-5-20 18:42为什么是用实时计算,而不是像gtowizard那样,搞个手牌数据库呢?手牌数据库,解算数据存储量太大了,解算出来的一个正常的bet 25,50,57,100是spr 10稍微精简的 都是5个G打底的数据量,而这个仅仅是一个牌面固定一个范围对抗一个范围精简后的等效牌面就是1755个,这就是1755*5G= 将近10个T,这仅仅是一个范围比如枪口open btn call的一个精简解算,而他gtow 他的更新精细远远不止5个g。加载到内存进行解析也是一个问题,5个g的数据 加到到内存里面,估计也得小几秒。翻牌前的范围对抗的范围就很多了,各个位置互相对抗就能衍生出来很多的范围对抗。他们应该是有一套存储读取算法,但是存储空间还是的这么大,一般个人还是很吃力的。最早之前考虑过,实现起来比较难度很大,需要大量的存储空间以及比较牛逼的读取算法,现实中很多玩家都是偏移反派前的范围都是有很大的区别,这样就显得不够灵活。

youngsdikode 發表於 2020-9-12 19:55

很细致,确实很深入研究,不过实时运算的话挺耗时的。如果开发出来打算用在什么平台
頁: [1]
查看完整版本: 回看贴发现 第一次发的要写一个德州辅助ai 已经是2023年