3 月份的时候,我发布了德州扑克和短牌的 java 版 solver,当时在 turn 和 river 上都比 piosolver 快,但是在 flop 上,速度差了 piosolver 将近 5~10 倍,当时就有人跟我说,你这个 solver 啊,没有用,太慢了。我说我这个有用,我这个可以优化。于是有了现在的这个 c++版本:
http://github.com/bupticybee/TexasSolver经过 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:
https://colab.research.google.com/github/bupticybee/TexasSolver/blob/master/TexasSolverTechDemo.ipynb和上次一样,我也做了 b 站和 youtube 的介绍视频:
http://www.bilibili.com/video/BV1QQ4y1h7pM#reply5278791774<amp-youtube data-videoid="MydczBwSfWc" layout="responsive" width="480" height="270"></amp-youtube>
感兴趣的同学可以看下。
欢迎大家多提 issue,多进代码,(手动狗头
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/798739
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.