User:S1117471/sandbox

Computable problems
A computable problem is one which can be stated mathematically or symbolically and for which a terminating solution procedure or algorithm can be outlined unambiguously, step by step. (Carnahan & Wilkes, 1973).

Computable problems in digital computer
In 1979, they had also pointed out that general-purpose computers are designed to solve essentially any problem that is computable. Computability has a rigorous mathematical or logical meaning, but an intuitive understanding of the term is adequate for most of the programmers. In programming, many problems (or functions) that are computable (or decidable) means that there is existing algorithm that can be used to compute an answer (or output) to any instance of the problem (or for any input to the function) in a finite number of simple steps. Here is a simple example of the integer increment operation:

f(x) = x + 1

This should be intuitive that given any integer x, we can compute x + 1 in a finite number of steps. Since x is finite, it may be represented by a finite string of digits. Using the addition method (or algorithm), it can clearly compute another string of digits representing the integer equivalent to x + 1.

Intuitively, it can be said that a set is computable if people could program a computer (with a finite program), such that running the program on any reasonable input would halt after finitely many steps and say “yes” if the input was in the set, and “no” otherwise. An example of Intuitive Computability is as below:

-      The set of names of people in this room is computable.

-      The set of names of descendants of people in this room may not be computable.

Turing machine
A Turing machine is a computer which uses finite programs and takes as input natural numbers. A program on given input may either output a natural number or fail to halt.

Definition:

-      To each program, it can associate a partial function from N to N. Such a function is called partial computable.

-      A function f : N → N is computable if it is partial computable and has a value on every n ∈ N.

-      A set A ⊆ N is computable if its characteristic function is computable.

Types of algorithm
In the book named "Fortran 77 with MTS and the IBM PS/2", when introducing digital computers, it is also stated that a computable problem is one that can be stated unambiguously and for which an unambiguous terminating solution procedure or algorithm that can be outlined, step by step. If the algorithm is in graphical form, it is usually called a flow diagram; if it is a list of commands that can be interpreted directly by a computer, the algorithm is called a program.