Ramsey partitions and proximity data structures

Manor Mendel, Assaf Naor

Research output: Contribution to journalArticlepeer-review


This paper addresses two problems lying at the intersection of geometric analysis and theoretical computer science: The non-linear isomorphic Dvoretzky theorem and the design of good approximate distance oracles for large distortion. We introduce the notion of Ramsey partitions of a finite metric space, and show that the existence of good Ramsey partitions implies a solution to the metric Ramsey problem for large distortion (also known as the non-linear version of the isomorphic Dvoretzky theorem, as introduced by Bourgain, Figiel, and Milman in [8]). We then proceed to construct optimal Ramsey partitions, and use them to show that for every ε ∈ (0, 1), every n-point metric space has a subset of size n1-ε which embeds into Hubert space with distortion O(1/ε). This result is best possible and improves part of the metric Ramsey theorem of Bartal, Linial, Mendel and Naor [5], in addition to considerably simplifying its proof. We use our new Ramsey partitions to design approximate distance oracles with a universal constant query time, closing a gap left open by Thorup and Zwick in [32]. Namely, we show that for every n-point metric space X, and k ≥ 1, there exists an O(k)-approximate distance oracle whose storage requirement is 0(n1+1/k), and whose query time is a universal constant. We also discuss applications of Ramsey partitions to various other geometric data structure problems, such as the design of efficient data structures for approximate ranking.

Original languageEnglish (US)
Pages (from-to)253-275
Number of pages23
JournalJournal of the European Mathematical Society
Issue number2
StatePublished - 2007


  • Approximate distance oracle
  • Metric Ramsey theorem
  • Proximity data structure

ASJC Scopus subject areas

  • General Mathematics
  • Applied Mathematics


Dive into the research topics of 'Ramsey partitions and proximity data structures'. Together they form a unique fingerprint.

Cite this