2

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

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

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

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

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

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

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

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

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

4

2 回答 2

5

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

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

于 2013-01-11T22:56:14.110 回答
2

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

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

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

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

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

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

于 2013-01-12T10:19:08.637 回答