Past exam of the mathematics course of the University of Cambridge 2018 ii Paper 1 17I c Solution Created 2026-09-24 Updated 2026-10-03
First consider a -free bipartite graph with parts , each of size at most , and edges. Count pairs in which is a -element subset of the graph neighbourhood of . Any vertices of have at most common neighbours, since common neighbours would form the complete bipartite graph . ConsequentlyIf the average degree of a vertex is bounded in terms of , then and the required result is immediate. Otherwise, convexity of and the preceding inequality giveand hence . Every graph has a bipartite spanning subgraph containing at least half its edges, obtained by choosing a random bipartition. Applying the bipartite estimate to that subgraph proves the Kővári–Sós–Turán theorem in the required form:
The stated "nice" subsets of the finite cyclic group are Sidon sets. Ifthen . Niceness forces ; the alternative pairing would force . Thus the ordered nonzero differences are distinct elements of the nonzero residue classes. Thereforeso
Past exam of the mathematics course of the University of Cambridge 2023 ii Paper 4 17H b Solution Created 2026-09-24 Updated 2026-09-25
The Hall marriage theorem says that a bipartite graph with classes has a matching saturating if and only ifwhere is the graph neighbourhood of . Necessity follows because the matching sends the vertices of to distinct vertices of .
For sufficiency, add vertices , join to every vertex of , and join every vertex of to . Let be an - vertex separator, and write and . If an edge joined a vertex of to a vertex of , it would give an - path avoiding . HenceHall's condition givesand therefore . By Menger theorem, there are internally vertex-disjoint - paths. Each has the form with and ; disjointness makes all the and all the distinct. Their middle edges form a matching saturating .
Perfect elimination ordering 2026-10-14
A perfect elimination ordering of a finite simple graph is a permutation of its vertices such that each set of later graph neighboursis a clique. Thus is a simplicial vertex in the remaining induced subgraph . Empty and one-vertex sets satisfy the clique condition automatically. The order here is the order of deletion: goes first.
The characterization is powerful: a finite simple graph is a chordal graph if and only if it has a perfect elimination ordering. For one proof outline, the earliest vertex of an induced cycle of length at least four would have two later graph neighbours on that graph cycle that are not adjacent, contradicting the clique condition. Conversely, every nonempty chordal graph has a simplicial vertex, and every induced subgraph of a chordal graph is a chordal graph; repeatedly deleting such a vertex supplies the ordering.[ref]
In the square-plus-diagonal chordal graph above, is a perfect elimination ordering, with later graph neighbourhoods , , , and . Starting instead with fails: its graph neighbours do not form a clique, because is absent. Thus even a chordal graph can have a poor elimination ordering.
For a larger example, join three triangles along shared edges, usingThe exact graph neighbourhoods are , , , , and . The ordering has later graph neighbourhoods , , , , and , all cliques; this certifies that the graph is a chordal graph without enumerating its graph cycles. Its maximal cliques , , form a junction tree in that order, with intersections and .
A perfect elimination ordering removes three overlapping triangles without fill-in; choosing the central vertex first adds three edges
. Details. To find an ordering, maximum cardinality search starts with all scores zero, repeatedly selects an unselected vertex of largest score, and increases each unselected graph neighbour's score by one. Reverse the selection order to obtain a candidate perfect elimination ordering. For the three-triangle graph, one valid selection sequence is , with scores at selection ; reversing it gives the displayed deletion order. On a chordal graph every tie choice works. On an arbitrary graph, test the resulting later graph neighbourhoods for the clique condition to recognize chordal graphs. Suitable adjacency lists, score buckets and a linear-time verification method give recognition.[ref]
The deletion rule also explains sparse Gaussian elimination. For a symmetric positive-definite matrix whose matrix graph is , eliminating pivot applies the Schur complement updateOnly pairs of remaining graph neighbours of can acquire new off-diagonal entries. A perfect elimination ordering already has all those edges, so Cholesky decomposition creates no symbolic fill-in. Positive definiteness ensures nonzero pivots in exact arithmetic. Special numerical cancellation can suppress predicted entries, and floating-point rounding affects their values.[ref]
Chordal Graphs and Semidefinite Optimization by Lieven Vandenberghe and others. §9.1; equation 9.2; Theorem 9.1
In the three-triangle graph, deleting first instead connects every pair in and adds exactly . The graph was already a chordal graph; the extra fill-in comes from the ordering.One further reward is optimal graph coloring. Process a perfect elimination ordering backwards and give each vertex the smallest positive color absent from its already colored graph neighbours. Those graph neighbours form a clique, so this greedy algorithm uses at most the clique number colors; any clique of that size requires at least that many. In the three-triangle graph, coloring gives colors , so both the chromatic number and the clique number are three. Every maximal clique also occurs among : take its earliest vertex and use maximality. The same ordering therefore supports graph coloring, maximal clique extraction and sparse computation.
Historically, Donald J. Rose, Robert E. Tarjan and George S. Lueker's 1976 paper connected graph elimination to symmetric sparse matrices and gave a search-based algorithm for finding a perfect elimination ordering when one exists. Its abstract distinguishes a minimal elimination ordering from a minimum one: removing avoidable fill-in does not by itself minimize the total number of added edges.[ref]
Simple random walk Created 2026-09-24 Updated 2026-10-14
A simple random walk on a locally finite graph chooses each vertex in the current vertex's graph neighbourhood with equal probability, assuming there is at least one available neighbour. On the integer line there are two choices, one unit left or right, so each has probability . This is the one-dimensional simple symmetric random walk. Terminology varies: a simple random walk on the integer line is also often allowed unequal step probabilities, with “symmetric” specifying the fair case.
For a simple symmetric random walk starting at , each increment has the Rademacher distribution, with expected value zero and variance one. Thus linearity of expectation and the variance of a sum of independent random variables giveFor example, after steps the expected value is zero, the variance is , and the standard deviation is . Doubling the typical distance scale takes four times as many steps. This square-root growth explains why a random walk can wander far even when there is no preferred direction.
Four fair and two biased unit-step random-walk paths, with their expected values and bands one standard deviation wide on either side.
Details. The colored curves are illustrative sample paths, not averages over all possible walks. The dashed curves show the expected values; the shaded bands show the expected value plus or minus one standard deviation at each time. These bands are a scale of spread, not confidence intervals, and give no guarantee that an entire sample path stays inside them.
Zero expected value does not make this a stationary process: its one-time probability distribution changes with , as the increasing variance already proves. It does have stationary increments and independent increments, because blocks of fresh steps have the same probability distribution at any starting time and disjoint blocks use independent random variables. This separation of position from increment is one reason the random walk is such a useful first example of a stochastic process.
Simplicial vertex (graph theory) 2026-10-14
A simplicial vertex is a graph vertex whose graph neighbourhood is a clique. Every isolated vertex and every leaf of a graph qualifies. In the three-triangle chordal graph, initially qualify, but only becomes a simplicial vertex after deleting . This is a property of adjacency in a graph; a vertex of a simplicial complex is an element of a different kind of structure.
Spanning subgraph 2026-10-03
A spanning subgraph retains every vertex of the original graph and some or all of its edges. Adding the omitted edges can only enlarge the graph neighbourhood and the external vertex boundary of each fixed vertex set.

