问题
请给出一个实际中让你感兴趣的随机现象,并列举其中可能会关注的随机事件,这些事件的概率目前你能够计算吗?
这里我们根据我们组内同学游玩的游戏《Microcraft》中一个有意思的农作物农场为例,探究一个游戏内农作物收割的最高效率。
这里我们以下界疣为例, 根据wiki上的信息:
当在灵魂沙上种植时,下界疣会经过三个成长阶段,不过中间的两个阶段看起来几乎完全相同(区别在于第三阶段的选择框高一像素)。下界疣在每个随机刻都有10%的概率生长一个阶段,即在默认的随机刻速度下,每个下界疣平均约每13653游戏刻(11.3775分)生长一次,即平均约40960游戏刻(34.133333333333分)完全长成。下界疣的成长速度不受光照或其他环境因素的影响。
生长的数值由游戏内的 age 属性储存,每次生长,代表 age +1。 根据方块数据的条目有如下信息:

一开始种下去 , 需要经过三次的生长让 才能收获。
再根据Wiki其他网页上的信息有:
区块(Chunk)是Minecraft世界里一个大小为16×256×16的部分。 每个区块被划分为16个区段,每个区段包含16×16×16=4096个方块。 在每个游戏刻,执行区块刻的区块中,每个区段会被随机选出3个方块(可以重复)给予一个“随机刻”。
游戏设定里区块刻的默认设定是对应现实生活中的 ,每次下界疣被分配到随机刻,它只有10%的概率生长,或者说有90%不进行生长。收割不成熟的下界疣只会掉落它本身的1个下界疣,只有收割成熟的下界疣才能让下界疣的数量增加。
为了方便起见,假设不存在方块可以在一个区块刻里获得两个及以上的随机刻。
每个区块刻都尝试一次生长,每次尝试都有 的概率生长一次
从种下作物开始,经历了 个区块刻之后,单个作物生长成熟的PDF为:
根据上式,我们有分布函数CDF:
如果我们在种植完之后,等待t个区块刻的时间,随后立刻收割并补种(忽略收割补种消耗的时间),那么收割周期。此时一个物块单位在单位区块刻贡献的成熟作物数量: y(T)=\frac{C(T)}{T} \tag{3}
则农场的单位区块刻的总产量为:
其中 为收成率,计算过程为单个物块农作物成熟后收获的期望减去种植的成本。 根据时运 - Minecraft Wiki,最详细的我的世界百科上的信息:
荧石、西瓜、下界疣、红石矿石、海晶灯和甜浆果丛的掉落数量服从离散型均匀分布,这意味着每个掉落数量都是等可能出现的。每等级时运将掉落的上限增加1,但是最终掉落数量不会超过物品自身掉落数量的上限:荧石最多掉落4个荧石粉,海晶灯最多5个海晶砂粒,西瓜最多9个西瓜片。如果选中了超过上限的数字,会向下减少至上限。
继续查阅Wiki得到结果 .
绘图PDF:

计算累计分布函数(CDF):
(对t的变量全部抹成t)对其化简得到:
或者在t非常大时仅保留 项,
(实际精确计算的话有点耗费计算资源,这里就直接求解数值解了) (还有一个问题就是这个得到化简函数过于简陋一致计算CDF时没有归一) 然后代入等式3,得切割周期收益函数:

我们对其取极值点就得到最大收益对应的收割周期:
