Please login to be able to save your searches and receive alerts for new content matching your search criteria.
People always need more information than they have. They can get some of this information by themselves but a good deal of information remains inaccessible. This situation, which always existed in human civilization, brought forth Oracles. The idea of an Oracle reflected interactions between systems, such as people and states, with less information and systems with more indispensable information. In the 20th century, it was proved that some information is intrinsically inaccessible and then the concept of an Oracle naturally came to computer science becoming popular in the realm of algorithms and computations. At first, Turing machines with an Oracle were introduced and studied. Later inductive Turing machines with Oracles, limit Turing machines with Oracles and evolutionary Turing machines with Oracles were established and explored. Here we create a theoretical background for the concept of an Oracle. In the first part of this work, we contemplate Oracles in human culture. In the second part, we contemplate Oracles in computer science and mathematics. In the third part, the variety of Oracles is analyzed and classified. In the fourth part, we develop a mathematical theory of Oracles, where the concepts of an Oracle and its brands are formalized and studied in the mathematical framework.