Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 给定两个点集A和B,如何在A中找到离B最远的点?_Algorithm_Computational Geometry - Fatal编程技术网

Algorithm 给定两个点集A和B,如何在A中找到离B最远的点?

Algorithm 给定两个点集A和B,如何在A中找到离B最远的点?,algorithm,computational-geometry,Algorithm,Computational Geometry,有没有人知道一种有效的算法可以解决以下问题: 给定某个度量空间的两个不相交点集A,B,在A中找到一个点,使到B中最近点的最小距离最大化?我不知道有什么特别的算法。考虑到这个问题,我将开始尝试看看二进制印章是否可以完成这项工作 然而,要取得进展需要更多的信息:你说“点A..from B”,就好像B是一个点,但B是一组点——事实上,从问题定义来看,A和B可以是同一组点,或者至少重叠 在试图找到解决方案时,递归也会有所帮助。也就是说,给定f(n-1)的解,求f(n)的解。 根据定义,如果A是1分,B也

有没有人知道一种有效的算法可以解决以下问题:


给定某个度量空间的两个不相交点集A,B,在A中找到一个点,使到B中最近点的最小距离最大化?

我不知道有什么特别的算法。考虑到这个问题,我将开始尝试看看二进制印章是否可以完成这项工作

然而,要取得进展需要更多的信息:你说“点A..from B”,就好像B是一个点,但B是一组点——事实上,从问题定义来看,A和B可以是同一组点,或者至少重叠

在试图找到解决方案时,递归也会有所帮助。也就是说,给定f(n-1)的解,求f(n)的解。 根据定义,如果A是1分,B也是,那么就有1个已知答案

然后你能归纳出n=2的解吗

例如,如果A为2点,则求解B为1点。哪个A离B更远

一旦有了B为1点的解,就可以推断出B=a集的解


这是最近邻搜索的一个变体;如果使用k-d树索引B,则通过a的暴力搜索的平均运行时间为n*log(m),其中n是A中的点数,m是B中的点数。如果在A中对点进行聚类并测试聚类的质心,那么您应该能够通过一个查询消除多个点。

我怀疑给定一个度量f,您可以使用1/f作为度量,然后执行直接的最近邻搜索。唯一的问题是1/f是否满足三角形不等式。

如果我们对度量空间没有更多了解,就不会了。这让我想起了(最大最小值的概念)。@David Eisenstat假设有一个距离预言师报告了时间O(1)中两点之间的距离@user695652有一系列实例强制查询每个a x B对。