【发布时间】:2017-12-05 18:38:57
【问题描述】:
我正在尝试找到一种算法来解决当前问题。我有多个未知变量 (F1,F2,F3, ... Fx) 和 (R1,R2,R3 ... Rx) 以及多个这样的方程:
F1 + R1 = a
F1 + R2 = a
F2 + R1 = b
F3 + R2 = b
F2 + R3 = c
F3 + R4 = c
其中 a、b 和 c 是已知数。我试图在这些方程中找到所有相等的变量。例如在上面的等式中,我可以看到 F2 和 F3 相等,R3 和 R4 相等。
第一个方程告诉我们 R1 和 R2 相等,第二个方程告诉我们 F2 和 F3 相等,而第三个方程告诉我们 R3 和 R4 相等。
对于更复杂的场景,是否有任何已知算法可以找到所有相等(F 和 R)的变量????
(如果不够清楚,我会编辑问题)
谢谢
【问题讨论】:
-
“更复杂的场景”是指一个方程中有两个以上未知变量的情况吗?
-
不,所有方程只有两个变量。我试图找到所有相等的 F 变量和所有相等的 R 变量。更复杂的场景意味着数百个方程。
-
多少个方程,多少个变量? (在您的示例中,变量比方程式更多;这是一个重要的事实)
-
我可能会得到比方程更多的变量,但我确信方程无法求解。不存在包含相同变量集的多个方程。我永远找不到 Fx 或 Rx 的值。但是我可以找到例如 Fx 是否等于 Fy 和 Fz,这就是我想要实现的。方程和变量的数量取决于我进行一些实验的时间和实验条件。对于受控测试环境,我有 128 个正向 (F) 变量和 128 个反向 (R) 变量和 2200 个方程。
-
如果没有解决方案,那么目标是什么?听起来你有两个组成部分:最大化相等变量的数量和最大化强制约束。这些通常是相互矛盾的,需要有一些模型来控制这一点。 (示例:没有满足约束:将所有变量设置为 0)
标签: python linear-algebra equivalence