algorithm - 在不评估所有元素对的情况下查找字符串集合中的元素相似性

标签 algorithm heuristics string-metric

所以问题集是这样的:

A = {'abc', 'abc', 'abd', 'bcde', 'acbdg', ...}

使用某种类型的 string metric像 Levenshtein 距离一样,它很容易找到 2 个字符串之间字符串相似性的某种启发式方法。

但是,我想在不评估集合中的所有字符串对(O(N^2) 问题)的情况下确定某种基于整个集合的启发式方法,让我对整体相似性有一个很好的了解在所有字符串之间。

蛮力法是:

                          Sum(Metric(All Pairs in A))
CollectionSimilarity(A) = ---------------------------
                                 N*(N+1)/2

有没有一种方法可以在不评估每一对的情况下评估整个集合 A 的相似性?

最佳答案

您始终可以使用一些近似值(例如采样对)。根据 N 的大小,该值应收敛于 NlogN 个样本。

关于algorithm - 在不评估所有元素对的情况下查找字符串集合中的元素相似性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910683/

相关文章:

algorithm - 光线追踪的简化版本,用于查找从矢量延伸出来的最近对象

algorithm - 如何将形状对齐在一起? (几何最佳拟合算法)

java - 缩小 URL 的库/算法

java - 如何比较Java中几乎相似的字符串? (字符串距离测量)

r - 使用两个分组名称创建一个 'combined' 分组变量

c++ - 帮我理解这个算法(简单)

java - A* 图搜索良好启发式

algorithm - 优化房间的 3D 布局?

levenshtein-distance - Levenshtein和Trigram的替代品