1. 首页 > 新游讯

幻塔意志抽取概率全解析 幻塔抽卡机制

作者:admin 更新时间:2026-01-30
摘要:意志抽取概率详细分析由于本人未体验过幻塔,相关资讯均来源于网络及zju幻塔群友的支持,在此向群内好友致以诚挚谢意。本文可能存在疏漏,敬请指正,感谢您的支持与帮助!===采用模型===在限定意志池中,抽取SSR意志。,幻塔意志抽取概率全解析 幻塔抽卡机制

 

意志抽取概率详细分析

由于本人未体验过幻塔,相关资讯均来源于网络及zju幻塔群友的支持,在此向群内好友致以诚挚谢意。

这篇文章小编将可能存在疏漏,敬请指正,感谢 无论兄弟们的支持与帮助!

===采用模型===

在限定意志池中,抽取SSR意志的基础概率为1.7%,每达40次抽取时必得一次SSR。当抽卡次数为40的倍数时,必定获得SSR意志。每次获得SSR时,有50%几率为本期UP角色。该40抽保底机制在卡池更新后依然继承保留。

每次抽取意志池可获得相应超频晶片,集齐80个可兑换当期限定SSR意志 其中一个。但需注意,卡池轮换后未使用的超频晶片将转为原型晶片,无法继续保留用于后续兑换。

特别地,每期限定意志池可使用50个当期武器池回火铸金兑换1个指定意志,限兑换一次。

获得一个SSR级角色的期望值

根据设定,前39次抽卡概率恒为1.7%,第40次必出,计算得综合概率约为4.1575%,期望值为24.053次。该模型在数值上合理, 虽然缺乏确切统计数据支持,暂以此作为参考估算。

通过简单计算可知,在包含80晶片兑换的前提下,获得一个限定SSR意志的期望抽取次数为30.04次。 然而该数值仅作参考,因集齐所需数量涉及更复杂的分布 难题,实际获取难度还需结合整体抽取分布情况综合评估。

绘制分位函数图像

算法设计与实现

利用动态规划进行计算,设C表示第i次抽取时处于特定意志获取 情形的概率(不包含兑换机制),可通过简单的递推关系求解C。为避免 情形数量急剧膨胀,将抽满的情况设为上限 情形。该动态规划 经过存在优化空间: 由于仅需判断是否集齐目标物品,而无需记录具体种类,原本描述n种物品、每种需抽取k次的 情形空间可压缩至组合数C_{n+k}^{k}级别。但考虑到实际 难题规模较小,优化后性能提升有限,故未予实现。

DP完成后,遍历各 情形计算是否兑换的累积分布函数,再进行常规绘图,流程即告结束。

下面内容是计算与绘图代码,相关GG ysis包可在我Github项目中查看。

[code=py]

import numpy as np

import GG ysis as gg

def DP_state_distribution( x_pull=1000, item_rank=4):

C = np.zeros(( x_pull+1, item_rank+1, item_rank+1, item_rank+1, item_rank+1))

C[0, 0, 0, 0, 0] = 1

base_p = 0.017

count_pity = 40

up_rate = 0.5

item_types = 4

for i in range(1, x_pull+1):

now_p = 1*up_rate if i%count_pity==0 else base_p*up_rate

for a in range(item_rank+1):

for b in range(item_rank+1):

for c in range(item_rank+1):

for d in range(item_rank+1):

if a-1 >= 0:

C[i, a, b, c, d] += now_p / item_types * C[i-1, a-1, b, c, d]

if b-1 >= 0:

C[i, a, b, c, d] += now_p / item_types * C[i-1, a, b-1, c, d]

if c-1 >= 0:

C[i, a, b, c, d] += now_p / item_types * C[i-1, a, b, c-1, d]

if d-1 >= 0:

C[i, a, b, c, d] += now_p / item_types * C[i-1, a, b, c, d-1]

if a == item_rank:

C[i, a, b, c, d] += now_p / item_types * C[i-1, a, b, c, d]

if b == item_rank:

C[i, a, b, c, d] += now_p / item_types * C[i-1, a, b, c, d]

if c == item_rank:

C[i, a, b, c, d] += now_p / item_types * C[i-1, a, b, c, d]

if d == item_rank:

C[i, a, b, c, d] += now_p / item_types * C[i-1, a, b, c, d]

