You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

池塘种群动态下,每日垂钓标记后第1000天已知存活鱼占比的数学建模求解

池塘种群动态下,每日垂钓标记后第1000天已知存活鱼占比的数学建模求解

嗨,这个问题结合了种群动态和标记重捕的概率逻辑,确实很有挑战性,我来帮你拆解下数学建模的思路,一步步来:

先明确核心基础结论:种群期望数量恒定

首先看基础的种群变化规则:每天5%概率增5%、5%概率减5%、90%概率不变。我们可以计算第t天种群数量$N_t$的期望:

E[N_t | N_{t-1}] = 0.05×1.05N_{t-1} + 0.05×0.95N_{t-1} + 0.9×N_{t-1} = N_{t-1}

也就是说,种群的期望数量永远等于初始值(不管是你最初说的100,还是模拟里用的1000),这个结论是后续建模的核心前提。

用递归法计算「未被标记存活鱼」的期望数量

我们可以通过追踪「存活且从未被标记的鱼的期望数量」$A_t$,来反推已知存活鱼的占比。下面以你模拟里的初始种群1000为例,建立递归关系:

递归公式推导

每天的流程是「种群变化→垂钓标记」,我们分两步分析:

  1. 种群变化阶段:
    • 5%概率种群减5%(变为950):随机杀死5%的存活鱼,未被标记的鱼也会按比例减少,剩余未标记鱼期望为$0.95A_t$
    • 5%概率种群增5%(变为1050):新增50条从未被标记的鱼,未标记鱼期望为$A_t + 50$
    • 90%概率种群不变:未标记鱼期望仍为$A_t$
  2. 垂钓标记阶段:
    • 种群950时,钓10条,未标记鱼没被钓到的概率是$\frac{950-10}{950}$,剩余未标记鱼期望为$0.95A_t × \frac{940}{950} = 0.94A_t$
    • 种群1050时,钓10条,未标记鱼没被钓到的概率是$\frac{1050-10}{1050}$,剩余未标记鱼期望为$(A_t + 50) × \frac{1040}{1050}$
    • 种群1000时,钓10条,未标记鱼没被钓到的概率是$\frac{990}{1000}$,剩余未标记鱼期望为$0.99A_t$

把三个情况按概率加权合并,得到最终的递归公式:

A_{t+1} ≈ 0.05×0.94A_t + 0.05×(A_t+50)×(1040/1050) + 0.9×0.99A_t

整理后简化为:

A_{t+1} ≈ 0.9875A_t + 2.476

递归公式求解

这是一个线性非齐次递归,我们可以解出通项公式:

  • 齐次解:$A_t^h = C×(0.9875)^{t-1}$(C为常数)
  • 特解:设为常数K,代入递归式解得$K≈198.5$
  • 结合初始条件$A_1=1000$(初始所有鱼都未被标记),得到完整通项:
A_t = 801.5×(0.9875)^{t-1} + 198.5

当t=1000时,$(0.9875)^{999}$趋近于0(因为底数小于1,指数极大),所以$A_{1000}≈198.5$。

计算已知存活鱼的期望占比

已知第1000天存活种群的期望数量是1000,所以已知存活鱼的期望数量为$1000 - 198.5 = 801.5$,对应的期望占比约为80.15%,和你模拟得到的84%左右的结果很接近,差异主要来自模拟的随机性以及我们用期望近似的简化处理。

关于「观察到X%的鱼的概率」

精确的解析概率公式非常难推导,因为涉及种群数量波动、标记事件、存活事件的联合随机性。不过我们可以用两种方式近似:

  1. 正态近似:计算已知存活鱼数量的方差(可以通过建立方差的递归关系得到),然后用正态分布拟合其概率分布,从而估算X%对应的概率。
  2. 蒙特卡洛模拟:就是你已经用到的方法,通过多次重复模拟,统计不同占比出现的频率,来近似概率分布。

备注:内容来源于stack exchange,提问作者stats_noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 08:23:03