On table arrangements, scrabble freaks, and jumbled pattern matching

  • Authors:
  • Péter Burcsi;Ferdinando Cicalese;Gabriele Fici;Zsuzsanna Lipták

  • Affiliations:
  • Department of Computer Algebra, Eötvös Loránd University, Hungary;Dipartimento di Informatica ed Applicazioni, University of Salerno, Italy;I3S, UMR, CNRS, Université de Nice-Sophia Antipolis, France;AG Genominformatik, Technische Fakultät, Bielefeld University, Germany

  • Venue:
  • FUN'10 Proceedings of the 5th international conference on Fun with algorithms
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given a string s, the Parikh vector of s, denoted p(s), counts the multiplicity of each character in s. Searching for a match of Parikh vector q (a "jumbled string") in the text s requires to find a substring t of s with p(t) = q. The corresponding decision problem is to verify whether at least one such match exists. So, for example for the alphabet Σ = {a,b,c}, the string s = abaccbabaaa has Parikh vector p(s) = (6,3,2), and the Parikh vector q = (2,1,1) appears once in s in position (1,4). Like its more precise counterpart, the renown Exact String Matching, Jumbled Pattern Matching has ubiquitous applications, e.g., string matching with a dyslectic word processor, table rearrangements, anagram checking, Scrabble playing and, allegedly, also analysis of mass spectrometry data. We consider two simple algorithms for Jumbled Pattern Matching and use very complicated data structures and analytic tools to show that they are not worse than the most obvious algorithm. We also show that we can achieve non-trivial efficient average case behavior, but that's less fun to describe in this abstract so we defer the details to the main part of the article, to be read at the reader's risk... well, at the reader's discretion.