Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Cybernetic Vermin
Apr 18, 2005

more like no one should expect np to be efficiently solvable, but it could be that there exists some monstrous, but still polynomial, bound for those problems (e.g. it turns out that satisfiability is solvable in time n^100), which would rather mean the end for the polynomial hierarchy as a way of separating these things than it would mean that np-complete problems can be efficiently solved

Adbot
ADBOT LOVES YOU

Cybernetic Vermin
Apr 18, 2005

it is a legit philosophical conundrum why all "natural" problems tend to either be np (or worse), or n^c for very small integers c. is the small exponents inherent in what we view as natural, or is it that there exists families of stronger algorithms which we have difficulty discovering by intuitive means? primality testing surprisingly being in p, with a running time of O(n^12) (later reduced to O(n^6) granted) is one of the odd ones out, but may be the first of something bigger (having only been figured out in 2002)

Cybernetic Vermin
Apr 18, 2005

LP0 ON FIRE posted:

i don't know if i like the video.. he mentions sorting. checking sorting can be done in polynomial time, but actually sorting - isn't that np?

....well, if the ordering isn't required to be transitive i guess? but mostly no

Cybernetic Vermin
Apr 18, 2005

LP0 ON FIRE posted:

thanks that is good info

it just sounds like to me sorting (or for now) is sort of np because in any case, you need to keep checking to see if you have the correct answer

ah, i think i see what your confusion is: what we certainly know is that p np. for sorting any sorting algorithm will indeed also in effect check whether the list is sorted (since it has little choice but to make repeated comparisons). it is the case in general as well, but it gets into slight technicalities at that point as these are "decision problems" (i.e. only yes/no answers, no actual output)

that is, in this informal sense, np is the set of problems where one can in polynomial time *recognize* that a given solution indeed is a solution, where p are the problems where one can in polynomial time *create* a solution (which *implies* being able to recognize it). so, if these are the same, p=np, then it is sufficient that solutions can be recognized, there exists some general way to (efficiently) rework the recognition of solutions into an algorithm for the construction of solutions (and, as this is in polynomial time this general way is more clever than just enumerating all possible solutions)

it makes a fair difference to how one can phrase things that the problems are all yes/no problems, but in practical terms the above is largely correct

the one reason i can see to think that p could equal np is in the assumptions of that "(efficiently)" above, since complexity theory started out assuming anything that can be done in polynomial time to be somewhat tractable, which has sort of worked out, with most polynomial time algorithms having polynomials like n^2 and n^3. however, it may be that p=np with the "general way" above adding some polynomial like n^1000, making it in practice no better than the dumb enumeration of solutions. in that case the discovery would mostly just kill off the idea that we can view polynomial time as a useful complexity class in itself, and future complexity work would have to be rebuilt with a more carefully restricted class standing in for the tractable

Cybernetic Vermin
Apr 18, 2005

see, this is the sort of nonsense which one gets around by having complexity classes defined exclusively by yes/no problems. not that the statement above makes much sense either way, but clearly one wants to separate between something being difficult to compute in a deeper sense, and something taking a long time to do because the output demanded is large

Adbot
ADBOT LOVES YOU

Cybernetic Vermin
Apr 18, 2005

things that are actually useful to code monkeys are worthless by association, may as well try asking about something cool and interesting, like complexity theory or philosophy

  • Locked thread