当前位置:  开发笔记 > 编程语言 > 正文

解决距离问题的最佳方法

如何解决《解决距离问题的最佳方法》经验,为你挑选了1个好方法。

有一组共线点.问题是添加一个位于同一行的新点,以便从新点到现有点的距离总和最小.(假设该点位于水平线上).

我想到的解决方案是:

    根据它们的x坐标对点进行排序(无论如何,y无关紧要).

    如果no.of点是奇数,则将新点放在与中间点相同的坐标处.

    否则,将该点放在n/2和n/2 + 1点的中点.

我无法证明上述方法有效.这是对的吗?还有什么更好的解决方法吗?



1> 小智..:

如果我们希望最小化绝对距离的总和,我认为中位数是正确的答案,这是明显的解释.如果我们希望最小化平方距离的总和,则平均值是正确的.对于y = 0和x = 0,1,2,101处的点,平均值为26,我们可以将中位数设为1.5.距平均值的绝对距离之和为149,距中值的绝对距离之和为102.

在中间位置,左侧的点数与右侧的点数相同.向左移动一小部分会增加到右边各点的所有距离,并减少到左边各点的所有距离相同的量 - 没有变化.如果距离中位数一点或更远,则可以通过向具有更多点的区域移动来减少绝对距离的总和.这减少了距离有多个点的区域的距离总和超过了距离点数较少的区域的距离总和 - 所以如果你不在中位数,你可以通过移动来改善走向它.这是统计学中相当标准的结果.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有