Question

I'm learning for a test and I have some important questions about Computability of deterministic and non deterministic Turing Machines.

Consider we have the partial functions $f,g,h,t: \mathbb{N} \rightarrow \mathbb{N}$ with $f$ is Turing Machine computable, $g$ not Turing Machine computable, $h$ is not While solvable and $t$ is While computable. Are the following answers correct? And is there anything changing if we had an non deterministic TM?

There is no proof to do words are ok :)

  1. Is $f \circ g$ Turing Machine computable?
  2. Is $g \circ f$ Turing Machine computable?
  3. Is $t \circ h$ While computable?
  4. Is $h \circ t$ While computable?

My answers:

First of all, we know that Turing Machine = While Computability. (#)

  1. I would say, that we do not know if it is or is not TM computable, because there may a TM who can handle the output of an not TM computable function.
  2. I would say no, because if whatever $g$ takes, it won't be TM computable.

  3. and 4. Because of (#) it is the same like 1. and 2.

Could that be right? It is for an multiple choice test and those questions are tricky.

Was it helpful?

Solution

The answer is "we don't know without more information" for all 4.

Suppose $f$ is the identity function $f(x) = x$. Then $f \circ g = g \circ f = g$, which is non-computable.

On the other hand, suppose $g$ is a total non-computable function (which is a special case of $g$ being a partial non-computable function), and suppose $f$ is the constant zero function $f(x) = 0$. In this case:

Deterministic vs. non-deterministic Turing machine doesn't affect the answer, because a deterministic Turing machine can simulate the execution of a non-deterministic Turing machine (potentially with an exponential slowdown) by dovetailing.

Licensed under: CC-BY-SA with attribution
Not affiliated with cs.stackexchange
scroll top