In mathematics, and more specifically in graph theory, a multigraph is a graph which is permitted to have multiple edges (also called parallel edges[1]), that is, edges that have the same end nodes. Thus two vertices may be connected by more than one edge.
There are 2 distinct notions of multiple edges:
A multigraph is different from a hypergraph, which is a graph in which an edge can connect any number of nodes, not just two.
For some authors, the terms pseudograph and multigraph are synonymous. For others, a pseudograph is a multigraph that is permitted to have loops.
A multigraph G is an ordered pair G := (V, E) with
A multigraph G is an ordered triple G := (V, E, r) with
Some authors allow multigraphs to have loops, that is, an edge that connects a vertex to itself,[2] while others call these pseudographs, reserving the term multigraph for the case with no loops.[3]
A multidigraph is a directed graph which is permitted to have multiple arcs, i.e., arcs with the same source and target nodes. A multidigraph G is an ordered pair G := (V, A) with
A mixed multigraph G := (V, E, A) may be defined in the same way as a mixed graph.
A multidigraph or quiver G is an ordered 4-tuple G := (V, A, s, t) with
s:A → V
t:A → V
This notion might be used to model the possible flight connections offered by an airline. In this case the multigraph would be a directed graph with pairs of directed parallel edges connecting cities to show that it is possible to fly both to and from these locations.
In category theory a small category can be defined as a multidigraph (with edges having their own identity) equipped with an associative composition law and a distinguished self-loop at each vertex serving as the left and right identity for composition. For this reason, in category theory the term graph is standardly taken to mean "multidigraph", and the underlying multidigraph of a category is called its underlying digraph.
Multigraphs and multidigraphs also support the notion of graph labeling, in a similar way. However there is no unity in terminology in this case.
The definitions of labeled multigraphs and labeled multidigraphs are similar, and we define only the latter ones here.
Definition 1: A labeled multidigraph is a labeled graph with labeled arcs.
Formally: A labeled multidigraph G is a multigraph with labeled vertices and arcs. Formally it is an 8-tuple
G=(\SigmaV,\SigmaA,V,A,s,t,\ellV,\ellA)
V
A
\SigmaV
\SigmaA
s\colonA → V
t\colonA → V
\ellV\colonV → \SigmaV
\ellA\colonA → \SigmaA
Definition 2: A labeled multidigraph is a labeled graph with multiple labeled arcs, i.e. arcs with the same end vertices and the same arc label (note that this notion of a labeled graph is different from the notion given by the article graph labeling).