3-SAT reduction to vertex cover Created 2026-10-07 Updated 2026-10-14
A polynomial-time many-one reduction represents each variable by an adjacent literal pair and each clause by a triangle in a graph. Connect each occurrence vertex to its corresponding literal vertex. A vertex cover of size must choose one literal vertex per variable and two vertices per clause, and its omitted clause vertex forces a true literal. Conversely a satisfying Boolean valuation supplies such a cover. This establishes NP-hardness of the vertex-cover decision problem from 3-SAT.
Bipartite vertex cover Created 2026-09-24 Updated 2026-10-14
König's theorem equates the minimum vertex-cover size of a bipartite graph with its maximum matching size.
Dominating set 2026-10-24
A dominating set of a graph is a vertex subset such that every unselected vertex has a neighbour in . Equivalently every vertex lies in or is adjacent to an element of . This condition differs from vertex cover, which requires every edge to have an endpoint in the selected set.
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.
Independent set (graph theory) Created 2026-10-14 Updated 2026-10-18
An independent set selects mutually compatible objects when an edge of a graph represents a conflict. For example, if vertices are activities and edges join activities that cannot occur together, an independent set is a collection that can share one time slot. Finding the largest such collection is measured by the independence number.[ref]
In a finite simple graph , an independent set is a subset with no edge joining two selected vertices:
The empty set and every singleton set are independent sets. In the cycle graph drawn under vertex cover, is an independent set, but is not: the closing edge joins those two vertices. Choosing nonconsecutive labels is insufficient unless the wraparound edge is checked.
An independent set of maximum size has cardinality equal to the independence number. Being unable to add another vertex only makes an independent set inclusion-maximal. In the star graph , the centre alone is inclusion-maximal, since it is adjacent to every leaf, but the three leaves form a larger independent set. This distinction mirrors the difference between an inclusion-minimal vertex cover and a minimum vertex cover.
Every independent set has a vertex cover as its complement of a set; a largest independent set has a minimum vertex cover as its complement. In every proper vertex colouring, each colour class is an independent set, so graph coloring partitions the vertices into mutually compatible groups.
Independent vertex cover 2026-10-25
An independent vertex cover is a vertex cover that is also an independent set. Its complement is an independent set as well, since the cover condition forbids edges entirely in that complement. Thus such a cover is a side of a bipartition of the graph. This standard definition is stronger than independent dominating set on graphs without isolated vertices, and remains a different notion when isolated vertices are present. In a nonempty simple graph, two possibly repeated witnesses with and no edge outside express existence of an independent vertex cover of size at most two.
Maximal matching Created 2026-09-24 Updated 2026-10-14
A maximal matching is a matching in a graph to which no extra edge can be added while retaining all current selected edges. Equivalently, no edge joins two unmatched vertices in a matching; those vertices form an independent set. Every maximum cardinality matching is a maximal matching, but the converse fails.
Take the path graph with vertices and edges . A greedy algorithm that first selects the middle edge produces . Both remaining edges touch a matched vertex, so this size-one matching in a graph is maximal. Yet has two edges. No matching in a graph on four vertices has more than two edges, so is a maximum cardinality matching. The two remaining free vertices of , namely and , are not adjacent; that does not prevent a longer augmenting path in a matching from joining them.
Figure 1.
Choosing the middle edge of P₄ gives a maximal matching of size one; the outer edges give a maximum cardinality matching of size two
. Details.
Maximality is useful as a quick stopping rule and a modest guarantee. For any maximal matching and maximum cardinality matching in a finite simple graph, every edge of touches an endpoint of an edge of . Assign it to one such edge of . Since has disjoint endpoints, each edge of receives at most two assignments, proving . The P₄ example reaches equality. Thus maximality guarantees at least half the largest cardinality, but says nothing comparable about arbitrary edge benefits. Its selected endpoints also form a vertex cover, as explained under vertex cover.
Minimum vertex cover Created 2026-10-14 Updated 2026-10-25
A minimum vertex cover is a vertex cover of smallest cardinality among all vertex covers of the same finite simple graph. The optimum size is the vertex cover number. By the complement of a set correspondence, a minimum vertex cover leaves a largest possible independent set unselected.
Minimum size is stronger than merely being unable to remove a selected vertex. In the star graph , the three leaves form a vertex cover from which no vertex can be removed: each leaf covers its own edge. Nevertheless, the centre alone is a minimum vertex cover of size one. Such an inclusion-minimal vertex cover can therefore be much larger than a minimum vertex cover.
The vertex cover decision problem takes a finite simple graph and a nonnegative integer , and asks whether there is a vertex cover of cardinality at most . The optimization problem asks for a minimum vertex cover, with cost equal to its cardinality.
For the decision problem, if there are no edges, accept; if there is an edge but , reject. Otherwise choose an edge and branch: either include and recurse on with budget , or include and recurse on with budget . Accept if either branch accepts. Every vertex cover contains at least one endpoint of , so every possible solution is retained by at least one branch. Conversely, adding the selected endpoint to a vertex cover returned by the smaller instance covers all original edges. This proves correctness by induction on the remaining budget.
The search tree has depth at most and at most leaves. Processing each node in time gives running time, establishing fixed-parameter tractability.
For optimization, greedily build a maximal matching : repeatedly select an edge and discard every edge touching either endpoint. Return the set of all endpoints of . Any edge with neither endpoint in could be added to , contradicting maximality; thus is a vertex cover. Since the edges of a matching in a graph have pairwise disjoint endpoint sets, every vertex cover must contain at least one different vertex for each of them. Therefore
The greedy construction takes polynomial time, and can be implemented in with adjacency lists. It needs only a maximal matching, not a maximum matching.
Work with finite graphs, as in the usual matching theorem. Hall's condition is for every . It is necessary because a matching injects into its neighbours.
For sufficiency, induct on . If a nonempty proper subset has , induction matches to . For , Hall's inequality for gives , so induction matches the complement to unused neighbours. Combining the matchings finishes this case. Otherwise every nonempty proper has . Choose an edge , delete its endpoints, and observe that every subset of the remaining still has at least its own number of neighbours. Induction matches the remainder, and adjoining finishes. The one-vertex case and the empty case are immediate.
For , the defect version is
Necessity follows because at most vertices of can be unmatched. For sufficiency add new vertices to , each joined to every vertex of . The displayed inequality makes Hall's condition hold in the enlarged graph. Its full matching uses at most new vertices, giving the required original edges.
To prove the matching-cover equality, let be a maximum matching and its unmatched vertices in . Follow alternating paths from , using nonmatching edges from to and matching edges back. Let be the reachable sets. No reachable is unmatched, since that would give an augmenting path and a larger matching. Matching edges give a bijection . The set covers every edge: an edge from a reachable to an unreachable cannot be a nonmatching edge, and its matching edge, if present, is already reachable. Its size is
Every vertex cover has at least vertices, because the matching edges are disjoint. Therefore maximum matching size equals minimum vertex-cover size, as required.
Use the specified construction as a polynomial-time many-one reduction from 3-SAT. There are vertices and edges: one edge per variable pair, three edges per clause triangle in a graph, and three occurrence edges per clause. Any vertex cover must take at least one vertex from every variable pair and at least two from every clause triangle. Therefore every cover has at least vertices.
Given a satisfying Boolean valuation, include the vertex corresponding to the true Boolean literal in each variable pair. In each clause choose a true occurrence and omit its clause vertex, including the other two. Every variable edge and triangle edge is covered. An occurrence edge with an included clause endpoint is covered automatically; the only omitted occurrence vertex is joined to the included true-literal vertex. This is a vertex cover with exactly vertices.
Conversely, a cover of that size must use exactly one vertex in each variable pair and exactly two in each triangle. Declare a variable true precisely when its positive-literal vertex is included. Each clause has one omitted vertex. Its occurrence edge forces the corresponding literal vertex into the cover, so that literal is true. Every clause is therefore satisfied. Thus
The construction and target size are polynomial in the input length. Since 3-SAT is NP-complete, the decision problem is NP-hard. The usual “at most ” version has the same equivalence here because is an unavoidable lower bound. More generally, a cover with fewer than vertices can be padded to exactly . Verifying a proposed cover is polynomial, so the usual vertex-cover decision problem is also in NP and hence NP-complete.
Let the bipartite graph have parts . Add a source , a sink , capacity-one edges for and for , and capacity on each original edge directed . Use the max-flow min-cut theorem: maximum flow value equals minimum cut capacity. Also use Integrality of the Ford-Fulkerson algorithm: integral capacities admit an integral maximum flow, found by integral augmenting paths.
An integral flow selects a matching in a graph, because each left and right vertex carries at most one unit. Conversely every matching gives a unit flow along its selected paths. Hence maximum flow value equals maximum matching cardinality.
A minimum cut has capacity at most , whereas crossing even one original edge would cost . For its source side , no edge of the original graph runs from to . Therefore
is a vertex cover, and its cardinality is exactly the cut capacity. Conversely, given any cover , use . No original edge crosses this cut, because both its endpoints would otherwise be outside the cover; its capacity is . Thus minimum cut capacity equals minimum cover size, proving Kőnig's theorem for bipartite matching:
For the algorithm, repeatedly find augmenting paths in the residual network, then take to be the vertices reachable from . Each integral augmentation increases flow by at least one; the total value is at most . Each reachability search takes time, so this procedure takes time. The network uses only polynomially many edges and integer capacities, yielding the requested polynomial-time algorithm and an explicit cover.
Write . The Erdős-Stone theorem states that, for a fixed graph with chromatic number ,
Here is the extremal number, and copies are subgraphs, not necessarily induced subgraphs. We write for the balanced complete multipartite blow-up with classes of vertices each. All asymptotic errors below concern with the forbidden graphs fixed.
The stability subgraph. We prove the high-minimum-degree multipartite stability subgraph assertion directly from the Erdős-Stone theorem. For , the edgeless spanning subgraph suffices. Suppose .
First repeatedly remove a vertex whose degree of a vertex is less than times the current order, where sufficiently slowly. The Erdős-Stone theorem gives, uniformly for every -free subgraph of order at most ,
Indeed, apply the asymptotic bound at large orders; the contribution from bounded or sufficiently small orders is negligible relative to . If vertices survive, the removed edges number at most
Comparing with shows that , provided dominates , the initial relative error, and . Consequently . The surviving induced subgraph satisfies and .
By the Erdős-Stone theorem, contains for some as slowly as necessary. This follows because exceeds the extremal number density for each fixed by the positive gap . Choose so slowly that and , and denote its root classes by .
An outside vertex having at least neighbours of a vertex in every determines one choice of a -subset in each . At most outside vertices can determine any fixed choice, since otherwise these vertices and the chosen root sets form . Thus at most outside vertices have this property. Exclude those vertices and the root classes; put each remaining vertex in a class for which it has fewer than neighbours of a vertex in .
Write , with . Counting missing incidences with gives
Since , it follows that for every . The total missing incidences from all root vertices to assigned vertices are at most . At least of them are incidences with a vertex's own assigned root class. Hence only missing incidences go to other root classes.
Choose slowly and discard the assigned vertices with more than missing incidences to other root classes. Each remaining vertex of is adjacent to all but at most vertices of every , . If its class contained a complete bipartite graph , the vertices of this copy would have at least common neighbours of a vertex in each other root class. These sets extend the copy to , a contradiction. By the bipartite case of the Erdős-Stone theorem, the number of internal edges in each surviving class is .
The surviving graph still has edges, whereas the total possible cross-class edges, with these balanced classes, is . Thus only cross-class edges are missing. Discard the vertices missing more than cross-class edges, with slowly, and delete all internal edges. The resulting -partite subgraph has classes of size and
For the lower bound, every surviving vertex misses only vertices outside its class; the upper bound follows from the class sizes. This also records the uniform cross-class error that we need next.
Minimum degree in an extremal graph. Fix with . Choose large enough that embeds in . An extremal -free graph is therefore -free, and its edge count has the required asymptotics by the Erdős-Stone theorem. For take as above.
For any vertex , remove and introduce a new vertex whose vertex neighbourhood consists precisely of the vertices in other than . The new degree of a vertex is . This new graph remains -free. Indeed, a new copy of must use , and all its neighbours of a vertex in that copy lie in the other classes of . There are only boundedly many of them. Each misses only vertices in , so an unused vertex is adjacent to all of them. Replacing by would give in , which is impossible.
Extremality now forces , uniformly in . The upper bound for the minimum degree of a graph follows from . For , already gives . Thus
This is the minimum degree of an extremal forbidden-subgraph graph principle.
The exact extremal graph for disjoint cliques. Define
The plus sign denotes the join of graphs. The Turán graph contains no , so every such clique in uses a vertex of . Therefore contains no vertex-disjoint such cliques, and the extremal number is at least .
Induct on , with supplied by the Turan theorem, including its equality characterization. Let and let be extremal for . The preceding results give and the -partite subgraph . Keep its classes fixed and assign each of the remaining vertices to a class in which it has fewest neighbours of a vertex in . Write the resulting classes as ; all have size . Choose a positive so slowly that dominates the outside count, every cross-class error in , and every error in the minimum degree of a graph bound.
Suppose some vertex has at least internal neighbours of a vertex. If , the assignment rule shows that has at least neighbours of a vertex in every . If , it has this many in and in the other . If contained disjoint , we could choose one vertex in each , successively avoiding those copies and the missing cross-neighbours of the already chosen vertices. This produces a further through . For , this just chooses an unused neighbour of . Hence is -free, and induction gives
Since the candidate attains , equality holds throughout: is a universal vertex and is the inductively unique extremal graph. Thus is isomorphic to .
It remains to show that this case must occur. Otherwise all internal vertex degrees are less than . Together with the lower bound on and , this implies that every vertex misses only vertices outside its own class. If some contains a matching in a graph of edges, extend its edges one by one to , choosing one vertex from each other class. At every step only cross-neighbours and boundedly many used vertices are excluded. This gives disjoint forbidden cliques, a contradiction.
A maximal matching in each class therefore has at most edges, and its at most endpoints form a vertex cover of the internal edges. Their internal vertex degrees are all , so the total internal edge count is . The cross-class edge count is at most , whence
But the balanced part sizes of the Turán graph give
contradicting extremality for . This argument also works for . Consequently, for all sufficiently large ,
The uniqueness is up to isomorphic graphs, as usual for an extremal graph for disjoint cliques.
Solutions to all eight questions of the Oxford Preliminary Examination held on 15 June 2023. Source release: released examination archive, member 2022/T/a10101w1.pdf. The cover identifies Trinity Term 2023. The three section headings and all question labels below follow this historical paper; its grouping is independent of subsequent course changes. Although candidates were asked to attempt at most five questions, every marked subpart is solved here.
In 8(b), the source's parenthetical definition describes a dominating set, while its name suggests a vertex cover. Both readings are treated explicitly. In 8(c)–(d), we make the scopes of the printed quantifiers explicit; in particular, the opening universal quantifiers in 8(c) govern both irreflexivity and transitivity. As usual in first-order logic, domains are nonempty, and graphs are finite simple graphs unless an infinite domain is specified.
The nonempty simple graphs having an independent vertex cover of size at most two. The witnesses select the cover. The clause makes the selected vertices nonadjacent; the universal clause forbids every edge whose two endpoints both lie outside the selected set.
The witnesses need not be distinct, so a one-vertex cover is permitted by choosing . A nonempty edgeless graph also satisfies the formula. The empty graph does not, because the existential quantifiers have no witnesses. Here independent vertex cover has its standard vertex cover meaning; 8(b)'s differing parenthetical definition is addressed separately below.
Vertex cover Created 2026-10-05 Updated 2026-10-14
A vertex cover chooses vertices that collectively touch every edge of a graph. Think of placing monitors at junctions: if a monitor watches every connection incident to its junction, a vertex cover watches all connections. The minimum vertex cover asks how few monitors suffice. This is a model of covering connections through their endpoints, rather than of monitoring distances in the drawing.
For a finite simple graph , a vertex cover is a subset satisfying
Both endpoints may be selected; the condition requires at least one. An isolated vertex covers no edge, so a minimum vertex cover never needs it.[ref]
Take the cycle graph with vertices and edges . The set is a vertex cover: vertex covers and , vertex covers and , and vertex covers as well as . In particular, the closing edge is covered even though vertex is unselected.
The unselected vertices form an independent set. This is the key connection: an edge missed by would have both endpoints in , precisely what an independent set forbids. For every subset ,
Here is the complement of a set within ; the graph itself keeps all its edges. The complement graph is a different construction.[ref]
Figure 1.
A minimum vertex cover and its maximum independent complement on the same five-cycle
. Details.
The endpoints of any maximal matching form a vertex cover: an edge avoiding all endpoints would enlarge that matching in a graph. Consequently a graph with no matching in a graph of size has a vertex cover of size at most . This supplies a convenient vertex cover, but it need not be a minimum vertex cover.
The vertex cover decision problem asks whether a finite simple graph has a vertex cover containing at most vertices. For an uncovered edge , any valid vertex cover contains or . Branch on these two possibilities, delete the chosen vertex and its incident edges, and decrease by one. An edgeless graph accepts and a nonempty graph with rejects. The search tree has at most leaves, giving running time with straightforward copying. Thus this parameterization is fixed-parameter tractable.
Vertex cover number Created 2026-10-14 Updated 2026-10-14
The vertex cover number records the size of a minimum vertex cover:
The vertex cover number is a number, while a minimum vertex cover is a set attaining it. For the cycle graph , the independence number is , so the complement correspondence gives . The vertex cover above attains this size.
Every matching in a graph gives a lower bound on the vertex cover number. Its edges have no shared endpoints, so covering each selected edge requires a different vertex. Thus, for any matching in a graph and any vertex cover ,
where is the matching number. Exhibiting a matching in a graph and a vertex cover of the same size certifies that both are optimum. Kőnig's theorem for bipartite matching says that every finite bipartite graph admits this equality: .[ref]
For the complete bipartite graph , let the left vertices be and the right vertices be . All six edges join to . Selecting covers every edge; selecting gives a matching in a graph of size two. The lower bound and this vertex cover give , so . The remaining vertices form a largest independent set of size three. Crossings of drawn edges are not extra vertices.
Figure 1.
Two disjoint matching edges certify that the two left vertices are a minimum cover of K₂,₃
. Details.
The bipartite graph hypothesis matters. In a triangle in a graph, any two vertices form a minimum vertex cover, while any two edges share an endpoint. Hence and . Similarly, the cycle graph has and . The inequality for the matching number remains valid, but equality can fail.