【问题标题】:Well explained algorithms for indexing and searching in metric spaces用于在度量空间中进行索引和搜索的很好解释的算法
【发布时间】:2010-09-17 09:39:45
【问题描述】:

我需要在 Postgres(*)(PL 或 PL/Python)中实现某种度量空间搜索。因此,我正在寻找好的资源(或论文),对这些想法背后的机制有非常清晰和清晰的解释,以便我可以自己实施。

我更喜欢清晰而不是效率。

(*) 更好地描述了对此的需求here

【问题讨论】:

    标签: database algorithm postgresql data-mining


    【解决方案1】:

    尤其是地理数据,先看PostGIS,看看是否需要实现什么。如果您这样做,请从Wikipedia entry on GiST 中列出的论文开始。

    查看您的链接,您的度量空间似乎是具有某种编辑距离作为度量的字符串。 Navarro, Baeza-Yates, Sutinen, and Tarhio, IEEE Data Engineering Bulletin, 2001 给出了一些解决方案的不错但过时的概述; Citeseer 上的相关论文也可能有用。 Locality Sensitive Hashing 是一种可能有用的新技术,但很多论文都侧重于数学。

    【讨论】:

      【解决方案2】:

      涉及空间搜索的一些可能对您有所帮助的技术包括爬山、神经网络训练、遗传算法和粒子群。

      您还需要在度量空间上定义距离度量。你这样做了吗?(出于好奇,如果你这样做了,那是什么)

      【讨论】:

        【解决方案3】:

        BK-Trees 可用于索引和搜索符合三角不等式的任何内容,包括度量空间。典型示例是在目标的给定编辑距离内搜索字符串。我写了一篇关于here的文章。

        不幸的是,Postgres 中没有内置支持。您可以使用GIST 自己实现它,但显然这将是很多工作。除了将树存储在表中之外,如果不编写自己的索引,我想不出任何方法来实现它,这显然不会很有效。

        【讨论】:

          【解决方案4】:

          您可以尝试http://sisap.org,其中列出了许多现代指标索引,包括 BK 树。您可以在 C 中找到代码来尝试不同的替代方案。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-01-02
            • 1970-01-01
            • 1970-01-01
            • 2011-02-22
            • 1970-01-01
            • 2017-07-26
            • 2015-08-09
            相关资源
            最近更新 更多