假设我在一些变量之间有一些已知关系,例如a = b + c
和一个起始解决方案,例如a=2, b=1, c=1
。我正在编写一些代码,以便在给定更新的情况下,例如a=3
,我更新b
和c
的值,以便仍然满足关系,例如设置b=2
(显然有很多可能性,我只需要一个)。
在实践中,有许多关系,它们不是线性的。代码通过用户为每个变量提供功能,作为其他变量的函数,例如a(b,c)
,b(a,c)
和c(a,b)
。然后我构建了一个依赖图,当一个值发生变化时,我会执行类似于广度优先搜索的更新其他值。这似乎有效,但我不禁想到我正在重新发明轮子,这是一个非常着名的计算机科学/图论问题。也许甚至有一个包裹?
任何人都可以提供一些链接或了解我正在解决的问题究竟是什么?