Necklaces, Convolutions, and X+Y

We give subquadratic algorithms that, given two necklaces each with n beads at arbitrary positions, compute the optimal rotation of the necklaces to best align the beads. Here alignment is measured according to the ℓ [subscript p] norm of the vector of distances between pairs of beads from opposite...

Full description

Bibliographic Details
Main Authors: Bremner, David, Chan, Timothy M., Demaine, Erik D., Erickson, Jeff, Hurtado, Ferran, Iacono, John, Langerman, Stefan, Patrascu, Mihai, Taslakian, Perouz
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:en_US
Published: Springer-Verlag 2015
Online Access:http://hdl.handle.net/1721.1/99983
https://orcid.org/0000-0003-3803-5703
Description
Summary:We give subquadratic algorithms that, given two necklaces each with n beads at arbitrary positions, compute the optimal rotation of the necklaces to best align the beads. Here alignment is measured according to the ℓ [subscript p] norm of the vector of distances between pairs of beads from opposite necklaces in the best perfect matching. We show surprisingly different results for p=1, p even, and p=∞. For p even, we reduce the problem to standard convolution, while for p=∞ and p=1, we reduce the problem to (min,+) convolution and \((\operatorname {median},+)\) convolution. Then we solve the latter two convolution problems in subquadratic time, which are interesting results in their own right. These results shed some light on the classic sorting X+Y problem, because the convolutions can be viewed as computing order statistics on the antidiagonals of the X+Y matrix. All of our algorithms run in o(n [superscript 2]) time, whereas the obvious algorithms for these problems run in Θ(n [superscript 2]) time.