18.01.2014 Views

Approximation Algorithms for Embedding General Metrics Into Trees

Approximation Algorithms for Embedding General Metrics Into Trees

Approximation Algorithms for Embedding General Metrics Into Trees

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C<br />

<strong>Approximation</strong> Algorithm <strong>for</strong> <strong>Embedding</strong> <strong>General</strong> <strong>Metrics</strong> – Omitted<br />

Proofs<br />

C.1 Proof of Lemma 6<br />

Claim 6. For any A i ,A j ∈ A G , with A i ≠ A j , either T i ∩T j = ∅, or there exists v ∈ V (T), and v 1 ,... ,v l ,<br />

<strong>for</strong> some l ≥ 0, such that v 1 ,... ,v l are children of v, and T i ∩ T j = {v,v 1 ,...,v l }.<br />

Proof. It follows immediately from the fact that <strong>for</strong> any A i ,A j ∈ A G , the diameter of T G,A i<br />

K<br />

most 50c 2 .<br />

∩ T G,A j<br />

K<br />

is at<br />

Let r be the root of T . Initially, T ′ contains a single vertex r ′ . To simplify the discussion, we assume<br />

w.l.o.g., that r is a leaf vertex of T . We also assume that <strong>for</strong> every edge {u,v} ∈ E(T), there is a tree T i<br />

that contains {u,v}. This is because if there is no such tree, then we can simply introduce a new subtree T i ,<br />

that contains only the vertices u, and v.<br />

For every T i that visits r, we introduce in T ′ a copy φ i (T i ) of T i , and we connect φ i (r) to r ′ .<br />

We proceed by visiting the vertices of T in a top-down fashion. Assume that we are visiting a vertex<br />

v ∈ V (T), with parent p(v), and children v 1 ,... ,v t . At this step, we are going to introduce in T ′ a copy<br />

φ i (T i ) of T i , <strong>for</strong> every T i that visits v, and we have not considered yet. We consider the following cases:<br />

Case 1: There is no T i that visits v, and p(v).<br />

Let T a be a subtree that visits p(v). For every T b that visits v, and we have not considered yet, we<br />

introduce in T ′ a copy φ b (T b ) of T b , and we connect φ b (v) to φ a (p(v)).<br />

Case 2: There exists T i that visits v, and p(p(v)), and there is no j ≠ i, such that T j visits v, and p(v).<br />

For every T b that visits v, and we have not considered yet, we introduce in T ′ a copy φ b (T b ) of T b ,<br />

and we connect φ b (v) to φ i (v).<br />

Case 3: There is no T i that visits v, and p(p(v)), and there exists T j that visits v, and p(v).<br />

Let a ∈ [k] be the minimum integer such that T a visits v, and p(v). For every T b that visits v, and we<br />

have not considered yet, we introduce in T ′ a copy φ b (T b ) of T b , and we connect φ b (v) to φ a (v).<br />

Case 4: There exists T i that visits v, and p(p(v)), and there exists T j , with i ≠ j, that visits v, and p(v).<br />

Let a ∈ [k] be the minimum integer with a ≠ i, such that T a visits v, and p(v). For every T b that<br />

visits v, and we have not considered yet, we introduce in T ′ a copy φ b (T b ) of T b . With probability<br />

1/2, we connect φ b (v) to φ i (v), and with probability 1/2, we connect φ b (v) to φ a (v).<br />

Claim 7. T ′ is a tree.<br />

Proof. T ′ is a <strong>for</strong>est since each φ i (T i ) is a tree, and also each φ i (T i ) is connected to exactly one φ j (T j ),<br />

such that T j was considered be<strong>for</strong>e i. Also, T ′ is connected since every vertex of T is contained in some<br />

subtree T t .<br />

Claim 8. For any v ∈ V (T), there exists at most one i ∈ [k], such that T i visits both v, and p(p(v)).<br />

Proof. Assume that the assertion is not true. Let T i ,T j be subtrees that visit both v, and p(p(v)). Then, T i<br />

and T j also visit p(v). This however contradicts the definition of the subtrees T 1 ,... ,T k .<br />

21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!