九畹儿
在生存过程中,玩家可以使用定时收割的作物农场自动化产出资源,合理设置收割时间间隔可以最大化农场效率。
在《minecraft》中,作物农场的生长方式服从不同的规则,但大多数都以随机刻1]作为基础。游戏中的事件发生为离散的,时间的最小单位为0.05s(下文中记为1gt),随机刻表示在每gt中随机选取某些方块进行计算所产生的刻(下文中将每gt一个方块被选择执行随机刻的概率记为file:///C:/Users/25788/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gifPrt,原版模式下file:///C:/Users/25788/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gifPrt=3/4096)。下文中将根据作物的生长机制进行分类分析。[
单生长周期型:最简单的情况为以下界疣、紫水晶为代表的农场,这两种作物生长的特点是:当可以生长的作物接收到随机刻时,会有一定概率进入到下一个生长阶段(这个概率记为k),而在生长阶段到达特定值时(记为m),作物成熟且无法继续生长。此时可进行收割并获得收益,如果作物在前m-1个生长阶段被收割,则收益为0。由于在实际情况中收割所消耗时间相对于生长时间极短,因此近似假设收割行为瞬间完成。[2]这种情况下,作物的生长可以视为n重伯努利试验,只有两种可能的情况:作物被选中和作物未被选中。因此,同一个作物在一段时间内被选中的次数符合二项概率分布。又由于作物在每一gt被选中的概率极小,试验次数极大,所以可以使用二项概率的泊松逼近来描述作物生长。已知在每gt中,下届疣或紫水晶生长的概率与file:///C:/Users/25788/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gifPrt成正比,即:\[p = kP_{rT}]\复制代码用m表示作物从初始态成长为成熟态所需的生长次数,t为生长时间(单位gt,极大),利用二项概率的泊松逼近得到作物在生长t时间后完全成熟的概率:\[P(t \geq X \geq m)=\sum_{i=m}^{t} \frac{\lamda ^ {i}}{i!} e^{-\lamda}]\复制代码根据全概率公式简化计算方式后用Mathematica绘制图像,实例代码如下:CLear["Global'*"];
prT = 3/4096;
k = 1/30;
p = k*prT;
q = 1 - p;
m = 4;
ans[t_] := 1 - Sum[((t*p)^i)/Exp[t*p]/(i!), {i, 0, m - 1}]
Plot[ans[t]/t, {t, 0, 300000}]
Maximize[{ans[t]/t, t > 150000}, t]复制代码下面两图分别对应下届疣和紫水晶,最大值点分别位于t=46198和t=199937:








双生长周期型:以仙人掌,甘蔗为代表的作物生长方式与下届疣相似。不同的是,这两者在完成一次生长后可以再进行一次生长,此次生长所遵守的规则与第一次生长的规则相同,且最多只能进行两次生长。因此在分析生长t时间后总计被随机刻计算的概率与第一类相同。[3]但是由于甘蔗和仙人掌都可以进行两次生长,因此,在计算效率时应当对只完成一次生长和完成两次生长分别求概率,乘以数量后求和。运用全概率公式并忽略极小量后,对于甘蔗和仙人掌均有m=16,k=1,代码如下:CLear["Global'*"];
prT = 3/4096;
k = 1;
p = k*prT;
q = 1 - p;
m = 16;
ans[t_] := 2 - Sum[((t*p)^i)/Exp[t*p]/(i!), {i, 0, m - 1}] -
  Sum[((t*p)^i)/Exp[t*p]/(i!), {i, 0, 2*m - 1}]
Plot[ans[t]/t, {t, 0, 100000}]
Maximize[ans[t]/t, t]复制代码m=16,k=1,最大值点在t=49253








多生长周期具有多生长周期的作物生长机制较为复杂,以下用海带作为例子进行分析,海带的生长具有如下规律:[4]1.     海带被种植或某节海带上方被收割时,海带会获得一个随机值,记为age,且满足分布为[0,24]的离散型均匀分布,为整数2.     每当海带尖端被选择执行随机刻时,海带有14%的概率进行一次生长3.     海带成功生长后,age数值加一4.     age=25后,海带不再继续生长在每gt中,一株海带进行生长的概率可以表示为:\[p=0.14P_{rT}]\复制代码





















发现函数图像单调递减,最佳收割间隔为1gt,明显与事实不符。       在上文公式推算中,沿用了前两种情况下认为收割时间相较于收割周期极小,可以视为0的假设,但计算结果认为最佳收割间隔为1gt,大于通常情况下的收割时间(5gt),与假设相矛盾,应当将收割时间考虑在内,对公式进行修正。       不同于单生长周期作物与双生长周期作物,海带的生长周期中不存在更小的生长阶段,如果忽视每次收割过程中海带无法生长的空窗期(长度为5gt),数值上的最佳收割周期将会出现在区间最小值上。显然,在这个时间尺度上,收割所消耗时间无法被忽视,与假设矛盾。因此海带生产效率应当表示为:\[P'=\frac{t-5}{t}P]\复制代码参考代码如下:CLear["Global'*"];
prT = 3/4096;
k = 0.14;
p = k*prT;
q = 1 - p;
ph[h_, t_] := (1 -
    Sum[(t!)/(i!)/((t - i)!)*p^i*q^(t - i), {i, 0,
      h - 1}] + (25 - h)*(t!)/(h!)/((t - h)!)*p^h*q^(t - h))/25
pp[t_] := (t - 5)/t*Sum[h*ph[h, t], {h, 1, 25}]
Plot[pp[t]/t, {t, 0, 4000}]
Maximize[{pp[t]/t, 500 复制代码最大值点位于t=1561








参考文献:[1]  MinecraftWiki. 刻- Minecraft Wiki,最详细的我的世界百科[DB/OL].(2023-11-27)[2023-11-30].ttps://zh.minecraft.wiki/w/%E5%88%BB?variant=zh-cn#%E9%9A%8F%E6%9C%BA%E5%88%BB[2]  MinecraftWiki. 下界疣- Minecraft Wiki,最详细的我的世界百科[DB/OL].(2023-11-20)[2023-11-30].https://zh.minecraft.wiki/w/%E4%B8%8B%E7%95%8C%E7%96%A3[3]  MinecraftWiki. 甘蔗- Minecraft Wiki,最详细的我的世界百科[DB/OL].(2023-11-17)[2023-11-30]. https://zh.minecraft.wiki/w/%E7%94%98%E8%94%97[4]  MinecraftWiki. 海带- Minecraft Wiki,最详细的我的世界百科[DB/OL].(2023-11-17)[2023-11-30]. https://zh.minecraft.wiki/w/%E6%B5%B7%E5%B8%A6[5]  redberd小红.用MATLAB分析《我的世界》海带生长高度- 哔哩哔哩[DB/OL].(2021-8-20)[2023-11-30].https://www.bilibili.com/read/cv12778288/?from=articleDetail补充:1.理论计算值可能由于近似计算和实际测量有出入2.对于前两种情况,如需要考虑收割时间,请参考第三种情况进行修正3.对于第三种情况,海带收割时间可以优化为3gt,如有需要请自行修正4.对于第三种情况,如果采取限高设计来增加种植密度,请参考情况二进行变上限修正

第一页 上一页 下一页 最后一页