Start with the inequality you need
An approximation algorithm must return a feasible solution, run in polynomial time, and meet a guarantee on every instance. The guarantee tells us which way the proof must go. Write
Here
This is why it helps to name the optimum before trying to analyse a greedy choice. We do not know its solution, but we can ask what every feasible solution must pay, or what any feasible solution could possibly earn.
Find something both sides can count
The algorithm’s objective and the optimum may be hard to compare directly. Look instead for a count or score that relates to both. It may be a set of witnesses, the size of the input, a degree sum, or the number of edges. Such a quantity is a bridge, not necessarily the objective itself.
In bounded-frequency Set Cover, the algorithm chooses uncovered elements
Why does
The property of
Let the assumption tell you what to count
A similar-looking Set Cover problem can need a different bridge. Suppose every input set contains at most
These two algorithms share a factor
When the bridge overcounts, measure the error
For Maximum Coverage on a graph, choose up to
is convenient because sorting makes
But
There are at most
Now the comparison reaches the actual objective:
This is a useful question for a greedy algorithm: What does its choice rule maximise that is easier to analyse than its actual score? Then ask what that surrogate counts incorrectly, and whether the mistake is small enough to pay for.
Sometimes local optimality is the bridge
Not every proof uses a chosen witness or a sorted score. For Maximum Cut, move a vertex across the cut whenever doing so increases its size. At termination, each vertex
Let
So
A working checklist
When facing a new approximation problem, try these questions in order:
- What is the objective? Name the returned value
, the optimum , and the direction of the desired inequality. Check feasibility separately. - What does one algorithmic choice guarantee? Record what it selects, removes, covers, or forbids. This often supplies a witness or a local inequality.
- What can every optimal solution do? Bound how many witnesses one optimal choice can handle, or how large any feasible value can be. For minimisation seek a lower bound; for maximisation seek an upper bound.
- Is the convenient count the actual objective? If not, write an equality that exposes the overlap, double counting, or loss. Bound that error before substituting the optimum.
- Do the inequalities join in the right direction? Write the chain from
to one step at a time, explaining what licenses each step. If the chain cannot be joined, the proposed bridge is not enough. - Does the algorithm finish efficiently? Bound the number of choices and the work per choice; a good ratio alone does not establish a polynomial-time approximation algorithm.
The central habit is to separate what the algorithm produces from what is easy to count. Find a quantity that speaks to both the algorithm and the unknown optimum, then account explicitly for any gap between that quantity and the objective.