Original version of This story Appeared in Quanta Magazine。
Ask Magic 8 balls. Then you will answer yes, no, or annoying. We think it is a child’s toy, but the theoretical computer scientists use similar tools. They often imagine that they can refer to a virtual device called Oracle, which can quickly and correctly answer specific questions. These fantastic thinking experiments have influenced new algorithms and have helped researchers map the calculation landscape.
Researchers who evoke Oracle work in a computer science subfield called Computerity Theory. They are interested in the unique difficulties of the problem, such as judging whether the numbers are prime, finding the shortest path between the two points in the network. Some problems are easy to solve, and other problems seem to be much more difficult, but there are easy -to -check solutions, but the other problems are still easy. Quantum computer But at first glance it seems difficult for ordinary things.
Complex theorists want to understand whether these obvious differences are the basics. Is there anything essentially difficult about specific problems, or isn’t it so smart that we can think of a good solution? Researchers say the problemComplex class“For example, a class causes all simple problems, all simple checks occur in different classes, and prove the theorem between those classes.
Unfortunately, it turned out that mapping the calculated scenery was completely difficult. As a result, in the mid -1970s, some researchers began studying what would happen if the calculation rules were different. That is where the oracle comes in.
As in Magic 8 Balls, OracleS is a device that immediately answers Yes-Or-no questions without revealing anything about the inner work. Unlike Magic 8 Balls, they always say “yes” or “no”, and they are always right. This is a fictional advantage. In addition, a specific Oracle answers only specific types of questions, such as “Is this number prime?”
What is the reason that these fictitious devices help understand the real world? To put it simply, you can clarify a hidden connection between classes with different complexity.
Take the most famous two complex classes. There are classes that are easy to solve. Researchers are called “P” and have a class on problems that can be easily confirmed, and researchers call “NP”. Can you easily solve problems that are easy to check? If so, that’s equal to P and all encryption Easily cracked (Among other results). The complex theorist suspects that NP is not equal to P, but cannot prove it even if he is trying to fix the relationship between two classes. 50 years or more。
Oracle was helpful to better understand what they are doing. Researchers have invented Oracle to answer questions that are useful for solving many different problems. In a world where all computers have hot lines on one of these oracles, all problems can be easily checked and P is equal to NP. However, other useless Oracle has the opposite effect. In the world where these Oracle lives, P and NP will certainly be different.