- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
考虑一组隐藏的 k
随机数 {r1,r2...rk}
从范围 [0..N ]
,我不知道 N。在每个时间间隔内,数字 ri
都会显示给我,我可以选择 ri
作为我的最终数字 c
,如果我还没有为 c
做出选择,或者继续下一个时间间隔。当 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])是一个预先选择的实数数组。秘书问题的标准解决方案仅使用 V V=[inf,...inf,1,...,1] 中的 inf 和 1 的值,而我可以通过使用实数做得更好(至少对于小 k) V. 但我相信我的解决方案仍然不是最优的,因为我只使用 Max(r1..ri) 的值,而在每个决策点的 r1..ri 值的分布中必须有“隐藏”信息。
迄今为止的最佳解决方案:
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
最佳答案
它是最优停止理论中“ secret 问题”的众多修改之一。对于您的特定问题,我还没有现成的答案,但我强烈建议您阅读此“秘书问题”。有很多关于它的论文,我相信你会找到一些关于它的东西。
关于algorithm - 从 4 或 5 个范围未知的均匀分布随机数中进行最佳选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858346/
我有代码可以制作任意长度的二进制列表,并打开随机位数: rand_binary_list = lambda n: [random.randint(0,1) for b in range(1,n+1)]
假设我有 20 个攻击回合的回合制游戏,并且玩家的攻击速度决定了他们攻击的频率,当一个人的攻击速度为 5 时,您将如何计算和/或绘制一张“谁在何时攻击”的表格另一个速度为8? (这些是测试值,我将使用
我将我的类定义为: final class Key> { private final T q; private final T o; public Key(T q1, T o1
想象一下10辆车随机,均匀分布在长度为1的圆形轨道上。如果位置用[0,1>范围内的C double表示,那么它们可以排序,车之间的间隙应该是车的位置前面减去后面汽车的位置。最后一个间隙需要添加 1 来
我正在尝试构建一个均匀分布矩阵,每一行都以相同的速率衰减到 0。分布应该在 -1 和 1 之间。我正在看的是构建类似于以下内容的东西: [[0.454/exp(0) -0.032/exp(1) 0.6
我希望盒子像这样展开: 彼此正好相距 218 像素。 我试着把它们都放在一起,但我无法做到完美! .box1, .box2 { margin: 0 20px } 有没有更好的方法来解决这个问题? 忘了
所以我一直在构建一个程序,该程序使用蒙特卡罗模拟来寻找进化图论的属性。它的一个关键功能是能够生成均匀分布的随机图,这样我们就可以确定图的广义性质。对于连接无向图的情况,我已经实现了 this 中概述的
在响应式网站的页脚中,我需要均匀分布一些 li 项。 这是我想要实现的: 这就是我所拥有的: 我想避免为每个 li 设置绝对宽度,以保持网站这部分的响应能力。 继续进行的最佳方式是什么? 最佳答案 你
LinearLayout 的常见用法是平均空间(权重) View ,例如: 如何使用新的 ConstraintLayout 实现这样的等间距 View ? ConstraintLayout 引用链接:
如果我在一个集群中创建 3 个节点,我如何在容器之间均匀分布 docker 容器?例如,如果我创建一个由 3 个节点组成的集群,每个节点上有 8 个 cpu,我通过性能分析确定,当我在每个 cpu 上
我有一个包含 ViewModel 的 ObservableCollection,它又定义了我的按钮定义。 我已经做了几个小时了,一篇又一篇地阅读文章,但无济于事。我试过使用列表框,这是我最接近的。我的
如何使用 ConstraintLayout 获得 5 个均匀分布的正方形,并根据屏幕宽度设置灵活大小? 最佳答案 您需要创建一个连接在其父容器所有边上的小部件链(您可以将此父容器的尺寸设置为您想要/需
我有 100 个元素以随机顺序进入视口(viewport)。它们需要一起在 DOM 容器内形成一个圆圈。我需要一些方法来计算元素需要移动到的位置... 结构是这样的: http://codepen.i
我正在尝试在 Storyboard中为 iPad 和 iPhone 创建用户界面。 iphone 版本少了 1 个按钮。所有按钮和辅助 View 都固定在底部的 LayouGuide 上。此外,我正在
我正在向 添加图像和一些文本输入 (FloatLabelTextInput)在 react native 应用程序中。到目前为止,我在使用 flex 将图像和文本输入均匀分布在 y 轴上时运气不佳。
有一个导航栏 ,里面是一个每个 包含 带有链接(这是用于导航栏) 我查看了 Google 和这个网站,但找不到我要找的东西。 我想要的是能够保持我当前的风格(使用 和 在里面),我想要 在 内
我正在尝试创建一个布局,其中每个 DIV 的最大宽度为 300 像素。 如果屏幕是 600 像素,那么两个 100% 的 div 应该并排放置。如果屏幕是 700px,那么三个 233px(每个 DI
我实现了 Xorshift 生成器和其他生成器来比较它们在我的系统(Windows 和 Linux)上的性能。 https://en.wikipedia.org/wiki/Xorshift http:
我想通过收敛概率曲线图比较几种算法。 目前,我的图表如下所示: 这不允许看到许多曲线的差异。 我希望 y Axis 为“对数”,但与值 1 不同,即我希望 y 值为 [0, 1/2, 3/4, 7/8
我是一名优秀的程序员,十分优秀!