C[i, a, b, c, d] += (1-now_p) * C[i-1, a, b, c, d]

return C

def relu(x):

if x>0:

return x

return 0

def calc_cdf(C, need_rank=1, allow_exchange=True, use_weapon_50=0):

dist_len = C.shape[0]

dist_rank = C.shape[1]

cdf = np.zeros((dist_len))

for i in range(1, dist_len):

for a in range(dist_rank):

for b in range(dist_rank):

for c in range(dist_rank):

for d in range(dist_rank):

lack = relu(need_rank-a) + relu(need_rank-b) + relu(need_rank-c) + relu(need_rank-d)

if allow_exchange:

if lack 1e-20:

return gg.FiniteDist(temp)

C = DP_state_distribution(80*16, 4)

from GG ysis.gacha_plot import QuantileFunction

import tplotlib.cm as cm

def ht_yizhi(x):

return 全至少+str(x-1)+星

dist_list = [gg.FiniteDist([0])]

for i in range(1, 5):

dist_list.append(generate_gg_dist_list(calc_cdf(C, need_rank=i, allow_exchange=True, use_weapon_50=0)))

dist_list.dist = dist_list.dist[:i*80*4]

fig = QuantileFunction(

dist_list,

幻塔限定SSR意志抽取概率及晶片兑换详情

item_name=意志,

本图未计入50铸金兑换,模型准确性不作保证, 结局仅作参考。若全勤至少一周,预计需153.35抽,最差情况达320抽;若全勤至少三周,预计需510.91抽,最坏情况下可能高达1280抽。

text_tail=@一棵平衡树,

x_pull=80*16,

rk_func=ht_yizhi,

rk_exp=False,

rk_ x_pull=False,

is_finite=True)

fig.show_figure(dpi=300, savefig=True)

for i in range(1, 5):

dist_list.p_nor lization()

print(i, dist_list.exp)

dist_list = [gg.FiniteDist([0])]

for i in range(1, 5):

dist_list.append(generate_gg_dist_list(calc_cdf(C, need_rank=i, allow_exchange=True, use_weapon_50=1)))

dist_list.dist = dist_list.dist[:i*80*4-50]

fig = QuantileFunction(

dist_list,

幻塔限定SSR意志抽取概率说明(含晶片与铸金兑换 制度)

item_name=意志,

本图基于武器池已有50铸金的情况进行估算,模型 结局可能存在误差,仅供参阅。若追求全角色至少一专,一周内期望抽数为112.00,最差需240抽;若延长至三周,期望抽数为476.52,极端情况下可能达到1200抽。

text_tail=@一棵平衡树,

x_pull=1250,

rk_func=ht_yizhi,

rk_exp=False,

rk_ x_pull=False,

line_colors=cm.Purples(np.linspace(0.4, 0.99, 4+1)),

is_finite=True)

fig.show_figure(dpi=300, savefig=True)

for i in range(1, 5):

dist_list.p_nor lization()

print(i, dist_list.exp)

C = DP_state_distribution(3000, 4)

dist_list = [gg.FiniteDist([0])]

for i in range(1, 5):

dist_list.append(generate_gg_dist_list(calc_cdf(C, need_rank=i, allow_exchange=False, use_weapon_50=0)))

fig = QuantileFunction(

dist_list,

幻塔限定SSR意志抽取概率说明(不可兑换)

item_name=意志,

模型准确性无法保证,本图仅供 结局参考。若不进行兑换,则无法确保在有限抽取内达成目标,相信玩家不会采取此类 行为。

text_tail=@一棵平衡树,

x_pull=3000,

rk_func=ht_yizhi,

rk_exp=False,

rk_ x_pull=False,

line_colors=(cm.Greys(np.linspace(0.5, 0.9, 4+1))+cm.Reds(np.linspace(0.5, 0.9, 4+1)))/2,

is_finite=False)

fig.show_figure(dpi=300, savefig=True)

[/code]

应优先抽完所有抽奖次数后再进行兑换,若提前兑换则会影响整体收益,此策略非最优选择。

若不采用武器池铸金,可获得如下分位函数。

使用武器池进行铸金,所需抽数较少,可获得如下分位函数。

若 何都不用,仅靠硬抽确实夸张,但应该没人会这么做。

差不多算结束了。虽然意志和武器池铸金有关联,追求完美需合并计算,但我觉得太麻烦,懒得继续算了。