What is a quantum Oracle?
In a classical computer, information is stored in memory or a database. Typically, when we perform operations, the data is copied from its storage location to the CPU so that the operation can be performed. If we are searching for a value in a string, an array, or a database, this operation must read the memory and decide whether we have found a match or not. All this happens very fast and under layers of software that instruct the computer to perform the action in the most efficient manner at the processor level.
If we are going to search for a number in a database, or if we are going to determine which bits in memory are a 0 versus a 1, then at the lowest system level, the data must be read in groups of bits from memory and compared. At the time of writing, there is no equivalent to random-access memory (RAM) or read-only memory (ROM), nor a database that can store information for a long time so that it can be accessed as needed. The simple circuits we...