这是我刚刚遇到的一个问题,或者更确切地说,它是捕获核心问题的简化。高效地确定电子表格中行之间的关系
想象一下,我有一个电子表格,其中包含许多列,每个列都标有标签,还有一些行。
我想确定一列中的值何时可以从另一列中的值推断出来。例如,我们可能会发现每次在列a中出现'1'时,总是在列d中出现'5',但是只要在列a中出现'2',3总会出现在列d。我们观察到列a中的值可靠地预测了列c中的值。
目标是确定列之间的所有这些关系。 (a,b),(a,c),(a,d)...(b,c),(b,d)的列对开始列表, ... 等等。我们称这些为“合格”列表。
对于这些配对中的每一对,我们都会跟踪配对中第一对的值和第二对中的对应值。如果我们注意到我们看到第一对货币的价值相同,而第二个货币对的价值不同,那么这对货物不再符合条件。
无论在这个过程结束时剩下的是一组有效的关系。
不幸的是,随着列数的增加,这很快就变得不切实际,因为我们必须存储的数据量是按列的平方数量的顺序排列的。
任何人都可以想到一个有效的方法来做到这一点?
您提出了一个很好的观点,即根据我的定义,每列都是唯一的列,然后可以预测所有其他列,但这并不是我想要的,因为它没有什么实际预测价值。我想我需要改进我对问题的定义。 – sanity 2010-10-13 15:54:58