Apa sebenarnya " oracle " itu? Wikipedia mengatakan bahwa oracle adalah " kotak hitam ", tetapi saya tidak yakin apa artinya itu.
Misalnya, dalam algoritme Deutsch-Jozsa , , apakah oracle hanya kotak yang berlabel `` U_f ", atau apakah itu segalanya antara pengukuran dan input (termasuk gerbang Hadamard)?
Dan untuk memberikan oracle, apakah saya perlu menulis dalam bentuk matriks atau bentuk kental: memberikan dan sudah cukup sehubungan dengan definisi oracle?
quantum-information
terminology
oracles
StarBucK
sumber
sumber
Jawaban:
Sebuah oracle (setidaknya dalam konteks ini) hanyalah sebuah operasi yang memiliki beberapa properti yang Anda tidak tahu, dan sedang berusaha mencari tahu. Istilah "kotak hitam" digunakan secara setara, untuk menyampaikan gagasan bahwa itu hanya kotak yang tidak dapat Anda lihat di dalamnya, dan karenanya Anda tidak tahu apa yang dilakukannya. Yang Anda tahu adalah bahwa Anda dapat memasok input dan menerima output. Dalam diagram sirkuit yang Anda gambarkan, itu hanya kotak . Yang lainnya adalah hal-hal yang Anda tambahkan untuk membantu menginterogasi oracle dan menemukan propertinya.Uf
Untuk memberikan oracle, Anda dapat menulisnya dalam bentuk apa pun yang valid yang mendefinisikan peta dari semua input yang mungkin ke output. Ini bisa berupa matriks (mungkin dengan parameter yang tidak diketahui), atau bisa juga peta (ketat, ), karena diberikan salah satu deskripsi, Anda dapat mengerjakan yang lainnya.U: ( x , y) ↦ ( x , y⊕ f( x ) ) ∀ x , y∈ { 0 , 1 }
sumber