14 papers · ranked by Valyu relevance
Pierre Vandenhove
Representing the control flow of a computer program as a computation graph can bring many benefits in a broad variety of domains where performance is critical. This technique is a core component of most major numerical libraries (TensorFlow, PyTorch, Theano, MXNet,...) and is successfully used to speed up and optimise…
Jordan Jalving, Yankai Cao, Víctor M. Zavala
We present graph-based modeling abstractions to represent cyber-physical dependencies arising in complex systems. Specifically, we propose an algebraic graph abstraction to capture physical connectivity in complex optimization models and a computing graph abstraction to capture communication connectivity in computing…
Nathanael Ackerman, Cameron E. Freer
We consider graph Turing machines, a model of parallel computation on a graph, in which each vertex is only capable of performing one of a finite number of operations. This model of computation is a natural generalization of several well-studied notions of computation, including ordinary Turing machines, cellular…
Marko A. Rodriguez
Gremlin is a graph traversal machine and language designed, developed, and distributed by the Apache TinkerPop project. Gremlin, as a graph traversal machine, is composed of three interacting components: a graph G, a traversal Ψ, and a set of traversers T . The traversers move about the graph according to the…
Schaad, Philipp, Ben-Nun, Tal + 2 more
Control flow graphs (CFGs) are essential tools for understanding program behavior, yet the size of real-world CFGs makes them difficult to interpret. With thousands of nodes and edges, sophisticated graph drawing algorithms are required to present them on screens in ways that make them readable and understandable.…
Marius Buliga
Graphic lambda calculus consists of a class of graphs endowed with moves between them. It might be considered a visual language in the sense of Erwig [9]. The name "graphic lambda calculus" comes from the fact that it can be used for representing terms and reductions from untyped lambda calculus. It's main move is…
Dimitrios Michail, Joris Kinable, Barak Naveh, John Sichi
Mathematical software and graph-theoretical algorithmic packages to efficiently model, analyze and query graphs are crucial in an era where large-scale spatial, societal and economic network data are abundantly available. One such package is JGraphT, a programming library which contains very efficient and generic graph…
Sebastian Maneth, Fabian Peternek
We present a new graph compressor that works by recursively detecting repeated substructures and representing them through grammar rules. We show that for a large number of graphs the compressor obtains smaller representations than other approaches. Specific queries such as reachability between two nodes or regular…
Michael T. Goodrich, Olga Ohrimenko, Roberto Tamassia
We study graph drawing in a cloud-computing context where data is stored externally and processed using a small local working storage. We show that a number of classic graph drawing algorithms can be efficiently implemented in such a framework where the client can maintain privacy while constructing a drawing of her…
Alun Thomas
We describe the implementation of the Giudici-Green Metropolis sampling method for decomposable graphs using a variety of structures to represent the graph. These comprise the graph itself, the Junction tree, the Almond tree and the Ibarra clique-separator graph. For each structure, we describe the process for…
Ziad Ismaili Alaoui, Detlef Plump
We report on a recent breakthrough in rule-based graph programming, which allows us to reach the time complexity of imperative linear-time algorithms. In general, achieving the complexity of graph algorithms in conventional languages using graph transformation rules is challenging due to the cost of graph matching.…
Paul Merrell
This is a companion piece to my paper on "Example-Based Procedural Modeling Using Graph Grammars." This paper examines some of the theoretical issues in more detail. This paper discusses some more complex parts of the implementation, why certain algorithmic decisions were made, proves the algorithm can solve certain…
Bob Blakley, G. R. Blakley, Sean M. Blakley
A graph is a mathematical object consisting of a set of vertices and a set of edges connecting vertices. Graphs can be drawn on paper in various ways, but until recently all published methods of drawing graphs have had undesirable properties: (i) for graphs which are not plane embeddable, intersections between the…
Graham Campbell, Jack Romo, Detlef Plump
GP 2 is an experimental programming language based on graph transformation rules which aims to facilitate program analysis and verification. Writing efficient programs in such a language is hard because graph matching is expensive, however GP 2 addresses this problem by providing rooted rules which, under mild…