66 research outputs found
Confluent Orthogonal Drawings of Syntax Diagrams
We provide a pipeline for generating syntax diagrams (also called railroad
diagrams) from context free grammars. Syntax diagrams are a graphical
representation of a context free language, which we formalize abstractly as a
set of mutually recursive nondeterministic finite automata and draw by
combining elements from the confluent drawing, layered drawing, and smooth
orthogonal drawing styles. Within our pipeline we introduce several heuristics
that modify the grammar but preserve the language, improving the aesthetics of
the final drawing.Comment: GD 201
The Widths of Strict Outerconfluent Graphs
Strict outerconfluent drawing is a style of graph drawing in which vertices
are drawn on the boundary of a disk, adjacencies are indicated by the existence
of smooth curves through a system of tracks within the disk, and no two
adjacent vertices are connected by more than one of these smooth tracks. We
investigate graph width parameters on the graphs that have drawings in this
style. We prove that the clique-width of these graphs is unbounded, but their
twin-width is bounded.Comment: 15 pages, 2 figure
The state of the art in empirical user evaluation of graph visualizations
While graph drawing focuses more on the aesthetic representation of node-link diagrams, graph visualization takes into account other visual metaphors making them useful for graph exploration tasks in information visualization and visual analytics. Although there are aesthetic graph drawing criteria that describe how a graph should be presented to make it faster and more reliably explorable, many controlled and uncontrolled empirical user studies flourished over the past years. The goal of them is to uncover how well the human user performs graph-specific tasks, in many cases compared to previously designed graph visualizations. Due to the fact that many parameters in a graph dataset as well as the visual representation of them might be varied and many user studies have been conducted in this space, a state-of-the-art survey is needed to understand evaluation results and findings to inform the future design, research, and application of graph visualizations. In this paper, we classify the present literature on the topmost level into graph interpretation, graph memorability, and graph creation where the users with their tasks stand in focus of the evaluation not the computational aspects. As another outcome of this work, we identify the white spots in this field and sketch ideas for future research directions
Algorithms and Bounds for Drawing Directed Graphs
In this paper we present a new approach to visualize directed graphs and
their hierarchies that completely departs from the classical four-phase
framework of Sugiyama and computes readable hierarchical visualizations that
contain the complete reachability information of a graph. Additionally, our
approach has the advantage that only the necessary edges are drawn in the
drawing, thus reducing the visual complexity of the resulting drawing.
Furthermore, most problems involved in our framework require only polynomial
time. Our framework offers a suite of solutions depending upon the
requirements, and it consists of only two steps: (a) the cycle removal step (if
the graph contains cycles) and (b) the channel decomposition and hierarchical
drawing step. Our framework does not introduce any dummy vertices and it keeps
the vertices of a channel vertically aligned. The time complexity of the main
drawing algorithms of our framework is , where is the number of
channels, typically much smaller than (the number of vertices).Comment: Appears in the Proceedings of the 26th International Symposium on
Graph Drawing and Network Visualization (GD 2018
Open Graphs and Monoidal Theories
String diagrams are a powerful tool for reasoning about physical processes,
logic circuits, tensor networks, and many other compositional structures. The
distinguishing feature of these diagrams is that edges need not be connected to
vertices at both ends, and these unconnected ends can be interpreted as the
inputs and outputs of a diagram. In this paper, we give a concrete construction
for string diagrams using a special kind of typed graph called an open-graph.
While the category of open-graphs is not itself adhesive, we introduce the
notion of a selective adhesive functor, and show that such a functor embeds the
category of open-graphs into the ambient adhesive category of typed graphs.
Using this functor, the category of open-graphs inherits "enough adhesivity"
from the category of typed graphs to perform double-pushout (DPO) graph
rewriting. A salient feature of our theory is that it ensures rewrite systems
are "type-safe" in the sense that rewriting respects the inputs and outputs.
This formalism lets us safely encode the interesting structure of a
computational model, such as evaluation dynamics, with succinct, explicit
rewrite rules, while the graphical representation absorbs many of the tedious
details. Although topological formalisms exist for string diagrams, our
construction is discreet, finitary, and enjoys decidable algorithms for
composition and rewriting. We also show how open-graphs can be parametrised by
graphical signatures, similar to the monoidal signatures of Joyal and Street,
which define types for vertices in the diagrammatic language and constraints on
how they can be connected. Using typed open-graphs, we can construct free
symmetric monoidal categories, PROPs, and more general monoidal theories. Thus
open-graphs give us a handle for mechanised reasoning in monoidal categories.Comment: 31 pages, currently technical report, submitted to MSCS, waiting
review
String Diagrams for -calculi and Functional Computation
This tutorial gives an advanced introduction to string diagrams and graph
languages for higher-order computation. The subject matter develops in a
principled way, starting from the two dimensional syntax of key categorical
concepts such as functors, adjunctions, and strictification, and leading up to
Cartesian Closed Categories, the core mathematical model of the lambda calculus
and of functional programming languages. This methodology inverts the usual
approach of proceeding from syntax to a categorical interpretation, by
rationally reconstructing a syntax from the categorical model. The result is a
graph syntax -- more precisely, a hierarchical hypergraph syntax -- which in
many ways is shown to be an improvement over the conventional linear term
syntax. The rest of the tutorial focuses on applications of interest to
programming languages: operational semantics, general frameworks for type
inference, and complex whole-program transformations such as closure conversion
and automatic differentiation
- …