<p>(Just now noticed this question.) There are a lot of questions in the above question. I will try to just address the last few.</p>
<blockquote>
<p>Might it be the case that a RAM program can solve general CNF-SAT in exponential time with a base less than 2, but also requiring exponential space, so that when translated to a TM the algorithm runs in exponential time with a base at least 2 and (a slightly-weakened version of) SETH is true in the TM model only?</p>
</blockquote>
<p>SETH is generally stated in the word RAM model (in particular, with <span class="math-container">$O(\log t)$</span> word size, where the running time is <span class="math-container">$t$</span>). This is mainly because most (if not all?) algorithmists don't care about or work in the multi-tape Turing machine model, but rather a random-access style model. It is true that in general we do not know how to simulate such time-t RAMs with multi-tape Turing machines super-efficiently, and (more importantly) we do not know how to simulate such RAMs in less than <span class="math-container">$O(t^2)$</span> gates with a Boolean circuit. But see the answer to the next question.</p>
<blockquote>
<p>Is there a variant of SETH where only subexponential space algorithms are considered in order to make it applicable to more models? Or is there some reason I'm not understanding that no generality is lost without this assumption?</p>
</blockquote>
<p>Note there is a very simple time-space tradeoff one can obtain, if SETH is false. Suppose we have a <span class="math-container">$2^{\beta n}$</span> time algorithm <span class="math-container">$A$</span> for k-SAT on <span class="math-container">$n$</span> variables, using <span class="math-container">$\Theta(2^{\beta n})$</span> space, where <span class="math-container">$\beta &lt; 1$</span>. Consider the following algorithm <span class="math-container">$A_{\alpha}$</span> parameterized by some parameter <span class="math-container">$\alpha \in (0,1)$</span>:</p>
<p><em>On <span class="math-container">$k$</span>-SAT formula <span class="math-container">$F$</span>, enumerate all assignments <span class="math-container">$a$</span> to the first <span class="math-container">$n-\alpha n$</span> variables of <span class="math-container">$F$</span>, plug <span class="math-container">$a$</span> into <span class="math-container">$F$</span> and run <span class="math-container">$A$</span> on the resulting <span class="math-container">$\alpha n$</span>-variable formula. Stop and output a SAT assignment if it's found.</em></p>
<p>Note the above <span class="math-container">$A_{\alpha}$</span> runs in <span class="math-container">$O(2^{n-\alpha n}\cdot 2^{\beta \alpha n}) \leq O(2^{n-(1-\beta)\alpha n})$</span> time and uses only <span class="math-container">$\Theta(2^{\beta \alpha n}+\alpha n)$</span> space.</p>
<p><strong>Corollary:</strong> If <span class="math-container">$k$</span>-SAT has a <span class="math-container">$2^{\beta n}$</span> time algorithm, then for every <span class="math-container">$\epsilon \in (0,\beta)$</span> there is a <span class="math-container">$\delta &gt; 0$</span> such that <span class="math-container">$k$</span>-SAT can be solved in <span class="math-container">$O(2^{\epsilon n})$</span> space and <span class="math-container">$O(2^{(1-\delta)n})$</span> time.</p>
<p><strong>Proof:</strong> Let <span class="math-container">$k$</span>-SAT have a <span class="math-container">$2^{\beta n}$</span> time algorithm. For any given <span class="math-container">$\epsilon \in (0,\beta)$</span>, set <span class="math-container">$\alpha = \epsilon/\beta &lt; 1$</span>. Applying the above reduction, we can solve <span class="math-container">$k$</span>-SAT in <span class="math-container">$O(2^{\epsilon n})$</span> space and <span class="math-container">$2^{n-(1-\beta)\alpha n}$</span> time, so <span class="math-container">$\delta = (1-\beta)\alpha$</span> suffices. QED</p>
<p>However, note the time-space product of the resulting algorithm is not very favorable...</p>
<p>I do think that the &quot;polynomial-space SETH&quot; (which I believe I have seen in the literature, but am blanking on a reference) that only rules out polynomial-space faster-than-<span class="math-container">$2^n$</span> time for <span class="math-container">$k$</span>-SAT, is a much more plausible hypothesis than SETH itself.</p>

