Multigraph
A multigraph is a generalization of a simple graph in graph theory, consisting of a set of vertices and a set of edges where multiple edges, known as parallel edges, are permitted between the same pair of vertices.[1] Unlike simple graphs, which restrict connections to at most one undirected edge per vertex pair without self-loops, multigraphs accommodate scenarios requiring repeated connections, such as in network modeling.[2]
The term "multigraph" carries some terminological ambiguity regarding self-loops: some definitions exclude loops entirely, treating them as a separate structure called a pseudograph, while others include them as a form of multiple edge incident to a single vertex.[1] Multigraphs can be undirected, where edges have no direction, or directed (digraphs), allowing multiple arcs from one vertex to another.[3] Key properties include edge multiplicity, which quantifies parallel edges, and the ability to form condensations by reducing multiples to single edges for analysis.[4]
Multigraphs are fundamental in applications like transportation networks, where multiple routes between cities are modeled, and in computer science for applications such as statistical modeling of contingency tables using hierarchical loglinear models.[5] They extend classical graph theory results, such as Eulerian paths, to account for multiplicities, and support algorithms for edge coloring and decomposition problems with practical implications in optimization and scheduling.[6]
Fundamentals
Definition and Terminology
A multigraph is a generalization of the basic graph structure in graph theory that allows for multiple edges between the same pair of vertices. Formally, a multigraph G = (V, E) consists of a finite set V of vertices and a multiset E of edges, where each edge is represented as an unordered pair \{u, v\} with u, v \in V. This formulation permits the repetition of edges, distinguishing multigraphs from simpler graph variants.[7]
The multiple edges sharing the same endpoints are termed parallel edges. The multiplicity \mu(u,v) denotes the number of such parallel edges connecting vertices u and v, providing a measure of how many times the pair is linked. For instance, if \mu(u,v) = k where k > 1, there are exactly k parallel edges between u and v.[8]
Regarding loops—edges where u = v—definitions vary: some multigraph formulations explicitly exclude them to focus solely on multiple edges between distinct vertices, while others permit loops as a special case of edges. When loops are allowed alongside parallel edges, the resulting structure is often distinguished as a pseudograph to emphasize this inclusion.[2]
As an illustrative example, consider a multigraph with vertex set V = \{A, B, C\} and edges consisting of two parallel edges between A and B, but none incident to C. Here, \mu(A,B) = 2, \mu(A,C) = 0, and \mu(B,C) = 0, demonstrating the role of multiplicity in capturing edge repetitions.[7]
Comparison with Simple Graphs
A simple graph is an undirected graph that contains no loops and at most one edge between any pair of distinct vertices.[4][3]
In contrast, a multigraph generalizes this structure by permitting multiple edges, known as parallel edges, between the same pair of vertices, and in some definitions, also allowing loops.[4][3] These features enable multigraphs to accommodate higher edge multiplicities, which can necessitate adapted analytical methods, such as modified adjacency representations to track parallel edges.[2]
Multigraphs are particularly useful for modeling scenarios involving multiplicities or repeated connections in real-world systems, such as multiple roads or flight routes between the same pair of cities, where simple graphs would inadequately capture the quantity or variety of links.[9][10][11] In such cases, simple graphs suffice for binary relations, like mere presence or absence of a connection, but fail to represent the scale or diversity of interactions that multigraphs can encode.[3]
One common operation to relate the two is condensation, where a multigraph is transformed into a simple graph by removing all but one parallel edge between each pair of vertices and eliminating any loops, thereby preserving the vertex set and overall connectivity while simplifying the structure for analysis.[4][12]
Types of Multigraphs
Undirected Multigraphs
An undirected multigraph is a type of multigraph in which edges lack direction, meaning connections between vertices are bidirectional and symmetric. Formally, it is defined as an ordered pair G = (V, E), where V is a finite nonempty set of vertices and E is a finite multiset of unordered pairs of vertices called edges, allowing multiple edges between the same pair of vertices and loops (edges incident to a single vertex). This structure generalizes simple undirected graphs by permitting parallel edges, which represent multiple distinct connections between the same endpoints.[13]
A key property of undirected multigraphs is the symmetry of edge incidence: the multiplicity \mu(u, v), defined as the number of edges connecting distinct vertices u and v, satisfies \mu(u, v) = \mu(v, u) for all u, v \in V. This symmetry reflects the absence of orientation, ensuring that the relationship between any two vertices is reciprocal. Loops are treated as edges with both ends at the same vertex v, and in the degree sequence, each such loop contributes 2 to the degree of v, as it is incident to v twice.[13]
Undirected multigraphs are commonly used to model real-world systems with symmetric, non-directional relationships and possible redundancies, such as road networks where multiple parallel routes exist between cities without specified travel direction. For instance, in a transportation graph, vertices might represent cities and edges multiple highways linking them, capturing scenarios where alternative paths provide resilience or capacity. This modeling approach highlights the utility of multiedges in representing practical multiplicities without directional bias.
Directed Multigraphs
A directed multigraph, also known as a multidigraph, extends the concept of a directed graph by permitting multiple arcs between the same ordered pair of vertices and allowing loops at vertices. Formally, it is defined as G = ([V](/page/V.), [E](/page/E!)), where [V](/page/V.) is a finite nonempty set of vertices and [E](/page/E!) is a multiset of ordered pairs (u, v) with u, v \in [V](/page/V.); each element of [E](/page/E!) represents a directed arc from vertex u to vertex v, and multiple identical ordered pairs are permitted to model parallel arcs in the same direction. This structure contrasts with simple directed graphs, which prohibit both multiple arcs and loops.[14][15]
In a directed multigraph, the multiplicity function \mu(u, v) denotes the number of arcs from u to v, which may differ from \mu(v, u), enabling the representation of asymmetric relationships between vertices. For instance, there can be multiple one-way arcs from u to v without any arcs in the reverse direction, or varying numbers of arcs in each direction. This asymmetry allows directed multigraphs to model real-world scenarios with inherent directionality and imbalance, such as traffic networks where multiple directed lanes exist between intersections in one direction but fewer or none in the opposite.[16]
Directed loops, or self-arcs, are arcs of the form (u, u) and are permitted in directed multigraphs. Each such loop contributes one to both the in-degree and out-degree of vertex u, reflecting its dual role as an incoming and outgoing arc at the same vertex. This feature supports modeling self-referential processes or feedback loops in systems represented by the graph.[17][18]
Edge Distinctions
Edges Without Own Identity
In multigraphs where edges lack their own identities, parallel edges connecting the same pair of vertices u and v are treated as indistinguishable, with only the multiplicity \mu(u,v)—the number of such edges—carrying significance, rather than any unique labels or attributes for individual edges.[19] This approach views multiple edges between vertices as anonymous repetitions, emphasizing aggregate counts over distinct entities.[20]
Formally, the edge set E of such a multigraph is defined as a multiset, permitting multiple identical elements that represent parallel edges sharing the same endpoints, thereby capturing the structure through repetition without differentiation among parallels.[21] This multiset formulation aligns with standard incidence models in graph theory, where the focus remains on the quantity of connections rather than their separation as unique objects.
One key advantage of this anonymous edge treatment is its simplification of counting problems, such as enumerating the number of walks of a given length between vertices; here, the adjacency matrix incorporates multiplicities as entries, and raising it to the k-th power directly yields the count of length-k walks, leveraging the additive nature of parallel choices without needing to track individual edge identities.[22] This efficiency is particularly valuable in applications requiring rapid computation of path multiplicities, as it reduces complexity in matrix-based algorithms./05%3A_Graph_Theory/5.01%3A_The_Basics_of_Graph_Theory)
A practical example arises in communication networks, where multiple identical transmission lines between two nodes—such as redundant fiber optic cables linking offices—are modeled solely by their multiplicity \mu(u,v), treating the lines as interchangeable to focus on overall capacity rather than distinguishing each one.[23]
Edges With Own Identity
In multigraphs where edges possess their own identity, each edge is treated as a unique object within the edge set E, allowing multiple edges—known as parallel edges—to connect the same pair of vertices while remaining distinguishable from one another. This distinguishes such structures from those relying solely on multiplicity counts, as the individual edges can carry unique attributes or be referenced independently in algorithms and analyses.[24]
Formally, a multigraph G is defined as a pair (V, E) consisting of a set V of vertices and a disjoint set E of edges, together with a function that maps each edge e \in E to either a single vertex in V (for loops) or an unordered pair \{u, v\} with u, v \in V (for edges between distinct vertices). This mapping ensures that parallel edges, which share the same endpoints, are still distinct elements of E, enabling properties like weights or labels to be assigned per edge without ambiguity.[24] For instance, if two edges e_1 and e_2 both connect vertices u and v, they are separate entities that can be manipulated individually, such as in edge-deletion operations or traversals.[24]
These multigraphs find application in modeling scenarios where parallel connections represent distinct relationships or pathways, such as transportation networks where multiple routes between cities—like a highway and a railway—require separate treatment to account for differing capacities or costs.[25] In database systems, particularly property graph models, multiple edges between entities can encode unique metadata; for example, in a social network graph, two users might be linked by distinct "friendship" edges, one representing a professional tie and another a personal one, each with its own timestamp or strength attribute.
Properties
Basic Structural Properties
The order of a multigraph G, denoted v(G) or |V(G)|, is the cardinality of its vertex set V(G). The size of G, denoted e(G) or |E(G)|, is the cardinality of its edge set E(G), where each multiple edge between a pair of vertices and each loop at a vertex is counted individually as a distinct edge.
The density of an undirected multigraph G on n = |V(G)| vertices (without loops) is defined as the ratio of its size to the number of edges in the complete simple graph K_n, given by
d(G) = \frac{|E(G)|}{\binom{n}{2}} = \frac{2|E(G)|}{n(n-1)},
which exceeds 1 precisely when multiple edges are present, reflecting the adjustment for edge multiplicities beyond the simple graph case. For multigraphs allowing loops, the denominator may incorporate an additional n terms for possible loops, yielding
d(G) = \frac{|E(G)|}{\binom{n}{2} + n} = \frac{|E(G)|}{\frac{n(n+1)}{2}}.
[26][27]
Two multigraphs G and H are isomorphic, denoted G \cong H, if there exist bijections \theta: V(G) \to V(H) and \phi: E(G) \to E(H) such that for every edge e \in E(G) with endpoints \{u, v\} (possibly u = v for a loop), the edge \phi(e) has endpoints \{\theta(u), \theta(v)\}; this preserves edge identities, multiplicities, and loops. In the model where edges lack individual identities and are defined solely by endpoint multiplicities, isomorphism reduces to a vertex bijection \theta that preserves the multiplicity function, ensuring the number of edges between any pair \{u, v\} in G equals that between \{\theta(u), \theta(v)\} in H.[28]
A subgraph H of a multigraph G consists of a vertex subset V(H) \subseteq V(G) and an edge subset E(H) \subseteq E(G) such that the incidence relation in H is the restriction of that in G, thereby preserving multiple edges (parallels) and loops between the selected vertices. An induced subgraph on a vertex subset V' \subseteq V(G) includes all edges of G whose endpoints lie in V', maintaining the full multiplicities present in G among those vertices. A spanning subgraph of G has V(H) = V(G) and E(H) \subseteq E(G), thus retaining all vertices while possibly reducing edge multiplicities.
Degree and Connectivity
In an undirected multigraph, the degree of a vertex v, denoted \deg(v), is defined as the sum of the multiplicities of edges incident to v, that is, \deg(v) = \sum_{u \in V} \mu(v,u), where \mu(v,u) is the number of edges between v and u. A loop at v contributes 2 to \deg(v), as it is considered to have two endpoints at v. This convention ensures consistency with the handshaking lemma, which states that the sum of the degrees over all vertices equals twice the total number of edges, counting multiplicities and treating each loop as a single edge: \sum_{v \in V} \deg(v) = 2 |E|.
In a directed multigraph, degrees are distinguished into in-degree and out-degree. The out-degree of a vertex v is the sum of the multiplicities of arcs emanating from v, \outdeg(v) = \sum_{u \in V} \mu^+(v,u), where \mu^+(v,u) denotes the number of arcs from v to u. Similarly, the in-degree is \indeg(v) = \sum_{u \in V} \mu^-(u,v), with \mu^-(u,v) the number of arcs from u to v. A loop at v contributes 1 to both \outdeg(v) and \indeg(v), reflecting its dual role as both outgoing and incoming.
Connectivity in multigraphs extends the notion from simple graphs, accounting for multiple edges that provide redundant paths without altering the fundamental structure of reachability. In an undirected multigraph, two vertices are connected if there exists a path between them, where a path is a sequence of edges (possibly with multiplicities) linking the vertices; multiple edges between the same pair enhance path diversity but do not create new connections. A multigraph is connected if every pair of vertices is connected, and its connected components are the maximal connected submultigraphs, partitioning the vertex set such that multiples within a component strengthen internal paths but do not bridge separate components.
For directed multigraphs, connectivity is assessed via directed paths. A multigraph is strongly connected if there is a directed path from every vertex to every other; otherwise, it has strongly connected components, which are maximal submultigraphs where every pair of vertices has directed paths in both directions. Weak connectivity ignores direction, treating the underlying undirected multigraph; multiple arcs facilitate stronger directed paths within components but follow the same partitioning principles as in undirected cases.
Representations
Adjacency and Incidence Matrices
In multigraphs without distinct edge identities, the adjacency matrix provides a compact algebraic representation by encoding the multiplicity of edges between vertices. For an undirected multigraph G = (V, E) with vertex set V = \{v_1, \dots, v_n\}, the adjacency matrix A is an n \times n symmetric matrix where the entry A_{ij} equals the number of edges \mu(v_i, v_j) connecting v_i and v_j, with non-negative integer values including zeros on the diagonal if no loops are present.[29] Loops at v_i contribute 2 to A_{ii} since they increase the degree by 2, though some conventions count them as 1.[17]
For directed multigraphs, the adjacency matrix A is not necessarily symmetric, with A_{ij} denoting the number of directed arcs from v_i to v_j.[17] This formulation extends the simple graph case by allowing entries greater than 1 to capture parallel arcs, facilitating matrix operations like powers of A to count walks of specific lengths.[29]
The incidence matrix offers an alternative representation emphasizing edge-vertex incidences, particularly useful for multigraphs with multiple edges. For an undirected multigraph with m edges labeled e_1, \dots, e_m, the incidence matrix B is an n \times m matrix with rows indexed by vertices and columns by edges; B_{ij} equals the number of times v_i is incident to e_j, which is 1 for each endpoint of non-loop edges, 2 if e_j is a loop at v_i, and 0 otherwise.[29] Parallel edges receive distinct columns, ensuring each is represented separately. For directed multigraphs, entries are oriented: B_{ij} = 1 if v_i is the tail of arc e_j, B_{ij} = -1 if v_i is the head, and 0 otherwise, again with separate columns for parallel arcs.[29]
When edges possess distinct identities, such as unique labels, standard adjacency matrices lose this information by aggregating multiplicities; instead, representations often index incidence matrices by edge labels for direct correspondence, or maintain separate attribute tables mapping labels to endpoint pairs and properties.[17]
Consider a simple undirected multigraph with vertices \{1, 2, 3\} and edges including two between 1 and 2, one between 2 and 3, and a loop at 3. The adjacency matrix is
A = \begin{pmatrix}
0 & 2 & 0 \\
2 & 0 & 1 \\
0 & 1 & 2
\end{pmatrix},
where the off-diagonal entries reflect multiplicities and the loop contributes 2 to A_{33}.[17] The corresponding incidence matrix, with columns for the four edges (two parallels labeled e_1, e_2 for 1-2; e_3 for 2-3; e_4 loop at 3), is
B = \begin{pmatrix}
1 & 1 & 0 & 0 \\
1 & 1 & 1 & 0 \\
0 & 0 & 1 & 2
\end{pmatrix},
illustrating separate columns for parallels and 2 for the loop.[29]
Edge List Representations
In graph theory, an edge list representation of a multigraph explicitly enumerates all edges as a sequence of pairs, where each pair (u, v) denotes an edge connecting vertices u and v, and parallel edges between the same pair are listed multiple times to account for multiplicity.[30] This approach is particularly straightforward for undirected multigraphs, where the order of u and v in each pair is immaterial, but it requires careful handling to distinguish edges when they possess individual identities, such as through unique edge IDs or attributes appended to each pair (e.g., (u, v, e_i) where e_i is the edge identifier).[31]
An adaptation of the edge list is the adjacency list, where for each vertex, a sublist records its incident edges or neighboring vertices, accommodating multiplicity either by repeating neighbor entries for each parallel edge or by using counts alongside neighbors (e.g., vertex u: [v: 2, w: 1] indicating two edges to v and one to w).[32] This structure facilitates quick access to a vertex's connections, making it suitable for iterative algorithms like traversal or shortest-path computations in multigraphs. For multigraphs where edges have distinct identities, the adjacency list can store tuples including edge keys, such as \{v: \{(e_1, attr_1), (e_2, attr_2)\}\}, allowing differentiation of parallel edges.[31]
Edge list representations are storage-efficient for sparse multigraphs, requiring O(|E|) space proportional to the number of edges rather than the potentially larger O(|V|^2) for denser structures, which is advantageous when the number of edges significantly exceeds the vertices but remains below quadratic density.[30] In practice, building an adjacency list from an edge list involves iterating through the pairs and appending to each vertex's sublist, as illustrated in the following pseudocode for an undirected multigraph:
function buildAdjacencyList(edgeList, V):
adj = {v: [] for v in V}
for (u, v) in edgeList:
adj[u].append(v)
adj[v].append(u) // for undirected
return adj
function buildAdjacencyList(edgeList, V):
adj = {v: [] for v in V}
for (u, v) in edgeList:
adj[u].append(v)
adj[v].append(u) // for undirected
return adj
This construction runs in O(|E|) time, enabling efficient preprocessing for algorithmic use.[32]
For directed multigraphs, the edge list uses ordered pairs (u, v) to indicate direction from u to v, with parallel directed edges listed separately to preserve multiplicity and potential identities.[30] The corresponding adjacency list then stores out-neighbors (or in-neighbors separately if needed), repeating entries or using counts for arcs in the same direction, which supports directed algorithms like reachability analysis while maintaining sparsity efficiency.[31]
Labeling and Weights
Edge Labeling Schemes
In multigraphs, edge labeling schemes assign distinct identifiers or categorical markers to edges to facilitate their differentiation, especially among parallel edges sharing the same endpoints. These schemes typically employ integer labels to uniquely identify each edge, treating the edge set as a collection of labeled objects rather than an anonymous multiset; this approach presupposes that edges possess individual identities, allowing representations like edge lists to reference specific edges via their labels. For instance, in formal definitions of directed multigraphs, the structure is denoted as G = (V, E, \phi), where E is the set of edge labels and \phi maps each label to an ordered pair of vertices, ensuring parallels are distinguishable by their unique labels from E.[17]
Categorical labeling extends this by using symbolic labels to denote edge types or attributes, such as connectivity modes, without implying numerical values. A prominent scheme is edge coloring, where labels are colors assigned to edges such that no two edges incident to the same vertex share the same color, forming a proper edge coloring of the multigraph. The chromatic index, or minimum number of colors required, satisfies Vizing's theorem for multigraphs, which generalizes the simple graph case by stating that \Delta(G) \leq \chi'(G) \leq \Delta(G) + \mu(G), where \mu(G) is the maximum multiplicity; furthermore, Shannon's theorem strengthens this bound, guaranteeing a proper coloring with at most \frac{3}{2}\Delta colors for any multigraph.[33][34] These schemes ensure that parallel edges can receive different colors if they are adjacent (i.e., share a vertex), maintaining the coloring's validity.
Injective labeling imposes stricter constraints, requiring that no two parallel edges between the same vertex pair receive identical labels, thereby enforcing uniqueness within each bundle of parallels while allowing reuse across non-parallel edges. This is particularly useful in combinatorial contexts where edge distinctions must be preserved without conflicts at vertices. For example, consider a multigraph modeling a transportation system between two hubs, where parallel edges are injectively labeled as "highway" and "local road" to categorize distinct route types, ensuring each parallel retains a unique identifier for analysis. Such schemes underpin efficient algorithmic handling of multigraphs in computational graph theory.[35]
Weighted Multigraphs
A weighted multigraph is a multigraph equipped with a weight function w: E \to \mathbb{R} that assigns a real number to each edge, enabling the modeling of quantitative attributes such as distances, costs, or capacities on edges, including distinct weights on parallel edges between the same pair of vertices.[36] This extension preserves the allowance for multiple edges while incorporating numerical values to differentiate parallels, as seen in applications where parallel edges represent alternative routes with varying metrics.[36]
Representations of weighted multigraphs adapt standard formats to accommodate weights. In an adjacency matrix, the entry for vertices u and v may store the sum of weights of all edges between them, facilitating computations like total connection costs, or alternatively, a list or multiset of individual weights for precise tracking of parallels.[36] Weighted edge lists, consisting of triples (u, v, w(e)) for each edge e from u to v with weight w(e), provide an efficient alternative, especially for sparse graphs with multiple weighted parallels, as they explicitly enumerate all edges without matrix overhead.[36]
Key properties of weighted multigraphs involve aggregating weights along structures. The total weight of a path is the sum of the weights of its constituent edges, allowing analysis of cumulative metrics like overall cost or length.[36] Analogs to minimum spanning trees exist, where a minimum-weight spanning tree is a cycle-free connected subgraph spanning all vertices with the minimal sum of edge weights, applicable to multigraphs by treating parallel edges as distinct options in selection processes.[36]
For example, consider a transportation network with vertices representing cities A, B, and C, where A and B are connected by two parallel edges with weights 3 and 5 (representing travel costs in millions), B and C by one edge of weight 4, and A and C by one edge of weight 7; the minimum-weight spanning tree might select the cheaper A-B edge (weight 3), the B-C edge (weight 4), and omit the A-C edge, yielding a total weight of 7 for connectivity.[36]
Applications
Network and Transportation Modeling
Multigraphs are particularly useful in transportation modeling, where they represent road or rail systems with parallel routes between locations, allowing multiple edges to capture alternative paths such as highways, local roads, or service lanes. Each edge can be assigned weights corresponding to travel times, distances, or costs, enabling optimization algorithms to select routes that balance efficiency and constraints like time windows. For instance, in the vehicle routing problem with time windows (VRPTW), a directed multigraph models the road network by including parallel arcs between nodes (e.g., depots, junctions, and customer sites), where each arc reflects different travel options with associated time and cost attributes to ensure feasible deliveries within specified intervals.[37] This approach enhances solution quality by incorporating real-world network details, such as varying speeds or tolls, compared to simpler graphs that aggregate paths.[37]
In communication networks, multigraphs model infrastructure like fiber optic cables or wireless links between nodes (e.g., routers or base stations), where multiple parallel edges represent redundant or diverse connections to improve reliability and bandwidth. Directed multigraphs are often employed to account for asymmetric data flow, with edges oriented to indicate unidirectional transmission paths, facilitating analysis of traffic routing and fault tolerance. For example, in telecommunication systems, parallel directed edges can simulate multiple transmission lines between exchanges, weighted by latency or capacity, to optimize signal propagation and network resilience.
Social networks benefit from multigraphs when modeling multiple relation types among actors, such as friendships, professional collaborations, or family ties, represented as labeled parallel edges on the same vertex set to preserve relational diversity without aggregation. This structure allows for the examination of interdependencies between relations, like how financial ties influence social bonds, using edge multiplicities to quantify interaction intensity. Labeled multigraphs thus provide a nuanced view of relational complexity, supporting analyses of influence propagation or community formation.[38]
A representative example of multigraph application in urban traffic modeling is the representation of city road systems as an undirected multigraph, where nodes denote intersections and parallel edges capture multiple lanes or pathways. In such models, super-nodes aggregate complex structures like roundabouts, connecting multiple incoming and outgoing edges to simulate vehicle circulation and merging, while weights on edges reflect speed limits or congestion levels for realistic flow predictions. This setup aids multiagent simulations by allowing agents to navigate alternatives while avoiding infinite loops through path-tracking mechanisms.
Combinatorial and Scheduling Problems
Multigraphs play a significant role in combinatorial optimization, particularly in edge coloring problems, where the goal is to assign colors to edges such that no two adjacent edges share the same color. The chromatic index, denoted \chi'(G), represents the minimum number of colors needed for a proper edge coloring of a multigraph G. For simple graphs, Vizing's theorem establishes that \chi'(G) = \Delta(G) or \Delta(G) + 1, where \Delta(G) is the maximum degree. This result extends to multigraphs, where Vizing and independently Gupta proved that \chi'(G) \leq \Delta(G) + \mu(G), with \mu(G) denoting the maximum multiplicity of edges between any pair of vertices; here, \Delta(G) accounts for multiple edges in degree calculations, ensuring the bound reflects the multiplicity-adjusted structure.[39] Multigraphs are classified as Class 1 if \chi'(G) = \Delta(G) and Class 2 otherwise, up to the upper bound \Delta(G) + \mu(G), which is tight for certain constructions like odd cycles with doubled edges.[40]
Eulerian paths and circuits in multigraphs address the problem of traversing every edge exactly once, a fundamental enumeration challenge. In an undirected connected multigraph, an Eulerian circuit exists if and only if every vertex has even degree, with multiplicities contributing additively to degrees. An Eulerian path (which may be open) exists if and only if exactly zero or two vertices have odd degree, again incorporating multiple edges into the degree parity check. These conditions generalize Fleury's algorithm for construction, where traversing multiple edges between vertices requires careful ordering to avoid premature dead ends, highlighting how multiplicities increase the complexity of path enumeration without altering the core parity criterion.[41]
In scheduling applications, edge coloring of multigraphs models resource allocation where multiple identical tasks or jobs between entities require distinct time slots to avoid conflicts at shared resources. Each color corresponds to a time slot, and the chromatic index determines the minimum number of slots needed; for instance, multiple jobs between the same pair of tasks form parallel edges, necessitating at least \mu(G) colors for those alone, while the full \chi'(G) bounds the schedule length. This approach is widely used in parallel processing and timetabling, where Vizing's bound guarantees feasible schedules within \Delta(G) + \mu(G) units. A representative example is scheduling parallel flights between airports: vertices represent airports, multiple edges denote repeated flights on the same route, and edge coloring assigns departure times such that no two flights from or to the same airport occur simultaneously, ensuring runway and airspace availability.[33][42]