The original version of This story appeared in Quanta Magazine.
Ask a magic ball question, and that will answer yes, no, or something boring undecided. We consider it as a children’s toy, but theoretical computer scientists use a similar tool. They often imagine that they can consult hypothetical devices called oracles which can answer instantly and correctly, answer specific questions. These fanciful thinking experiences inspired new algorithms and helped researchers map the landscape of calculation.
Researchers who invoke oracles work in a computer sub-champ called theory of computer complexity. They are concerned about the difficulty inherent in problems such as determining the fact that a number is essential or finds the shortest path between two points in a network. Some problems are easy to solve, others seem much more difficult but have easy to check solutions, while others are easy Quantum computers But apparently difficult for ordinary people.
The theorists of complexity want to understand if these apparent differences in difficulty are fundamental. Is there something intrinsically difficult in certain problems, or are we just not smart enough to find a good solution? The researchers approach these questions sorting out the problems “in”Complexity– All easy problems take place in a class, for example, and all the problems that are easy to check in another – and prove theorems on the relationships between these classes.
Unfortunately, the mapping of the landscape of calculation difficulties has proven to be difficult. Thus, in the mid -1970s, some researchers began to study what would happen if the calculation rules were different. This is where the oracles enter.
Like Magic 8 Balls, oracles are devices that immediately answer questions yes or not without revealing anything about their inner functioning. Unlike the Magic 8 bullets, they always say yes or no, and they are always correct – an advantage of being fictitious. In addition, any oracle given will only answer a specific type of question, as “is this number primary?”
What makes these fictitious devices useful to understand the real world? In short, they can reveal hidden links between different classes of complexity.
Take the two most famous complexity lessons. There is the class of problems that are easy to solve, that researchers call “P” and the class of problems that are easy to verify, that researchers call “NP”. Are all the easy-to-check problems also easy to solve? If so, this would mean that NP would be equal to P, and all the encryption would be Easy to crack (among other consequences). The theorists of complexity suspect that the NP does not equal P, but they cannot prove it, even if they have tried to determine the relationship between the two classes for Over 50 years.
The oracles helped them better understand with what they work. Researchers have invented oracles that answer questions that help solve many different problems. In a world where each computer had a hotline for one of these oracles, all the problems that are easy to check would also be easy to solve, and p would equalize NP. But other less useful oracles have the opposite effect. In a world populated by these oracles, p and np would be proven.