我有一个任务,其中我有三个阵列A,B,C的序列相似性。所有这些都包含相同的数据。为简单起见让我们假设该数据是数字1至5中的数据将是在不同的杂乱序列。我想找出多个B &Ç其阵列具有最相似A.找出在阵列
Eg:
A = 1,2,3,4,5
B = 1,2,3,5,4
C = 4,1,2,3,5
在这种情况下的数据,很容易在视觉上理解B是更类似于A.但它确实变得更为复杂混乱的序列。
Eg:
A = 1,2,3,4,5
B = 5,3,1,4,2
C = 4,1,2,3,5
在这种情况下,我会假设C到更接近A.我想,这一假设可以被量化为:有多少元素在两个数组相同的顺序?在上面的例子中,[1,2,3]的子序列在两个数组中都是相同的。第二个问题是类似子序列之间的偏移差异是什么?在这种情况下,它是1,因为子在对A股指数在0和索引1开始为C.
所以元件的数量在匹配序列及其偏移量是我在想什么用。我打算为这两个实体添加权重(匹配序列中的元素数量和它们出现时的偏移差异)
这是否有意义?我只需要粗略近似的相似性,结果不需要精确。是否有任何正式的数学或数据结构模型可以解决这个问题?
顺便说一句,我需要这个实施的项目是在PHP。它是否具有任何内置函数,如levenstein模型的字符串差异?
任何建议都非常欢迎!
以A为参考,你可以尝试找出如何移动的每个元素都是从自己的立场。总排量最小的那个应该是你的答案。那样有用吗 ? –