Versi asli cerita ini muncul di Majalah Quanta. Tanyakan pertanyaan kepada bola ajaib, dan itu akan menjawab ya, tidak, atau sesuatu yang menjengkelkan. Kita menganggapnya sebagai mainan anak-anak, tetapi ilmuwan komputer teoretis menggunakan alat serupa. Mereka sering membayangkan bahwa mereka dapat berkonsultasi dengan perangkat hipotetis yang disebut orakel yang dapat langsung, dan dengan benar, menjawab pertanyaan tertentu. Para ilmuwan yang mengundang orakel bekerja di subbidang teori kompleksitas komputasi. Mereka peduli dengan kesulitan inheren dari masalah seperti menentukan apakah sebuah angka adalah bilangan prima atau menemukan jalur terpendek antara dua titik dalam jaringan. Beberapa masalah mudah untuk dipecahkan, yang lain tampak jauh lebih sulit tetapi memiliki solusi yang mudah diperiksa, sementara yang lain lagi mudah untuk komputer kuantum tetapi tampaknya sulit untuk yang biasa. Teoritis kompleksitas ingin memahami apakah perbedaan tampaknya dalam kesulitan itu fundamental. Apakah ada sesuatu yang intrinsik sulit tentang masalah tertentu, atau kita hanya tidak cukup cerdas untuk menemukan solusi yang baik? Para peneliti mengatasi pertanyaan-pertanyaan tersebut dengan mengelompokkan masalah ke dalam “kelas kompleksitas” – semua masalah mudah masuk dalam satu kelas, misalnya, dan semua masalah mudah untuk diperiksa masuk dalam kelas lain – dan membuktikan teorema tentang hubungan antara kelas-kelas tersebut. Sayangnya, memetakan lanskap kesulitan komputasi ternyata sulit. Jadi pada pertengahan 1970-an, beberapa peneliti mulai mempelajari apa yang akan terjadi jika aturan komputasi berbeda. Di situlah orakel masuk. Seperti Magic 8 Balls, orakel adalah perangkat yang menjawab pertanyaan ya atau tidak tanpa mengungkapkan apa pun tentang cara kerjanya. Tidak seperti Magic 8 Balls, mereka selalu mengatakan ya atau tidak, dan mereka selalu benar – keuntungan menjadi fiksi. Selain itu, setiap orakel tertentu hanya akan menjawab jenis pertanyaan tertentu, seperti “Apakah angka ini prima?” Yang membuat perangkat fiksi ini bermanfaat untuk memahami dunia nyata? Secara singkat, mereka bisa mengungkapkan hubungan tersembunyi antara berbagai kelas kompleksitas. Ambil dua kelas kompleksitas yang paling terkenal. Ada kelas masalah yang mudah dipecahkan, yang para peneliti sebut “P,” dan kelas masalah yang mudah untuk diperiksa, yang para peneliti sebut “NP.” Apakah semua masalah yang mudah diperiksa juga mudah dipecahkan? Jika ya, itu akan berarti bahwa NP akan sama dengan P, dan semua enkripsi akan mudah ditembus (di antara konsekuensi lainnya). Teoritis kompleksitas mencurigai bahwa NP tidak sama dengan P, tetapi mereka tidak dapat membuktikannya, meskipun mereka telah mencoba menetapkan hubungan antara kedua kelas tersebut selama lebih dari 50 tahun. Orakel telah membantu mereka lebih memahami dengan apa yang mereka bekerja. Para peneliti telah menciptakan orakel yang menjawab pertanyaan yang membantu menyelesaikan banyak masalah berbeda. Dalam dunia di mana setiap komputer memiliki jalur langsung ke salah satu orakel ini, semua masalah yang mudah untuk diperiksa juga akan mudah dipecahkan, dan P akan sama dengan NP. Tetapi orakel lain, yang kurang membantu, memiliki efek sebaliknya. Dalam dunia yang dihuni oleh orakel-orakel ini, P dan NP akan terbukti berbeda.