The goal for this activity is to understand Shor's algorithm for factoring large numbers in polynomial time.
Share this step
In computer science, the two most important classes of problems are P and NP. The P class stands for polynomial, that is, we can solve the problem in order of (N) to the (k) time ((O(N^k))) where (N) represents the size of the problem and (k) is some constant number. NP is non-deterministic polynomial.
The best known solutions to problems in NP and believed to be outside of P are exponential. Of course, any exponential grows very fast, so problems that take exponential time are considered to be hard to solve. So what about factoring, where does it fall?
Factoring is, so far as we know, harder than polynomial, but not as hard as exponential. Because Shor’s algorithm shows that a quantum computer can factor in polynomial time, it is exciting for three big reasons: