たとえば、いくつかの変数a = b + c
と開始ソリューション、たとえば の間にいくつかの既知の関係があるとしa=2, b=1, c=1
ます。更新が与えられた場合、たとえばとa=3
の値を更新して、関係がまだ満たされるようにコードを書いています(明らかに、多くの可能性があり、1 つだけ必要です)。b
c
b=2
実際には、多くの関係があり、直線的ではありません。このコードは、 、 、などa(b,c)
、各変数の関数を他の変数の関数としてユーザーが提供することによって機能します。次に、依存関係グラフを作成し、1 つの値が変更されると、幅優先検索のような処理を行って他の値を更新します。これは機能しているように見えますが、車輪を再発明していると思わずにはいられません。これは非常によく知られているコンピューター サイエンス/グラフ理論の問題です。パッケージもあるのかな。b(a,c)
c(a,b)
私が解決しているこの問題が正確に何であるかについて、誰かがいくつかのリンクや洞察を提供できますか?