A Fast Graph Program for Computing Minimum Spanning Trees

@inproceedings{Courtehoute2020AFG,
  title={A Fast Graph Program for Computing Minimum Spanning Trees},
  author={Brian Courtehoute and Detlef Plump},
  booktitle={GCM@STAF},
  year={2020}
}
When using graph transformation rules to implement graph algorithms, a challenge is to match the efficiency of programs in conventional languages. To help overcome that challenge, the graph programming language GP 2 features rooted rules which, under mild conditions, can match in constant time on bounded degree graphs. In this paper, we present an efficient GP 2 program for computing minimum spanning trees. We provide empirical performance results as evidence for the program's subquadratic… 
1 Citations

Fast Rule-Based Graph Programs

References

SHOWING 1-10 OF 22 REFERENCES

Linear-Time Graph Algorithms in GP 2

TLDR
This paper presents linear-time GP 2 programs for three problems: tree recognition, binary directed acyclic graph (DAG) recognition, and topological sorting, and shows the correctness of the program, proves its linear time complexity, and also gives empirical evidence for the linear run time.

Rooted Graph Programs

TLDR
An approach for programming with graph transformation rules in which programs can be as efficient as programs in imperative languages by equiping rules and host graphs with distinguished nodes, so-called roots, and to match roots in rules with roots in host graphs.

Compiling Graph Programs to C

TLDR
This work shows how to generate efficient C code for a high-level domain-specific language for graphs, GP 2, based on graph transformation rules, and presents run-time experiments with the implementation in a case study on checking graphs for two-colourability.

The Improved GP 2 Compiler

TLDR
A reduction program for recognising binary DAGs which previously ran in quadratic time but now runs in linear time when compiled with the new compiler.

GP 2: efficient implementation of a graph programming language

TLDR
The graph programming language GP (Graph Programs) 2 and its implementation is the subject of this thesis, and it is demonstrated that their execution times are capable of matching the execution times of tailored C solutions.

From imperative to rule-based graph programs

  • D. Plump
  • Computer Science
    J. Log. Algebraic Methods Program.
  • 2017

Algorithms in c, part 5: graph algorithms, third edition

TLDR
Algorithms in C, Third Edition, Part 5: Graph Algorithms is the second book in Sedgewick's thoroughly revised and rewritten series and provides a complete tool set for programmers to implement, debug, and use graph algorithms across a wide range of computer applications.

Verifying Graph Programs with First-Order Logic

TLDR
An approach to verify GP 2 programs with a standard first-order logic and shows how to construct a strongest liberal postcondition with respect to a rule schema and a precondition, which allows to reason about a vastly generalised class of graph programs.

AGG 2.0 - New Features for Specifying and Analyzing Algebraic Graph Transformations

TLDR
The integrated development environment AGG supports the specification of algebraic graph transformation systems based on attributed, typed graphs with node type inheritance, graph rules with application conditions, and graph constraints, and includes various new features added over the past two years.

Relabelling in Graph Transformation

TLDR
This framework allows to write rules with partially labelled left-hand sides which are equivalent to (possibly infinite) sets of rules in the traditional setting, and does not need any labelling condition on matching morphisms, nor does it exclude node merging rules.