It is traditional to define the decision problem equivalently as: the set of inputs for which the problem returns yes. These inputs can be natural numbers, but may also be values of some other kind, such as strings over the binary alphabet ${0,1}$ or over some other finite set of symbols. The subset of strings for which the problem returns “yes” is a formal language, and often decision problems are defined in this way as formal languages.
Whether I can take it like algorithm written in a programming language defines the set of all possibilities and gives the output based on the input? So in computability theory, the problem should be encoded to some form? Is this same thing as the input tape and configuration of a Turing machine (set of 0’s and 1’s )?
Asked By : user5507
Answered By : Andrej Bauer
- $p$ is total, which means that $p(d)$ halts for every $d in D$,
- if $d in D_0$ then $p(d) = mathtt{false}$,
- if $d in D_1$ then $p(d) = mathtt{true}$.
All that stuff about encodings and finite words over an alphabet etc. is not necessary. It is only useful if you want to prove general theorems about arbitrary decision problems. But if you want to think about a specific decision problem, it is better to do it directly in your favorite programming language.
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/7786