- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 100 x 100 维的二维网格。网格中的每个点 (x,y) 都有一个相关的成本,并且它在整个空间中都是单调非递减的。相关费用事先不可知。
我无法找到所有地点的费用。所以我要做的是,找到最顶层位置的成本 (100,100)。将其称为成本 C。然后在此二维网格上识别等成本等高线,以获得一组精心选择的成本值。设 C 为成本位置 (100,100)。轮廓的成本经过精心选择,最后一个轮廓(轮廓 k)的成本为 C(网格中的最大成本),轮廓 k-1 的成本为 C/2,轮廓 k-2 将与几何系列中的成本一样,成本为 C/4。 Iso 成本等高线以黑色曲线显示。它们是通过首先在左/上边缘定位种子然后沿着它的邻域探索来识别的。
现在对于轮廓上的任何位置 (x,y),最近轮廓的成本将为位置 (x,y) 的成本提供一个近似值。也就是说,我们得到的成本值小于位置 (x,y) 的实际成本的两倍。轮廓上的每个位置 (x,y) 都覆盖其第三象限中的区域。例如,位置 M 被等值线覆盖,成本为 C/8。 因此,对于任何给定位置 (x,y),我可以通过查看谁是其上方最近的轮廓及其成本来说明成本是多少。这给出了最接近的成本,但不是位置 (x,y) 的确切成本,这对我的情况来说已经足够了。但这需要我a) 找到 C、C/2、C/4 到 Cmin 的完整等值线。b) 存储上述所有等高线位置,即每个等高线 100 个位置。
如何在要探索和存储的空间中拥有非常少的点数,并且仍然实现两倍最优成本的特性?
注意:需要减少成本计算的地点数量。目前我正在计算所有等成本轮廓位置。 100乘100的分辨率是为了说明问题。实际分辨率要高得多。
最佳答案
您需要测试的最坏情况下的位置数有一个下限,与通过定位等成本等值线获得的上限相距不远。
假设您知道除 * 处的每个值:
. 2 .
1 * 2
. 1 .
此值可以是 1 或 2。(如果可以接受这种歧义,则可以将 2 替换为 2.001。)因此,您需要对其进行采样。您无法从其他站点的成本中确定值(value)。
设 k = log_2(cost(n,n)/cost(1,1))。您可以构造一个成本函数,这样在几乎 nk 个站点(大约 k(n-k/2)),如果不对该站点进行采样,您就无法确定 2 倍内的成本。我将说明一个示例,其中 k=3。
8 8 8 8 8 8
4 * 8 8 8 8 8
2 * 4 * 8 8 8 8
1 * 2 * 4 * 8 8 8
1 1 * 2 * 4 * 8 8
1 1 1 * 2 * 4 * 8
1 1 1 1 * 2 * 4
1 1 1 1 1 * 2
1 1 1 1 1 1
因此,对于 n>>k,您需要测试的站点数量是 theta(nk)。如果你有一个成本函数的概率模型,并且 k 比 n 小,你可能平均做得更好。
关于c - 有效地找到二维空间中位置的两倍最优成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30084547/
我正在尝试在r中编写代码,以便找到单变量正态分布的最大似然(而不是对数似然)值。我知道还有其他方法,但是我需要深入了解数值优化才能进行进一步的工作。当我调用'optim'函数时,它似乎根本不会进行迭代
最近我一直在用 php + mysql 做一个相当大的项目。现在我担心我的 mysql。我应该怎么做才能使我的 mysql 尽可能优化?把你知道的都说出来,我将非常感激。 第二个问题,我在每次加载页面
我不太了解 InitializeCriticalSectionAndSpinCount 的文档: http://msdn.microsoft.com/en-us/library/windows/des
我们公司有几种不同的获取潜在客户的方式,以及我们处理的几种类型的潜在客户。每种类型的潜在客户之间只有微小的差异,并且大部分信息与一种或多种其他潜在客户类型共享或相关。我和我的团队正在尝试使用 Solr
ϵ-贪婪策略 我知道 Q-learning 算法应该尝试在探索和利用之间取得平衡。由于我是该领域的初学者,因此我想实现一个简单版本的探索/利用行为。最佳 epsilon 值 我的实现使用 ϵ 贪婪策略
我是一名优秀的程序员,十分优秀!