Models, techniques, and algorithms for finding, selecting, and displaying patterns in strings and other discrete objects
Abstract The objectives of this paper are to (1) demonstrate that pattern discovery in discrete objects is an important intellectual task performed by humans that would benefit from automation. We do this by presenting “everyday” examples from software engineering and other areas such as document preparation, molecular biology, computer vision, and computer graphics; (2) propose a general methodology for a system that automates pattern discovery. This methodology has three components: (a) discovery: find all common patterns in objects; (b) selection: determine which of these patterns is important by taking into account criteria that are important to a particular application or user; (c) display: displaying the selected patterns. The methodology was developed by taking into account a number of practical considerations in the areas of computer-human interaction and visualization. (3) Outline efficient algorithms for some of the problems that must be solved in order to implement the proposed methodology.