patternMinor
The Church-Turing-Thesis in proofs
Viewed 0 times
thethesischurchturingproofs
Problem
Currently I'm trying to understand a proof of the statement:
"A language is semi-decidable if and only if some enumerator enumerates it."
that we did in my lecture. One direction of the proof goes as follows:
Let E be an enumerator that enumerates L. We construct a TM M, that semidecides L in the following way:
Given an input string x, we design M in the following way :
Am I right if I say, that it is sufficient to just name an algorithm to prove the existence of such a TM M because of the Church-Turing-Thesis?
Furthermore is there anything to take care of when constructing an algorithm in such a context as not to hurt the "definition" of intuitively computable?
Thanks for any answers.
"A language is semi-decidable if and only if some enumerator enumerates it."
that we did in my lecture. One direction of the proof goes as follows:
Let E be an enumerator that enumerates L. We construct a TM M, that semidecides L in the following way:
Given an input string x, we design M in the following way :
- Run E to enumerate the next string y of L. Compare it with x.
- If x=y accept, else goto 1
Am I right if I say, that it is sufficient to just name an algorithm to prove the existence of such a TM M because of the Church-Turing-Thesis?
Furthermore is there anything to take care of when constructing an algorithm in such a context as not to hurt the "definition" of intuitively computable?
Thanks for any answers.
Solution
A Turing machine provides a formal definition of a "computable" function, while the Church-Turing-Thesis says that intuitive notion of "computable" coincides with the formal definition of "computable", i.e., all functions computable by TMs. This is just a hypothesis, and it is up to you to believe or not.
When we describe a procedure in order to show that some function is computable (or problem is solvable) we usually describe it at a high level, to avoid long and tedious rigorous formal details. So, you are right that "it is sufficient to just name an algorithm to prove the existence of such a TM M because of the Church-Turing-Thesis". In other words, first we informally describe a procedure using English, and then since we believe in correctness of the the Church-Turing-Thesis we conclude that the function is computable.
Another example is computing $\pi(n)-$ the $n$th digit of the decimal expansion of $\pi$. Intuitively, we can draw a circle, measure its circumference and radius, and divide the circumference by two times the radius. But this method is not suitable to implement on a computer. The Turing-Church thesis says this function is indeed computable on a Turing machine. For example, $\pi(n)$ might be computed using Taylor series.
As for the wrong usage of the thesis, usually the error may lay in a wrong assumption. For example, the following wrong procedure may seem to decide the Halting problem:
Since we loop on both $L$ and $\overline{L}$, and we enumerate each element of these sets, the procedure eventually must halt with true or false. But the wrong part is that we assumed the $\overline{L}$ is r.e.
When we describe a procedure in order to show that some function is computable (or problem is solvable) we usually describe it at a high level, to avoid long and tedious rigorous formal details. So, you are right that "it is sufficient to just name an algorithm to prove the existence of such a TM M because of the Church-Turing-Thesis". In other words, first we informally describe a procedure using English, and then since we believe in correctness of the the Church-Turing-Thesis we conclude that the function is computable.
Another example is computing $\pi(n)-$ the $n$th digit of the decimal expansion of $\pi$. Intuitively, we can draw a circle, measure its circumference and radius, and divide the circumference by two times the radius. But this method is not suitable to implement on a computer. The Turing-Church thesis says this function is indeed computable on a Turing machine. For example, $\pi(n)$ might be computed using Taylor series.
As for the wrong usage of the thesis, usually the error may lay in a wrong assumption. For example, the following wrong procedure may seem to decide the Halting problem:
Let L be the Halting Problem language
IsHalt(W,w)
Recursively enumerate elements of L and complement of L
and process one element from each set at a time
If is in one of them then depending in what set is
return true or falseSince we loop on both $L$ and $\overline{L}$, and we enumerate each element of these sets, the procedure eventually must halt with true or false. But the wrong part is that we assumed the $\overline{L}$ is r.e.
Code Snippets
Let L be the Halting Problem language
IsHalt(W,w)
Recursively enumerate elements of L and complement of L
and process one element from each set at a time
If <W,w> is in one of them then depending in what set <W,w> is
return true or falseContext
StackExchange Computer Science Q#81091, answer score: 5
Revisions (0)
No revisions yet.