Revisiting Shinohara's algorithm for computing descriptive patterns
journal contributionposted on 2017-04-05, 09:15 authored by Henning Fernau, Florin Manea, Robert MercasRobert Mercas, Markus L. Schmid
A pattern α is a word consisting of constants and variables and it describes the pattern language L(α) of all words that can be obtained by uniformly replacing the variables with constant words. In 1982, Shinohara presents an algorithm that computes a pattern that is descriptive for a finite set S of words, i.e., its pattern language contains S in the closest possible way among all pattern languages. We generalise Shinohara’s algorithm to subclasses of patterns and characterise those subclasses for which it is applicable. Furthermore, within this set of pattern classes, we characterise those for which Shinohara’s algorithm has a polynomial running time (under the assumption P 6= N P). Moreover, we also investigate the complexity of the consistency problem of patterns, i.e., finding a pattern that separates two given finite sets of words.
The work of Florin Manea was supported by by DFG grant number 596676. The work of Robert Mercas was supported by the P.R.I.M.E. programme of DAAD with funds provided by the Federal Ministry of Education and Research (BMBF) and the European Unions Seventh Framework Programme for research, technological development and demonstration (grant agreement no. 605728).
- Computer Science