PT站一般会统计上传量、下载量、分享率以及魔力值,前两者含义自明,分享率即上传量与下载量的比值,魔力值就比较复杂了。魔力值的计算是根据用户做种的每个种子的大小、久远程度、做种人数来计算的,总体上大种子、老种子、冷门种子将获得更多魔力值,而魔力值可以兑换上传量、购买邀请等,这种激励措施可以提高PT站资源的可获取性,减少断种的情况。

魔力值计算规则

PT站每小时可获取的魔力值计算规则如下:

魔力值公式

A为中间变量
Ti为第i个种子的生存时间, 即自种子发布起到现在所经过的时间, 单位是周
T0为参数。T0 = 4
Si为第i个种子的大小,单位是GB
Ni为第i个种子当前的做种者数
N0为参数。N0 = 7
B为1小时中用户获得的做种魔力值点数
B0为参数,代表用户1小时获得魔力值的上限。B0 = 130
L为参数。L = 300

根据第一式子可知,A与种子大小是线性关系,与另外两个变量种子生存时间Ti以及做种人数Ni为非线性关系。为了直观了解后两变量对A的影响,固定种子大小为1G,绘制不同TiNi时的A值图像如下:

Ti与Ni对A的影响

从图中可知当做种人数超过6个后,A值渐渐降至平稳,所以为了增加魔力值,可尽量做种哪些做种人数少于5人的种子。 由原公式可知,1G对应的极限A值为2.412,图中可看出当种子的生存时间超过3周后,A值的增幅也趋缓并接近极限值,这个主要受参数T0=4影响,在别的站看到过T0~=300,这里T0=4设置有点太小,对更久远种子做种的差异化激励不足,不利于提升老种子的存活度。

计算完A值后,根据第二个式子计算魔力值,函数图像如下:

A值转为魔力值

从图可知,当A>550后,魔力值的边际收益快速递减。所以在做种资源有限的情况下,考虑将A控制在550以下。

0-1背包问题

既然做种能获得魔力值,但做种需要占硬盘,如何在有限的硬盘资源下获取最多的魔力值?

  • 首先由于式子2是单调函数,所以将问题转换为最大化A
  • A是将每个种子的A值求和所得,只要种子确定,其A值即可确定
  • 可将每个种子的A值看作payoff,每个种子的大小看作cost,问题就是经典的0-1背包问题了