Проблема Рыбалки

10

Предположим, вы хотите отправиться на рыбалку на близлежащее озеро с 8:00 до 20:00. Из-за чрезмерного вылова рыбы был принят закон, согласно которому вы можете ловить только одну рыбу в день. Когда вы ловите рыбу, вы можете либо оставить ее (и, таким образом, пойти домой с этой рыбой), либо выбросить ее обратно в озеро и продолжить ловить рыбу (но рискуете позже осесть с более мелкой рыбой или вообще без рыбы). Вы хотите поймать как можно большую рыбу; в частности, вы хотите максимально увеличить ожидаемую массу рыбы, которую вы приносите домой.

Формально мы могли бы решить эту проблему следующим образом: рыба вылавливается с определенной скоростью (таким образом, время, необходимое для вылова следующей рыбы, следует известному экспоненциальному распределению), а размер пойманной рыбы следует некоторому (также известному) распределению , Нам нужен какой-то процесс принятия решения, который, учитывая текущее время и размер рыбы, которую вы только что поймали, решает, сохранить ли рыбу или отбросить ее.

Вопрос в том, как принять это решение. Есть ли какой-то простой (или сложный) способ решить, когда прекратить ловить рыбу? Я думаю, что проблема эквивалентна определению, в течение данного времени t, какую ожидаемую массу рыбы оптимальный рыбак заберет домой, если они начнут в момент времени t; оптимальный процесс принятия решения будет держать рыбу тогда и только тогда, когда рыба будет тяжелее, чем ожидаемая масса. Но это похоже на самоссылку; мы определяем оптимальную стратегию ловли с точки зрения оптимального рыболова, и я не совсем уверен, как действовать дальше.

b2coutts
источник
5
Ознакомьтесь с проблемой секретаря в Википедии, в частности, с разделом 1 / e-law of best choice.
Soakley
2
Я думаю, что ключевым отличием здесь является то, что предполагается, что мы знаем, как все распределяется, тогда как ключом к этому решению является то, что оно использует первых 1 / e заявителей просто для того, чтобы получить некоторые из этих знаний и определить хороший порог. Я думаю, что подобная идея не могла бы работать здесь. Вы можете представить себе получение порога из распределений, но я не думаю, что он должен быть установлен; Я думаю, что порог должен со временем уменьшаться, так как у вас все меньше и меньше времени, чтобы ловить лучше / любую рыбу.
b2coutts
1
@soakley см. также мой ответ на ответ olooney; (ожидаемое) значение ожидания зависит не только от того, какие уловы вы получите в будущем, но и от того, какие из этих уловов будет использовать ваша стратегия. Поэтому я думаю, что в этом вопросе есть и странный аспект самоссылки.
b2coutts
1
Какую функцию или значение мы пытаемся оптимизировать? То есть как мы взвешиваем риск и прибыль? Есть ли смысл придумывать метод, который максимизирует ожидаемое значение размера пойманной рыбы? Мы просто ловим рыбу один день или несколько дней, и в последнем случае как соотносятся дни?
Секст Эмпирик
1
Мы знаем распределение ... это относится только к типу распределения, или оно также включает параметры распределения?
Секст Эмпирик

Ответы:

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

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

XU(0,1)

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

Ярле Туфто
источник
3
g(t)(t,0)
1
g(t)(t,0)tg(t)
1
g(t)=1eλt1λt
g(t)