A simple algorithm for approximating the text-to-pattern hamming distance

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

10 Scopus citations

Abstract

The algorithmic task of computing the Hamming distance between a given pattern of length m and each location in a text of length n, both over a general alphabet Σ, is one of the most fundamental algorithmic tasks in string algorithms. The fastest known runtime for exact computation is Õ(n √m). We recently introduced a complicated randomized algorithm for obtaining a 1 ± ∈ approximation for each location in the text in O(n/∈ log 1/∈ log n log m log |Σ|) total time, breaking a barrier that stood for 22 years. In this paper, we introduce an elementary and simple randomized algorithm that takes O(n/∈ log n log m) time.

Original languageEnglish
Title of host publication1st Symposium on Simplicity in Algorithms, SOSA 2018 - Co-located with the 29th ACM-SIAM Symposium on Discrete Algorithms, SODA 2018
EditorsRaimund Seidel
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
ISBN (Electronic)9783959770644
DOIs
StatePublished - 1 Jan 2018
Event1st Symposium on Simplicity in Algorithms, SOSA 2018 - New Orleans, United States
Duration: 7 Jan 201810 Jan 2018

Publication series

NameOpenAccess Series in Informatics
Volume61
ISSN (Print)2190-6807

Conference

Conference1st Symposium on Simplicity in Algorithms, SOSA 2018
Country/TerritoryUnited States
CityNew Orleans
Period7/01/1810/01/18

Bibliographical note

Funding Information:
This project has received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme (grant agreement No 683064).

Publisher Copyright:
© Tsvi Kopelowitz and Ely Porat.

Keywords

  • Approximation algorithms
  • Hamming distance
  • Pattern matching

Fingerprint

Dive into the research topics of 'A simple algorithm for approximating the text-to-pattern hamming distance'. Together they form a unique fingerprint.

Cite this