Augmenting path in a matching Created 2026-10-06 Updated 2026-10-14
An augmenting path in a matching is a nonempty alternating path in a matching with distinct endpoints that are both unmatched vertices in a matching. Its first and last edges lie outside . Thus it has unselected edges and selected edges, for some . Taking the symmetric difference
removes the selected edges on and inserts its unselected edges. Each internal vertex exchanges one selected edge for another; each endpoint gains its first selected edge. All choices away from stay in place, so is a matching in a graph with .[ref]
For an explicit repair, let the path graph have vertices in that order and start with
The endpoints and are initially unmatched vertices in a matching. Along the edges are outside, inside, outside, inside, outside . Remove and , then add together:
This raises the cardinality from two to three and gives a perfect matching. Six vertices allow at most three disjoint pairs, so it is also a maximum cardinality matching. The initial is already a maximal matching: every unused edge touches a matched vertex. Augmentation succeeds because it can replace earlier choices instead of only adding to them.
Figure 1.
The augmenting path in a matching on P₆ replaces two selected edges by three using symmetric difference
. Details.
One unused edge joining two unmatched vertices in a matching is the shortest possible augmenting path in a matching. Longer augmenting paths in a matching reassign several partners, explaining why a stalled greedy matching need not be optimal. For edge benefits , the change in total benefit is
which need not be positive even though the cardinality increases. A maximum-weight matching therefore needs a different optimality test. In an assignment equality graph an augmenting path in a matching moves toward a perfect matching while preserving zero reduced costs on matched edges; this is the setting used by the Hungarian algorithm.
Branch point of a tree 2026-11-05
A branch point of a tree is a vertex of vertex degree at least three in the underlying undirected tree. Removing it separates the remaining tree into at least three connected components of a graph. This is a structural property of the graph, independent of which root of a tree is chosen.
The component count has a short proof. If has neighbors, each neighbor belongs to a component of . Two different neighbors cannot remain connected there, because that connecting graph path together with their two edges to would form a graph cycle. Every remaining vertex reaches one of the neighbors along its original route to . Hence has exactly components. The proof uses the unique-path property of a tree.[ref]
For an original example, take . Vertex has degree three, and deleting it leaves the three singleton components . Rooting at gives two children. Rooting at gives the root three children. Its undirected degree remains three in both cases.
The distinction matters at a root with only two children: its degree is two, so it does not meet this article's branch-point convention, even though a rooted drawing visibly splits there.
For a finite tree with at least two vertices, the degree-sum formula also gives
where counts degree-one tree leaves. Subtract two per vertex from : degree-one vertices contribute−1, degree-two vertices contribute zero, and branch points contribute their excess above two. A degree-four hub therefore gives . A crossing in a drawing contributes nothing unless it is actually a graph vertex.
Chromatic index 2026-10-14
The chromatic index , also called the edge chromatic number, is the least number of labels in a proper edge colouring of a finite undirected graph without self-loops. Equivalently, it is the smallest number of matchings in a graph whose set partition covers all the edges. We take when there are no edges. For an arbitrary edge colouring, one colour always suffices whenever an edge exists, so properness is essential to this definition. The chromatic number instead colours vertices.[ref]
To establish an exact chromatic index, supply both a proper edge colouring and a reason that fewer colours cannot work. Every edge at a fixed vertex must have its own colour, giving the lower bound , where is the maximum degree of a graph. The bound need not be attained: it counts a single resource's workload, while conflicts can also accumulate around a graph cycle.
Figure 1.
Worked proper edge colourings: a triangle in a graph needs three colours, while an even cycle graph needs two
. Numbers beside edges are colour labels; letters at dots are vertices. Both graphs have maximum degree of a graph two. The triangle in a graph has three pairwise conflicting edges, while opposite edges of the square can share a colour. Details.
For the triangle in a graph with edges , every pair of edges shares a vertex, so all three require different labels. The assignment works, proving although . In its line graph, those three edges become a three-vertex clique. Treating this as three pair-resource jobs makes the obstruction tangible: each resource has only two jobs, but every pair of jobs conflicts, so no slot can contain two jobs.
For the square cycle graph with edges , use and . Each colour class is a matching in a graph, and each vertex has one edge of each colour. Since , this proves . More generally, alternation closes on any even cycle graph , . On an odd cycle , , two-colour alternation would make the last and first edges share a colour at their common vertex; a third colour on the last edge suffices. Thus even cycle graphs have chromatic index two and odd cycle graphs have chromatic index three. These exact examples show why maximum degree of a graph alone does not determine the answer.
Chromatic index bounds 2026-10-14
For every finite simple graph, Vizing's theorem gives
Here is the maximum degree of a graph, taken as zero when there are no vertices. A bipartite graph has the stronger equality . The six-job complete bipartite graph above attains this lower bound, while the triangle in a graph attains the extra-colour alternative. The simple-graph restriction in the upper bound matters.[ref]
The bipartite graph equality still holds for finite loopless multigraphs, with parallel edges counted separately in each vertex degree. For instance, parallel jobs between two resources need exactly slots: every pair conflicts, and . For a general finite loopless multigraph, however, the simple graph upper bound can fail. Put two parallel edges on each side of a triangle in a graph. All six edges pairwise share a vertex, so each needs its own colour; every vertex has degree of a vertex four. Consequently . A multiplicity-aware bound is , where is the largest number of parallel edges between a pair of vertices. The doubled triangle in a graph has and attains that bound. These statements exclude self-loops; the two-distinct-resource scheduling model excludes them too.[ref]
For historical orientation, Graph Theory by Reinhard Diestel (Colouring preview, §5.3, p. 132) dates the bipartite equality to 1916 and Vizing's theorem to 1964. These are textbook attributions; the original papers have not been inspected here. The results state existence of optimal or nearly optimal proper edge colourings, rather than saying that arbitrary greedy choices will find them. The list-chromatic index asks the further question of success for every sufficiently large family of allowed-colour lists.
Complete graph Created 2026-09-24 Updated 2026-10-14
A complete graph is a simple graph in which every two distinct vertices are joined by an edge. The finite complete graph on vertices is denoted . Here the edges are undirected, and self-loops are excluded. The usual pictures below use : is a single vertex, a single edge, and a triangle in a graph.[ref]
Completeness describes all the possible pairs, rather than a drawing style. Different layouts can represent the same graph through a graph isomorphism. Crossing lines away from the drawn vertices do not add new vertices or edges.
Figure 1.
Complete graphs with one through five vertices
. Each original drawing joins every pair of distinct vertices exactly once. The complete graphs have respectively edges. Intersections of drawn lines in the panel are not additional vertices. Details.
There are unordered pairs of distinct vertices, so this is the edge count of a complete graph. Each vertex has vertex degree . The degree-sum formula gives the same count: . These formulas make a complete graph the upper extreme for edge counts among simple graphs of a fixed size.
This is useful when modelling pairwise relationships. If every pair of objects needs its own direct connection, ten vertices require edges, while twenty require . Adding one more vertex to introduces further edges. This counts a specified direct-link model; it does not require every communication system to implement every relationship with a separate physical connection.
A proper vertex coloring of must give every vertex a different color, so its chromatic number is . For , its independence number is : two distinct vertices already have an edge between them. Thus complete graphs provide immediate test cases for graph coloring and independent sets.
Suppose each job occupies two distinct resources for one whole slot, and each resource can serve at most one job in that slot. Make resources vertices and jobs edges. Two jobs conflict exactly when their edges share a vertex, so a valid schedule is a proper edge colouring. Each slot is a matching in a graph; the chromatic index is the minimum number of slots. The colour labels specify the slots, rather than physical colours. This model assumes all jobs are available initially, with equal duration, interchangeable slots and no additional conflicts. The school-timetable motivation in Graph Theory by Reinhard Diestel (author-hosted Colouring preview, opening paragraphs, pp. 123–124) uses this resource-pair interpretation.
Here is a complete example. Two technicians must each use three instruments once. Each job needs its technician and its instrument simultaneously. The six jobs are the edges of the complete bipartite graph :
Within each , the two jobs use different technicians and different instruments, so is a matching in a graph. The three matchings in a graph together cover every job exactly once. Technician has three jobs, so fewer than three slots cannot suffice; the displayed schedule uses three. This is an optimal proper edge colouring with chromatic index three, witnessed by both a schedule and a resource-workload lower bound.
Figure 1.
Six jobs on a complete bipartite graph become three scheduling slots, each a matching in a graph
. The vertices are resources, and each numbered edge is one job. The slot table uses the same colour labels as the proper edge colouring. A technician or instrument appears at most once within a column. Crossings of drawn edges introduce no resource and no conflict. Details.
Repeated jobs requiring the same resource pair become distinct parallel edges of a multigraph, rather than one edge. Additional restrictions change the problem: prescribed allowed slots lead to list edge coloring, while unequal durations, deadlines, or jobs needing more than two resources require a richer scheduling model. Selecting a largest matching in a graph solves a single-round question; a shortest complete schedule must organize all jobs across rounds.
Chapter 6 of Graph Theory by Reinhard Diestel, by Reinhard Diestel. Springer publishes the book; the author’s University of Hamburg site hosts the preview. No edition, publication year or revision date is established from this preview.
Cited passages: Chapter 6 opening, printed p. 155 (PDF p. 1): signed amounts and nonterminal conservation.; §6.2, printed p. 158 (PDF p. 4): independently specified orientation capacities, conditions F1/F2′/F3 and source/sink cut definition.; §6.2, printed p. 159 (PDF p. 5): Proposition 6.2.1, cancellation proof, total-value definition, footnote 4 on negative values, capacity upper bound and Theorem 6.2.2..
Hall allocation model 2026-10-14
In a unit-capacity assignment problem, left vertices represent demands and right vertices represent individually usable resources; an edge records compatibility. All constraints must be encoded by those allowed pairs and by using each resource at most once. Hall's marriage theorem decides feasibility. Costs belong to an additional mathematical optimization problem; precedence between jobs or requirements for consecutive slots need additional modelling.
The authored Notes on the design of a conference scheduler by David R. MacIver (Implementation, 7 August 2022) illustrates a Hall obstruction with four talks confined to three slots. With one talk per slot, that subset has size four and a graph neighbourhood of size three. An unused slot outside its graph neighbourhood does not remove the bottleneck. In the three-job example above, the same scheduling model instead has two complete assignments.
The allocation exercise in Graph Theory by Reinhard Diestel (Matching, Covering and Packing, printed p. 20, Exercise 9) asks for disjoint subsets of prescribed nonnegative integer sizes . Replace demand by left vertices with allowed resource set . Hall's marriage theorem gives exactly the condition
For a numerical instance, let , , and . The separate demands and their combined demand fit, and works. Raising to two leaves both individual tests valid but demands four distinct resources from a set union of size three. This is the same collective obstruction with repeated demand vertices.
Hall's marriage theorem Created 2026-10-14 Updated 2026-10-14
For a finite bipartite graph with disjoint left and right vertex sets, Hall's marriage theorem characterizes when distinct allowed partners can be chosen for every left vertex. A matching in a graph with matching saturation of exists if and only if every subset satisfies
The graph neighbourhood counts distinct right vertices, rather than edges or repeated choices. This is the Hall condition. Its failure supplies a concrete Hall obstruction. Necessity follows because the chosen partners of are distinct members of ; sufficiency is the surprising assertion that these collective counts rule out every obstacle.[ref]
The right side may be larger: matching saturation of leaves right vertices unmatched. Only when does a matching in a graph saturating automatically become a perfect matching. For a specified subset , apply the same criterion only to , using the induced subgraph on . The remaining left vertices need not be matched. The empty set gives ; if is empty, the empty matching in a graph suffices.
Consider a scheduling model with three unit-duration jobs and four available slots on one machine. Each job needs exactly one slot, each slot accepts at most one job, and the allowed slots are
The bipartite graph below admits , a matching in a graph saturating all jobs while leaving slot unused. It is not a perfect matching of the seven-vertex graph. A greedy choice initially blocks , but the augmenting path in a matching replaces by ; subsequent assignment of succeeds. A bad partial choice is not an impossibility certificate.
Figure 1.
A matching in a graph saturates all three jobs and leaves one of four slots unused
. Thick blue edges are ; thin grey edges are other allowed assignments. Crossings are not vertices. Details.
There are eight subsets of . Listing each graph neighbourhood makes the all-subset requirement explicit:
00
12
11
13
22
24
24
34
There are exactly two matchings in a graph saturating : and . Job forces slot , then job forces slot , leaving two choices for .
Independence number Created 2026-10-03 Updated 2026-10-14
The independence number is the largest cardinality of an independent set in a finite simple graph:
It answers "how many mutually compatible objects can be selected at once?", while the chromatic number asks how many compatible groups are needed for all the vertices. Diestel uses this notation for a largest independent set.[ref]
For the cycle graph , the independent set shows that . Three selected vertices would require at least three unselected vertices separating them around the cycle graph, which has only five vertices. Thus . There are five largest independent sets, obtained by rotating around the cycle graph, and five corresponding minimum vertex covers.
For the complete bipartite graph , an independent set cannot contain a vertex from each side, since every such pair is joined by an edge. The larger side has three vertices, so . A triangle in a graph has independence number one. A graph with no edges and vertices has independence number , including when .
The complement correspondence between vertex covers and independent sets gives, with ,
Every extra vertex that can be left in an independent set is one fewer vertex needed in a minimum vertex cover. This identity holds for all finite simple graphs, including the triangle in a graph and the cycle graph ; it does not require the bipartite graph hypothesis of Kőnig's theorem for bipartite matching.
For a nonempty graph, every colour class of a proper vertex colouring contains at most vertices. Counting all the vertices therefore gives
Since the chromatic number is an integer, the bound rounds up: for the cycle graph , . It is attained by assigning colour to , colour to , and colour to . All five edges, including , have differently coloured endpoints.
Kuratowski's theorem 2026-10-14
A finite simple graph is a planar graph if and only if it contains no graph subdivision of the complete graph or the complete bipartite graph as a subgraph; equivalently, neither is a topological minor. The easy direction follows by tracing each replacement graph path as one drawn edge. The converse asserts that every failure of planarity contains one of these two patterns.[ref]
Graph Theory by Reinhard Diestel (Planar Graphs preview, §4.4, Theorem 4.4.6, printed p. 111) dates Kuratowski's theorem to 1930 and the equivalent graph minor characterization to 1937. These dates are that textbook's historical attribution.
Mantel theorem Created 2026-09-24 Updated 2026-10-14
The complete bipartite graph has vertex sets and , with every edge between and and none inside either part. Its six vertices support edges and no triangles in a graph: among any three vertices, two belong to the same independent set and have no joining edge.
Figure 1.
The sharp nine-edge triangle-free graph and the three triangles in a graph created by adding
. Details.
Add the single edge . Each is a common neighbour of its endpoints, producing the triangle in a graph . These are exactly the three new triangles in a graph, because every triangle in a graph must use the only edge inside a part. The new count is ten edges; nine was the last possible count without a triangle in a graph on six vertices.
In general, every simple graph with a finite set of vertices that is triangle-free has at most
edges. This is the case of Turán's theorem, with forbidden clique . Equality holds exactly for the balanced complete bipartite graph , up to graph isomorphism; empty parts are allowed for .[ref]
The floor function gives the exact integer bound. Splitting vertices into two independent sets of sizes and , and putting in every cross edge, gives
The count is largest when is an integer nearest . For it is ; for it is . Both equal . This proves attainability for every , including the empty graph.
A short proof of the upper bound uses degrees of vertices. In a triangle-free graph, the endpoints of an edge have disjoint vertex neighbourhoods: a common neighbour would complete a triangle in a graph. Thus . Summing over edges counts once for each of the edges incident to , giving
For , the Cauchy-Schwarz inequality and handshaking lemma yield
If , division gives ; is immediate. Since is an integer, apply the floor function. The case is immediate too. This proves the bound; the full equality characterization follows from Turán's theorem.
The useful reversal is that more than edges force a triangle in a graph, whatever their placement. A global count certifies a local pattern. The extremizer is bipartite, but a triangle-free graph need not be bipartite: a five-vertex graph cycle has five edges, below the bound of six. Historically, Willem Mantel posed the triangle-exclusion question in 1907.[ref]
Matching (graph theory) Created 2026-10-14 Updated 2026-10-31
A matching in a graph is a set of edges of an undirected graph with no shared endpoints: each vertex has capacity for at most one selected edge. It describes simultaneous compatible pairs, such as jobs assigned to distinct available workers, or tasks each occupying two resources that cannot be shared. The empty set is a valid matching in a graph.[ref]
For a finite simple graph , write when is selected and otherwise. The vertex capacity constraint is exactly
These are constraints on a discrete selection, not a requirement that every vertex be used. A matching in a graph with matching saturation of all vertices is a perfect matching; an unmatched vertex in a matching uses none of its capacity.
The objective must be specified separately. A maximum cardinality matching selects as many edges as possible; a maximum-weight matching selects the greatest total benefit; a minimum-weight perfect matching minimizes cost while requiring every vertex to be paired. A maximal matching only says that no additional edge fits alongside the current choices. The four-vertex path graph below separates these notions: choosing the middle edge blocks both outer edges, yet replacing it by those two edges pairs more vertices.
This model is useful because conflicts are local at vertices, while the quality of a selection can depend on coordinated changes along a whole augmenting path in a matching. A greedy matching gives a quick feasible selection; Berge's theorem explains when searching for such changes has reached a maximum cardinality matching. Repeating the pairing problem over time leads instead to proper edge colouring, where each time slot is a matching in a graph.
Maximal clique Created 2026-10-14 Updated 2026-10-14
A maximal clique is a clique not strictly contained in another clique. This is distinct from a maximum clique, whose size equals the clique number. In a triangulated probabilistic graphical model, maximal cliques are the natural nodes of a junction tree.
Maximality is a condition on set inclusion: no outside vertex is adjacent to every member of the current clique. In the five-vertex example, is maximal because are not adjacent to , while is not adjacent to . Yet is larger. Checking every possible one-vertex extension is enough: if a larger containing clique existed, any one of its new vertices could already be added.[ref]
Reinhard Diestel Created 2026-10-13 Updated 2026-11-05
Reinhard Diestel authored a graph-theory text developing structural and algorithmic questions about vertices, edges and connectivity. Its treatment of flows connects local capacity constraints with global cuts and routes through a network.[ref]
Figure 1.
Portrait of Reinhard Diestel
. Via Wikimedia Commons; credits and usage information are on the linked source file page. Source.
Rooted tree leaf 2026-11-05
A node with no children in a rooted tree. This depends on the chosen root: the root of a nontrivial tree can have undirected vertex degree one while still having a child and therefore not being a leaf in the rooted sense. In a single-node rooted tree, the root is a leaf. The distinction matters when counting the complement of the internal vertices of a rooted tree.
With every edge directed away from the root of a tree, a rooted tree leaf has outdegree zero.[ref]
For an original example, take and choose root. The children of consist of, and the children of are. Thus are the rooted leaves. Vertex has undirected degree one but has a child, so it is not a rooted leaf in this rooting.
For a nonroot vertex, one incident edge goes to its parent in a rooted tree, and all remaining incident edges go to children. Therefore
The root instead satisfies . A nonroot vertex is consequently a rooted leaf exactly when its undirected degree is one. The root is a rooted leaf exactly when the entire connected tree has one vertex.
Changing the root can change leaf membership without changing any edge. On the three-vertex path, rooting at gives one rooted leaf, while rooting at gives two, .
A finite rooted tree always has a leaf: take a vertex maximizing its graph distance from the root. Any child would lie one edge farther away, contradicting maximality. An infinite ray rooted at its endpoint has a child at every vertex and supplies the corresponding counterexample to an unrestricted infinite-tree claim. Rooted terminal points and endpoints of an unrooted graph therefore need their conventions stated explicitly.
Root-to-leaf path 2026-11-05
A root-to-leaf path is the unique simple graph path from the root of a tree to a rooted tree leaf. Successive vertices follow parent-to-child relationships. If the rooted tree has only one vertex, its root is also its leaf and the path has zero edges.[ref]
For an original example, root the tree with at. Its rooted leaves are, and its complete root-to-leaf paths are
Their lengths are two and three edges. The first two vertices form a shared prefix; the shared route ends at before the paths enter different descendant branches. Counting only the endpoint labels would omit that shared ancestry.
Uniqueness follows from the absence of a graph cycle. Two different simple routes from the root to one leaf would separate and later rejoin, producing a cycle. Conversely, following a leaf's successive parent in a rooted tree backward must recover its one root path.
If all vertex identities and complete root-to-leaf paths of a finite tree are known, their consecutive vertex pairs recover its edges. Every vertex lies on such a path: from it, keep selecting a child until finiteness forces a leaf. A list of path lengths alone supplies much less information; it discards vertex identities and the locations where paths share prefixes.
The edge count is the endpoint's depth in an unweighted rooted tree. A drawing's Euclidean arc length or a sum of assigned edge lengths is an additional measurement. Two drawings of the same rooted tree can therefore have identical root-to-leaf vertex lists and different geometric lengths.
Turán graph Created 2026-09-29 Updated 2026-10-14
The Turán graph is a complete multipartite graph with independent sets of sizes differing by at most one, with every cross edge present. Empty parts are allowed when .[ref]
Figure 1.
The Turán graph has three independent sets of sizes , giving edges and no four-vertex clique
. Details.
In this example, the independent sets are , and . Count the edges between each pair of parts:
Any four vertices put at least two in the same independent set, by the pigeonhole principle, so they cannot form . Conversely, every choice of one vertex from each part is a triangle in a graph, giving triangles in a graph. Clique exclusion here does not mean triangle-free.
For the exact count, Euclidean division writes , where uses the floor function and is the remainder, with . There are parts of size and of size . For any part sizes summing to , count cross edges by expanding the square:
Therefore
For , we have , giving . The Quadratic Turan edge bound gives instead: the exact correction subtracts .
Balancing is an integer optimization with a simple reason. If two part sizes satisfy , moving one vertex from the larger part to the smaller decreases their contribution to the sum of squares by
so it increases the edge count by . For eight vertices, parts give edges; moving one vertex produces and edges. The most symmetric permitted sizes pack the most cross edges, which explains the sharp construction in Turán's theorem.
Turán's theorem Created 2026-10-14 Updated 2026-10-14
How many edges can we retain while excluding a prescribed clique? For integers and , every simple graph on vertices containing no complete subgraph satisfies
Equality holds exactly for the Turán graph , up to graph isomorphism. Thus the extremal number is .[ref]
For example, has independent sets of sizes and edges, as counted in Turán graph. It contains triangles in a graph, but no four-vertex clique. Consequently any simple graph on eight vertices with edges contains , while edges alone do not force one. Excluding larger cliques permits denser graphs; Mantel theorem is precisely the first nontrivial case.
A short proof outline uses Zykov symmetrization. If an extremizer is not a complete multipartite graph, it has vertices with absent and present. If either or has larger vertex degree than , clone that vertex in place of . Otherwise replace both by nonadjacent clones of , gaining edges. Both contradict extremality; balancing the resulting at most parts gives .[ref]
The vertex cloning in a graph step preserves clique exclusion because any clique using a clone can substitute its original vertex; nonadjacent clones cannot occur together in a clique. At most parts can be nonempty, since selecting one vertex from each gives a clique. If fewer than parts are nonempty and one has at least two vertices, splitting it creates more edges, so it cannot be extremal. For the bound is zero. For , the Turán graph is , and the bound is the total possible edges.