Language that cannot be decided by a TM using space O(log n)

In summary, the conversation discusses the task of finding a language L that cannot be decided by a Turing Machine using space O(log n) and time less than n, but is still decidable by some TM. Two possible approaches are suggested - using the space hierarchy theorem and using a diagonalization argument similar to the halting problem. Both approaches involve constructing a language that is decidable by some TM, but cannot be decided by a TM using the given space and time constraints.
  • #1
goraemon
67
4

Homework Statement


1. Give a language L that cannot be decided by a TM using space O(log n) and time less than n on inputs of length n. The language L should be decidable by some TM. Assume the TM has a binary input alphabet.

Homework Equations


Undecidability, Turing Machines, Languages...

The Attempt at a Solution


At first I was tempted to just answer with something like the following: The Travelling Salesman Problem, aka Langauge = { <G, k> | there exists a path that visits every vertex of graph G exactly once and has total path length <= k}. Since I think the brute-force algorithm for TSP would take space O(n) (store the current shortest path, and compare it with each new path that's being explored).

But I'm having some doubts as to whether this is the right way to go, especially after reading about space hierarchy theorem and the proof for it. The proof for that theorem lays out some language like, L = { <M, 1^n> | M rejects its own input <M> using <= f(n) space and <= 2^f(n) time }

I'm wondering whether my answer to the problem above should be in similar vein, and if so, am unsure how I would go about it. Would appreciate some pointers.
 
Physics news on Phys.org
  • #2


Hi there! Your initial answer of the Travelling Salesman Problem is a good starting point, but as you mentioned, it may not be the best approach since the brute-force algorithm for TSP does not meet the space requirement.

Instead, you could consider using the space hierarchy theorem to construct a language that cannot be decided by a TM using space O(log n) and time less than n, but is still decidable by some TM. One way to do this is by using the same approach as the proof of the space hierarchy theorem.

For example, you could consider a language L = { <M, w> | M accepts w and uses <= f(n) space and <= 2^f(n) time, where f(n) is a function that grows faster than log n}. This language is decidable by some TM, but it cannot be decided by a TM using space O(log n) and time less than n.

Another approach could be to use a diagonalization argument, similar to the halting problem. You could consider a language L = { <M, w> | M accepts w and uses <= log n space and <= n time, where n is the length of w}. This language is decidable by some TM, but it cannot be decided by a TM using space O(log n) and time less than n. This is because if there existed a TM that could decide L using space O(log n) and time less than n, then we could use it to solve the halting problem, which is known to be undecidable.

Hope this helps! Let me know if you have any further questions or if you need clarification on anything. Happy problem-solving!
 

1. What is a TM?

A TM, or Turing Machine, is a mathematical model of computation that consists of a tape, a read/write head, and a finite set of states. It can be used to simulate any computer algorithm and is often used in theoretical computer science to analyze problems and algorithms.

2. What is O(log n) space?

O(log n) space refers to the amount of memory, or space, that a Turing Machine requires to solve a problem. It means that the space used by the TM will grow logarithmically as the size of the input increases.

3. What is a language that cannot be decided by a TM using O(log n) space?

A language that cannot be decided by a TM using O(log n) space is a language that cannot be recognized or decided upon by a Turing Machine that uses a logarithmic amount of memory. This means that the TM will not be able to solve problems that require more than a logarithmic amount of space to store the input.

4. Why is O(log n) space important in determining what languages can be decided by a TM?

O(log n) space is important because it is a measure of the efficiency and limitations of a Turing Machine. It allows us to understand which problems can be solved by a TM with a limited amount of memory and which problems require more space. This helps us classify problems and determine which ones are computationally feasible.

5. Are there any real-world applications for languages that cannot be decided by a TM using O(log n) space?

Yes, there are real-world applications for these languages. For example, problems in data compression, cryptography, and artificial intelligence often require more space than O(log n) to be solved efficiently. By understanding the limitations of TMs with a logarithmic amount of memory, we can develop more efficient algorithms and data structures for these applications.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
6
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • Programming and Computer Science
Replies
29
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
3K
Replies
1
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
4
Views
7K
Back
Top