2

我们有一个有趣的问题需要在这里解决,我们使用的是 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# 代码。

4

1 回答 1

1

使用 kd 树,它的目的是为这些类型的应用程序划分空间。

于 2013-02-27T16:13:55.433 回答