Lably
Skip to content

Decision problem

Yes/no problem in computer science

  • 5 min read
  • 6 chapters

Related on Lably

Through Prime number, Algorithm and String (computer science)

A decision procedure for a decision problem is an algorithmic method that answers the yes-no question on all inputs, and a decision problem is called decidable if there is a decision procedure for it. For example, the decision problem "given two numbers x and y, does x evenly divide y?" is decidable since there is a decision procedure called long division that gives the steps for determining whether x evenly divides y and the correct answer, YES or NO, accordingly. Some of the most important problems in mathematics are undecidable, e.g. the halting problem.

The field of computational complexity theory categorizes decidable decision problems by how difficult they are to solve. "Difficult", in this sense, is described in terms of the computational resources needed by the most efficient algorithm for a certain problem. On the other hand, the field of recursion theory categorizes undecidable decision problems by Turing degree, which is a measure of the noncomputability inherent in any solution.

Definition

A decision problem is the formal language of all inputs for which the output (the answer to the yes-no question on a given input) is YES.

  • These inputs can be natural numbers, but can also be values of some other kind, like binary strings or strings over some other alphabet.
  • For example, if every input can be encoded by the alphabet {0,1}, then a decision problem is a subset L⊆{0,1}∗.
  • For another example, using an encoding such as Gödel numbering, any string can be encoded as a natural number, via which a decision problem can be defined as a subset of the natural numbers. Therefore, the decision procedure of a decision problem is to compute the characteristic function of a subset of the natural numbers.

Sign in to keep reading

5 more chapters are free with a Lably account.

More in Foundations