【问题标题】:Choosing R* Tree split planes选择 R* 树分割平面
【发布时间】:2013-01-11 22:52:27
【问题描述】:

我正在研究基于this paper 的 R* 树的实现。关于选择分割轴算法,我有几个问题。

R*-tree 使用 followmg 方法来寻找好的分裂。沿每个轴,条目首先按较低值排序,然后按其矩形的较高值排序。

矩形的上下值是什么意思?

对于每个分布,都会确定优度值。根据这些优良值确定条目的最终分布。实验测试了三种不同的善值以及在不同组合中使用它们的不同方法。

(I) 面积值area[bb(第一组)] + area[bb(第二组)]

(二)margin-valuemargin[bb(第一组)]+margin[bb(第二组)]

(III)重叠值区域[bb(第一组)+bb(第二组)]

这里bb表示一组矩形的边界框

margin-value 是什么意思?我将如何计算这个值?

【问题讨论】:

    标签: algorithm data-structures r-tree


    【解决方案1】:

    据我所知,“矩形的下/上限值”是矩形沿相关轴的最小值和最大值。

    根据链接文章的p323,“这里的边距是矩形边缘长度的总和”。

    【讨论】:

    • 实际上边距是组边界框的周长吗?
    • 对我来说就是这样。它注意到对于固定区域,边距在正方形中最短,这与“周长”一致。
    【解决方案2】:

    矩形通常由每个维度中的 min+max 对表示。所以“上”和“下”的值是最小值和最大值。

    边距是周长。原因是在很多情况下,squares 是首选的矩形类型。例如,当您进行欧几里得(或曼哈顿,几乎任何 Lp 范数)最近邻搜索时。原因是它们在某种程度上是“公正的”。

    其他拆分策略,例如 Ang et Tan 的“线性”拆分忽略了这一点,往往会产生非常长的切片。维基百科有一个例子:

    https://en.wikipedia.org/wiki/File:Zipcodes-Germany-AngTanSplit.svg

    这些是 R*-tree 试图避免的分裂。因为大多数查询会与很多这些切片相交,所以你获得的收益很少。

    请注意,R*-tree 使用了许多启发式方法和决胜局。此外,它做了两步决策:首先它只选择用于分割的轴。确定轴后,它实际上使用不同的逻辑来选择沿该轴的分割。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-12
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-23
      相关资源
      最近更新 更多