簡體   English   中英

根據連接距離,使用K-means plus plus聚類算法創建聚類

[英]Creating clusters with K-means plus plus clustering algorithm based on connected distance

我有一組相互連接的節點(大約10K)。 我必須創建小型集群(最多15個節點)。

我正在使用連接距離來查找兩個節點之間的距離(使用Dijkstra最短路徑算法)而不是地理空間距離。 現在的問題是,使用K-means plus plus算法創建小型集群需要1個多小時。 我知道要花更多的時間來找到兩個節點之間的最短距離。 如果我想最初存儲所有最短路徑,則需要更多內存(這是不可能的)。 誰能建議我如何優化呢?

您必須為圖中的每個節點運行dykstras算法。 Dykstras算法在密集圖上花費O(n ^ 2 * log n)時間。 這導致O(n ^ 3 * log n),這將花費很長時間。 您可以執行Floyd-Warshall( https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm )算法,將其轉換為O(n ^ 3)作為預處理,然后再使用該算法,花很長時間。 積極的一面是,您可以使用所使用的O(n ^ 2)內存來高效存儲最短路徑的內存。

密集圖上的全對最短路徑問題再好不過了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM