# 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…

## Figures from this paper

## One Citation

## References

SHOWING 1-10 OF 22 REFERENCES

### Linear-Time Graph Algorithms in GP 2

- Computer ScienceCALCO
- 2019

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

- Computer ScienceElectron. Commun. Eur. Assoc. Softw. Sci. Technol.
- 2012

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

- Computer ScienceICGT
- 2016

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

- Computer ScienceArXiv
- 2020

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

- Computer Science
- 2015

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

- Computer ScienceJ. Log. Algebraic Methods Program.
- 2017

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

- Computer Science
- 2001

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

- Computer ScienceGCM@STAF
- 2020

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

- Computer ScienceAGTIVE
- 2011

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

- Computer ScienceICGT
- 2002

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.