最佳选择4或5个均匀分布的随机数,范围未知

时间:2012-08-08 05:47:03

标签: algorithm probability

考虑一组隐藏的k随机数{r1,r2...rk},其中[0..N]范围内的均匀概率分布,,其中N我不知道。在每个时间间隔内,我都会看到ri号码,如果我还没有选择ri,我可以选择c作为我的最终号码c。 {1}},或继续前进到下一个时间间隔。当ri向我透露时,我无法再选择任何r1,r2..r(i-1)。如果我在rk显示的时间内没有选择号码,则默认情况下会变为c

我希望优化c,从某种意义上说,最大化其预期值。

如果知道N那么答案是显而易见的。同样,如果k很大,那么我可以使用ri的早期值估算N

到目前为止的进展:

如果k = 1则没有选择。默认情况下为c=r1c的预期值为N/2

如果k = 2则所有选择算法都与预期值N/2相同。

如果k = 3则最佳算法

if r2/r1 >= 0.75 then 
  c=r2
else
  c=r3

c的预期值约为0.58N

如果k = 4那么我提出的最好的是

if r2/r1 > 0.920 then
  c=r2
elseif r3/r1 > 0.665 then
  c=r3
else
  c=r4

c的预期值约为0.64N。我相信我应该能够通过“使用”r1r2的值来选择是否接受r3作为我选择的值,但分析解决方案让我失望了

任何人都可以为k=4和/或k=5提供更好的算法吗?

备注秘书问题: 在我可以找到的SP的所有版本中,您都可以获得有关已经出现的候选人的相对等级的信息。但是在这个问题中,你有一个每个候选人的价值(当然来自未知范围[0..N]),并且通过利用你可以做得更好的价值比。例如,针对k = 3问题的SP解决方案(如果p2> p1,则选择p2,否则选择p3)具有o.5833N的预期回报,而我的解决方案(如果p2 / p1> 0.75则选择p2,否则选择p3)预期收益率为0.5937。

到目前为止,我对任何k的问题的最佳回报是:

 i = 0    
 repeat
    inc(i)
 until (r[i]/Max(r[1]..r[i-1]) > V[i]) or (i=k)
 c=r[i]

其中对于任何选择的k,v [i](或者如果您愿意,可以称之为v [k,i])是预先选择的实数值数组。秘书问题的标准解决方案仅使用inf值和1 VV = [inf,... inf,1,...,1],而我可以通过使用实数更好(至少小k) V.但我相信我的解决方案仍然是次优的,因为我只使用Max(r1..ri)的值,而在每个决策点的r1..ri值的分布中必须有“隐藏”信息。 / p>

迄今为止的最佳解决方案:

k = 3 : v = [inf,0.75]          : cexp = 0.58N
k = 4 : v = [inf,0.92,0.66]     : cexp = 0.665N
k = 5 : v = [inf,inf,0.82,0.63] : cexp = 0.6683N

3 个答案:

答案 0 :(得分:3)

这是最佳停止理论中“秘书问题”的许多修改之一。我对你的特定问题没有现成的答案,但我强烈建议你阅读这个'秘书问题'。关于它的论文很多,我相信你会找到一些东西。

答案 1 :(得分:2)

请注意,对于N/2

,您的效果可能优于k=2
  • 猜测N/2并将其称为m
  • 如果r1 > m接受c,则拒绝并选择r2c

这是对这种策略的期望。

  • 如果m ≥ N,则始终拒绝r1并接受r2,因此c的预期值为N/2
  • 如果m < N,则接受:
    • r1概率为(N-m)/N
    • r2剩余概率概率m/N

在第二种情况下,r1的预期为Σ_{m<i≤N} i / (N-m) > N/2,而r2的预期为N/2。在第二种情况下,整体策略的期望值大于N/2

如果你对N/2有一个很好的猜测,这个策略会更好,但可爱的事实是你不会出错:即使你离开了,战略至少会产生{{1}期待。

答案 2 :(得分:1)

为什么最佳解决方案仅涉及将r i 与Max(r 1 ,r 2 ,...进行比较,这可能是一个很好的理由。 。,r i ):the German Tank Problem

假设您刚刚看到r k-1 ,倒数第二个数字。考虑一下你在那时做出的决定。您可以采用r k-1 或等待查看尚未发布的r k 。什么时候应该选择r k-1 ?当您认为r k-1 大于r k = N / 2的预期值时。但是,如果你不知道N,你如何估计r k 的期望值?那么,你可能会做的是估计N.你是如何做到的?您使用German Tank Problem的解决方案之一,它仅依赖于观察值的最大值(和计数值)。

计算r i 的个案,其中i < k-1不那么简单。例如,当你查看r k-2 时,你需要弄清楚你做了什么,因为你有两个更多的数字要查看和(可能) )还有一个选择。但是,我怀疑在每种情况下,你要做的关键是做一些N的估计,这只涉及到目前为止观测值的最大值和数量。