The term
sub-exponential time is used to express that the running time of some algorithm may grow faster than any polynomial but is still significantly smaller than an exponential. In this sense, problems that have sub-exponential time algorithms are somewhat more tractable than those that only have exponential algorithms. The precise definition of "sub-exponential" is not generally agreed upon, however the two most widely used are below.
First definition A problem is said to be sub-exponential time solvable if it can be solved in running times whose logarithms grow smaller than any given polynomial. More precisely, a problem is in sub-exponential time if for every there exists an algorithm which solves the problem in time
O(2
nε). The set of all such problems is the complexity class
SUBEXP which can be defined in terms of
DTIME as follows. :\textsf{SUBEXP}=\bigcap_{\varepsilon>0} \textsf{DTIME}\left(2^{n^\varepsilon}\right) This notion of sub-exponential is non-uniform in terms of
ε in the sense that
ε is not part of the input and each ε may have its own algorithm for the problem.
Second definition Some authors define sub-exponential time as running times in 2^{o(n)}. This definition allows larger running times than the first definition of sub-exponential time. An example of such a sub-exponential time algorithm is the best-known classical algorithm for integer factorization, the
general number field sieve, which runs in time about {{nowrap|2^{{O}(n^{1/3} (\log n)^{2/3})},}} where the length of the input is . Another example was the
graph isomorphism problem, which the best known algorithm from 1982 to 2016 solved in {{nowrap|2^{O\left(\sqrt{n \log n}\right)}.}} However, at
STOC 2016 a quasi-polynomial time algorithm was presented. It makes a difference whether the algorithm is allowed to be sub-exponential in the size of the instance, the number of vertices, or the number of edges. In
parameterized complexity, this difference is made explicit by considering pairs (L,k) of
decision problems and parameters
k.
SUBEPT is the class of all parameterized problems that run in time sub-exponential in
k and polynomial in the input size
n: :\textsf{SUBEPT}=\textsf{DTIME}\left(2^{o(k)} \cdot \textsf{poly}(n)\right). More precisely, SUBEPT is the class of all parameterized problems (L,k) for which there is a
computable function f : \N \to \N with f \in o(k) and an algorithm that decides
L in time 2^{f(k)} \cdot \textsf{poly}(n).
Exponential time hypothesis The
exponential time hypothesis (
ETH) is that
3SAT, the satisfiability problem of Boolean formulas in
conjunctive normal form with at most three literals per clause and with
n variables, cannot be solved in time 2
o(
n). More precisely, the hypothesis is that there is some absolute constant such that 3SAT cannot be decided in time 2
cn by any deterministic Turing machine. With
m denoting the number of clauses, ETH is equivalent to the hypothesis that
kSAT cannot be solved in time 2
o(
m) for any integer . The exponential time hypothesis implies
P ≠ NP. == Exponential time ==