Loading…

Revisiting Shinohara's algorithm for computing descriptive patterns

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 o...

Full description

Saved in:
Bibliographic Details
Main Authors: Henning Fernau, Florin Manea, Robert Mercas, Markus L. Schmid
Format: Default Article
Published: 2018
Subjects:
Online Access:https://hdl.handle.net/2134/24634
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.