1

That is, is there a conception of a problem's being $\mathrm{DTIME}(n^k)$-complete for some fixed value of $k$? For example, it seems like it should be provable--likely via a Turing-machine construction--that searching an unsorted list would be $\mathrm{DTIME}(n)$-complete; or that finding a subsequence optimizing some catamorphic objective function would be $\mathrm{DTIME}(n^2)$-complete. Not sure about $n^3$ or higher. Do such proofs exist?


1 Jan 2020: In view of this answer, I realize I did a disservice by failing to point out that my question is conditioned on resource limitations for the reductions being allowed. It makes sense to want a $o(n^k)$-time reduction for a $O(n^k)$-time problem. This being impossible for $k=1$, that particular case might need a reduction technique I haven't even considered.


17 Jan 2020

Constant-time mapping reduction for $\mathrm{DTIME}(n)$

Here is a sketch of how a proof of what I'm speculatively calling '$\mathrm{DTIME}(n)$-completeness' might go down. The reduction is to the (right) fold from functional programming.

Suppose we start with a Turing machine $T_L$ that recognizes a language $L$ in $O(n)$ time. If it always completes in under $c \cdot n$ steps, for constant $c$, then $T_L$ is equivalent to a primitive recursive function making no more than $c$ passes over the input. By the universal and fusion properties [1], all $c$ passes may be combined into one and factored out. In a Haskell-ish notation,

$$ \exists f, z. \ T_M \cong fold\, f\, z $$

Let the $fold$ function be implemented by a machine $T_{fold}$ which takes three inputs: a description of another Turing machine $T_f$ implementing the functionality of $f$, which it then simulates; the input to $f$; and a seed value $z$ for the catamorphism. $T_f$ and $z$ only need to be constructed once, the cost of which depends only on $T_L$ itself. Since the mean runtime of $T_f$ must be $O(1)$, its simulation by $T_{fold}$, even on a single-tape machine, remains $O(1)$, and the runtime of the compound machine $(T_{fold}\ T_f\ z)$ stays at $O(n)$. Consequently, by passing instances of $L$ to $(T_{fold}\ T_f\ z)$ I can postulate $$\forall L \in \mathrm{DTIME}(n).\ L \le_m fold$$ With the reduction's overhead depending on $L$ but not on the size of the input, it is $O(1)$.

I can roughly envision an inductive argument, using this as the base case, extending to a $k$-fold $fold$ composition and $\mathrm{DTIME}(n^k)$, but I don't have the details. Due to this lack of completeness as well as rigor (what if the $O(n)$ complexity of $T_L$ was amortized?), I am unwilling yet to posit this as an answer to my own question. I also can't shake the feeling that a ready resolution to it all may be available from a fp expert, now that it is turning in that direction.

[1]: Hutton, G. (1999). A tutorial on the universality and expressiveness of fold. Journal of Functional Programming, 9(4), 355–372. doi: 10.1017/s0956796899003500

Dumaiu
  • 89
  • 1
    Under which reductions? – TheHolyJoker Dec 31 '19 at 23:02
  • @TheHolyJoker: In the same way that Cook and Levin had to establish SAT as being NP-complete before Karp reductions could begin, I think that an initial proof of the hypothesized $\mathrm{DTIME}(n)$-completeness and its ilk would need to use "lower-level" proof techniques. (On deterministic machines, in contrast to Cook-Levin.) Whether this is possible and/or accomplished is the thrust of my question, so if I could answer yours, I would have an answer to mine! – Dumaiu Jan 01 '20 at 03:37

1 Answers1

1

Cook-Levin theorem result is, and I quote:

That is, any problem in NP can be reduced in polynomial time by a deterministic Turing machine to the problem of determining whether a Boolean formula is satisfiable.

It is redundant to define polynomial (or even Log-space reduction reductions between $DTIME(n^{k_1})\text{ and }DTIME(n^{k_2})$

For polynomial reduction, the reduction itself can solve the problem.
Which means every $L_1\in DTIME(n^{k_1})\leq_p DTIME(n)$ under reduction $p$ thats solves $L_1$ the solution as output.

For Log-space reduction, The reduction can square the size of the input for example by repeating each letter in the input $n$ times.
This means $$\forall L_1\in DTIME(n^{2k})\ \ \exists L_2\in DTIME(n^{k}) \ \ s.t\ \ L_1\leq_p L_2 $$

Important Remark
This does not mean $DTIME(n^{k + 1}) = DTIME(n^{k})$ as the Time hierarchy theorem proves

Maybe you will be interested in the $P$-complete class (under log-space reductions).

TheHolyJoker
  • 2,040
  • You're right; I am interested in your $P$-completeness suggestion, which would have made for a better comparison than Cook-Levin. – Dumaiu Jan 01 '20 at 21:35
  • I'm sorry if I misunderstood your earlier comment--if you are saying that polynomial-time reductions trivialize my question, that is certainly true. If your answer is that polynomial-time and log-space reductions are the only resource prescriptions in use, and therefore the complexity classes that are the topic of my post are not generally recognized to exist, then that, as matter of record, may also be true. – Dumaiu Jan 01 '20 at 21:53
  • Also, it was the time hierarchy theorem which got me thinking about partitioning $\mathrm{DTIME}$ this way in the first place. – Dumaiu Jan 01 '20 at 21:57
  • @Dumaiu Don't be sorry! I was struggling with this question regarding the Log space class hierarchy! My earlier comment was meant to make you think about the definitions. – TheHolyJoker Jan 02 '20 at 12:14
  • @Dumaiu please accept the answer if it was useful :) – TheHolyJoker Jan 09 '20 at 09:40
  • Don't worry, I've not forgotten. I just haven't had much time to work on this recently. – Dumaiu Jan 10 '20 at 21:15
  • I appreciate your prodding me on this; something eventually popped into place. Please see the section I've added to my post, about why a $DTIME(n)$-complete problem may not be as silly as it first sounds. – Dumaiu Jan 17 '20 at 21:32
  • 1
    @Dumaiu I did not say it was silly! My first question was "under which reduction", to which you answer in the update: constant reduction. I think it is very interesting speaking on the lower bound of problems, which is also a direction you might find interesting :) – TheHolyJoker Jan 18 '20 at 10:18
  • 1
    I'm glad you think so. No, you didn't call it 'silly', you more polite than that; but, from my OP, you would have been excused for viewing it as silly. The reduction complexity is the interesting part! And even I didn't know just what I was talking about at first. That is the risk of asking for help: if I wait until I perfectly understand my topic, I will never ask anything... – Dumaiu Jan 27 '20 at 00:33