Period recovery over the hamming and edit distances

Amihood Amir, Mika Amit, Gad M. Landau, Dina Sokol

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


A string S of length n has period P of length p if S[i] = S[i+p] for all 1 ≤ i ≤ n−p and n ≥ 2p. The shortest such substring, P, is called the period of S, and the string S is called periodic in P. In this paper we investigate the period recovery problem. Given a string S of length n, find the primitive period(s) P such that the distance between S and the string that is periodic in P is below a threshold τ. We consider the period recovery problem over both the Hamming distance and the edit distance. For the Hamming distance case, we present an O(n log n) time algorithm, where τ is given as (Formula Presented), for 0 < ε < 1. For the edit distance case, (Formula Presented), and we provide an O(n4/3) time algorithm.

Original languageEnglish
Title of host publicationLATIN 2016
Subtitle of host publicationTheoretical Informatics - 12th Latin American Symposium, Proceedings
EditorsGonzalo Navarro, Evangelos Kranakis, Edgar Chávez
PublisherSpringer Verlag
Number of pages13
ISBN (Print)9783662495285
StatePublished - 2016
Event12th Latin American Symposium on Theoretical Informatics, LATIN 2016 - Ensenada, Mexico
Duration: 11 Apr 201615 Apr 2016

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference12th Latin American Symposium on Theoretical Informatics, LATIN 2016

Bibliographical note

Publisher Copyright:
© Springer International Publishing Switzerland 2016.


  • Approximate periodicity
  • Edit distance
  • Hamming distance
  • Period recovery

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'Period recovery over the hamming and edit distances'. Together they form a unique fingerprint.

Cite this