Memisahkan NP dari BQP relatif ke oracle

10

Saya melihat catatan kuliah ini di mana penulis memberikan pemisahan oracle antara dan . Dia mengisyaratkan bagaimana "teknik diagonalisasi standar dapat digunakan untuk membuat ini ketat".BQPNP

Bisakah seseorang merinci teknik diagonalisasi yang seharusnya digunakan? Seharusnya secara intuitif ada perbedaan penting antara yang digunakan untuk meletakkan sesuatu di luar kelas kompleksitas klasik dan yang digunakan untuk meletakkan sesuatu di luar . Secara khusus, mengingat bahwa algoritma Grover optimal, saya mencari teknik diagonalisasi sehingga kita dapat membuat oracle yang .BQPANPABQPA

BlackHat18
sumber

Jawaban:

2

Tampak bagi saya bahwa argumen diagonalisasi yang dapat digunakan hanya sedikit berbeda dari yang standar, misalnya  seperti dapat ditemukan dalam catatan kuliah ini tentang Teorema Baker – Gill – Solovay ( yaitu , bahwa ada oracle yang mana dan juga nubuat yang ). Pada dasarnya, Anda harus menjelaskan cara 'merekayasa' input permusuhan sedikit berbeda.APA=NPAAPANPA

Berikut ini cara kita bisa menggunakan pendekatan ini untuk membuktikan keberadaan oracle yang . Untuk setiap oracle , tentukan bahasa Jelas bahwa untuk alasan sederhana bahwa mesin Turing nondeterministik dapat memeriksa apakah input berbentuk untuk beberapa , dan kemudian menebak string yang jika ada. Tujuannya adalah untuk menunjukkanANPABQPAA

LA={1n|z{0,1}n:A(z,0)=(z,1)}.
LANPA1nnz{0,1}nA(z,0)=(z,1)zLAtidak dapat diputuskan dalam waktu polinomial, dengan kesalahan terikat, oleh keluarga rangkaian kesatuan yang seragam, menggunakan batas bawah lebih rendah pada masalah pencarian.O(2n/2)

  1. Misalkan sedemikian rupa sehingga masalah pencarian pada oracle dengan input bit membutuhkan setidaknya query oracle untuk memutuskan dengan benar (dengan probabilitas setidaknya 2/3), untuk semua .c,N>0nc2n/2n>N

  2. Biarkan,, menjadi penghitungan semua keluarga rangkaian oracle kesatuan , sedemikian rupa sehingga urutan gerbang dari sirkuitbekerja pada input bit dapat diproduksi dalam waktu kurang dari . (Batas waktu ini berkaitan dengan kondisi 'keseragaman', di mana kita akan tertarik pada rangkaian dapat dihitung dengan mesin Turing deterministik dalam waktu polinomial - suatu kondisi yang lebih kuat daripada yang kita memaksakan di sini. Pencacahan keluarga rangkaian ini dapat dilakukan, untuk Misalnya, dengan mewakili mereka secara tidak langsung oleh mesin Turing deterministikC(1)C(2)C(k)={Cn(k)}n0Cn(k)nc2n/2T(k) yang menghasilkan urutan gerbang mereka, dan menyebutkan mereka .) Kami menghitung keluarga sirkuit sehingga setiap keluarga sirkuit terjadi jauh sering dalam pencacahan.

    • Dari batas run-time pada deskripsi urutan gerbang, maka khususnya bahwa memiliki lebih sedikit dari gerbang untuk semua , dan khususnya membuat lebih sedikit dari pertanyaan ke oracle.Cn(k)c2n/2kc2n/2

    • Untuk apa pun , pertimbangkan sirkuit. Dari batas bawah pada masalah pencarian, kita tahu bahwa untuk ada kemungkinan nilai fungsi oracle dievaluasi oleh oracle, seperti bahwa dengan probabilitas 2/3, output dihasilkan olehpada input bukan jawaban yang benar apakah .nCn(n)n>Nf:{0,1}n{0,1}Cn(n)1nz{0,1}n:f(z)=1

    • Untuk setiap , pilih fungsi yang "gagal" dengan cara ini.n>NfnCn(n)

  3. Biarkan menjadi oracle yang, pada input ukuran , mengevaluasi .An>Nfn

Setelah dibangun cara ini, setiap keluarga sirkuit gagal untuk benar memutuskan dengan probabilitas paling sedikit 2/3, untuk beberapa (dan tak terhingga banyaknya seperti sebenarnya). Maka tidak ada keluarga rangkaian benar memutuskan dengan probabilitas keberhasilan dibatasi di bawah 2/3 pada semua input, sehingga tidak dapat diselesaikan dengan batas-batas seperti itu oleh setiap rangkaian keluarga rangkaian seragam yang dibangun dalam waktu .AC(n)LAn>NnC(k)LALAp(n)

Dengan demikian, , dari yang berikut bahwa .LABQPANPABQPA

Niel de Beaudrap
sumber