我有一個任務,其中我有三個陣列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爲參考,你可以嘗試找出如何移動的每個元素都是從自己的立場。總排量最小的那個應該是你的答案。那樣有用嗎 ? –