A note on the two-variable pattern-finding problem

作者:

Highlights:

摘要

A pattern is a finite string of constant and variable symbols. A pattern p represents a language L(p) of all finite strings of constant symbols that can be generated from p by substituting a constant string for each variable in p. The k-variable pattern-finding problem, k ≥ 1, is to find, for a given set S of finite constant strings, a longest pattern p of k variables such that L(p) contains S. A polynomial-time algorithm for the one-variable pattern-finding problem has been found by Angluin using the data structure called pattern automata. A straightforward generalization of this algorithm to the two-variable case involves a sub-problem of finding common paths of pattern automata. It is proved that this subproblem in the generalized algorithm is NP-hard.

论文关键词:

论文评审过程:Received 3 October 1985, Revised 22 July 1986, Available online 2 December 2003.

论文官网地址:https://doi.org/10.1016/0022-0000(87)90006-7