从给定集合中找出具有最大点密度的最小圆
给定地球表面上一组n个位置的(lat,lon)坐标,找到一个(lat,lon)点c和一个r> 0的值,以便使每个位置的密度d最大化例如,在由c和r定义的圆所描述和包含的表面区域中。
起初我想也许你可以用线性规划解决这个问题。 但是,密度取决于面积取决于r的平方。 二次项。 所以,我认为问题不适用于线性规划。
有没有一种解决这种事情的已知方法? 假设您将问题简化为笛卡尔平面上的(x,y)坐标。 这是否使它更容易?
你有两个变量c和r,你试图找到最大化密度,这是c和r(和位置,这是一个常数)的函数。 那么也许爬山,梯度下降或模拟退火方法可能会起作用? 你可以为你的第一个价值做一个很好的猜测。 只需使用位置的质心。 我认为你从那里达到的本地最大值将是全球最大值。
脚步:
这个算法只有当你有如下所示的簇时才起作用,因为递归探索会导致类似形状的簇:
该算法将会失败,形状不规则,因为您可以看到,即使在计算甜甜圈形状中的密度时,三角形的密度最高,它们会报告密度低得多,而圆心居中[0,0 ]:
1.适用于您的一种基于密度的聚类算法是DBSCAN。
链接地址: http://www.djcxy.com/p/84941.html上一篇: Find smallest circle with maximum density of points from a given set