令表示泊松过程的速率,令其中是鱼尺寸分布的累积分布函数。λS(x)=1−F(x)F(x)
设表示一天的结束,设,表示使用最佳策略获得的间隔的预期捕获量。显然。同样,如果我们在时间捕获到大小为的鱼,则应保留该鱼,如果鱼大于则应停止捕鱼。这就是我们的决策规则。因此,过程的实现和实现的决策(绿点)可能如下所示:t=0g(t)t≤0(t,0)g(0)=0xtg(t)
使用随机动态规划的思想在连续时间内工作,通过一个简单的微分方程描述了在时间上向后的变化。考虑一个无限的时间间隔。我们在此时间间隔内捕获到一条大小的鱼的概率为
否则我们的预期捕获量将为。g(t)(t−dt,t)X>g(t)λdtS(g(t)),
g(t)
使用平均剩余寿命的公式,一条大于的鱼的预期大小 为
g(t)E(X|X>g(t))=g(t)+1S(g(t))∫∞g(t)S(x)dx.
因此,使用总期望定律,间隔的预期捕获量变为
(t−dt,0)g(t−dt)=[λdtS(g(t))][g(t)+1S(g(t))∫∞g(t)S(x)dx]+[1−λdtS(g(t)]g(t).
重新排列后,我们发现满足
请注意,在一天结束时如何以等于泊松率与平均鱼大小的乘积的速率下降,反映出我们在最好保留所有可能捕获的鱼。g(t)dgdt=−λ∫∞g(t)S(x)dx.(1)
g(t)λ∫∞0S(x)dx
示例1:假设鱼的大小为,使得。然后,公式(1)简化为
,它是可分离的微分方程。使用上述边界条件,该溶液是
用于示于图上文针对。以下代码将使用基于模拟计算的该策略的平均捕获量与理论平均值。X∼exp(α)S(x)=e−αxdgdt=−λαe−αg(t)
g(t)=1αln(1−λt),
t≤0α=λ=1g(−12)
g <- function(t,lambda, rate) {
1/rate*log(1-lambda*t)
}
catch <- function(daylength=12, lambda=1, rfn=runif, gfn=g, ...) {
n <- rpois(1,daylength*lambda)
starttime <- -daylength
arrivaltimes <- sort(runif(n,starttime,0))
X <- rfn(n,...)
j <- match(TRUE, X > gfn(arrivaltimes,lambda,...))
if (is.na(j))
0
else
X[j]
}
nsim <- 1e+5
catches <- rep(0,nsim)
for (i in 1:nsim)
catches[i] <- catch(gfn=g,rfn=rexp,rate=1,lambda=1)
> mean(catches)
[1] 2.55802
> g(-12,1,1)
[1] 2.564949
示例2:如果,类似的推导导致
作为(1)的解。注意如何趋向于最大鱼的大小,如。X∼U(0,1)g(t)=1−11−λt/2
g(t)t→−∞