日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

子图同构

發布時間:2023/12/13 综合教程 30 生活家
生活随笔 收集整理的這篇文章主要介紹了 子图同构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

子圖同構定義:

給定圖$Q=(V(Q),E(Q),L_V,F)$和$G=(V(G),E(G),L_V',F')$, 稱$Q$子圖同構于$G$ 當且僅當存在一個映射$g:V(Q)ightarrow V(G)$ 使得

[forall xin V(Q), F(v)=F'(g(v))]

[
forall v_1 ,v_2 in V(Q),overrightarrow {v_1 v_2 } in E(Q) Rightarrow overrightarrow {g(v_1 )g(v_2 )} in E(G)
]

,左圖子圖同構與右圖:

左圖 Q 右圖 G

圖 1

因為存在映射g(有兩種),如下圖所示:

左圖 Q 右圖 G 左圖 Q 右圖 G

圖 2 圖 3

用$MA,MB$分別表示圖$Q,F$的對應的邊矩陣,其中$MA[i][j]=1$表示頂點$v_i$與$v_j$有邊,$MA[i][j]=0$表示無邊. $M'$表示映射g從$Q$到$G$的映射矩陣,$M'[i][j]=1$表示$Q$中第$i$個頂點$v_i$對應到$G$中的第$j$個頂點$v_j^'$,否則沒有對應.

例如,圖2中的$Q,G,g$對應的矩陣可以表示為

圖 4

定理1 如果圖$Q$關于映射$g$子圖同構于$G$,令

[
MC = M'(M' cdot MB)^T
].

,則

[
forall iforall j:(MA[i][j] = 1) Rightarrow (MC[i][j] = 1).
]

根據圖4,$MC = M'(M' cdot MB)^T$,由于

這里顯然,$MA$與$MC$滿足定理1.

子圖同構映射$g$的$M’$滿足一下性質:

$M'[i][j]=1$ 表示Q中第$i$-個頂點對應$G$中的第$j$個頂點;
$M'$的每行僅有一個$1$;
$M'$的每列$1$的個數至多只有一個。

子圖同構就變成了尋找矩陣$M'$,那么如何尋找$M'$?1976年Ullmann給出了尋找算法(Ullmann Algorithm).

Ullmann Algorithm的大致過程:

尋找矩陣$M'_{n imes m}$使得[MC = M'(M' cdot MB)^T , forall iforall j:(MA[i][j] = 1) Rightarrow (MC[i][j] = 1).]
否則,報告不存在矩陣$M'$.

Ullmann Algorithm的基本思想

Step 1. 建立矩陣$M_{n imes m}$。 使得$M[i][j]=1$,如果

Q中第$i$-個頂點與$G$中第$j$-個頂點有相同的標簽;
Q中第$i$-個頂點的度小于等于$G$中第$j$-個頂點的度;

Step 2. 從矩陣$M_{n imes m}$生成矩陣$M'$. 即對$M_{n imes m}$進行逐行檢查,將部分不為0的元素變成0,使得矩陣$M'$滿足每行有且僅有一個元素為1,每列最多只有一個元素不為0.(最大深度為$|MA|$.)

Step 3 按照以下規則判斷矩陣$M'$是否滿足條件:

[MC = M'(M' cdot MB)^T , forall iforall j:(MA[i][j] = 1) Rightarrow (MC[i][j] = 1).]

Step 4 迭代以上步驟,列出所有可能的矩陣$M'$.

以上最壞的情況是,可能有$O(|MB|!)$個可能的矩陣$M'$. 實際上,子圖同構算法是一個經典的NP-hard問題。

總結

以上是生活随笔為你收集整理的子图同构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。