HAL Id: lirmm-01521385
https://hal-lirmm.ccsd.cnrs.fr/lirmm-01521385v2
Submitted on 17 Nov 2017
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.
Node Overlap Removal for 1D Graph Layout: Proof of Theorem 1
Samiha Fadloun, Pascal Poncelet, Julien Rabatel, Mathieu Roche, Arnaud Sallaberry
To cite this version:
Samiha Fadloun, Pascal Poncelet, Julien Rabatel, Mathieu Roche, Arnaud Sallaberry. Node Overlap Removal for 1D Graph Layout: Proof of Theorem 1. [Research Report] LIRMM (UM, CNRS). 2017.
�lirmm-01521385v2�
Node Overlap Removal for 1D Graph Layout:
Proof of Theorem 1
Samiha Fadloun 1 , Pascal Poncelet 1 , Julien Rabatel 1 , Mathieu Roche 2 , and Arnaud Sallaberry 3
1
LIRMM, Universit´ e de Montpellier, France firstname.lastname@lirmm.fr,
2
Cirad Montpellier, UMR TETIS, France mathieu.roche@cirad.fr
3
LIRMM, Universit´ e Paul Val´ ery Montpellier, France arnaud.sallaberry@lirmm.fr
Introduction
In this report, we give the complete proof of the theorem 1 of the paper [1]. This theorem states that the method described in the paper meets 4 requirements.
The proof is given for each of these requirements.
Requirement 1 (Optimally using the segment length)
Let us define the nodes v 1 and v |V | such that v 1 = σ −1 (1) and v |V | = σ −1 (|V |).
f (v 1 ) = p 0 (v 1 ) − s(v 1 )
2 +
σ(v
1)
X
i=1
s(σ −1 (i)) (1)
= 0 − s(v 1 )
2 + s(v 1 ) (2)
= s(v 1 )
2 (3)
f (v |V | ) = p 0 (v |V | ) − s(v |V | )
2 +
σ(v
|V|)
X
i=1
s(σ −1 (i)) (4)
= l − X
v∈V
s(v) − s(v |V | )
2 + X
v∈V
s(v) (5)
= l − s(v |V | )
2 (6)
We therefore obtain the required values for the first and last node positions.
u
t
Requirement 2 (No overlapping)
We first develop the definition of f(v) as follows, given that (u, v) ∈ V 2 and σ(u) < σ(v):
f (v) = p 0 (v) − s(v)
2 +
σ(v)
X
i=1
s(σ −1 (i)) (7)
= p 0 (u) + p 0 (v) − p 0 (u) − s(v)
2 +
σ(v)
X
i=1
s(σ −1 (i)) (8)
We isolate from P σ(v)
i=1 s(σ −1 (i)) the nodes ordered until u through the σ ordering function:
f (v) = p 0 (u) + p 0 (v) − p 0 (u) − s(v) 2 +
σ(u)
X
i=1
s(σ −1 (i)) +
σ(v)
X
i=σ(u)+1
s(σ −1 (i))
(9)
By adding s(u) 2 − s(u) 2 to the right term of the equation, we identify the definition of f (u) and rewrite f (v) w.r.t. f (u):
f (v) =
p 0 (u) − s(u)
2 +
σ(u)
X
i=1
s(σ −1 (i))
+ p 0 (v) − p 0 (u) − s(v)
2 +
σ(v)
X
i=σ(u)+1
s(σ −1 (i)) + s(u) 2
(10)
= f (u) + p 0 (v) − p 0 (u) − s(v)
2 +
σ(v)
X
i=σ(u)+1
s(σ −1 (i)) + s(u)
2 (11)
We extract from P σ(v)
i=σ(u)+1 s(σ −1 (i)) the size of v, thus obtaining an expression of f (v) as a sum of positive terms, provided that p 0 (v) − p 0 (u) is known to be positive.
f (v) = f (u) + p 0 (v) − p 0 (u) + s(v)
2 +
σ(v)−1
X
i=σ(u)+1
s(σ −1 (i)) + s(u)
2 (12)
which is equivalent to:
f (v) − f (u) = p 0 (v) − p 0 (u) + s(v)
2 +
σ(v)−1
X
i=σ(u)+1
s(σ −1 (i)) + s(u)
2 (13)
2
For two nodes (u, v) ∈ V 2 such that σ(u) < σ(v), p 0 (v) − p 0 (u) ≥ 0. Moreover, the sum of node sizes P σ(v)
i=1 s(σ −1 (i)) is positive. As a result:
f (v) − f (u) ≥ s(u) 2 + s(v)
2 (14)
and by extension:
∀(u, v) ∈ V 2 , |f (v) − f (u)| ≥ s(u)/2 + s(v)/2. (15) u t
Requirement 3 (Preserving initial ordering)
From the proof of Requirement 2, we know that for two nodes (u, v) ∈ V 2 such that σ(u) < σ(v), f (v) −f (u) ≥ s(u)/2 + s(v)/2. Since s(u)/2 + s(v)/2 is strictly positive, so is f(v) − f(u). Hence, ∀(u, v) ∈ V 2 , σ(u) < σ(v) ⇒ f (u) < f(v). u t
Requirement 4 (Preserving relative distances)
Lemma 1. The distance between two consecutive nodes u and v in the final layout is equal to the difference p 0 (v) − p 0 (u). More formally, given two nodes (u, v) ∈ V 2 ,
σ(u) + 1 = σ(v) ⇒ f (v) − s(v)
2 − (f (u) + s(u)
2 ) = p 0 (v) − p 0 (u)
Proof. Let us denote D as f (v) − s(v) 2 − (f (u) + s(u) 2 ). We further develop D by applying the definition of f (v):
D = p 0 (v) − s(v)
2 +
σ(v)
X
i=1
s(σ −1 (i)) − s(v)
2 − (f (u) + s(u)
2 ) (16)
= p 0 (v) − s(v) +
σ(v)
X
i=1
s(σ −1 (i)) − (f (u) + s(u)
2 ) (17)
Then by applying the definition of f (u) = p 0 (u) − s(u) 2 +
σ(u)
P
i=1
s(σ −1 (i):
D = p 0 (v) − s(v) +
σ(v)
X
i=1
s(σ −1 (i)) − p 0 (u) −
σ(u)
X
i=1
s(σ −1 (i)) (18)
As σ(v) = σ(u) + 1, P σ(v)
i=1 s(σ −1 (i)) − P σ(u)
i=1 s(σ −1 (i)) = s(v), the previous equation can be simplified to proove Lemma 1:
f (v) − s(v)
2 − (f (u) + s(u)
2 ) = p 0 (v) − s(v) − p 0 (u) + s(v) (19)
= p 0 (v) − p 0 (u) (20)
By applying Lemma 1, we need to prove that:
p(v) − p(u) ≥ p(v 0 ) − p(u 0 ) ⇒ p 0 (v) − p 0 (u) ≥ p 0 (v 0 ) − p 0 (u 0 ) We first develop p 0 (v) − p 0 (u) by applying the definition of p:
p 0 (v) − p 0 (u) = p(v) − p min
p max − p min × C − p(u) − p min
p max − p min × C (21) where C = (l − P
x∈V s(x)), and C ≥ 0. Then:
p 0 (v) − p 0 (u) = C
p(v) − p(u) p max − p min
(22)
= C
p max − p min
× (p(v) − p(u)) (23)
Since C 0 = p C
max