<P> First, it is not always true in practice . A theoretical polynomial algorithm may have extremely large constant factors or exponents thus rendering it impractical . On the other hand, even if a problem is shown to be NP - complete, and even if P ≠ NP, there may still be effective approaches to tackling the problem in practice . There are algorithms for many NP - complete problems, such as the knapsack problem, the traveling salesman problem and the Boolean satisfiability problem, that can solve to optimality many real - world instances in reasonable time . The empirical average - case complexity (time vs. problem size) of such algorithms can be surprisingly low . An example is the simplex algorithm in linear programming, which works surprisingly well in practice; despite having exponential worst - case time complexity it runs on par with the best known polynomial - time algorithms . </P> <P> Second, there are types of computations which do not conform to the Turing machine model on which P and NP are defined, such as quantum computation and randomized algorithms . </P> <P> According to polls, most computer scientists believe that P ≠ NP . A key reason for this belief is that after decades of studying these problems no one has been able to find a polynomial - time algorithm for any of more than 3000 important known NP - complete problems (see List of NP - complete problems). These algorithms were sought long before the concept of NP - completeness was even defined (Karp's 21 NP - complete problems, among the first found, were all well - known existing problems at the time they were shown to be NP - complete). Furthermore, the result P = NP would imply many other startling results that are currently believed to be false, such as NP = co-NP and P = PH . </P> <P> It is also intuitively argued that the existence of problems that are hard to solve but for which the solutions are easy to verify matches real - world experience . </P>

If p = 1 2 3 what is the output of length(p)