Cobham's thesis
Cobham's thesis, also known as the Cobham–Edmonds thesis, asserts that computational problems can be feasibly computed on some computational device only if they can be computed in polynomial time; that is, if they lie in the complexity class P. In modern terms, it identifies tractable problems with the complexity class P.
Formally, to say that a problem can be solved in polynomial time is to say that there exists an algorithm that, given an n-bit instance of the problem as input, can produce a solution in time O, using the big-O notation and with c being a constant that depends on the problem but not the particular instance of the problem.
Alan Cobham's 1965 paper entitled "The intrinsic computational difficulty of functions" is one of the earliest mentions of the concept of the complexity class P, consisting of problems decidable in polynomial time. Cobham theorized that this complexity class was a good way to describe the set of feasibly computable problems.
Jack Edmonds's 1965 paper "Paths, trees, and flowers" is also credited with identifying P with tractable problems.
Limitations
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.
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, but good solutions can be obtained in polynomial time with methods such as the Christofides algorithm.