gpt4 book ai didi

algorithm - 优化数据过滤和计算方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:59:49 27 4
gpt4 key购买 nike

鉴于-

A = fn (B, C, D)

在哪里fn可以是包含简单和复杂计算的任何函数。

我的需求是根据A、B、C、D的当前值(如果有的话)在运行时计算出A、B、C、D的可能值

让我们举个例子来更好地理解它。假设 -

A = B + C * D

现在,如果B=2 , C=3D=5然后A = 17

如果B=1 to 2 , C=1 to 5D=5 , 然后 A = 6 to 27

如果A=10 to 20 , B=100 , D=1 to 10 , 然后 A = 110 to 1020

类似地,根据 B、C 和 D 的可能值,我们可以计算出 A 的可能值。 .

现在我需要为 B 做同样的事情, CD也就是如果我知道 A 的值, CD那么我应该能够说出 B 的可能值-(请记住,没有办法直接知道什么是 B = fn2 (A, C, D),而且 fn 可能不仅仅是数学计算。

我知道的一种方法是预先计算数据库中所有可能值的数据,然后根据可用值将其过滤掉(假设存储不是问题)。

还有哪些其他可能的方法可以在最短的响应时间内实现这一目标?

最佳答案

基本上,你要做的就是求fn的最大值和最小值,也就是求解constraint optimization problem :首先,您寻找给定约束条件(B、C 和 D 的范围)的最小 fn,然后在同一域中最小化 -fn

幸运的是,您只有 3 个变量,所以这应该不是问题。但是算法的速度取决于您拥有函数的多少信息。理想情况下,您应该能够计算出 Hessian , 虽然只知道 gradient就足够了。最后,如果你不知道梯度,你仍然可以使用 finite differences 来近似它。 .

如果你事先不知道优化函数,但知道它在基本操作方面的符号表示(公式)(如+- etcexplogetc 等基本函数),你可以做 symbolic differentiation获得梯度(和粗麻布)的公式。

我不是优化方面的专家,但我认为投影方法(如投影梯度下降法、投影牛顿法)会奏效。另外,内点法可能有用,但我不熟悉。

假设已经做出:

  1. 你的函数是连续的。
  2. 此外,你的功能是“正常的”。有些函数实例具有奇怪的几何形状,很难优化。
  3. 你的职能是真正的争论。如果情况并非如此,那么对于“理智”功能,最有可能是该点的 4 个 int 值邻居中的某个位置。不过,这并不能保证。

关于algorithm - 优化数据过滤和计算方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28023268/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com