Every computer science student learns decision problems: given an input, answer yes or no. Is this graph 3-colorable? Does this formula have a satisfying assignment? The input can be anything; the algorithm must handle all cases.
A promise problem adds one twist: the input comes with a guarantee. Some inputs are simply ruled out — they will never arrive. The algorithm only has to work correctly on inputs that satisfy the promise, and it can do whatever it likes on the others.
That sounds like a small relaxation. In practice it is a conceptual revolution. Problems that look identical under ordinary definitions split apart once a promise is imposed. Entire new complexity classes appear between the familiar ones. And some of the deepest conjectures in complexity theory — including the Unique Games Conjecture — are most naturally stated as promise problems.
The simplest example is Unique-SAT: the input is a Boolean formula promised to have either exactly one satisfying assignment or none at all. Formulas with two or more solutions are forbidden by the promise. Under that guarantee, does the algorithm's job get easier or harder? The answer is subtle and still not fully known — Unique-SAT is believed to be as hard as general SAT, but proving that is open.
Comments
Loading comments...