CC BY-SA 4.0
2020-07-02T22:26:06.613Z
2020-07-02T22:26:06.613Z
Ryan Williams
<p>Your description looks correct.  The equivalence between deterministic models (under essentially linear time translation) for algorithms using $t^{o(1)}$ space (if the input size is $t^{o(1)}$ or we have random access to the input) is a nice observation.  (However, we do know yet know whether randomized algorithms might be faster (even for $t^{o(1)}$ input size), and quantum algorithms are likely to be faster and might even violate extended Church-Turing thesis.)</p>

<p>Two other cases of essentially linear translation:</p>

<ul>
<li><p>Different reasonable parallel models with $t^{1+o(1)}$ size and $t^{o(1)}$ depth appear equivalent (in the sense that the translation still has $t^{1+o(1)}$ size and $t^{o(1)}$ depth) and can be simulated on a TM in $t^{1+o(1)}$ time.</p></li>
<li><p>Nondeterministic time, since a nondeterministic Turing machine can guess and verify history of a nondeterministic RAM machine.</p></li>
</ul>

<p>The square-root barrier for finding primes is likely a number theory problem rather than a computational problem. The naive algorithm (with a polynomial time primality test) for finding the least prime above $x$ is conjectured to be polynomial time (in $\log x$). A provable deterministic algorithm finding a decimal $k$-digit prime in time $O(10^{k/2-ε})$ using RAM but not TM could potentially come from some memory-intensive partial derandomization that does not answer the question of $O(n^{1/2-ε})$ upper bound between consecutive primes.</p>

<p>For SETH, the convention is to use RAM machines.  Otherwise, its key application, the fine-grained complexity lower-bounds, would not work for RAM machines.  It appears open whether any of the implications SETH ⇒ "SETH for TM" ⇒ "SETH for $2^{o(n)}$ space" can be reversed.</p>

<p>Also, under SETH, for a number of problems, the best exponent is the same for TM and RAM.  For example, for minimum edit distance, the essentially quadratic time algorithm can be made to work for TM while the i.o. essentially quadratic lower bound works even for RAM.</p>

