【发布时间】:2013-11-21 16:38:55
【问题描述】:
我正在寻找一种有效的方法来选择离中心最远的大部分点(2D 欧几里得图)。这类似于凸包,但会包括(许多)更多点。进一步的标准:
选择/集合(“K”)中的点数必须在指定范围内。它很可能不会很窄,但它最适用于不同的范围(例如 0.01*N
算法必须能够平衡距中心的距离和“局部密度”。如果图形范围的上部附近有密集区域,而下部附近有稀疏区域,那么算法必须确保从下部选择一些点,即使它们比上部的点更靠近中心地区。 (见下例)
奖励:考虑到特定点(或点和中心)的距离,而不是与中心的简单距离,将是完美的。
到目前为止,我的尝试主要集中在使用“鸽巢”(将图形划分为 CxR 框,根据坐标将点分配给框)并选择“外部”框,直到我们在集合中有足够的点。但是,我没有成功平衡选择(由于固定框大小而过度选择的密集区域),也没有成功使用选定点作为参考而不是(仅)中心。
我(糟糕地)画了一个Example:红点是点,绿色形状是我想要的一个例子(在绿色之外=选中)。对于稀疏区域,边界形状更靠近中心以找到合适的点(但不一定找到任何点,如果它们离中心太近)。黄色框是我的基于鸽子洞的算法的一个示例。即使在尝试针对稀疏区域进行调整时,它也不能很好地管理。
欢迎提出任何想法!
【问题讨论】:
标签: graph-algorithm convex-hull