我有一个函数Y = f(a,b)。
a和b以0为界
函数没有定义,但它可以想象成一个黑盒子,如果我插入(a,b)的值,我得到一个'Y'。也可能有(a,b)的其他值给出相同的Y.但它总是有限数量的(a,b)。
我使用粗暴搜索并找到所有值并用它绘制3D图,如下所示。但这始终不是曲线。这仅适用于我初始条件的一个案例。
现在我的目标是知道Y'的特定值,我需要找到具有最小迭代次数的所有解(a,b)。 (通过迭代我的意思是,将(a,b)插入到函数中以获得Y)。
答案 0 :(得分:1)
在一般情况下,没有解决方案。如果f是一些散列函数,唯一的解决方案是尝试所有输入。
现在假设f是连续的,至少在您正在寻找的值附近并且它相对平滑,那么您可以采用覆盖您正在寻找值的区域的三角形,为顶点和中心计算它三角形,并猜测3个三角形中的哪一个可能包含你的解决方案然后限制到那个。
或者,您可以在区域上创建网格,计算网格中每个顶点的值,然后将搜索限制在您认为值可能的单元格并继续。通过这种方式,您可以确保细胞足够小,这样您就不会错过感兴趣的特征。
这一切都依赖于对f的行为有所了解,并且如果f与你的期望不匹配,那么它的工作方式会很糟糕或根本不起作用。