钓鱼问题


10

假设您想在上午8点至晚上8点去附近的湖钓鱼。由于过度捕捞,已经制定了一项法律,规定您每天只能捕捞一条鱼。当您抓到一条鱼时,您可以选择保留它(然后将其带回家),或将其扔回湖中继续捕鱼(但要冒着以后再用较小的鱼或根本不养鱼的风险)的选择。您想钓到尽可能多的鱼;具体来说,您想使您带回家的鱼的预期数量最大化。

形式上,我们可能会这样设置此问题:以一定的速度捕获鱼(因此,捕获下一条鱼所需的时间遵循已知的指数分布),并且捕获的鱼的大小遵循某些(也称为)分布。我们需要一些决策过程,根据当前时间和您刚抓到的鱼的大小,来决定是保留鱼还是将其扔回去。

所以问题是:该如何做出决定?是否有一些简单(或复杂)的方法来决定何时停止钓鱼?我认为问题等同于在给定的时间t内确定最佳渔民在时间t开始要带回家的预期鱼群数量。当且仅当鱼比预期的质量重时,最佳决策过程才能保留鱼。但这似乎是自指的。我们正在根据最佳渔民来定义最佳捕捞策略,但我不确定如何进行。


5
在Wikipedia上查看秘书问题-特别是关于“ 1 / e-law”(最佳选择)部分。
soakley

2
我认为这里的关键区别在于,假设我们知道所有事物的分布方式,而该解决方案的关键是,它使用前1 / e个申请人只是为了获得一些知识并定义一个好的门槛。我认为类似的想法在这里行不通。您可以想象只是从分布中得出一个阈值,但是我不认为它应该是固定的。我认为阈值应该随着时间的推移而降低,因为您捕获更好/任何鱼的时间越来越少。
b2coutts

1
@soakley也可以看到我对olooney的回答;等待的(预期)价值不仅取决于您将来会获得什么收获,还取决于您的策略将实际采取哪些收获。因此,我认为这个问题也有一个奇怪的自我指称方面。
b2coutts

1
我们尝试优化的功能或价值是什么?也就是说,我们如何权衡风险和利润?是否想出一种方法来最大化所捕捞鱼的大小的期望值?我们只是钓鱼一天还是几天,在后一种情况下,天数之间有何关系?
Sextus Empiricus

1
我们知道分布...仅仅是指分布的类型,还是还包括分布参数?
Sextus Empiricus

Answers:


4

令表示泊松过程的速率,令其中是鱼尺寸分布的累积分布函数。λS(x)=1F(x)F(x)

设表示一天的结束,设,表示使用最佳策略获得的间隔的预期捕获量。显然。同样,如果我们在时间捕获到大小为的鱼,则应保留该鱼,如果鱼大于则应停止捕鱼。这就是我们的决策规则。因此,过程的实现和实现的决策(绿点)可能如下所示:t=0g(t)t0(t,0)g(0)=0xtg(t)

在此处输入图片说明

使用随机动态规划的思想在连续时间内工作,通过一个简单的微分方程描述了在时间上向后的变化。考虑一个无限的时间间隔。我们在此时间间隔内捕获到一条大小的鱼的概率为 否则我们的预期捕获量将为。g(t)(tdt,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.

因此,使用总期望定律,间隔的预期捕获量变为 (tdt,0)

g(tdt)=[λdtS(g(t))][g(t)+1S(g(t))g(t)S(x)dx]+[1λdtS(g(t)]g(t).

重新排列后,我们发现满足 请注意,在一天结束时如何以等于泊松率与平均鱼大小的乘积的速率下降,反映出我们在最好保留所有可能捕获的鱼。g(t)

(1)dgdt=λg(t)S(x)dx.
g(t)λ0S(x)dx

示例1:假设鱼的大小为,使得。然后,公式(1)简化为 ,它是可分离的微分方程。使用上述边界条件,该溶液是 用于示于图上文针对。以下代码将使用基于模拟计算的该策略的平均捕获量与理论平均值。Xexp(α)S(x)=eαx

dgdt=λαeαg(t)
g(t)=1αln(1λt),
t0α=λ=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)的解。注意如何趋向于最大鱼的大小,如。XU(0,1)

g(t)=111λt/2
g(t)t


3
尚不清楚为什么最佳策略是在捕获到大小超过的鱼时采取停止策略。如果鱼的大小超过的预期最大鱼的大小,则停止运行会更有意义。g(t)(t,0)
亚历克斯R.18年

1
您将有机会选择最大的鱼,然后停止钓鱼。 是您决定在间隔内捕获的鱼类的预期大小。这也是决策规则,如果您捕获的鱼大于,则在时间停止钓鱼。t 0 t g t g(t)(t,0)tg(t)
Jarle Tufto

1
@AlexR。我尝试使用预期的最大鱼尺寸 进行示例2的模拟,该模拟虽然接近,但效果不佳。最大的期望包括将不会拾取鱼(那些变成是比)。有了最大的期望,您更倾向于等到那一刻获得非常有利的收获。这通常会给您带来更多的大鱼,但是却以更多的小鱼为代价,或者根本没有。'
g(t)=1eλt1λt
g(t)
Sextus Empiricus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.