Cobham's thesis, also known as Cobham–Edmonds thesis (named after
Alan Cobham
Sir Alan John Cobham, KBE, AFC (6 May 1894 – 21 October 1973) was an English aviation pioneer.
Early life and family
As a child he attended Wilson's School, then in Camberwell, London. The school relocated to the former site of Croydo ...
and
Jack Edmonds
Jack R. Edmonds (born April 5, 1934) is an American-born and educated computer scientist and mathematician who lived and worked in Canada for much of his life. He has made fundamental contributions to the fields of combinatorial optimization, pol ...
),
[.][.] asserts that computational problems can be feasibly computed on some computational device only if they can be computed in
polynomial time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
; that is, if they lie in the
complexity class
In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory.
In general, a complexity class is defined in terms of ...
P. In modern terms, it identifies
tractable problem
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved by ...
s 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(''n
c''), using the
big-O notation
Big ''O'' notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. Big O is a member of a family of notations invented by Paul Bachmann, Edmund Land ...
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
In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory.
In general, a complexity class is defined in terms of ...
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
Computability is the ability to solve a problem in an effective manner. It is a key topic of the field of computability theory within mathematical logic and the theory of computation within computer science. The computability of a problem is close ...
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
In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) ...
, 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
In computational complexity theory, the time hierarchy theorems are important statements about time-bounded computation on Turing machines. Informally, these theorems say that given more time, a Turing machine can solve more problems. For example, ...
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
In computer science, the analysis of algorithms is the process of finding the computational complexity of algorithms—the amount of time, storage, or other resources needed to execute them. Usually, this involves determining a function that re ...
, 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 ''n''
200 instructions is considered feasible, and a problem with an algorithm that takes 2
0.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'' = 10
6 could be solved without difficulty. In fields where practical problems have millions of variables (such as
operations research
Operations research ( en-GB, operational research) (U.S. Air Force Specialty Code: Operations Analysis), often shortened to the initialism OR, is a discipline that deals with the development and application of analytical methods to improve deci ...
or
electronic design automation
Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD), is a category of software tools for designing Electronics, electronic systems such as integrated circuits and printed circuit boards. The tools wo ...
), even O(''n''
3) 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
traveling salesman problem
The travelling salesman problem (also called the travelling salesperson problem or TSP) asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each cit ...
is widely suspected to be unsolvable exactly in polynomial time (it is
NP-hard
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
), but good solutions can be obtained in polynomial time with methods such as the
Christofides algorithm The Christofides algorithm or Christofides–Serdyukov algorithm is an algorithm for finding approximate solutions to the travelling salesman problem, on instances where the distances form a metric space (they are symmetric and obey the triangle ine ...
.
References
{{Reflist
Computational complexity theory