开发者

Mapping of natural and recognizable languages in a finite Turing Machine

I have been struggling to find an answer to this theoretical question, even tho it is not directly a p开发者_运维知识库rogramming question, I believe it is really related.

Assume a type of Turing machine which cannot have more than 1000 squares. What would be the relationship between the set of such type of recognizable languages and set of normal recognizable languages.


If I understand your question correctly, you're talking about Turing-like machine with a tape that is limited to some constant legnth (in your question 1000) elements of a final alphabet. The length of the tape doesn't depend on the input size (which would be the case for Linear Bounded Automoton).

  • In this scenario, the number of states that you can represent by the tape is constant. More specifically, if the length of the tape is T and the size of the alphabet is A then the tape can encode only AT states.

  • Additionaly, the Turing machine has some internal states (let's say that the number of these states is S). At each point the machine has some internal state and some state of the tape, so we can simulate the Turing machine with constant-length tape using an ordinary finite state machine.

  • To construct the finite state machine, you'll need to take all possible states of your limited Turing-machine. This is a combination of internal states of the machine (there is S of them) and the states of the tape (AT of them), so you end up with a finite state machine with S*AT states. That's quite a lot, but we don't care about that in theory - it is a constant.

So, my answer is that your limited constant-tape Turing machine can recognize the same languages as a finitie-state machine.


I think that what you are describing is more close to a Linear Bounded Automoton than to a Turing Machine. An LBA can recognize context-sensitive languages.


Intuitively, I would think that your limited machines could recognize a strict subset of turing-recognizable languages. To prove that, you'd need to construct a turing-recognizable language such that the most efficient turing machine that recognizes the language requires more than 1000 positions on its tape.


By definition, a "turing-like machine" with a non-infinite tape (for reasonably small values of infinity) isn't a "turing machine".

In practice, such a limited machine would be hard pressed to compute functions of any interest.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