Verifying and enumerating parameterized border arrays

  • Authors:
  • Tomohiro I;Shunsuke Inenaga;Hideo Bannai;Masayuki Takeda

  • Affiliations:
  • -;-;-;-

  • Venue:
  • Theoretical Computer Science
  • Year:
  • 2011

Quantified Score

Hi-index 5.23

Visualization

Abstract

The parameterized pattern matching problem is to check if there exists a renaming bijection on the alphabet with which a given pattern can be transformed into a substring of a given text. A parameterized border array (p-border array) is a parameterized version of a standard border array, and we can efficiently solve the parameterized pattern matching problem using p-border arrays. In this paper, we present a linear time algorithm to verify if a given integer array is a valid p-border array for a binary alphabet. We also show a linear time algorithm to compute all binary parameterized strings sharing a given p-border array. In addition, we give an algorithm which computes all p-border arrays of length at most n, where n is a given threshold. This algorithm runs in O(B"2^n) time, where B"2^n is the number of all p-border arrays of length n for a binary parameter alphabet. The problems with a larger alphabet are much more difficult. Still, we present an O(n^1^.^5)-time O(n)-space algorithm to verify if a given integer array of length n is a valid p-border array for an unbounded alphabet. The best previously known solution to this task takes time proportional to the n-th Bell number 1e@?"k"="0^~k^nk!, and hence our algorithm is much more efficient. Also, we show that it is possible to enumerate all p-border arrays of length at most n for an unbounded alphabet in O(B^nn^2^.^5) time, where B^n denotes the number of p-border arrays of length n.