Why Local Changes Reveal Structure
Many graph proofs begin by choosing an object that is best according to a stated measure: a smallest vertex cover, a largest independent set, or a minimum-weight spanning tree. Once such an object is fixed, consider a small change to it. If the change preserves feasibility and improves the measure, the chosen object could not have been optimal. This contradiction turns optimality into a structural condition.
The method has two parts. First, specify exactly which objects are feasible and what “best” means. Second, identify a permitted modification and compare the objective before and after it. The conclusion is usually a necessary condition for optimality, not automatically a characterization. A local change may rule out some candidates without proving that every candidate passing the test is globally optimal.
Finiteness matters: a nonempty finite feasible collection has an object attaining its minimum and an object attaining its maximum. In graph applications the collection might be all vertex covers, all independent sets, or all spanning trees of a fixed graph. The measure might be cardinality or total edge weight. A local-improvement proof does not need to construct every feasible object; it needs only a valid modification and a correct comparison.
What Optimality Forces for Vertex Covers
A vertex cover of a graph \(G=(V,E)\) is a set \(C\subseteq V\) containing at least one endpoint of every edge. A minimum vertex cover is one with the smallest cardinality among all vertex covers. We first derive a condition that holds at each of its vertices.
Proof. Fix \(v\in C\). Suppose that \(v\) has no neighbor outside \(C\). Then every neighbor of \(v\) belongs to \(C\setminus\{v\}\). Consider \(C'=C\setminus\{v\}\). An edge not incident with \(v\) is still covered by \(C'\), because its endpoints have not been removed from the cover. An edge incident with \(v\) has its other endpoint in \(C\setminus\{v\}\), by the supposition, so it too is covered by \(C'\). Thus \(C'\) is a vertex cover with \(|C'|=|C|-1\), contradicting the minimum cardinality of \(C\). Therefore \(v\) has a neighbor outside \(C\). \(\square\)
The argument proves only that some neighbor lies outside the cover. It does not say that this neighbor has no other neighbors in the cover. That stronger conclusion is not forced by minimum cardinality.
Worked Example: A Minimum Cover of a Path
Let \(G=(V,E)\), where \(V=\{1,2,3,4,5\}\) and \(E=\{12,23,34,45\}\). We verify that \(C=\{2,4\}\) is a minimum vertex cover and check the proposition.
Check the four edges individually. Edge \(12\) is covered by vertex \(2\); edge \(23\) is covered by \(2\); edge \(34\) is covered by \(4\); and edge \(45\) is covered by \(4\). Hence \(C\) is a vertex cover of size \(2\).
The edges \(12\) and \(45\) have no common endpoint. Any vertex cover must choose at least one endpoint of \(12\) and at least one endpoint of \(45\). Because these endpoint sets are disjoint, every cover has at least two vertices. Thus \(C\) is minimum. Vertex \(2\) has the outside neighbor \(1\), and vertex \(4\) has the outside neighbor \(5\), as the proposition requires.
Check: the lower bound is \(2\), obtained from the two disjoint edges, and the displayed cover has size \(2\). Therefore its size meets the lower bound exactly.
What Optimality Forces for Independent Sets
A set \(S\subseteq V\) is independent if no edge has both endpoints in \(S\). A maximum independent set has largest cardinality among all independent sets. The local change to consider is adding one vertex that is not already in the set.
Proof. Suppose that some \(v\in V\setminus S\) has no neighbor in \(S\). Since \(S\) is independent and no edge joins \(v\) to a vertex of \(S\), the set \(S\cup\{v\}\) is independent. Its cardinality is \(|S|+1\), contradicting that \(S\) has maximum cardinality. Thus every vertex outside \(S\) has a neighbor in \(S\). If \(V\setminus S\) is empty, the assertion has no vertices to check and holds vacuously. \(\square\)
This is a necessary condition: a maximum independent set cannot be enlarged by adding a single vertex. It does not assert that every independent set satisfying the condition is maximum. It says only that a particular type of improvement—adding one vertex without removing any—has been ruled out.
Worked Example: A Maximal Set That Is Not Maximum
Let \(G=(V,E)\), where \(V=\{1,2,3\}\) and \(E=\{12,23\}\), the path \(P_3\). Compare \(S=\{2\}\) and \(T=\{1,3\}\).
The set \(S\) is independent because it contains only one vertex. Neither outside vertex can be added to \(S\): vertex \(1\) is adjacent to \(2\), and vertex \(3\) is adjacent to \(2\). Thus \(S\) cannot be enlarged by adding one vertex, and it is maximal under inclusion.
However, \(T=\{1,3\}\) is independent, since the edge set contains no edge \(13\). Its size is \(2\), whereas \(|S|=1\). No independent set can have more than \(2\) vertices: any set of all three vertices contains both endpoints of edge \(12\), so it is not independent. Therefore \(T\) is maximum, and \(S\) is not maximum.
Check: \(S\) is locally unextendible by adding a single vertex, but the feasible change that removes \(2\) and adds both \(1\) and \(3\) increases the size from \(1\) to \(2\). This verifies that ruling out one kind of local improvement does not establish global optimality.
Edge Exchanges in Spanning Trees
A spanning tree of a connected graph is a subgraph containing every vertex that is connected and has no cycle. Suppose each edge \(e\) has a real weight \(w(e)\), and the weight of a spanning tree is the sum of the weights of its edges. A minimum spanning tree is a spanning tree of least total weight.
The local modification here exchanges edges: remove one edge from a spanning tree and insert another. The following condition is necessary for minimum total weight.
Proof. Fix an edge \(e=xy\notin E(T)\). Since \(T\) is connected, it contains an \(x\)-\(y\) path; since \(T\) has no cycle, that path is unique. Suppose that an edge \(f\) on the path has \(w(f)>w(e)\). Removing \(f\) from \(T\) separates \(T\) into two connected components: if it did not disconnect \(T\), another path between the endpoints of \(f\) would form a cycle with \(f\). The vertices \(x\) and \(y\) lie in different components, because the unique \(x\)-\(y\) path used \(f\). Adding \(e=xy\) therefore joins the two components. The resulting graph is connected and has no cycle, so it is a spanning tree. Its total weight is the weight of \(T\) minus \(w(f)\) plus \(w(e)\), which is strictly less than the weight of \(T\) because \(w(e)<w(f)\). This contradicts the minimum weight of \(T\). Hence every such \(f\) satisfies \(w(f)\le w(e)\). \(\square\)
The theorem is a necessary exchange condition. If it fails, the proposed tree is not minimum, because a specific improving exchange exists. The theorem alone does not claim that checking this condition proves minimum weight; a sufficient criterion would require a separate argument.
Worked Example: Improving a Spanning Tree by an Exchange
Let \(G=(V,E)\) have \(V=\{1,2,3,4\}\). Its edges and weights are \(12\) of weight \(1\), \(23\) of weight \(4\), \(34\) of weight \(2\), \(13\) of weight \(3\), and \(24\) of weight \(5\). Consider \(T\) with edge set \(\{12,23,34\}\).
The tree \(T\) is connected: its edges give the path \(1,2,3,4\). It has no cycle, and its total weight is \(1+4+2=7\). The edge \(13\) is not in \(T\). Its path in \(T\) is \(1,2,3\), containing edges \(12\) of weight \(1\) and \(23\) of weight \(4\). Since \(4>3\), exchange \(23\) for \(13\). The new edge set is \(\{12,13,34\}\), which connects all four vertices and has no cycle: vertices \(2\) and \(4\) each have degree \(1\), and the remaining edges form the path \(2,1,3,4\). Its weight is \(1+3+2=6\), strictly less than \(7\). Thus \(T\) is not a minimum spanning tree.
In fact, the new tree has minimum weight. Any spanning tree on four vertices has three edges. The three smallest edge weights in this graph are \(1\), \(2\), and \(3\), so every three-edge set has total weight at least \(1+2+3=6\). The new tree uses exactly those three edges and is a spanning tree, so it attains this lower bound.
Check: the exchange changes the total by removing weight \(4\) and adding weight \(3\), so the new total is \(7-4+3=6\). This agrees with the direct sum \(1+3+2=6\). The lower bound from the three smallest weights is also \(6\), confirming optimality.
Common Mistake: Overstating What the Modification Proves
A local-improvement argument proves that a proposed optimum cannot admit a feasible improving move of the kind considered. The exact move matters. For a vertex cover, the deletion test proves that each cover vertex has at least one neighbor outside the cover. It does not prove that the neighbor is adjacent to no other cover vertex.
For a concrete counterexample to that stronger claim, let \(G=K_3\), with \(V=\{1,2,3\}\) and \(E=\{12,23,13\}\). The set \(C=\{1,2\}\) is a minimum vertex cover: each of the three edges is incident with \(1\) or \(2\), and a single vertex cannot cover all three edges because the edge joining the other two vertices would be uncovered. For \(v=1\), the outside neighbor is \(3\), but \(3\) is also adjacent to \(2\in C\). In set notation, \(N(3)\cap C=\{1,2\}\), not \(\{1\}\). Thus this minimum cover does not give \(1\) a neighbor outside the cover whose only neighbor in the cover is \(1\).
The correct conclusion remains true: \(1\) has a neighbor outside \(C\), namely \(3\), and \(2\) also has the outside neighbor \(3\). In general, removing a cover vertex is justified only when all its incident edges remain covered by other vertices; the proposition establishes that this cannot happen for a vertex in a minimum cover. It does not establish any stronger uniqueness property for the outside neighbor.
When using the method, state the modification before drawing the conclusion. “No vertex can be added” is weaker than “no set of vertices can replace some of the current set.” “No single edge exchange improves the tree” is weaker than a proof that every other spanning tree has at least its weight. Matching the claim to the modification is what keeps an extremal proof valid.
Check Your Understanding
For each question, identify the feasible modification and state exactly what optimality rules out.
- Let \(C\) be a minimum vertex cover. Why would deleting \(v\in C\) contradict minimum cardinality if \(v\) had no neighbor outside \(C\)?
- In the graph with \(V=\{1,2,3\}\) and \(E=\{12,23\}\), why is \(\{2\}\) maximal independent but not maximum?
- For a minimum spanning tree \(T\), what contradiction follows if a non-tree edge has smaller weight than an edge on its tree path?
- In \(K_3\) with \(C=\{1,2\}\), compute \(N(3)\cap C\). What does this show about the private-neighbor claim?
- Explain why ruling out a single-vertex addition to an independent set does not rule out a modification that removes one vertex and adds two.