Given twice, 2010–11

Efficient Simplifi­cation

What makes a simplification good, and when is good simplification impossible?

Kernelization · Parameterized algorithms

An intermediate survey, for graduate students and up.

Abstract

Draft, not yet checked by me

Simplifying a messy expression before evaluating it is common sense, but what does a provably good simplification procedure look like? I turn that question into a definition. Asking every instance of an NP-hard problem to shrink is too much, since repeated shrinking would solve it in polynomial time. Asking it to shrink to a size bounded by a parameter leads to kernelization. I look at polynomial kernels for problems like Vertex Cover and Feedback Vertex Set, and at the other side: compositions and distillations, which show that some problems are unlikely to have polynomial kernels unless the polynomial hierarchy collapses.