在高维空间中以最佳方式计算成本

时间:2014-06-24 17:44:04

标签: vc6

如何在最佳方式中在高维空间中找到等函数值的轮廓,前提是函数值在所有维度上都是单调递减的。

2 个答案:

答案 0 :(得分:1)

由于你的函数在X和Y都是单调的,因此可以直接找到轮廓。让我们找到f(x,y)-K = 0的解。

步骤1.计算四个角的功能。这将告诉您轮廓相交的边缘。

步骤2.使用解决方案选择其中一条边。使用细分算法在此边缘上找到解决方案。首先找到中点并计算其中的值。这将边缘分成两部分,一部分将改变符号,选择边缘并重复。这个过程将提供独特的解决方案。

步骤3.从终点开始使用零跟随技术。我们从一个正方形开始,在一个边上有一个解,在两个角上有已知值。评估其他两个角落的功能。比较符号并找到其他边缘的解决方案。到达相邻的广场并重复。

这将遵循曲线,直到我们到达边界上的另一个解决方案。单调意味着没有棘手的案件需要处理。


更多关于第3步:我们有一个有两个知识点的矩形

+ ____ -
|      |
|      |
? ____ ?

有三种可能性

+ ____ -
|      |
|      |    take the right hand side
+ ____ +

+ ____ -
|      |    take the bottom side
|      |
+ ____ -

+ ____ -
|      |
|      |    take the left hand side
- ____ -

由于函数是单调的,因此不能发生一个选项

+ ____ -
|      |     impossible
|      |   
- ____ +

答案 1 :(得分:1)

如果您在一个正方形的四个角处评估函数,这四个值将告诉您是否通过iso-K曲线越过了正方形。

现在将方块细分为四个子方块,并检查新角落的函数值(这需要5个函数评估)。由于单调性,您可以确保至少有一个方格可以丢弃。

如果你递归地继续这个过程,每个阶段的点数减少至少25%,32个阶段就足以从10000减少到1(0.75 ^ 32 = 0.000100 ......),总共要求不超过32 x 5 = 160个函数评估。