ebook img

Data Structures, Computer Graphics, and Pattern Recognition PDF

493 Pages·1977·25.614 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Data Structures, Computer Graphics, and Pattern Recognition

Data Structures, Computer Graphics, and Pattern Recognition Edited by A. Klinger University of California Computer Science Department Los Angeles, California K. S. Fu Purdue University Department of Electrical Engineering Lafayette, Indiana T. L Kunii University of Tokyo Department of Information Science Hongo Bunkyo, Tokyo ® Academic Press, Inc. NEW YORK SAN FRANCISCO LONDON 1977 A Subsidiary of Harcourt Brace Jovanovich, Publishers COPYRIGHT © 1977, BY ACADEMIC PRESS, INC. ALL RIGHTS RESERVED. NO PART OF THIS PUBLICATION MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS, ELECTRONIC OR MECHANICAL, INCLUDING PHOTOCOPY, RECORDING, OR ANY INFORMATION STORAGE AND RETRIEVAL SYSTEM, WITHOUT PERMISSION IN WRITING FROM THE PUBLISHER. ACADEMIC PRESS, INC. Ill Fifth Avenue, New York, New York 10003 United Kingdom Edition published by ACADEMIC PRESS, INC. (LONDON) LTD. 24/28 Oval Road, London NW1 Library of Congress Cataloging in Publication Data Main entry under title: Data structures, computer graphics, and pattern recognition. Consists of papers, many of which evolved from presentations given at the IEEE Computer Society con ference held in Los Angeles, May 1975. Includes bibliographies and index. 1. Data structures (Computer science)-Addresses, essays, lectures. 2. Computer graphics-Addresses, essays, lectures. 3. Pattern recognition systems- Addresses, essays, lectures. I. Klinger, Allen, Date II. Fu, King Sun, Date III. Kunii, Toshiyasu. QA76.9.D35D37 001.6'4 77-1598 ISBN 0-12-415050-0 PRINTED IN THE UNITED STATES OF AMERICA List of Contributors Numbers in parentheses indicate pages on which authors' contributions begin. R. E. Barnhill (413),* University of Utah, Department of Mathematics, Salt Lake City, Utah 84112 Charles M. Eastman (31), Carnegie-Mellon University, School of Urban & Public Affairs, Schenley Park, Pittsburgh, Pennsylvania 15213 James D. Foley (239), Bureau of the Census, Graphics Software Branch, Wash­ ington, D.C.20233 K. S. Fu (449), Purdue University, Department of Electrical Engineering, West Lafayette, Indiana 47907 Marilyn L. Griffith (309), Information Sciences, Electronics Research Division, Rockwell International, 3370 Miraloma Avenue, P.O. Box 3105, Anaheim, California 92803 R. A. Jarvis (273), The Australian National University, Department of Computer Science, Canberra, A.C.T. 2600, Australia T. Kasvand (179), National Research Council of Canada, Computer Graphics Section, Radio & Electrical Engineering, Ottawa, Ontario, K1A OR8 Canada Carolyn Kimme (427),* University of California, School of Engineering and Department of Radiological Sciences, Irvine, California 92664 Allen Klinger (385), University of California, Computer Science Department, 3531 Boelter Hall, Los Angeles, California 90024 Bernard J. O'Loughlin (427), University of California, School of Engineering and Department of Radiological Sciences, Irvine, California 92664 * Indicates first author XI XÜ LIST OF CONTRIBUTORS Carl V. Page (213), Michigan State University, Computer Science Department, East Lansing, Michigan 48824 Michael L. Rhodes (385),* University of California, Computer Science Depart­ ment, 3531 Boelter Hall, Los Angeles, California 90024 R. F. Riesenfeld (413), University of Utah, Computer Science Department, Salt Lake City, Utah 84112 John P. Riganati (309),* Information Sciences, Electronics Research Division, Rockwell International, 3370 Miraloma Avenue, P.O. Box 3105, Anaheim, California 92803 Jack Sklansky (427), University of California, School of Engineering and Depart­ ment of Radiological Sciences, Irvine, California 92664 Frank W. Tompa (3), Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada Robin Williams (103,105,153,167),* International Business Machines, Monterey and Cottle Roads, San Jose, California 95193 Charles T. Zahn, Jr. (59), Stanford Linear Accelerator Center, Computation Research Group, Stanford, California 94305 indicates first author Preface Many researchers have seen the close connection between computer graphics and pattern recognition and the central role of data structures in those fields. Data structures are themselves an important subject of study in computer science. Many data structure types and application areas use the special proper­ ties of them to facilitate computing algorithms. Among the main structuring techniques are linear lists, trees, and binary trees. Distinctions between sequen­ tial and linked allocation of storage, the number and types of pointers, and the modes of data organization (e.g., stacks, queues, trees, and lists) are all impor­ tant in planning software. This book focuses on the computer graphics and pattern recognition applications of data structures methodology. It presents de­ sign related principles and research aspects of the computer graphics, system design, data management, and pattern recognition tasks. Computer graphics and pattern recognition, respectively, stand for synthetic and analytic aspects of processing patterned data. In both computer graphics^and pattern recognition, there is a core of dependence upon data structures and this is the central subject of this book. In all programs written to do patterned data processing, the data structure is a formal basis for organizing quantities that are to be processed. Hence, the data structure is actually a common medium, one that can join these two special research areas. Data structure design, selecting the data's memory representation, is central to programs for creating graphics con­ sole displays. Data structures serve as "transformers" between complex data relationships and serial processing systems, since they are links between a com­ plex pattern that humans may perceive in an input stream of patterned data and the programs that will process that data. Recent developments in computer technology have made available small machines with graphic display capability. This has increased the tendency to present the pattern recognition task as an interactive process where the computer partially serves man as a reformatting tool. Since data structures theory con­ tributes to programming in the small memory context, this technological change has also highlighted the need for using a common representation medium for the display and analysis aspects of problems. Rapid development of the pattern recognition and computer graphics technical fields and their common use of data structure principles in organizing sophisti­ cated processing routines has led to an increasing awareness in the research XIII XIV PREFACE community of the close relationship among these three topics. A conference held in May 1975 in Los Angeles, in participation with the IEEE Computer Society, brought together researchers working on all these themes. Over three hundred scientists attended, and The Proceedings of the Conference on Com­ puter Graphics, Pattern Recognition, and Data Structure (IEEE, New York, 75 CHO 981-1C) includes ninety technical papers. While this conference was being organized, the three editors conceived the need for a book that would focus on the conference theme in a format allowing more extensive presentation of ex­ pository material. The intent, to provide a starting point for researchers inter­ ested in the intersection of the three fields, is realized by this volume. IVlany of the papers included here evolved from papers presented at the 1975 conference, and from discussions at the time of the conference between the editors jointly, and with individual authors. The material presented here will be of interest to practitioners in data struc­ tures, particularly those who are applying real computer systems to problems involving image, speech, and medical data. The chapters convey current state-of- the-art uses of data structures in computer graphics displays and pattern recogni­ tion algorithms. IVlany chapters conclude with exercises that will be useful to students and to instructors who wish to use this book as a supplementary text. Other chapters cover current research topics, including language understanding and syntactic pattern recognition. Such material is not suitable for exercise problems, but in keeping with many of the other chapters, this research litera­ ture provides topics for further research. Finally, a word of thanks to all of the contributors for their care in preparing their manuscripts for this volume, to R. Burns whose organizational skills are reflected here, and to J. Badal and D. Trammel for their help with the typing. The support of the Air Force Office of Scientific Research is gratefully acknowledged. Data Structure Design FRANK W. TOMPA Department of Compute? Science University of Waterloo Waterloo3 Ontario Canada Λ 1. LEVELS OF DATA REFINEMENT Many data structures designers realize that data should be specified at two levels: the abstract, user-oriented informa­ tion structure and the concrete, machine-oriented storage struc­ ture. Judging from the experience of algorithm designers, how­ ever, data structures should instead be viewed at many levels. The design methodology suggested here is based on five views of data: •data reality: the data as it actually exists (in­ cluding all aspects which are typically ignored except in philosophical treatises) .data abstraction: a model of the real world which incorporates only those properties thought to be relevant to the application(s) at hand •information structure: a refinement of the ab­ straction in which only some of the relevant data relationships are made explicit, the others de­ rivable indirectly (usually through some computa­ tions involving relational composition) •storage structure: a model of the information structure, often expressed in terms of diagrams which represent cells, linked and contiguous lists, and levels of storage media 3 4 FRANK W.TOMPA •machine encoding: a final computer representation, including specifications for encoding primitive data objects (e.g., the representations for numbers and characters, the use of absolute as opposed to relative addresses, and the use of data packing). The design of a data structure should proceed through successive levels, binding only those aspects which are necessary to speci­ fy each level. Within a level, the process of stepwise refine­ ment should be adapted from algorithm design methodology to pro­ vide as smooth a transition as possible to the more detailed data level [10, 17, 38]. These five views of data correspond exactly to the levels of development in the corresponding program which describes the data operations to be performed. The first step defines the application's goal in terms of real objects. Next, the approach to a solution which achieves that goal is specified in terms of the data abstraction. At the third step, an algorithm incorpo­ rating the approach is designed to operate on the information structure, after which a program implementing the algorithm is written to manipulate data in terms of its storage structure. Finally, at the fifth level, the program is translated into ob­ ject code which operates on data bound to a particular machine encoding. 2. AN EXAMPLE OF STEPWISE DATA STRUCTURE DESIGN Designing the data structure for a hypothetical genealogi­ cal application will serve to illustrate the methodology to be followed. It will be assumed that a historical foundation wishes to computerize the Habsburg family tree for a fact retrieval sys­ tem which is to be implemented on an IBM 360/75. By the time the data structure is to be designed, the data reality has already been chosen: in this case, the structure of all the facts concerning the Habsburg lineage. In many cases, the primitives available for the machine encoding level have also been fixed: here, those provided by 360 architecture (e.g. memory addressing structure, cell size). Thus the design pro­ cess is actually composed of four major steps which serve as transitions, or mappings, from one data structure level to the next. DATA STRUCTURE DESIGN 5 The first step in the design is to identify the aspects of the real world which are relevant to the application. Some facts concerning the Hapsburgs are clearly of no concern to genealogi­ cal studies: for example, that the name is derived from Habichts­ burg on the Aar, that Albert III was landgrave of Upper Alsace, or that Emperor Maximillian of Mexico did not get along very well with his brother Emperor Francis Joseph I.* The data de­ signer must therefore consider the data reality and select those properties to record; all other information will be impossible to obtain from the data base. From discussions with the direc­ tors of the historical foundation, it may be learned that the only relevant facts are persons' names, dates of birth and death, and blood and marital relationships. This information consti­ tutes the data abstraction. At the level of the data abstraction, all data is equally accessible. In a manner similar to examining a conventional genealogical chart, information can be obtained about any entry without necessarily starting a search from a particular root (e.g., Guntram the Rich). In addition, it must be as easy to ascertain any relationships as any others; for example, at the data abstraction level, finding all the second cousins of Ferdinand III or the great grandchildren of Maria Theresa is con­ ceptually as natural as finding parents, children, a name, or a date of birth. That is, there is no concept of efficiency yet at this stage of the design. After the data abstraction is designed, the next step is to decide on an information structure by choosing which of the relevant data relations will be stored explicitly and which will remain accessible only via others. For example, it may be that researchers often require the names of the Habsburg cousins of certain Habsburgs. Done often enough, it would be convenient to store the cousin relationship explicitly; thus, for example, associated with Emperor Rudolph II is the set of nineteen cousins (Figure 1). Storing cousins explicitly, however, results in some redundancy, because sets of cousins often intersect. To avoid such redundancy, cousins from different parents could be kept separately, and thus cousins may be found by accessing the children of a person's uncles and aunts. Instead of a simple retrieval of one set, first the uncles and aunts of Rudolph must be collected, yielding Philip II and Joan on his mother's side and Ferdinand of Tirol, Charles, and 11 aunts on his father's *This and all subsequent material concerning the Habsburgs, is obtained from reference 13* 6 FRANK W.TOMPA 9 DAUGHTERS 2 OTHER SONS DAUGHTERS CHARLES JOSEPH LEOPOLD OF TIROL MAXIMILLIAN ERNEST -^· FERDINAND Π FERDINAND **OF TIROL 9 OTHERS *·· WENZEL ■»»· ALBERT MAXIMILLIAN **· MATHIAS ERNEST *>· RUDOLPH Π CHARLES Y -+· PHILIP m PHILIP II 2 DAUGHTERS CHARLES Figure 1: Detail From a Habsburg Genealogical Chart side; then the union of their children must be found. Thus the price of less redundancy is more complicated access. By examin­ ing the relative frequency of operations to be performed on the data, the genealogical data designers choose to maintain for each Habsburg, the name, parents, spouses, children, date of birth, and date of death: set of person Habsburg; type person = (string NAME; elders PARENTS; set of offspring FAMILY; life YEARS); type elders = (person MOTHER, FATHER); type offspring = (person SPOUSE; set of person CHILDREN); type life = (date BIRTH, DEATH);

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.