智游城

标题: 回看贴发现 第一次发的要写一个德州辅助ai 已经是2023年 [打印本页]

作者: zhudage1    时间: 2025-5-19 03:37
标题: 回看贴发现 第一次发的要写一个德州辅助ai 已经是2023年
说一下 最近的进展吧,一直写的断断续续。
原因归咎于: 如果是纯手工撸代码,很难让ai理解整个游戏的进程以及翻牌转牌河牌对于牌面的变化。
而solver算法,刚好弥补了这个问题,因为在不断的互博中,已经把翻牌转牌和牌的价值都量化出来了。
所以只能把目前是solver 解算的代码加起来,来解决这个问题。
但是解算的速度比较慢,这是一个难点。
目前暂时是实现了:
多个 客户端实时获取游戏数据,读取玩家记录在h2n的范围,拼凑成解算数据,发送给B服务端,B服务端把解算数据分发给空闲的解算端,进行运算,因为多桌的关系,所以配置了多个解算服务器,如果是一个解算服务器同时解算两个,那么速度就会下降至少一半,所以只能租用多个服务器进行解算。

相当于 多个客户端,对应多个解算服务器,由服务端进行分配。归功于 现在的比较牛逼大模型ai 写这些功能基本没用过脑子。


接下来的思路就是几点 第一点就是 在初始解算的时候 粗略计算,这点在其他比较成熟的ai上面大致都是采用这种方式


翻牌粗解算: 底池8 STR 和后手96 STR的情况下(这里是以PKW的 100个STR 200个bb) ,服务器 Bet 50  Raise 也是50的尺度 仅保留一个bet尺度和一个Raise ,剥削程序1%的情况下 计算速度可以快到几秒内,电脑如果够好的话 估计能更快.。这点的灵感来一些ai系统他们 会进行分段式的计算
。(这块已经实现了)
当转牌的牌发出来之后,把翻牌面 双方的 范围牌weights 带入转牌进行计算 加上多个 25,50,75,100 , 计算都是1秒左右就能解算完 转牌河牌的结果。(这块今天写完)

接下去的思路 就是既然gto相当于把行动进行了量化,读取h2n的数据,对玩家进行偏移, 诚实玩家的bet 把ev低于一定正值的进行弃牌(只保留坚果听牌,赔率不合适的就弃牌),喜欢诈唬的玩家把ev大于一定负值 保留进行跟注,把所有的偷鸡牌都进行放弃,等等一系列的设置。

这是目前的的思路跟方向。已经完成了95% ,快完成了,聊聊大家思路 加提提意见。





作者: rui369369    时间: 2025-5-19 08:49
这种非对称信息博弈 可比围棋要复杂的多哦
你要alphago公司deepmind来做 我绝得有限德州可能可以
无限深码多人不可能的啦
gto只是一个基于纳什均衡的理解 它不是一个剥削策略
别浪费时间了哦 兄弟
作者: zhudage1    时间: 2025-5-19 20:23
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    时间: 2025-5-19 21:50
gto 最大的贡献是为那些打的很agressive的玩家 打红线的情况下去bluff 提拱了很强的理论基楚
gto理解环境是所有的对手都是gto玩家
但现实的玩家池是个完全偏离的玩家池 你完全按它的量化去行为 很多时候就会太-ev
而且会action会非常多
单挑会好很多吧
你会在哪里测试啊 但特别是像你如果 比喻rush多开 服务器会不会炸啊
作者: rui369369    时间: 2025-5-19 21:54
还是人脑优秀吧 耗能又低 又可以多线程做战
还能根据环境 改变策略
作者: rui369369    时间: 2025-5-19 22:33
大兄弟
别gto了 这个东西骗钱的东西 搞不成的
你就用做alphago的思路来做啊
先用海量的人类的人类牌普教它
再做个比喻多少手数 百手bb 的价值选择 策略树
然后再深度学习的的神经网络 不停学习

那做成了你就是下个 王兴兴

作者: rui369369    时间: 2025-5-20 16:35
deepmind 后面2019年有搞一个alphastar用来打星际的
也蛮成功的 腾讯也以它的思路做过一个

星际跟poker基本上本质一样
你可以去参考去研究下
作者: youngsdikode    时间: 2025-5-20 18:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: zhudage1    时间: 2025-5-20 22:52
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    时间: 2025-5-21 09:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小肥鱼    时间: 2025-5-22 10:55
猪大哥如果真有这技术,找个大厂技术工作摸鱼不好么?开发这种打牌机器人可能赚不了多少钱也可能有很大风险。
作者: zhudage1    时间: 2025-5-22 20:43
youngsdikode 发表于 2025-5-21 09:05
很细致,确实很深入研究,不过实时运算的话挺耗时的。

如果开发出来打算用在什么平台 ...

暂时没想好
作者: zhudage1    时间: 2025-5-22 20:45
小肥鱼 发表于 2025-5-22 10:55
猪大哥如果真有这技术,找个大厂技术工作摸鱼不好么?开发这种打牌机器人可能赚不了多少钱也可能有很大风险 ...

我是三脚猫技术,得益于现在有马斯克的 ai ,主要是谈实现的可能性

作者: zhudage1    时间: 2025-5-22 20:54
目前已经基本完成了整体的框架了,接下来是去完善一下范围的读取,
h2n的读取的范围因为手数的关系,不能直接用[attach]12902[/attach]例如这样的一个人的翻牌前open ,
手数足够多能进行才用但是一些手数少的玩家[attach]12903[/attach]就显示并不符合正常的情况
中间的是 btn的位置的open的范围,而下面的手数少的 btn的open却小于co,这显示不符合正常的情况下的玩家的习惯,
所以我打算利用学习的算法,导入一定量的用户进行训练能通过一些数据修复,让其的范围更加的科学可用。
作者: youngsdikode    时间: 2025-5-23 09:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: youngsdikode    时间: 2025-5-23 09:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: omaha0af    时间: 2025-5-29 13:45
我觉得现在扑克软件里面已经有不好这种机器人了
作者: JaxL9527    时间: 2025-5-29 17:05
cool!!




欢迎光临 智游城 (http://www.zhiyoucheng.co/) Powered by Discuz! X3.2