簡體   English   中英

NetworkX:無向加權圖的近似/不精確子圖同構

[英]NetworkX: Approximate/Inexact Subgraph Isomorphism For Undirected Weighted Graphs

給定兩個圖(A和B),我試圖根據邊緣權重的差異來確定是否存在B的子圖與A匹配某個給定的閾值。 也就是說,如果我將每一對關聯邊之間的差異之和求和,它將低於指定的閾值。 A和B之間的頂點標簽不一致,因此我僅依靠邊緣權重。

A會稍小(例如,最大10),而B將大(例如,最大200)。

我相信這兩個軟件包之一可能會有所幫助:

MATLAB中的“圖形匹配工具箱”“通過仿射約束(SMAC),可選地通過kronecker雙隨機歸一化實現光譜圖匹配”。 它在網頁上聲明“處理不同大小的圖形(子圖匹配)” http://www.timotheecour.com/software/graph_matching/graph_matching.html

MATLAB的“圖形匹配工具箱”中使用的算法基於Timothee Cour,Praveen Srinivasan和Jianbo Shi題為“平衡圖匹配”的論文中描述的算法。 該論文發表在NIPS 2006上。

此外,還有另一個工具箱稱為“圖形匹配工具箱”(Graph Matching Toolkit,簡稱GMT),它似乎支持容錯子圖匹配,因為它確實支持容錯圖匹配。 它沒有使用光譜方法,而是有多種計算編輯距離的方法,然后我的印象是,它通過給出最小編輯距離的argmax來找到最佳匹配。 如果它不明確支持子圖匹配並且您不關心效率,則可以只搜索B的所有子圖,然后使用GMT嘗試在A中找到這些子圖的匹配項。或者,您可以只搜索B的子圖。 B的子圖。http: //www.fhnw.ch/wirtschaft/iwi/gmt

不幸的是,這些似乎都不是用Python編寫的,它們似乎也不支持networkx的圖形格式。 但我相信您可能能夠找到一個轉換器,將networkx圖形的表示形式更改為這些工具箱可用的形式。 然后,您可以運行工具包並輸出所需的子圖匹配項。

暫無
暫無

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

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