我有一组点S,以及它的一个子集S1。我想找到一组点S2,使得S2中的任何点在S1中具有相邻距离< = r。 此外,不保证S1的结构(例如,它的alpha复合体可能不是凸的,甚至是连接的。)
有任何帮助吗?我真的很难过,蛮力逼近并没有真正奏效可怕的打破。由于集合S2将用于采样,我也接受(随机)近似(它确实需要比计算S1的质心并选择半径r中的点更精确;))
编辑:这些点位于R ^ 3,配备了欧几里德指标
答案 0 :(得分:0)
随机均匀地选择S2的候选者:随机均匀地选择S1中的p,选择q使得d(p,q)≤r均匀随机,计算点数p的数量k。 (包括p)使d(p',q)≤r,并以概率1 / k返回q,否则从头开始。预期的运行时间是最坏情况的二次方。