考虑一组隐藏的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=r1
。 c
的预期值为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
。我相信我应该能够通过“使用”r1
和r2
的值来选择是否接受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
答案 0 :(得分:3)
这是最佳停止理论中“秘书问题”的许多修改之一。我对你的特定问题没有现成的答案,但我强烈建议你阅读这个'秘书问题'。关于它的论文很多,我相信你会找到一些东西。
答案 1 :(得分:2)
请注意,对于N/2
:
k=2
N/2
并将其称为m
。r1 > m
接受c
,则拒绝并选择r2
为c
。这是对这种策略的期望。
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的估计,这只涉及到目前为止观测值的最大值和数量。