代码之家  ›  专栏  ›  技术社区  ›  Paul Reiners

从给定集合中找到具有最大点密度的最小圆

  •  1
  • Paul Reiners  · 技术社区  · 7 年前

    n 在地球表面的位置,找到一个(纬度,经度)点 ,值为 r 我们最大化密度, ,每平方的位置 英里,例如,在由定义为的圆所描述和包含的表面积内 c r

    起初我想也许你可以用线性规划来解决这个问题。然而,密度取决于面积取决于r平方。二次项。所以,我认为这个问题不适合线性规划。

    你有两个变量 c r 你想要找到的是最大化密度,这是 c r

    1 回复  |  直到 7 年前
        1
  •  1
  •   displayName    7 年前

    步骤:

    • 使用基于密度的聚类算法对点进行聚类
    • 计算每个簇的密度;
    • 递归(或迭代)对最密集簇中的点进行子聚类;
      • 该算法必须忽略异常值,并使其成为自己的聚类。这样,所有高密度的异常值都将被保留,而低密度的异常值将被剔除。

    该算法仅在具有如下所示的簇时有效,因为递归探索将产生形状类似的簇:

    enter image description here


    该算法在处理这种形状笨拙的簇时会失败,因为正如您所看到的,即使在计算甜甜圈形状中的密度时三角形的位置最为密集,但相对于以[0,0]为中心的圆,它们的密度也会低得多:

    enter image description here


    DBSCAN .