One use of P versus NP is to check the results of calculations. Long before I couldn’t do advanced maths, I could do calculations. In fact, I was taught how do do this in my first primary school and I started there when I was less than four years old, already reading newspapers and getting into the kind of trouble that inquisitive kids born in the mid 1950s got into.
To me it was very appealing that I could work something out – and then make sure I was right. Being adventurous is good, being right is better.
And the amazing thing is that the solution to how to do this was printed on the back of my exercise book. It had the ″times tables″ up to 12 times 12 is 144.
If I took 8 times 5 equals 40, I could see that 5 times 8 equals 40: it was there, in black and … well, blue, actually, because that was the colour of the exercise books at that school.
If I had four customers each buying five apples, I would sell twenty apples.
Flip that to check it. If I have twenty apples and my customers buy five each, how many customers do I have?
Or if I have twenty apples and four customers buy the same number each, how many apples does each customer get?
So, that’s what N versus NP is really all about. It’s trying to find an algorithm that will do that, not only in relation to my four customers and twenty apples but that will work to check the results of all computations, a kind of master-key to all mathematical activity, no matter how large or complex.
Here’s why it matters so much and it all comes down to the white hole that no one enters when they talk about artificial intelligence.