Although I’m a software developer, I’ve done only two strips about computer science resp. programming so far: Software Engineering, Now With Cats! and Cassandra. I hope you understand that I wanted to do a couple of strips about the topic eventually. This is the first of four strips in the series.
Richard’s and Melody’s t-shirts are about the P versus NP problem, the major unsolved problem in computer science. Here is a short explanation of the problem:
There is a class of decision problems, such as the travelling salesman problem, that can be solved by well-known algorithms. But all these algorithms need exponential time to find the solution, for example 2100 = 1,267,650,600,228,229,401,496,703,205,376 steps. This is, obviously, a lot and can’t be computed even on modern computers. After finding such a solution, only polynomial time is needed to verify that the solution is correct, for example 100² = 10,000 steps. This is usually very easy for a modern computer.
It is still an open question if algorithms exist that can also solve these decision problems in polynomial time. This would be a major breakthrough in computing and would make it possible to calculate exact results where only approximate solutions can be calculated today.
Richard thinks that this is possible, i.e. P == NP, while Melody thinks that this is impossible, i.e. P != NP.
- Jack: Uhm,… boss? Melody Crawford, the new department head of the graphics programming department, has just arrived.
- Richard: All right.
- Richard: Is it true that she headed M.I.T.’s robotics department for a while?
- Jack: Uhm,… yes.
- Richard’s t-shirt: TEAM P == NP
- Melody’s t-shirt: TEAM P != NP