如何在最佳方式中在高维空间中找到等函数值的轮廓,前提是函数值在所有维度上都是单调递减的。
答案 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个函数评估。