-
[开源]一个比piosolver还快的德州扑克GTOsolver
发布日期:2022-02-27 18:12 点击次数:1133月份的时候,我发布了德州扑克和短牌的java版solver,当时在turn和river上都比piosolver快,但是在flop上,速度差了piosolver将近5~10倍,当时就有人跟我说,你这个solver啊,没有用,太慢了。我说我这个有用,我这个可以优化。于是有了现在的这个c++版本:
经过4个月的摸鱼和2个月的开发,我用c++重写了java版本的所有算法部分内容,并且做了非常多的优化,经过4个月的摸鱼和2个月的开发,我用c++重写了java版本的所有算法部分内容,并且做了非常多的优化,我记录了一些其中的优化和结果,可以看见我是如何一步一步将c++版本的速度提升上去的:
首先我解决了内存问题,在结果和java版本对齐的同时,将内存占用降低了3~5倍;然后开始解决速度问题,将结果和piosolver对齐的同时,将速度提升了5~10倍,于是在一系列优化之后,这次发布的TexasSolver终于可以在一些小的游戏树(1-2bet+allin)的情况下追上piosolver的速度了。
这是TexasSolver的一小步,但是是开源社区的一大步
如同hackernews的一个小伙伴的评价:
I've noticed that in this part of the AI world, things tend to be closed-source for whatever reason and I think that limits the ability to learn. Seems good to see that changing.在XX-RCNN,GPT2,alphago都已经开源的年代,一个上世纪的算法居然迟迟没有高效的开源实现,真是岂有此理,莫名其妙,让piosolver这种软件可以卖1000刀一个激活码的高价(对,我就是要卷死他)真是开源社区之耻,这让搞不完全信息博弈的研究员情何以堪,连个高效benchmark都没有。
扯远了,如果大家感兴趣的话,我还做了一个基于google colab的在线版本,感兴趣的小伙伴可以体验一下你没玩过的船新的网页版solver:
和上次一样,我也做了b站和youtube的介绍视频:
感兴趣的同学可以看下。
欢迎大家多提issue,多进代码,(手动狗头一是必打牌可以放上一会,不断变幻出牌程序,让对手摸不清路数;二是保留的牌(比如要保留条)博彩问答,也可以先打一张没有用的;让对手迷糊;三是条件不成熟千万不做清一色;