*** Welcome to piglix ***

Promise problem


In computational complexity theory, a promise problem is a generalization of a decision problem where the input is promised to belong to a subset of all possible inputs. Unlike decision problems, the yes instances (the inputs for which an algorithm must return yes) and no instances do not exhaust the set of all inputs. Intuitively, the algorithm has been promised that the input does indeed belong to set of yes instances or no instances. There may be inputs which are neither yes or no. If such an input is given to an algorithm for solving a promise problem, the algorithm is allowed to output anything, and may even not halt.

A decision problem can be associated with a language , where the problem is to accept all inputs in and reject all inputs not in . For a promise problem, there are two languages, and , which must be disjoint, which means , such that all the inputs in are to be accepted and all inputs in are to be rejected. The set is called the promise. There are no requirements on the output if the input does not belong to the promise. If the promise equals , then this is also a decision problem, and the promise is said to be trivial.


...
Wikipedia

...