Definitions
Here we specify the definitions of objects and terms used in our benchmark specifications.
Unweighted Graphs#
We consider both undirected (symmetric) and directed (asymmetric) graphs in GBBS. We refer to graphs as , where is a set of vertices, and is a set of edges. Each edge consists of a pair of vertices .
When not specified, we assume that the underlying graph is directed. The concrete formats supported by GBBS for unweighted graphs can be found in the formats page
Weighted Graphs#
We also consider weighted graphs in GBBS, which we refer to as where is a weighted function . We refer to the weight of a edge as The benchmarks always specify the range, of the weight function, unless the algorithm is oblivious to it.
Distances#
We use to refer to the shortest path distance between and in the graph .
We use to refer to the diameter of the graph, or the longest shortest path distance in between any vertex and any vertex reachable from .
Mapping#
Many of our benchmarks return -mapping, which are objects that
provide access to 's over a specified input domain. For
example, an int-mapping for the domain can be represented
- using an array of
ints, or - using a function from the domain to an
int(implicitly represented).
The only requirement is that the returned object implements an array operator, and can be accessed at every index in the domain.