Algorithm 大距离和小距离的聚类点计算

Algorithm 大距离和小距离的聚类点计算,algorithm,language-agnostic,Algorithm,Language Agnostic,我有一大组二维点和两个距离,d和d 我需要找到点的子集,这样: 子集的每个成员与子集的所有其他成员之间的距离小于d 子集的每个成员与非子集成员的所有点之间的距离大于D 正如您所看到的,这些子集可能有几个,或者一个,甚至没有 我有很多想法,但始终无法实现一个想法 澄清: 点数可以是数百。 距离是整数-1,2,3。。。n 我的主要想法是: 假设你只有4分 我想首先创建一个结构,该结构将容纳所有的点对,并将告诉我们它们之间的距离是否低于d或高于d或无。 即: point1point2d 真假 a

我有一大组二维点和两个距离,
d
d

我需要找到点的子集,这样:

  • 子集的每个成员与子集的所有其他成员之间的距离小于
    d

  • 子集的每个成员与非子集成员的所有点之间的距离大于
    D

正如您所看到的,这些子集可能有几个,或者一个,甚至没有

我有很多想法,但始终无法实现一个想法

澄清:

点数可以是数百。 距离是整数-1,2,3。。。n

我的主要想法是:

假设你只有4分

  • 我想首先创建一个结构,该结构将容纳所有的点对,并将告诉我们它们之间的距离是否低于d或高于d或无。 即:

    point1point2d
    真假
    a是假是真
    假象
    假假
    真假
    
现在有了这些数据,我知道每一个点都有一行同时包含两个FALSE,这意味着它永远不会在一个簇中

现在有了我们剩下的点,这些点对于集群是可能的, 我们将开始检查它们


这是我停下来的部分…

你能告诉我们到目前为止你有什么想法吗?另外,你能澄清“大”和“距离”是什么意思吗?多少分?欧几里德距离?你做过任何类型的预处理来排除异常值吗?只是用我的想法@loannis编辑了它
 point1     point2       <d     >D
   a          b         true    false
   a          c         false   true
   a          d         false   false
   b          c         false   false
   b          d         true    false