选择点以最大化凸包的体积

数据挖掘 数学
2022-03-15 20:33:30

假设我在维度上N有点(标记为1, 2, ..., k, ..., N) 。D我想选择点的顺序,以便在每个点之后,凸包的体积最大化。

换句话说,凸包的体积是点数V(k)( V(1) = V(2) = 0) 的函数,我想选择点序列,{k_1, k_2, ..., k_N}使得 V(k) 对于每个 k 值都最大化。

我想到的两种算法似乎效率不高:

  • 蛮力是O(N!)
  • 将空间划分为以 k 个点为界的框。选择一个点,然后查看每个小盒子,按它们与包含起点的盒子的距离排序。如果您选择的框中有多个点,请随机选择,或者选择距离最远的点。现在计算您拥有的点的质心。然后重复,直到所有点都用完。这似乎是O(N^p)

这个问题有一个可爱的、开箱即用的解决方案吗?还是有人已经解决了它的论文?

1个回答

遗传算法通常是优化问题的一个很好的选择,假设它不是最​​好的解决方案的要求,而只是“足够接近”。