グラフとグラフの間の編集距離
📂グラフ理論グラフとグラフの間の編集距離
定義
頂点の有限集合 X と有限なアルファベットの集合を α としよう。ここでアルファベットは空白またはヌルnullを含むとする。頂点ラベリングvertex labeling V:X→α とエッジラベリングedge labeling E:X×X→α により、トリプル G=(X,V,E) をグラフという。G^=(X^,V^,E^) が G のサブグラフであるとは、以下の三つの条件を満たすことを意味する:
- X^⊂X
- ∀x∈X^ に対して V^(x)=V(x)
- ∀(x,y)∈X^×X^ に対して E^(x,y)=E(x,y)
ecgm
G1=(X1,V1,E1) と G2=(X2,V2,E2) を二つのグラフとする。これらのサブグラフ G^1=(X^1,V^1,E^1) と G^2=(X^2,V^2,E^2) に対し、全射 f:X^1→X^2 を G1 から G2 へのエラー訂正グラフマッチングerror-correcting graph matchingという。
ecgmのコスト
便宜上、エッジラベリングの範囲 E^k(X^k×X^k) を E^k と表す。G1 から G2 へのecgm f:X^1→X^2 のコストcost c(f) は次のように定義される。
c(f):=x∈X^1∑cvs(x)+x∈X1∖X^1∑cvd(x)+x∈X2∖X^2∑cvi(x)+e∈E^1∑ces(x)+e∈E1∖E^1∑ced(x)+e∈E2∖E^2∑cei(x)
- cvs(x) は x∈X^1 を f(x)∈X^2 へ変更するコストである。
- cvd(x) は x∈X1∖X^1 を G1 から削除するコストである。
- cvi(x) は x∈X2∖X^2 を G2 に追加するコストである。
- ces(x) は e=(x,y)∈E^1 を (f(x),f(y))∈E^2 へ変更するコストである。
- ced(x) は e∈E1∖E^1 を G1 から削除するコストである。
- cei(x) は e∈E2∖E^2 を G2 に追加するコストである。
編集距離
二つのグラフ G1 と G2 の編集距離edit distance d(G1,G2) は、G1 から G2 へのecgmのコストの中で最小値で定義される:
d(G1,G2):=min{c(f):f is an ecgm from G1 to G2}
説明
一般的な定義に従うと話がやや長くなるが、概念的には非常に簡単である。

例として、上記のような二つのグラフがあるとし、追加、削除、交換のコストがすべて 1 である場合、一方のグラフから頂点とエッジを追加、削除、交換して他方のグラフを作成する方法の中で最も少ない回数がまさにグラフ編集距離である
。上記の場合では、左側のグラフから右側のグラフを作るために1つの頂点を追加し、既存のエッジの1つを新しいノードに接続する交換が必要であるため、グラフ編集距離は 2 である。
参照