Talk:Cobham's thesis

message: I suggest at some point that we discuss the fact that some natural approximation algorithms have algorithms with very large exponents (this was the motivation for the definition of the class FPTAS). Not adding this right now since some expansion is coming. Dcoetzee 20:02, 10 March 2008 (UTC)
thread_title:  Approximation algorithms 

message: I remember reading something about this idea being due to Edmonds (of the matching algorithm, etc.) Does someone know more about this? Shreevatsa (talk) 23:02, 22 February 2009 (UTC)
replies: text: I didn't remember I had left this question here, but it looks like I'll have to answer it myself. :-( I've added a couple of sources, but eventually they need to be rewritten describing who did what. Shreevatsa (talk) 01:22, 20 August 2009 (UTC)

text: I've also heard Edmonds mentioned in connection with this.  Maybe in Garey and Johnson's book on NP-completeness. 75.57.242.120 (talk) 09:26, 30 March 2011 (UTC)
thread_title:  Edmonds? 

message: Stephen Cook's Turing award lecture might be a useful reference for this article. 75.57.242.120 (talk) 09:26, 30 March 2011 (UTC)
thread_title: Cook lecture

message: I deleted a huge chunk of a basically useful and correct but misplaced text. Contrary to the opinion of the contributors (unreferenced, by the way), none of the below constitutes an objection. In fact, all of the below are approaches specifically developed to deal with inherent complexity of intractable problems -- essentially by tweaking the theoretical model of the real-world problem: put restrictions on the input, on the desired answer, etc. And by the way, simplex-algorithm is a popular but outdated example: it used to work best, but with recent advances polynomial-time algorithms are starting to beat it. 
These are major issues. I can continue and proceed with nit-picking with some other blunders, but for now it is an overkill: the whole text mostly unreferenced. 
----
The study of polynomial time approximation schemes considers families of polynomial-time algorithms where the exponent may depend on the desired error rate ε. For example, a PTAS algorithm may have runtime O(n(1/ε)!). This has been a practical problem in the design of approximation algorithms, and was mitigated by the introduction of efficient and fully polynomial-time approximation schemes; see polynomial time approximation scheme for details.
The typical response to this objection is that in general, algorithms for computational problems that naturally occur in computer science and in other fields have neither enormous nor minuscule constants and exponents.  Even when a polynomial-time algorithm has a large exponent, historically, other algorithms are subsequently developed that improve the exponent.  Also, typically, when computers are finally able to solve problems of size n fast enough, users of computers ask them to solve problems of size n+1.  These are all subjective statements.
Another objection is that Cobham's thesis only considers the worst-case inputs.  Some NP-hard problems can be solved quite effectively on many of the large inputs that appear in practice; in particular, the travelling salesman problem and the boolean satisfiability problem can often be solved exactly even with input sizes in the tens or hundreds of thousands.  Even though the same algorithms can be made to fail (take too long, use too much memory, or trigger an error condition) on some inputs, users may be content with only sometimes getting solutions.
In some cases, in fact, an algorithm that might require exponential time is the technique of choice because it only does so on highly contrived examples. The simplex method is one such example, typically preferred to polynomial-time algorithms for the same problem because it runs in linear time on most practical input even though it occasionally requires exponential time. Another example is the typechecking algorithm for Standard ML. The graph at the top of this article shows the empirical complexity for solving a particular subset of the knapsack problem, where the problem size increases but the individual numbers are bounded in size.  For problems that fit this description, modern exponential-time algorithms demonstrate a quadratic growth over approximately 4 orders of magnitude on typical instances, which may be sufficient for many applications.Goulimis C. N. (2007). "Appeal to NP-Completeness Considered Harmful".  Interfaces, Vol. 37, No. 6, November–December 2007, pp. 584–586.
This is an example of an algorithm that runs in polynomial time if the size of their inputs is bounded. These problems are called fixed-parameter tractable and are said to be solvable in pseudo-polynomial time; they are studied by the subfield of parameterized complexity. For instance, the subset sum problem, the 0-1 knapsack problem and the multiple-choice subset-sum problem are all solvable in linear time, provided the weights and profits are bounded by a constantPisinger D (1999). "Linear Time Algorithms for Knapsack Problems with Bounded Weights". Journal of Algorithms, Volume 33, Number 1, October 1999, pp. 1-14.
----
I leave it here, since it may be reused somewhere else. Max Longint (talk) 00:57, 7 October 2011 (UTC)
thread_title:  deleted text 

message: Policies mean something, or they do not. If the policy requiring verifiability and sourcing and those requiring that issues related to WP:OR exist, if they have meaning, they must have recourse in the event that they are unheeded. This action has been tagged  for more than 7 years, and a little superficial checking shows it has been unsourced over a long period as well. It is placed here, someone can add the citations.
::Objections
Until it is sourced, and verifiable, please do not place it back in the article. Please comply.  Leprof 7272 (talk) 04:21, 1 February 2015 (UTC)
thread_title:  Moved long tagged OR section here 

message: At a cursory glance, the article fails to adequately describe the impact on the development of the computational complexity theory. Unfortunately I am an average software eng and lack the expertise to address this deficiency. Staszek Lem (talk) 17:48, 15 April 2016 (UTC)
thread_title:  Description of mpact is inadequate 

message: The Limitations section mentions that 2^{100} is considered as an infeasible amount of computation.
While I was of this opinion until recent years, to my dismay it seems that currently the bitcoin community is running \approx 2^{90} SHA-256 computations per year (not sure how many miners are around, not sure one could consider the mining community as a polynomially sized circuit, but still). I don't know how many bit-operations are required for each hash, but I think the example of n^{100} for n=2 being infeasible may be getting out of date...   Changing the exponent for 128 or 192 should do the trick (and if this becomes outdated, we'll have bigger cryptographic issues to deal with than the accuracy of an example on a wiki page 😬).
:Agree.  I did the same calculation and bitcoin mining is getting close.  So I changed the example to n200, which should be a safe statement.   LouScheffer (talk) 20:21, 22 July 2021 (UTC)
thread_title:  Minor comment on "limitations" example