[Home]Decision problem

HomePage | Recent Changes | Preferences

In computer science a decision problem is a set of related problem instances, such that every problem instance requires a YES/NO answer. A typical example of a decision problem is the question: "Is a given integer prime?" One instance of this decision problem would be "Is 17 prime?".

A decision problem is usually formalized as the problem of deciding whether a given string belongs to some specified set of strings, also called a formal language. The above prime decision problem could be formalized as the language of all those strings over the alphabet {0, 1} which describe the binary expansion of a prime number.

If there is an algorithm that is able to correctly decide for every possible input string whether it belongs to the language, then the problem is called decidable and otherwise it is called undecidable. In complexity theory it is studied how much time and space (memory) the decidable decision problems require.

Some examples of decision problems expressed as langugaes are:

Decision problems are important because any general problem with an n-bit answer can be transformed into a decision problem with a YES/NO answer, and vice versa. Solving either can't be more than n times harder than solving the other. There are several ways to do this transform. For example, if the general problem is of the form:

Given an input X, return the answer string Y
then the associated decision problem is:
Given an input X and an integer k, return whether the kth bit of Y is 1


/Talk

HomePage | Recent Changes | Preferences
This page is read-only | View other revisions
Last edited December 7, 2001 11:29 pm by AxelBoldt (diff)
Search: