PART I OBLIVIOUS ROUTING ALGORITHMS 9
2.3 Padded Hierarchical Decomposition Sequence
In Appendix B, the hierarchical decomposition sequence of a connected graph was introduced. Now, we define a special case of the HDS’s in which each vertex is far away of the boundaries of its containing cluster in every level of partitioning. This padding property is important for the routing cost analysis of the oblivious routing scheme presented later in this chapter.
Definition 2.3.1. Consider positive number α ≤ 1 and connected graph G = (V, E, w) of diameter 2h. For hierarchical decomposition sequence ¯H = (H0, H1, . . . , Hh) of graph G, vertex v is α-padded in ¯H if:
∀i ∈ [0, h] : ∃C ∈ Hi such that BG(v, α · 2i) ⊆ C (2.4)
To illustrate the above definition, see Figure 2.1 which schematically depicts a padded vertex in an HDS of a graph of diameter 8 (h = 3). In this figure, every cluster is represented by a blue circle such that the shown parameter (D) denotes the maximum distance between the cluster members. Note that partition H3 has only one cluster which has been represented by the largest circle. The only cluster is then partitioned into three smaller clusters which are included in H2. The upper cluster of H2 is also partitioned into three smaller ones which are members of H1. Finally, the basic cluster containing vertex v has been figured (according to our assumption that the distance between any two distinct vertices is greater than one, every basic cluster contains one and only one vertex). We see that Proposition 2.4 is true for the shown vertex (v); henceforth, vertex v is α-padded in HDS ¯H.
Fakcharoenphol’s Algorithm
Algorithm 1 RandomizedHdsGenerator
input: Connected graph G = (V, E, w) of diameter 2h output: HDS ¯H = (H0, H1, . . . , Hh) of graph G
π ← A uniformly random permutation on members of V U ← unif[1/2, 1)a
aUniform random variable in interval [1/2, 1)
In 2003, Fakcharoenphol et al. [3] presented a randomized algorithm to generate a random HDS in which a quotient of vertices are α-padded with high probability (α ≤ 1/8). The main idea of this algorithm is to make a partition in the ith level by putting some portion of the vertices of each upper-level cluster into a new smaller one such that the members of the new cluster would not be further than Xi from a special vertex called the representative vertex of the cluster (Xi is a uniformly
distributed random variable in interval [2i/4, 2i/2)). You can see more detailed description in Algorithm 1.
In this algorithm, a connected weighted graph is given as the input of the al-gorithm and a random HDS of the graph will result as the output. Additionally, every vertex v has three attributes: “rep” which is the representative vertex of v,
“cluster ” that is a set of vertices which have the single representative v, and the boolean “flag”.
In the first two lines of this algorithm, we generate the uniformly random per-mutation π on vertex set V and random number U which is uniformly distributed over interval [1/2, 1). Then, we start making the sequence of partitions by assigning {V } to Hh. Consider the loop expanded from line 4 to 25 which makes other par-titions. To obtain partition Hi from Hi+1, we first specify a representative for each vertex v ∈ V in the following way: assuming C ∈ Hi+1 as the only Hi+1 member which contains v, the representative of v is the first vertex in permutation π such that v ∈ C ∩ BG(v, U · 2i−1) (see line 9). After specifying the representatives of all the vertices, attribute cluster of vertex v is developed as the set of vertices whose representatives are equal to v (see lines 11 to 18). Finally, partition Hi is obtained by gathering all of the nonempty developed clusters together into a set (lines 19-23).
Algorithm 1 constructs random HDS ¯H which satisfies the following condition (for α ≤ 1/8).
Prv is not α-padded in ¯H ≤ O(α log(|V |)) ∀v ∈ V (2.5)
This inequality guarantees that each graph vertex is α-padded with high-probability in the random HDS generated by Algorithm 1. To prove this claim, we first show that the resulting partition sequence of Algorithm 1 is an HDS; then, we prove Inequality 2.5.
Lemma 2.3.2. Algorithm 1 constructs an HDS in the input graph.
Proof. Regarding the third line of the algorithm, Hh = {V }. Consider partition Hi for every i ≤ h − 1. Since all the members of a cluster in Hi have the same representative vertex, for every two different vertices v1 and v2 in a cluster, u = v1.rep and u = v2.rep. Henceforth, concerning line 9 of Algorithm 1, we obtain the following relations:
u ∈ BG(v1, U · 2i−1) → dG(v1, u) ≤ U · 2i−1 and
u ∈ BG(v2, U · 2i−1) → dG(v2, u) ≤ U · 2i−1
Subsequently, regarding the triangle inequality, this is the case that (U < 1):
dG(v1, v2) ≤ dG(v1, u) + dG(v2, u)
≤ 2i−1+ 2i−1
≤ 2i
Up to here, we have shown that for every i < h, Hi is a 2i-partition of the input graph. Additionally, we need to prove that for every i < h, assuming that cluster C belongs to Hi, there exists cluster C0 ∈ Hi+1such that C ⊆ C0. Since every iteration of the for statement expanded from line 6 to 24 uses one distinct member of Hi+1 to construct a cluster of Hi, the mentioned condition holds for every i < h.
In order to show Inequality 2.5, first consider the following lemma.
Lemma 2.3.3. Let G = (V, E, w) denote a connected graph of diameter 2h. For the HDS ¯H = (H0, H1, . . . , Hh) obtained by Algorithm 1 and the arbitrary vertex v ∈ V , if v is not α-padded in ¯H, there exists some i ≤ h − 1 such that:
dG(v, v.repi) > U · 2i−1− α · 2i∧ BG(v, α · 2i+1) ⊆ Cv(i+1)
where Cv(i+1) is the only (i + 1)th-level cluster containing v, v.repi denotes the rep-resentative of vertex v at level i in Algorithm 1 (∀i < h), α ≤ 1/8, and U is the random variable computed in line 2 of Algorithm 1.
Proof. By contradiction, assume that if v is not an α-padded vertex in ¯H, this is the case that:
∀i ≤ h − 1 : dG(ui, v) ≤ U · 2i−1− α · 2i ∨ BG(v, α · 2i+1) 6⊆ Cv(i+1) (2.6)
where ui = v.repi. Since v is not α-padded in ¯H, for some k < h, there exists cluster C ∈ Hk such that v ∈ C and BG(v, α · 2k) 6⊆ C. In addition, let Hk be the highest level partition which contains such cluster, i.e.
∀i ∈ [k + 1, h] : ∀Ci ∈ Hi : BG(v, α · 2i) ⊆ Ci∨ BG(v, α · 2i) ∩ Ci = ∅ (2.7)
v v0 uk
u0k
BG(v, α2k)
C
Cv(k)0
C0
BG(v0, U 2k−1) BG(v, U 2k−1)
Since BG(v, α · 2k) 6⊆ C, there is vertex v0 ∈ BG(v, α · 2k) such that v0 ∈ C./ Let u0k ∈ V denote the representative of vertex v0 at level k. As far as vertex v0 doesn’t belong to C, ukand u0k are two distinct vertices of G. Assuming cluster C0 = Cv(k+1) ∈ Hk+1as the only cluster of level (k + 1) that C ⊆ C0 (and subsequently v ∈
C0), we will show the condition mentioned in 2.8 which contradicts the assumption that uk = v.repk and u0k = v0.repk (if uk appears earlier than u0k in permutation π, concerning Relation 2.8, uk= v0.repk; otherwise, u0k = v.repk).
u0k ∈ C0∩ BG(v, U · 2k−1) ∧ uk ∈ C0∩ BG(v0, U · 2k−1) (2.8)
Henceforth, to complete the proof, we only need to prove Relation 2.8.
By setting i = k + 1 in Proposition 2.7, we obtain the following relation:
BG(v, α · 2k+1) ⊆ C0 (2.9)
As the result, since v0 ∈ BG(v, α · 2k), vertex v0 is also a member of set C0. Henceforth, concerning line 9 of Algorithm 1, u0k ∈ C0 ∩ BG(v0, U · 2k−1), and uk ∈ C0∩ BG(v, U · 2k−1). According to Proposition 2.6 and Relation 2.9, we obtain the following inequality:
dG(uk, v) ≤ U · 2k−1− α · 2k
Since v0 is in BG(v, α · 2k), this is the case that:
dG(v0, uk) ≤ dG(v0, v) + dG(v, uk)
≤ α · 2k+ (U · 2k−1− α · 2k)
≤ U · 2k−1
In addition, since v and v0 are not in the same kth-level cluster and v ∈ BG(v0, α · 2k), BG(v0, α · 2k) is not a subset of the kth-level cluster containing v0. This implies that v0 is also not an α-padded vertex in ¯H. As the result, Proposition 2.6 is also true for v0 and u0k; i.e.
dG(u0k, v0) ≤ U · 2k−1− α · 2k
As long as vertex v0 belongs to BG(v, α · 2k), v also belongs to BG(v0, α · 2k). Sub-sequently,
dG(v, u0k) ≤ dG(v, v0) + dG(v0, u0k)
≤ α · 2k+ (U · 2k−1− α · 2k)
≤ U · 2k−1
Concerning the above lemma, this is the case that:
Prv is not α-padded in ¯H ≤ Pr∃i ≤ h − 1 : dG(v.repi, v) > ri
Or equivalently,
Prv is not α-padded in ¯H ≤ Pr∃i ≤ h−1 : dG(u, v) > U ·2i−1−α·2i∧u = v.repi (2.10) Note that in Inequality 2.10, for every i < h, this is the case that:
dG(v, v.repi) > U · 2i−1− α · 2i
(U ≥12)
−−−−→dG(v, v.repi) > 2i−2− α · 2i
(α≤18)
−−−→dG(v, v.repi) > 2i−2− 2i−3
→dG(v, v.repi) > 0 which implies that v 6= v.repi for every i < h.
Now, consider the following partition of V − {v}.
V − {v} =
h
[
j=1
(BG(v, 2j) − BG(v, 2j−1))
Using this partition, we rewrite Inequality 2.10 in the following form:
Prv is not α-padded in ¯H ≤ Prh_h
j=1
u ∈ (BG(v, 2j) − BG(v, 2j−1)
∧ ∃i ≤ h − 1 : dG(u, v) > U · 2i−1− α · 2i∧ u = v.repi)i
According to Algorithm 1, since dG(v, v.rep) ≤ U · 2i−1 ≤ 2i−1 (∀i ≤ h − 1), we In the above inequalities, we will find a relation between integers i and j. As u = v.repi, u is a member of BG(v, U · 2i−1). This implies that:
Regarding the assumption that α ≤ 1/8, j ≤ i ≤ j + 2. Subsequently, we obtain the following upper-bound for Prv is not α-padded in ¯H:
Prv is not α-padded in ¯H
Assuming Cvi+1 as the only cluster in Hi+1 that contains v, the value of the following conditional probability
Prh
dG(u, v) > U · 2i−1− α · 2i∧ u = v.repi
u ∈ BG(v, 2j−1) − BG(v, 2j−2)i is equal to the probability of the following event considering the assumption that u ∈ BG(v, 2j−1) − BG(v, 2j−2) (see Algorithm 1).
vertex u is the first vertex (concerning permutation π) which belongs to set BG(v, U · 2i−1) ∩ Cvi+1 and also satisfies the following equation:
Additionally, as U is uniformly distributed over interval [1/2, 1), this is the case that:
PrU = x ≤ 2dx ∀x ∈ R
Moreover, the probability that a vertex appears earlier than n other vertices in the uniformly random permutation π is equal to 1/(n + 1). Consequently,
Prh
The recent inequality leads to the following inequalities:
Prv is not α-padded in ¯H ≤ Or equivalently, we obtain Inequality 2.5 for every v ∈ V .