HAL Id: hal-01542509
https://hal.archives-ouvertes.fr/hal-01542509
Submitted on 30 Mar 2020
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
A Generic Graph Distance Measure Based on
Multivalent Matchings
Sébastien Sorlin, Christine Solnon, Jean-Michel Jolion
To cite this version:
u v
u′ u v
m 0 1 G = (V, E) G′ = (V′, E′) m⊆ V × V′ m G G′ m V G′ ∀v ∈ V , |m(v)| ≤ 1 G G′ m V G′ ∀v ∈ V , |m(v)| = 1 G G′ m V V′ ∀v ∈ V ∪ V′,|m(v)| ≤ 1 G G′ m V V′
∀(u, v) ∈ V × V, |m(u)| = |m(v)| = 1 ∧ u ̸= v ⇒ m(u) ̸= m(v)
G G′ m
∀v ∈ V , |m(v)| = 1 ∀v ∈ V′,|m(v)| ≤ 1
G G′ m V V′
V′ V
∀(u, v) ∈ (V × V ) ∪ (V′× V′) , |m(u)| = |m(v)| = 1 ∧ u ̸= v ⇒ m(u) ̸= m(v)
G G′ m m V V′ ∀v ∈ V ∪ V′,|m(v)| = 1 m G = (V, E) G′= (V′, E′) (u, v) ∈ E (u′, v′) ∈ E′ {(u, u′), (v, v′)} ⊆ m m(u, v) (u, v) m
∀(u, v) ∈ E, m(u, v) ˙= {(u′, v′) ∈ E′|u′∈ m(u), v′∈ m(v)}
m G = (V, E) G′ = (V′, E′) G G′ m Gm= (Vm, Em) G′m= (Vm′, Em′ ) Vm Em Vm′ Em′ G G′ G′ G Vm= {v ∈ V/m(v) ̸= ∅} , Em= {(u, v) ∈ E/m(u, v) ̸= ∅} Vm′ = {v′∈ V′/m(v′) ̸= ∅} , Em′ = {(u′, v′) ∈ E′/m(u′, v′) ̸= ∅} G G′ m = {(1, a), (1, d), (2, b), (3, c)} m m δv δe v (u, v) sv se [0, +∞[ v (u, v) sv se δv: (V, ℘(V′)) ∪ (V′, ℘(V ))→ [0, +∞[
+∞ v (u, v) sv se 0 v (u, v) sv se δv δe δv δe ∀v ∈ V ∪ V′,∀sv∈ ℘(V ) ∪ ℘(V′), δv(v, sv) = 1 − |sv| |sv| ≤ 1 +∞
∀(u, v) ∈ E ∪ E′,∀se∈ ℘(E) ∪ ℘(E′), δe((u, v), se) = 1 − |se| |se| ≤ 1
+∞
m⊆ V ×V′ G = (V, E) G′= (V′E′)
δv δe
δm(G, G′) = ⊗({(v, δv(v, m(v)))/v ∈ V ∪ V′} ∪
{((u, v), δe((u, v), m(u, v)))/(u, v) ∈ E ∪ E′})
m δm(G, G′) = 0 G = (V, E) G = (V′, E′) |V | = |V′| m⊆ V × V′ (u, v) ∈ E ⇔ (m(u), m(v)) ∈ E′ 0 +∞ ∀v ∈ V ∪ V′,∀s v⊆ V ∪ V′, δisov (v, sv) = 0 |sv| = 1 +∞ ∀(u, v) ∈ E ∪ E′,∀se⊆ E ∪ E′, δisoe (u, v, se) = 0 |se| = 1
+∞ G = (V, E) G′= (V′, E′) G G′ δiso=< δiso v , δeiso,⊗P> G G′ 0 ⇒ m ⊆ V × V′ (u, v) ∈ E ⇔ (m(u), m(v)) ∈ E′ ∀v ∈ V ∪ V′,|m(v)| = 1 m
∀(u, v) ∈ E ∪ E′,|m(u, v)| = 1 ∀(u, v) ∈ V × V, (u, v) ∈ E ⇔
(u, v) ∈ E ⇔ (m(u), m(v)) ∈ E′ m G G′ G = (V, E) G′ = (V′, E′) |V | ≤ |V′| G G′ m ⊆ V × V′ ∀(u, v) ∈ V × V, (u, v) ∈ E ⇒ (m(u), m(v)) ∈ E′ 0 G G +∞ G′ G ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ ∀v ∈ V, ∀sv⊆ V′, δpsubv (v, sv) = 0 |sv| = 1 +∞ ∀(u, v) ∈ E, ∀se⊆ E′, δpsube (u, v, se) = 0 |se| = 1
+∞ G′ ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ ∀v ∈ V′,∀s v⊆ V, δvpsub(v, sv) = 0 |sv| ≤ 1 +∞ ∀(u, v) ∈ E′,∀s e⊆ E, δpsube (u, v, se) = 0 |se| ≤ 1 +∞ G = (V, E) G′= (V′, E′) G G′ δpsub =< δpsub v , δepsub,⊗P> G G′ 0 ⇒ G G′ m ⊆ V × V′ ∀(u, v) ∈ V × V, (u, v) ∈ E ⇒ (m(u), m(v)) ∈ E′ ∀v ∈ V, |m(v)| = 1 ∀v ∈ V′,|m(v)| ≤ 1 ∀(u, v) ∈ E′,|m(u, v)| ≤ 1 m
∀(u, v) ∈ E, |m(u, v)| = 1 (u, v) ∈ E ⇒ (m(u), m(v)) ∈ E′
∀v ∈ V′,|m(v)| ≤ 1 m m 0 ∀(u, v) ∈ E, |m(u, v)| = 1 G G′ (u, v) ∈ E⇒ (m(u), m(v)) ∈ E′ m⊆ V × V′ G G G′ G = (V, E) G′ = (V′, E′) |V | ≤ |V′| G G′
m⊆ V ×V′ ∀(u, v) ∈ V ×V, (u, v) ∈ E ⇔ (m(u), m(v)) ∈
E′ (u, v) ∈ V2 (u, v) G m G′ G = (V, E) G′ = (V′, E′) V G′ δe (u, v) ∈ V × V G se ⊆ E′ G′ G′′ = (V, V × V ) G′ = (V′, E′) +∞ 0 +∞ G (u, v) G G′ 0 G = (V, E) G′ = (V′, E′) G′′= (V, V × V ) G′ G′′ ⎧ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎩ 1 ∀v ∈ V, ∀sv⊆ V′, δsubv (v, sv) = 0 |sv| = 1 +∞ 2.1 ∀(u, v) ∈ V2,∀s
e⊆ E′, δsubeG(u, v, se) = 0 (u, v) ∈ E ∧ |se| = 1
δsub
G =< δsubv , δeGsub,⊗P > G′′ = (V, V × V ) G′
0
⇒ G G′
m⊆ V ×V′ ∀(u, v) ∈ V ×V, (u, v) ∈ E ⇔ (m(u), m(v)) ∈ E′
∀v ∈ V, |m(v)| = 1 ∀v ∈ V′,|m(v)| ≤ 1 ∀(u, v) ∈
E′,|m(u, v)| ≤ 1 m ∀(u, v) ∈
E,|m(u, v)| = 1 ∀(u, v) ∈ V × V, (u, v) ∈ E ⇒ (m(u), m(v)) ∈ E′
∀(u, v) ∈ (V × V ) − E, m(u, v) = ∅ ∀(u, v) ∈ V × V, (u, v) ̸∈ E ⇒
(m(u), m(v)) ̸∈ E′ δsub v δeGsub G′′ G′ m 0 G′′ G′ 0 ⇒ G′′ G′ 0 δsub v m ∀v ∈ V, |m(v)| = 1 ∀v ∈ V, |m(v)| ≤ 1 m m 0 ∀(u, v) ∈ E, |m(u, v)| = 1 G G′ ∀(u, v) ∈ V ×
V, (u, v)∈ E ⇒ (m(u), m(v)) ∈ E′ ∀(u, v) ∈ (V × V ) − E, m(u, v) = ∅
G G
G′ G′ m
∀(u, v) ∈ V × V, (u, v) ∈ E ⇔ (m(u), m(v)) ∈ E′ G
G′ Gp= (Vp, Op, Ep, Fp) (Vp, Ep) Op⊆ Vp Fp⊆ (Vp×Vp)−Ep m Gp = (Vp, Op, Ep, Fp) Gt = (Vt, Et) m⊆ Vp× Vt ∀v ∈ Vp− Op,|m(v)| = 1
∀u, v ∈ Vp,|m(u)| = 1 ∧ |m(v)| = 1 ∧ (u, v) ∈ Ep⇒ (m(u), m(v)) ∈ Et
∀u, v ∈ Vp,|m(u)| = 1 ∧ |m(v)| = 1 ∧ (u, v) ∈ Fp→ (m(u), m(v)) ̸∈ Et
m Gp G′ = (Vt, Vt× Vt) (u, v) (u′, v′) G′ G t G = (Vp, Ep∪ Fp) G′= (V t, E′= Vt×Vt) G ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ 1 ∀v ∈ Vp− Op,∀sv⊆ Vt, δagmv (v, sv) = 0 |sv| = 1 +∞ 2 ∀v ∈ Op,∀sv⊆ Vt, δagmv (v, sv) = 0 |sv| ≤ 1 +∞ 3.1 ∀(u, v) ∈ Ep,∀se⊆ Vt× Vt, δagmeGt (u, v, se) = 0 se= ∅
3.2 0 se= {(u′, v′)} ∧ (u′, v′) ∈ Et
+∞
4 ∀(u, v) ∈ Fp,∀se⊆ E′, δagmeGt (u, v, se) = 0 se= {(u′, v′)} ∧ (u′, v′) ̸∈ Et
+∞ G′ ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ 5 ∀v ∈ Vt,∀sv⊆ Vp, δvagm(v, sv) = 0 |sv| ≤ 1 +∞ 6 ∀(u, v) ∈ E′,∀s e⊆ Ep∪ Fp, δeGagmt(u, v, se) = 0 |se| ≤ 1 +∞ Gp= (Vp, Op, Ep, Fp) Gt= (Vt, Et) m⊆ V × V′ m Gp= (Vp, Op, Ep, Fp) Gt= (Vt, Et) δagmGt =< δ agm v , δ agm eGt ,⊗ P> m G = (Vp, Ep∪ Fp) G′= (Vt, Vt× Vt) ⇒ m ∀v ∈ Vp− Op,|m(v)| = 1 ∀v ∈ Vt,|m(v)| ≤ 1
∀(u, v) ∈ Vt× Vt,|m(u, v)| ≤ 1 ∀(u, v) ∈ Ep, m(u, v) ={(u′, v′)} ∧
(u′, v′) ∈ E
t ∀(u, v) ∈ Fp, m(u, v) = {(u′, v′)} ∧ (u′, v′) ̸∈ Et
m 0
∀v ∈ Vp− Op,|m(v)| = 1 m
∀(u, v) ∈ Ep, (m(u)̸= ∅ ∧ m(v) ̸= ∅) ⇒ (m(u, v) = {(u′, v′)} ∧ (u′, v′) ∈ Et)
Gm G m G G′ m⊆ V × V′ δmcps m (G, G′) = d ̸= +∞ Gm G G G′ |Gm| = (|G|+|G′|−d)/2 G′′ G G′ m d |G| + |G′| − 2 ∗ |G′′| G′′ = Gm m G′′ G′′ δmcps m (G, G′) = d < +∞ ⇒ Gm G G′ |Gm| = (|G| + |G′| − d)/2 δmcps m (G, G′) < +∞ m Gm= (Vm, Em) G m G G′ m= (Vm′, Em′ ) G′ m G′ m Gm G′m (u, v) ∈ Em ⇔ (m(u), m(v)) ∈ Em′ Gm G′m Gm G G′ δmcps m (G, G′) = d < +∞ d =|G| + |G′| − |Gm| − |G′m| Gm G′m |Gm| = |G′m| |Gm| = (|G| + |G′| − d)/2 G′′ G G′⇒ ∃m δmcps m (G, G′) = |G|+ |G′| − 2 ∗ |G′′| G′′= G m G′′= (V′′, E′′) G = (V, E) G′ = (V′, E′) G′′′ = (V′′′ ⊆ V′, E′′′ ⊆ E′) m ⊆ V′′× V′′′ (u, v) ∈ E′′ ⇔ (m(u), m(v)) ∈ E′′′ m ∀v ∈ V′′∪ V′′′,|m(v)| = 1 m ∀(u, v) ∈ E′′∪ E′′′,|m(u, v)| = 1 m (u, v) ∈ E′′ ⇔ (m(u), m(v)) ∈ E′′′ m ∀v ∈ V − V′′, m(v) = ∅ ∀v ∈ V′ − V′′′, m(v) = ∅ ∀(u, v) ∈
E− E′′, m(u, v) = ∅ ∀(u, v) ∈ E′− E′′′, m(u, v) = ∅
δmcs mGG′(G2, G′2) = d < +∞ ⇒ Gm G G′ |G m| = |G| − d δmGG′(G2, G′2) < +∞ m +∞ G2m = (V2m, E2m) G2 m G2 G (u, v) ∈ E2m⇒
(u, v) ∈ E (u, v) ̸∈ E2m⇒ (u, v) ̸∈ E G2m
G G2m = Gm G′ 2m = (V2m′ , E2m′ ) G′2 m G′ G′2m= G′m m m (u, v) ∈ Em⇔ (m(u), m(v)) ∈ Em′ m Gm G′m Gm G G′ G |Gm| = |G| − d G′′ G G′⇒ ∃m δ mGG′(G2, G′2) = |G| − |G′′| G m = G′′ G′′ = (V′′, E′′) G = (V, E) G′ = (V′, E′) G′′′ = (V′′′, E′′′) G′ m ⊆ V′′× V′′′ (u, v) ∈ E′′ ⇔ (m(u), m(v)) ∈ E′′′ δmGG′(G2, G′2) |G| − |G′′| Gm= G′′ ged G1 G2 G1 G2 G1 G2 ged G = (V, E, L, α, β) V E L α : V → L G β : E→ L G G1 = (V1, E1, L1, α1, β1) G2 = (V2, E2, L2, α2, β2) m⊆ V1×V2 u
v m(u) = v α1(u) = α2(m(u))
v ∈ V1 m(v) = ∅ m
v′ ∈ V2 m(v′) = ∅ m cvs cvi cvd ces cei ced m m G′ 1 G′2 m m G1= (V1, E1, L1, α1, β1) G2= (V2, E2, L2, α2, β2) G′ 1 = (V1, E1) G′2 = (V2, E2) G′ 1 ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ∀v ∈ V1,∀sv⊆ V2, δvGged1G2(v, sv) = cvd sv= ∅ 0 sv= {v′} ∧ α1(v) = α2(v′) cvs sv= {v′} ∧ α1(v) ̸= α2(v′) +∞ |sv| > 1
∀(u, v) ∈ E1,∀se⊆ E2, δeGged1G2(u, v, se) = ced se= ∅
0 se= {(u′, v′)} ∧ β1((u, v)) = β2((u′, v′))
ces sv= {(u′, v′)} ∧ β1((u, v)) ̸= β2((u′, v′))
+∞ |se| > 1 G′2 ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ∀v ∈ V2,∀sv⊆ V1, δvGged1G2(v, sv) = cvi sv= ∅ 0 |sv| = 1 +∞ |sv| > 1
G1= (V1, E1) G2= (V2, E2) |V1| ≤ |V2| m⊆ V1×V2 G1 G2 G1 G2 ∀v ∈ V1,|m(v)| ≥ 1 m(v) E2 G2 G1 ∀v ∈ V2,|m(v)| = 1 sim[6]m smv : V1× V2→ [0, 1] sme: E1× E2→ [0, 1] sim[6]m= ! (u,v)∈m smv(u, v) |V1|.|V2| + ! (u,v)∈(V1×V2)− m 1 − smv(u, v) |V1|.|V2| + !
((u,u′),(v,v′))∈E1×E2,{(u,v),(u′,v′)}∈m
sme((u, u′), (v, v′))
|E1|.|E2|
+ !
((u,u′),(v,v′))∈E1×E2,{(u,v),(u′,v′)}̸∈m
1 − sme((u, u′), (v, v′)) |E1|.|E2| δv δe +∞ smv sme G1 ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ∀v ∈ V1,∀sv⊆ V2, δvnbgm(v, sv) = &v′∈sv1 − smv(v, v′) + &v′∈V2− svsmv(v, v′) connected(v, sv) +∞
∀(u, v) ∈ E1,∀se⊆ E2, δnbgme ((u, v), se) = &(u′,v′)∈se1 − sme((u, v), (u
′, v′))
+ &(u′,v′)∈E2− sesme((u, v), (u
f g G1= ⟨V1, rV 1, rE1⟩ G2 = ⟨V2, rV 2, rE2⟩ LV LE δ =< δv, δe,⊗ > G′ 1= (V1, E1) G′2= (V2, E2) m δ G′1 G′2 G1 G2 G =⟨V, rV, rE⟩ G′ = (V, E) lv le G′ δv δe ⊗ f g ⊗ f g G =⟨V, rV, rE⟩ LV LE G′ = (V, E) E ={(u, v), ∃(u, v, l) ∈ rE} lv: V → ℘(LV), ∀v ∈ V, lv(v) = {l/(v, l) ∈ rV}
le: E → ℘(LE), ∀(u, v) ∈ E, le(u, v) = {l/(u, v, l) ∈ rE}
num : ℘(V2′) → N G′ 2 num δv G′2 G′1 ∀v ∈ V1,∀sv⊆ V2, δv(v, sv) = num(sv) ∀v ∈ V2,∀sv⊆ V1, δv(v, sv) = 0 ∀(u, v) ∈ E1,∀se⊆ E2, δe((u, v), se) = 0 ∀(u′, v′) ∈ E2,∀se⊆ E1, δe((u′, v′), se) = 0
δv S ={(u, δv(u, m(u)))/u ∈ V }
m
S ⊗ ⊗ m G⊓mG′ splits(m) ⊗ f g δ =< δv, δe,⊗> G1 = (V1, E1) G2 = (V2, E2) f g G′ 1 = ⟨V1, rV 1, rE1⟩ G′2 = ⟨V2, rV 2, rE2⟩ m δ G1= (V1, E1) G2= (V2, E2) G′1 G′2 G1 G2 G1⊓mG2 m f δv δe ⊗ G1 = (V1, E1) G2 = (V2, E2) G′ 1= ⟨V1, rV 1, rV 2⟩ G2′ = ⟨V2, rV 2, rE2⟩ LV LE LV = {(u, v), u ∈ V1, v∈ V2} , LE= {le}
rV 1= {(u, (u, v)), u ∈ V1, v∈ V2} , rE1= {(u, v, le), (u, v) ∈ E1}
rV 2= {(v, (u, v)), u ∈ V1, v∈ V2} , rE2= {(u, v, le), (u, v) ∈ E2}
G′ 1⊓mG′2
m m
m ={(u, v)/∃(u, (u, v)) ∈ G′1⊓mG′2}
LS+
δv δe