CC BY-SA 3.0
2017-12-05T21:38:02.467Z
Thanks Dmytro, this is a helpful answer.  What I am still trying to understand, and maybe I need to ask another follow-up question, is why we define fine-grained time-complexity the way we do, in terms of a specific model.  For this to be a natural definition (invariant across models), we need an unproven and seemingly dubious assumption (that all models have an essentially linear time translation)...
Dan Brumleve
CC BY-SA 3.0
2017-12-05T21:40:33.123Z
However, we can define DTIME an entirely different way that is also model-invariant by assuming an entirely different unproven assumption, that all exponential-time algorithms can also be made subexponential-space (https://cstheory.stackexchange.com/questions/39653/the-problem-of-whether-or-not-every-function-computable-in-time-tn-is-comput) and ignoring whether or not essentially linear time translations exist.  So I am still wondering why we don't do it that way instead?  All I can think of is that it is less effective (we don't know the exponent for edit distance for example).
Dan Brumleve
CC BY-SA 3.0
2017-12-05T22:20:30.400Z
@DanBrumleve In most cases, RAM based models are a reasonable approximation to modern (nonparallel) computers; and we have to choose a model to state the complexity of an algorithm and to compare quoted results from different papers, even though the model is arguably arbitrary.  (Also, we do not expect that all exponential time algorithms can be made subexponential space.)
Dmytro Taranovsky
CC BY-SA 3.0
2017-12-09T03:48:13.553Z
I asked my follow-up question on math.SE: https://math.stackexchange.com/questions/2556780/model-invariant-definitions-of-fine-grained-time-complexity.  Thanks again Dmytro for your informative answers.
Dan Brumleve
CC BY-SA 3.0
2017-12-05T21:19:35.247Z
2017-12-05T21:19:35.247Z
Dmytro Taranovsky
<p>Consider the class of functions computable in time $(b+o(1))^n = 2^{\log_2{(b)} \times n + o(n)}$ on a $2$-tape Turing machine.</p>

<p>By the Hennie-Stearns theorem, the same functions are computable in time $(b+o(1))^n$ on a $k$-tape Turing machine for any $k \geq 2$. And we can extend this equivalence to any model of computation that has an essentially linear time translation to and from $2$-tape machines. But this isn't a very natural class, even given that we believe in the extended Church-Turing thesis.</p>

<p>If we account for the space usage as well, more models are time-translatable with a blowup of the form $O(t \times s^k)$.  For example, when emulating a $2$-tape machine on a $1$-tape machine, it only has to scan the space used each time step, so the time blowup is $O(t \times s)$. Similarly, it seems like for RAM models there is a small $k$ that works: use one tape as an associative memory, a list of key-value pairs, which the emulator searches to find a key written on a different tape.</p>

<p>Now it seems sensible to say something like this: $F$ is computable in $(b+o(1))^n$ time and $2^{o(n)} = (1+o(1))^n$ space. I don't have to say what model I'm using because all the obvious ones work.  There is sort of a trade-off here, in exchange for a subexponential space restriction, we can specify a particular base $b$ for the time complexity of our function that's invariant in a larger context.</p>

<p>That's about as far as I understand this issue right now.  And I could be completely mistaken about something so partly I'm looking for some reassurance that the above is roughly correct. But I wonder if that's all there is to it? Is there some other set of assumptions under which the exponential time base of a function can be uniquely specified?</p>

<p>EXAMPLE: <a href="https://rjlipton.wordpress.com/2014/10/18/a-new-provable-factoring-algorithm/" rel="nofollow noreferrer">Rubinstein's theorem</a> says that we can factor with base $2^\frac{1}{3}$. Since the algorithm uses subexponential space, this result is robust across models.</p>

<p>EXAMPLE: <a href="http://michaelnielsen.org/polymath1/index.php?title=Finding_primes#Partial_results" rel="nofollow noreferrer">The square-root barrier for finding primes</a>. If it were broken by exhibiting an algorithm that required exponential space on a Turing machine, would that really be a natural result, or possibly just an artifact of the machine model?</p>

<p>EXAMPLE: The Strong Exponential-Time Hypothesis. Might it be the case that a RAM program can solve general $\text{CNF-SAT}$ in exponential time with a base less than $2$, but also requiring exponential space, so that when translated to a TM the algorithm runs in exponential time with a base at least $2$ and (a slightly-weakened version of) SETH is true in the TM model only?  Is there a variant of SETH where only subexponential space algorithms are considered in order to make it applicable to more models?  Or is there some reason I'm not understanding that no generality is lost without this assumption?</p>

CC BY-SA 3.0
2017-12-06T01:27:47.867Z
SETH doesn't talk about 3SAT. You might want to change that part.
ivmihajlin
<reference-request><time-complexity><exp-time-algorithms><machine-models>
Most general setting for fine-grained exponential-time complexity classes?
Dan Brumleve
# Most general setting for fine-grained exponential-time complexity classes?

(Asked by: username_0 on 2017-11-29)

Consider the class of functions computable in time $(b+o(1))^n = 2^{\log\_2{(b)} \times n + o(n)}$ on a $2$-tape Turing machine.

By the Hennie-Stearns theorem, the same functions are computable in time $(b+o(1))^n$ on a $k$-tape Turing machine for any $k \geq 2$. And we can extend this equivalence to any model of computation that has an essentially linear time translation to and from $2$-tape machines. But this isn't a very natural class, even given that we believe in the extended Church-Turing thesis.

If we account for the space usage as well, more models are time-translatable with a blowup of the form $O(t \times s^k)$. For example, when emulating a $2$-tape machine on a $1$-tape machine, it only has to scan the space used each time step, so the time blowup is $O(t \times s)$. Similarly, it seems like for RAM models there is a small $k$ that works: use one tape as an associative memory, a list of key-value pairs, which the emulator searches to find a key written on a different tape.

Now it seems sensible to say something like this: $F$ is computable in $(b+o(1))^n$ time and $2^{o(n)} = (1+o(1))^n$ space. I don't have to say what model I'm using because all the obvious ones work. There is sort of a trade-off here, in exchange for a subexponential space restriction, we can specify a particular base $b$ for the time complexity of our function that's invariant in a larger context.

That's about as far as I understand this issue right now. And I could be completely mistaken about something so partly I'm looking for some reassurance that the above is roughly correct. But I wonder if that's all there is to it? Is there some other set of assumptions under which the exponential time base of a function can be uniquely specified?

EXAMPLE: [Rubinstein's theorem](https://rjlipton.wordpress.com/2014/10/18/a-new-provable-factoring-algorithm/) says that we can factor with base $2^\frac{1}{3}$. Since the algorithm uses subexponential space, this result is robust across models.

EXAMPLE: [The square-root barrier for finding primes](http://michaelnielsen.org/polymath1/index.php?title=Finding_primes#Partial_results). If it were broken by exhibiting an algorithm that required exponential space on a Turing machine, would that really be a natural result, or possibly just an artifact of the machine model?

EXAMPLE: The Strong Exponential-Time Hypothesis. Might it be the case that a RAM program can solve general $\text{CNF-SAT}$ in exponential time with a base less than $2$, but also requiring exponential space, so that when translated to a TM the algorithm runs in exponential time with a base at least $2$ and (a slightly-weakened version of) SETH is true in the TM model only? Is there a variant of SETH where only subexponential space algorithms are considered in order to make it applicable to more models? Or is there some reason I'm not understanding that no generality is lost without this assumption?

**Tags:** reference-request, time-complexity, exp-time-algorithms, machine-models
> **Comments:**
> **username_1**: SETH doesn't talk about 3SAT. You might want to change that part.  

---

## 2 answers

### Answer by username_2 on 2020-07-02. Score: 6

(Just now noticed this question.) There are a lot of questions in the above question. I will try to just address the last few.

> Might it be the case that a RAM program can solve general CNF-SAT in exponential time with a base less than 2, but also requiring exponential space, so that when translated to a TM the algorithm runs in exponential time with a base at least 2 and (a slightly-weakened version of) SETH is true in the TM model only?

SETH is generally stated in the word RAM model (in particular, with $O(\log t)$ word size, where the running time is $t$). This is mainly because most (if not all?) algorithmists don't care about or work in the multi-tape Turing machine model, but rather a random-access style model. It is true that in general we do not know how to simulate such time-t RAMs with multi-tape Turing machines super-efficiently, and (more importantly) we do not know how to simulate such RAMs in less than $O(t^2)$ gates with a Boolean circuit. But see the answer to the next question.

> Is there a variant of SETH where only subexponential space algorithms are considered in order to make it applicable to more models? Or is there some reason I'm not understanding that no generality is lost without this assumption?

Note there is a very simple time-space tradeoff one can obtain, if SETH is false. Suppose we have a $2^{\beta n}$ time algorithm $A$ for k-SAT on $n$ variables, using $\Theta(2^{\beta n})$ space, where $\beta < 1$. Consider the following algorithm $A\_{\alpha}$ parameterized by some parameter $\alpha \in (0,1)$:

*On $k$-SAT formula $F$, enumerate all assignments $a$ to the first $n-\alpha n$ variables of $F$, plug $a$ into $F$ and run $A$ on the resulting $\alpha n$-variable formula. Stop and output a SAT assignment if it's found.*

Note the above $A\_{\alpha}$ runs in $O(2^{n-\alpha n}\cdot 2^{\beta \alpha n}) \leq O(2^{n-(1-\beta)\alpha n})$ time and uses only $\Theta(2^{\beta \alpha n}+\alpha n)$ space.

**Corollary:** If $k$-SAT has a $2^{\beta n}$ time algorithm, then for every $\epsilon \in (0,\beta)$ there is a $\delta > 0$ such that $k$-SAT can be solved in $O(2^{\epsilon n})$ space and $O(2^{(1-\delta)n})$ time.

**Proof:** Let $k$-SAT have a $2^{\beta n}$ time algorithm. For any given $\epsilon \in (0,\beta)$, set $\alpha = \epsilon/\beta < 1$. Applying the above reduction, we can solve $k$-SAT in $O(2^{\epsilon n})$ space and $2^{n-(1-\beta)\alpha n}$ time, so $\delta = (1-\beta)\alpha$ suffices. QED

However, note the time-space product of the resulting algorithm is not very favorable...

I do think that the "polynomial-space SETH" (which I believe I have seen in the literature, but am blanking on a reference) that only rules out polynomial-space faster-than-$2^n$ time for $k$-SAT, is a much more plausible hypothesis than SETH itself.


---

### Answer by username_3 on 2017-12-05. Score: 3

Your description looks correct. The equivalence between deterministic models (under essentially linear time translation) for algorithms using $t^{o(1)}$ space (if the input size is $t^{o(1)}$ or we have random access to the input) is a nice observation. (However, we do know yet know whether randomized algorithms might be faster (even for $t^{o(1)}$ input size), and quantum algorithms are likely to be faster and might even violate extended Church-Turing thesis.)

Two other cases of essentially linear translation:

* Different reasonable parallel models with $t^{1+o(1)}$ size and $t^{o(1)}$ depth appear equivalent (in the sense that the translation still has $t^{1+o(1)}$ size and $t^{o(1)}$ depth) and can be simulated on a TM in $t^{1+o(1)}$ time.
* Nondeterministic time, since a nondeterministic Turing machine can guess and verify history of a nondeterministic RAM machine.

The square-root barrier for finding primes is likely a number theory problem rather than a computational problem. The naive algorithm (with a polynomial time primality test) for finding the least prime above $x$ is conjectured to be polynomial time (in $\log x$). A provable deterministic algorithm finding a decimal $k$-digit prime in time $O(10^{k/2-ε})$ using RAM but not TM could potentially come from some memory-intensive partial derandomization that does not answer the question of $O(n^{1/2-ε})$ upper bound between consecutive primes.

For SETH, the convention is to use RAM machines. Otherwise, its key application, the fine-grained complexity lower-bounds, would not work for RAM machines. It appears open whether any of the implications SETH ⇒ "SETH for TM" ⇒ "SETH for $2^{o(n)}$ space" can be reversed.

Also, under SETH, for a number of problems, the best exponent is the same for TM and RAM. For example, for minimum edit distance, the essentially quadratic time algorithm can be made to work for TM while the i.o. essentially quadratic lower bound works even for RAM.

> **Comments:**
> **username_0**: Thanks Dmytro, this is a helpful answer.  What I am still trying to understand, and maybe I need to ask another follow-up question, is why we define fine-grained time-complexity the way we do, in terms of a specific model.  For this to be a natural definition (invariant across models), we need an unproven and seemingly dubious assumption (that all models have an essentially linear time translation)...  
> **username_0**: However, we can define DTIME an entirely different way that is also model-invariant by assuming an entirely different unproven assumption, that all exponential-time algorithms can also be made subexponential-space (https://cstheory.stackexchange.com/questions/39653/the-problem-of-whether-or-not-every-function-computable-in-time-tn-is-comput) and ignoring whether or not essentially linear time translations exist.  So I am still wondering why we don't do it that way instead?  All I can think of is that it is less effective (we don't know the exponent for edit distance for example).  
> **username_3**: @DanBrumleve In most cases, RAM based models are a reasonable approximation to modern (nonparallel) computers; and we have to choose a model to state the complexity of an algorithm and to compare quoted results from different papers, even though the model is arguably arbitrary.  (Also, we do not expect that all exponential time algorithms can be made subexponential space.)  
> **username_0**: I asked my follow-up question on math.SE: https://math.stackexchange.com/questions/2556780/model-invariant-definitions-of-fine-grained-time-complexity.  Thanks again Dmytro for your informative answers.  

---

