A comprehensive study and exposition on the benefits of graph and term rewriting. Contains such theoretical advances as a single pushout categorical model of graph rewriting, a new theory of transfinite term rewriting and an abstract interpretation for term graph rewriting. Includes a discussion of parallelism.
Term rewriting systems developed out of mathematical logic and are an important part of theoretical computer science. They consist of sequences of discrete transformation steps where one term is replaced with another and have applications in many areas, from functional programming to automatic theorem proving and computer algebra. This 2003 book starts at an elementary level with the earlier chapters providing a foundation for the rest of the work. Much of the advanced material appeared here for the first time in book form. Subjects treated include orthogonality, termination, completion, lambda calculus, higher-order rewriting, infinitary rewriting and term graph rewriting. Many exercises are included with selected solutions provided on the web. A comprehensive bibliography makes this book ideal both for teaching and research. A chapter is included presenting applications of term rewriting systems, with many pointers to actual implementations.
Graph grammars originated in the late 60s, motivated by considerations about pattern recognition and compiler construction. Since then, the list of areas which have interacted with the development of graph grammars has grown quite impressively. Besides the aforementioned areas, it includes software specification and development, VLSI layout schemes, database design, modeling of concurrent systems, massively parallel computer architectures, logic programming, computer animation, developmental biology, music composition, visual languages, and many others. The area of graph grammars and graph transformations generalizes formal language theory based on strings and the theory of term rewriting based on trees. As a matter of fact, within the area of graph grammars, graph transformation is considered a fundamental computation paradigm where computation includes specification, programming, and implementation. Over the last three decades, graph grammars have developed at a steady pace into a theoretically attractive and important-for-applications research field. Volume 3 of the 'indispensable Handbook of' Graph Grammars and Computing by Graph Transformations presents the research on concurrency, parallelism, and distribution -- important paradigms of modern science. The topics considered include semantics for concurrent systems, modeling of concurrency, mobile and coordinated systems, algebraic specifications, Petri nets, visual design of distributed systems, and distributed algorithms. The contributions have been written in a tutorial/survey style by the top experts.
Unlike current survey articles and textbooks, here the so-called confluence and termination hierarchies play a key role. Throughout, the relationships between the properties in the hierarchies are reviewed, and it is shown that for every implication X => Y in the hierarchies, the property X is undecidable for all term rewriting systems satisfying Y. Topics covered include: the newest techniques for proving termination of rewrite systems; a comprehensive chapter on conditional term rewriting systems; a state-of-the-art survey of modularity in term rewriting, and a uniform framework for term and graph rewriting, as well as the first result on conditional graph rewriting.
This is the first textbook treatment of the algebraic approach to graph transformation, based on algebraic structures and category theory. It contains an introduction to classical graphs. Basic and advanced results are first shown for an abstract form of replacement systems and are then instantiated to several forms of graph and Petri net transformation systems. The book develops typed attributed graph transformation and contains a practical case study.
The area of graph grammars is theoretically attractive and well motivated byvarious applications. More than 20 years ago, the concept of graph grammars was introduced by A. Rosenfeld as a formulation of some problems in pattern recognition and image processing, as well as by H.J. Schneider as a method for data type specification. Within graph-grammar theory one maydistinguish the set-theoretical approach, the algebraic approach, and the logical approach. These approaches differ in the method in which graph replacement is described. Specific approaches, node replacement and hyperedge replacement, concern the basic units of a hypergraph, nodes and hyperedges. This monograph is mainly concerned with the hyperedge-replacement approach. Hyperedge-replacement grammars are introduced as a device for generating hypergraph languages including graph languages and string languages. The concept combines a context-free rewriting with a comparatively large generative power. The volume includes a foreword by H. Ehrig.
Graph-structured data is ubiquitous throughout the natural and social sciences, from telecommunication networks to quantum chemistry. Building relational inductive biases into deep learning architectures is crucial for creating systems that can learn, reason, and generalize from this kind of data. Recent years have seen a surge in research on graph representation learning, including techniques for deep graph embeddings, generalizations of convolutional neural networks to graph-structured data, and neural message-passing approaches inspired by belief propagation. These advances in graph representation learning have led to new state-of-the-art results in numerous domains, including chemical synthesis, 3D vision, recommender systems, question answering, and social network analysis. This book provides a synthesis and overview of graph representation learning. It begins with a discussion of the goals of graph representation learning as well as key methodological foundations in graph theory and network analysis. Following this, the book introduces and reviews methods for learning node embeddings, including random-walk-based methods and applications to knowledge graphs. It then provides a technical synthesis and introduction to the highly successful graph neural network (GNN) formalism, which has become a dominant and fast-growing paradigm for deep learning with graph data. The book concludes with a synthesis of recent advancements in deep generative models for graphs—a nascent but quickly growing subset of graph representation learning.
This book introduces the techniques of functional programming, the associated computational models, and the implementation of functional programming languages on both sequential and parallel machines. The authors present the desciptive power and semantic elegance of functional programming languages using Miranda as an example language.
For more than a decade, Foundations of Software Technology and Theoretical Computer Science Conferences have been providing an annual forum for the presentation of new research results in India and abroad. This year, 119 papers from 20 countries were submitted. Each paper was reviewed by at least three reviewers, and 33 papers were selected for presentation and included in this volume, grouped into parts on type theory, parallel algorithms, term rewriting, logic and constraint logic programming, computational geometry and complexity, software technology, concurrency, distributed algorithms, and algorithms and learning theory. Also included in the volume are the five invited papers presented at theconference.
The study of graph structure has advanced in recent years with great strides: finite graphs can be described algebraically, enabling them to be constructed out of more basic elements. Separately the properties of graphs can be studied in a logical language called monadic second-order logic. In this book, these two features of graph structure are brought together for the first time in a presentation that unifies and synthesizes research over the last 25 years. The authors not only provide a thorough description of the theory, but also detail its applications, on the one hand to the construction of graph algorithms, and, on the other to the extension of formal language theory to finite graphs. Consequently the book will be of interest to graduate students and researchers in graph theory, finite model theory, formal language theory, and complexity theory.