识别N维数据集中的差距

时间:2013-02-27 16:10:11

标签: c# math

我们需要在这里解决一个有趣的问题,我们使用的是C#.NET 4.0,但语言应该是无关紧要的,因为它是一个数学问题。

问题:我们需要确定N维数据集中的差距,并准确报告这些差距返回给用户的位置。

例如,我们假设我们正在使用3-D,因此我们将此对象Quote包含6个属性:TermFrom, TermTo, AgeFrom, AgetTo, AmountFrom, AmountTo和我们需要涵盖的边界:MinTerm = 0, MaxTerm = 5, MinAge = 0, MaxAge = 5, MinAmount = 0, MaxAmount = 5。假设所有最小值都是0,最大值是5只是为了简化示例,尽管它们可能不同。因此,我们需要检查间隙的数据是以下数据集:

Quote[] {
  {  TermFrom=0, TermTo=3, AgeFrom=0, AgetTo=4, AmountFrom=0, AmountTo=2  },
  {  TermFrom=4, TermTo=5, AgeFrom=0, AgetTo=5, AmountFrom=3, AmountTo=5  }

此数据集包含组合的差距:{ Term: 0-5, Age: 4-5, Amount: 0-2 } and { Term: 0-3, Age: 0-5, Amount: 2-5 }, { Term: 4-5, Age: 0-5, Amount: 0-2 }(我认为)

即。如果您想象一个立方体并且数据集是此立方体的一部分,则计算出的所有数据集的总体积必须等于立方体的体积。如果它的体积不够,我们需要确定这个立方体中的间隙在哪里。

所有这些都需要更多尺寸:4和5,但要想象的更难。我希望这个问题有某种数学解决方案,我们可以将其转换为c#代码。

1 个答案:

答案 0 :(得分:1)

使用k-d树,正是为这些类型的应用程序划分空间。