Comment by qbane

19 days ago

But you also spend time on updating cells, so it is not that intuitive.

I’m not sure what you mean here. If you’re in the realm of “more space” than you’re not thinking of the time it takes.

More precisely, I think it is intuitive that the class of problems that can be solved in any time given O(n) space is far larger than the class of problems that can be solved in any space given O(n) time.

  • If your program runs in O(n) time, it cannot use more than O(n) memory (upper bound on memory usage.

    If your program uses O(n) memory, it must run at least in O(n) time (lower bound on time).

    • This is pretty easy to refute:

      > If your program runs in O(n) time, it cannot use more than O(n) memory (upper bound on memory usage.[sic]

      This is clearly refuted by all software running today. Programs (especially games) clearly use more memory than there are instructions in the program.

      > If your program uses O(n) memory, it must run at least in O(n) time (lower bound on time).

      Memory bombs use an incredible amount of memory and do it incredibly quickly.

      6 replies →

  • A time-bounded TM is also space bounded, because you need time to write to that many cells. But the other way is not.

  • This is obviously demonstrably true. A Turing running in O(n) time must halt. The one in O(n) space is free not to.

    • Almondsetat's proof seems more obvious. Given O(n) time, you can only use O(n) space, so you're comparing "O(n) space, any amount of time" with "O(n) space, O(n) time", and it turns out you get more resources the first way.