Okay, so P vs NP is a very interesting topic that I like to talk about, to keep things simple, P vs NP is 1/7 of the millennium problems. From an abstract perspective, this problem essentially queries whether or not it’s possible to solve complex problems in the amount of time that it takes to complete simple problems. An example being “What’s the answer to 2×2?” compared to “What’s the best strategic move to make from position ‘y’ within my game of chess, on a board of ‘n’ x ‘n’ size to ensure I win?“.
To take a step back, let me first explain what theoretical computer science consists of; theoretical computer science is a large area of study, one that will analyse the mathematical functions that are used in the algorithms that we use. Theoretical computer science is more broader than that again, but that’s all the understanding that’s required for this article. The P vs NP problem specifically falls into computational complexity theory, which I won’t go too far into for the sake of keeping this easy to read.
The P vs NP is considered to be the largest unanswered question in all of computer science, potentially in all of mathematics. Yet it’s quite funny, looking at the 7 millennium problems, most of them require specialist knowledge just to understand the question(s), however, P vs NP is not essentially the same in that sense. It’s quite easy to understand, only hard to solve, on one hand, it’s usually harder to prove that something does not exist, in this case, you’d need to provide a solid proof that there’s not notation/formula/strategy that can be provided to all NP questions, allowing them to be solved in the same time as P questions. But on the other hand, how do we prove that P=NP? Our minds just naturally think that P≠NP, so how would we prove something that naturally we wouldn’t think is the answer, something that defies our understanding of mathematics?
Now, myself, I lack the mathematical mind to even try to provide an answer to this problem one way or another, but I do truly enjoy talking about the ethical side of it. An example being how encryption could essentially crumble if P=NP because we’d be able to apply the provided answer to some algorithm to break encryption. If P=NP, it’s believed that we would be able to find a cure to all forms of cancers, which is of course a great thing. But then we’d have to take into consideration population density.
As humanity & our scientific appliances progress, there’s more & more unforeseen variables that we need to take into consideration. An example being with cloud computing, while it’s very unlikely, if a provider were to become compromised to an attack, the providers customers will also be exposed to the attack. But, looking more precisely at P vs NP, we need to consider whether we’re ready for the answer, one way or another.