Creative Commons Attribution 3.0 Unported license
Given a metric space (X,d), a set of terminals K subseteq X, and a parameter t >= 1, we consider metric structures (e.g., spanners, distance oracles, embedding into normed spaces) that preserve distances for all pairs in K x X up to a factor of t, and have small size (e.g. number of edges for spanners, dimension for embeddings). While such terminal (aka source-wise) metric structures are known to exist in several settings, no terminal spanner or embedding with distortion close to 1, i.e., t=1+epsilon for some small 0<epsilon<1, is currently known. Here we devise such terminal metric structures for doubling metrics, and show that essentially any metric structure with distortion 1+epsilon and size s(|X|) has its terminal counterpart, with distortion 1+O(epsilon) and size s(|K|)+1. In particular, for any doubling metric on n points, a set of k=o(n) terminals, and constant 0<epsilon<1, there exists - A spanner with stretch 1+epsilon for pairs in K x X, with n+o(n) edges. - A labeling scheme with stretch 1+epsilon for pairs in K x X, with label size ~~ log k. - An embedding into l_infty^d with distortion 1+epsilon for pairs in K x X, where d=O(log k). Moreover, surprisingly, the last two results apply if only K is a doubling metric, while X can be arbitrary.
@InProceedings{elkin_et_al:LIPIcs.SoCG.2018.36,
author = {Elkin, Michael and Neiman, Ofer},
title = {{Near Isometric Terminal Embeddings for Doubling Metrics}},
booktitle = {34th International Symposium on Computational Geometry (SoCG 2018)},
pages = {36:1--36:15},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-066-8},
ISSN = {1868-8969},
year = {2018},
volume = {99},
editor = {Speckmann, Bettina and T\'{o}th, Csaba D.},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.SoCG.2018.36},
URN = {urn:nbn:de:0030-drops-87498},
doi = {10.4230/LIPIcs.SoCG.2018.36},
annote = {Keywords: metric embedding, spanners, doubling metrics}
}