s solved by a state-of-the-art specialized algorithm using a 933 MHz Pentium III computer (average of 100 instances, data from Pisinger). The fit of the quadratic equation suggests that empirical algorithmic complexity for instances with 50–10,000 variables is O((log
n)2) despite having exponential worst-case complexity estimate in theory. While Cobham's thesis is an important milestone in the development of the theory of
computational complexity, it has limitations as applied to practical feasibility of algorithms. The thesis essentially states that "
P" means "easy, fast, and practical", while "not in
P" means "hard, slow, and impractical". But this is not always true, because the thesis abstracts away some important variables that influence the runtime in practice: • It ignores constant factors and lower-order terms. • It ignores the size of the exponent. The
time hierarchy theorem proves the existence of problems in
P requiring arbitrarily large exponents. • It ignores the typical size of the input. All three are related and are general complaints about
analysis of algorithms, but they particularly apply to Cobham's thesis, since it makes an explicit claim about practicality. Under Cobham's thesis, a problem for which the best algorithm takes
n200 instructions is considered feasible, and a problem with an algorithm that takes 20.00001
n instructions infeasible—even though one could never solve an instance of size
n = 2 with the former algorithm, whereas an instance of the latter problem of size
n = 106 could be solved without difficulty. In fields where practical problems have millions of variables (such as
operations research or
electronic design automation), even O(
n3) algorithms are often impractical. A separate consideration is that in many cases, one is often content with
approximate solutions if an exact solution cannot be found. For example, the
travelling salesman problem is widely suspected to be unsolvable exactly in polynomial time (it is
NP-hard), but good solutions can be obtained in polynomial time with methods such as the
Christofides algorithm. ==References==