假设我在维度上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)。
这个问题有一个可爱的、开箱即用的解决方案吗?还是有人已经解决了它的论文?