发布时间:2023-09-06 23:53:00 来源:食品安全
一只成年鸡产生小鸡、豹猫捕食都是匀速的。(对于 1 只豹猫的农场来说,“豹猫捕食匀速”可能有点过于粗糙。所以这篇回答更适合具有大量豹猫的农场,计算鸡和豹猫的数量比值。)
不考虑平衡状态是不是稳定。(事实上,这个平衡是不稳定的——即,它会因为鸡生小鸡、豹猫捕食的随机性引起的速度的波动而最终瓦解。我们只可以盼望平衡在短期内存在。因此,我把题主所用的“稳定”一词改为了“平衡”。)
“ 1 个周期”指的是一只鸡自从蛋中出生至能正常生蛋所需要的时间,即成为成年鸡需要的时间(20 分钟)加上成年后下第一个蛋前时间的一半(平均来说是 3.75 分钟)等于 23.75 分钟。这将是这篇回答采用的时间单位。采取这一段时间的原因是,这样我们就可以认为:一只鸡生命的最初一个周期不下蛋,在此之后均匀地产生鸡蛋。这篇回答的以下内容中,“成年鸡”指的是年龄超过 1 周期(而不是通常语境下的 20 分钟)的鸡。
“ 1 个单位”指的是平衡状态下成年鸡的数目,这将是这篇回答采用的鸡的数量单位。我们会解出 1 个单位的鸡具体是多少只。
设b是成鸡的繁殖率,即每 1 单位的成鸡 1 周期产出的所有蛋一共能生出b单位的幼年鸡。
假设这个鸡场已达到了平衡——即鸡的数目和年龄分布保持不变。根据“单位”的定义,此时有 1 单位成年鸡。
豹猫捕杀鸡的速率应该和新的鸡出生的速率相等,所以是b单位每周期。这个数据将让我们算出一单位的鸡是多少只:我们大家可以在游戏中测定一只豹猫每 23.75 分钟平均能杀死多少只鸡,假设是B只,那么b单位鸡等于B只鸡,从而一单位的鸡就是\frac B b只。
我们假设幼年鸡的年龄累计分布函数是c(t),其中0\le t\le 1,即对于每个t\in[0,1],年龄小于t周期的鸡有c(t)单位。而它的导函数,c(t),是鸡的年龄密度函数。那么,幼年鸡的总数就是c(1)单位。
由于豹猫杀鸡的无差别性以及鸡的总数稳定,每一只鸡的生存时间的分布是无记忆的——所以是指数分布。豹猫杀鸡的速率是b单位每周期,农场一共有1+c(1)单位鸡,所以鸡的平均存活时间是\frac{1+c(1)}{b}。所以,一只鸡的存活时间的概率密度函数是f(x)=\lambda\mathrm e^{-\lambda x},其中\lambda=\frac{b }{1+c(1)}。
如果题主能按照上面算出的年龄分布来放各个年龄的鸡,那就万事大吉了,但他只想放成年鸡。也就是,我们还需要算出:最初放多少成年鸡(假设年龄都已超越了 1 周期,而且 EggLayTime 随机分布),能到达上面算出的平衡状态?
然后就需要解 (1.1)~(1.4) 这组偏微分方程。我们把反复出现的v(t)-u(1,t)记作w(t),它是成年鸡的数目。
的延时常微分方程组。这东西应该没有封闭形式的解,但是已能扔到 Mathematica 里面求数值解了。我在 Mathematica 中用二分法求出了恰好能够平衡的
我搞了这样 25 个鸡窝,每个鸡窝放一只豹猫,中间由一个盔甲架计数,如果鸡减少了就记录下来然后再生成一只。游戏规则没有更改,但是每刻杀掉所有掉落物。豹猫的生活环境是 3 乘 3 的空间里有 12 只鸡。游戏存档也放在了最后。
秒,也就是每周期能捕杀573.728只鸡。前面说过,一只豹猫一周期能捕杀
单位成年鸡就是1748.15只,最终稳定的\mathrm e^{W(b)}单位的总数就是1817.17只。因此,我们得出了
1748.15只成年鸡,就可以使得这个鸡场尽可能保持平衡。但是依然要注意,在这个鸡场中的所有误差都会随时间指数地放大,所以这个平衡迟早会崩溃。
数据出自 Minecraft Wiki。但是 Wiki 页面上并没说“均匀随机”,只是说“随机”。“均匀”是我胡乱猜的,因为我没能找到具体的分布方法。如果有人知道具体的分布,请指教。
这个链接中有 Mathworld 上面对 Lambert W 函数的进一步解释:
9.29 小时是根据 tick 算出的游戏内时间——实际上因为 Carpet mod 的时间加速功能,是大约 4 小时。说它们“辛苦”是因为,每当它们把鸡杀死之后,我就立刻把掉落物清理掉了。
只。早在5个版本以前我就在自己的单机存档里装过一个自动养鸡场了,而这样的一个东西首次出现的时间记忆中至少可以追溯到6~8个版本以前。
而你提供的东西已经完全够让砸蛋和杀鸡全部自动化,那么我不需要豹猫都能保持养鸡场鸡的数量稳定。
面积过大会显著影响捕猎速度,所以直接假设maxEntityCramming=0,所有生物集中于一点。然后姑且假设猫每40 gt杀一只鸡(其实我也不了解这一个时间是多久)那么算下来就是当假设初始有X只鸡时,在第40gt,期望有40/9000*35/256*40/8*X=7X/2304只小鸡产生,然后随机掉一只(有可能正好是小家伙被宰),那么大小鸡数量比2304:7,则理论上似乎会剩下X-2304/2311的大鸡和7X/2304-7/2311的小鸡滚入下期奖池。我反正不觉得我能算清楚后续。
然而杀小鸡其实完全不会影响结果,能导致鸡场无法维系只可能是大鸡被杀,所以能假设一种极端倒霉的情况,就是这只豹猫杀疯了,专逮大的宰。那么这就要求哪怕到第24000 gt已经死了600只鸡时,还能保证每40 gt有一只新的鸡产生,所以结果就是总共得有198086只鸡(逃~~
但是真造这么个玩意你得留出冗余,不然脸白了或者黑了狐狸就撑了或者饿了,所以实际装置生鸡要大于理论值