簡體   English   中英

如何將圖形划分為可能重疊的部分,以使部分中包含的任何頂點與邊界的距離至少為k?

[英]How to Partition a graph into possibly overlapping parts such that any vertex contained in a part has at least distance k from the Boundary?

如何將圖划分為可能重疊的部分,以使任何頂點包含在與邊界至少有k距離的部分中?

由於沒有足夠的內存而無法將整個圖形加載到單個計算機中時,就會出現問題。 因此,另一個要求是分區在某種程度上具有相等數量的頂點。

是否有任何算法試圖最小化零件之間的共同頂點?

這里的用例是這樣的:您想從一個初始頂點開始執行查詢,該初始頂點將需要最多k個遍歷。 包含此查詢的所有頂點的部分將導致網絡利用率為零。 因此,問題在於減少這種分區的存儲器開銷。

我應該讀什么書嗎?

我發現這看起來很有希望: http : //grafia.cs.ucsb.edu/sedge/docs/sedge-sigmod12-slides.pdf

最終編輯:谷歌決定使用哈希分區並非偶然。 找到一個好的分區很困難。 我也將使用哈希分區,並希望數據中心具有良好的網絡帶寬。

您可以使用廣度優先搜索從節點本身開始,獲取與所討論節點僅k距離的所有節點。 當您距離原點k遠時,可以結束搜索。

編輯:使用深度優先搜索為邊界屬性到每個節點分配最小距離。 完成深度優先搜索后,通過節點的簡單迭代即可提供分區。 例如,您可以創建一個表,該表存儲到邊界的最小距離作為鍵,並存儲節點的向量作為表示分區的值。

暫無
暫無

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

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