A simple and efficient computing package for Genshin Impact gacha analysis
这个版本的计算包追求计算速度,而GGanalysis包有着更多计算功能。
GGanalysisLite包通过卷积计算分布列,通过FFT和快速幂加速卷积计算。
测试玩家得到的排名值rank
的数学意义是:与抽了同样数量五星的其他玩家相比,测试玩家花费的抽数大于等于比例rank
的玩家。rank
的值在(0,1]上,值越高说明玩家越不幸运,达到1则说明达到了保底系统的极限。
安装方法
打开终端输入以下指令,安装完成后下载文件可以删除。
git clone https://github.com/OneBST/GGanalysisLite.git
cd GGanalysisLite
pip install .
卷积计算方法
采用的模型见我的B站专栏。通过卷积计算分布列。
卷积采用scipy
的signal.convolve()
函数,由其自动根据规模选择使用FFT计算或是直接卷积。
当计算物品数量上升,获取分布列需要多次卷积时,朴素FFT计算复杂度接近,故采用快速幂进行加速,复杂度降为。
用例
使用GenshinPlayer
类添加玩家,初始化其抽卡情况,随后使用类函数输出rank