Namely, a computational algorithm is said to be nondeterministic if the computational steps of it are not necessarily completely determined by the program, but at some steps, the algorithm may choose nondeterministically from a permissible list of instructions. A decision problem A is nondeterministically polynomial-time decidable if there is such a nondeterministic algorithm that correctly decides the decision problem.

