0
votes

Real programs can solve problems given enough time and space. For every problem instance of known size, there is fixed upper bound on the amount of space which is consumed.

Are there problems that cannot be solved (i.e. functions which cannot be computed), given "just" a sufficiently large memory?

More concretely, are there functions which can only be computed by a Turing Machine (which has infinite tape), but not by a conventional program?

1
Q1 Yes. Q2 Without memory there is limit.. - Blindman67
Sorry, your question is hard to understand. What do you mean by "For every problem instance of known size"? For instance, your problem is to "Find first 1000 prime numbers". What is its size? - alisianoi
By size, I was referring to the size of the input.If the problem you mentioned is formulated as: "Find the first n prime numbers?", then the size of the problem instance, is the necessary space to store the input: log (n), if you use a binary encoding. - Matei
@user3383312 Removed comment... - Maarten Bodewes
I'm voting to close this question as off-topic because it is about Computer Science - Maarten Bodewes

1 Answers

0
votes

It is not possible for a Turing machine to actually consume an infinite amount of tape during any particular execution, because it must halt after a finite number of steps. If it does not halt, then it has not "solved" anything. Since the machine can only run for a finite number of steps, it can only move a finite distance from its starting point in either direction, and thereby consume only a finite amount of tape.

More concretely, are there functions which can only be computed by a Turing Machine (which has infinite tape), but not by a conventional program?

Sure. But only by virtue of requiring an unreasonable (finite) amount of time or space.