Bisakah kita menggunakan paralelisme kuantum untuk menghitung banyak fungsi sekaligus?


9

Sudah diketahui bahwa dengan memanfaatkan paralelisme kuantum kita dapat menghitung fungsi untuk banyak nilai berbeda secara bersamaan. Namun, beberapa manipulasi yang cerdas diperlukan untuk mengekstraksi informasi dari setiap nilai, yaitu dengan algoritma Deutsch.f(x)x

Pertimbangkan kasus sebaliknya: dapatkah kita menggunakan paralelisme kuantum untuk menghitung banyak fungsi (katakanlah f(x),g(x), ) secara bersamaan untuk nilai tunggal x0 ?


Untuk mengevaluasi f(x0) dan g(x0) Anda perlu membuat salinan x0 untuk setiap operasi yang secara umum tidak dimungkinkan oleh teorema no-kloning. Jika di sisi lain Anda hanya menyiapkan keadaan dua kali x0 , Anda hanya mengembalikan paralelisme klasik.

@ HenriMenke Bagaimana dengan kloning yang tidak sempurna?
donnydm

@ HenriMenke: Gagasan Anda tentang apa 'kloning' tampaknya sangat luas, sampai-sampai menimbulkan beberapa kendala pada kemampuan Anda untuk mendekati masalah secara produktif.
Niel de Beaudrap

Jawaban:


5

Jawaban yang tepat tergantung pada jenis superposisi yang Anda inginkan. Jawaban oleh piramida dan Niel memberi Anda sesuatu seperti

At=1n|ft(x)|Ft

Di sini saya mengikuti Niel dalam memberi label fungsi yang berbeda , f 2 , dll, dengan n sebagai jumlah total fungsi yang ingin Anda taruh. Juga saya telah menggunakan F t untuk Menandakan beberapa deskripsi fungsi f t sebagai program yang tersimpan. The A hanyalah angka apapun kebutuhan untuk berada di sana untuk negara yang akan dinormalisasi.f1f2nFtftA

Perhatikan bahwa ini bukan hanya superposisi dari . Itu terjerat dengan program yang tersimpan. Jika Anda adalah untuk menelusuri program yang tersimpan, Anda baru saja memiliki campuran dari f t ( x ) . Ini berarti bahwa program yang disimpan dapat menjadi 'sampah', yang mencegah efek interferensi yang mungkin Anda andalkan. Atau mungkin juga tidak. Itu tergantung pada bagaimana superposisi ini akan digunakan dalam perhitungan Anda.ft(x)ft(x)

Jika Anda ingin membuang sampah, segalanya menjadi lebih rumit. Sebagai contoh, anggaplah apa yang Anda inginkan adalah kesatuan yang memiliki efekU

U:|x|0NAt=1n|ft(x)

untuk semua input yang mungkin (yang saya asumsikan adalah string bit yang ditulis dalam dasar komputasi). Perhatikan bahwa saya juga menyertakan beberapa qubit kosong pada sisi input, jika fungsi memiliki output yang lebih panjang daripada input.x

Dari sini kita dapat dengan cepat menemukan suatu kondisi yang harus dipenuhi fungsi: karena status input membentuk set ortogonal, demikian juga output. Ini akan memberi batasan signifikan pada jenis fungsi yang dapat digabungkan dengan cara ini.


Terima kasih, saya pikir dengan cara ini orang dapat mempercepat seperti perhitungan ekspansi Taylor. Lagi pula, dapatkah program yang disimpan diakses / diukur untuk mendapatkan beberapa informasi, atau hanya alat?
donnydm

Program yang tersimpan hanya akan ditulis dalam daftar qubit, sehingga tentu saja dapat dimanipulasi.
James Wootton

5

Fungsi yang ingin Anda evaluasi dalam cabang komputasi yang berbeda harus, agar dapat dikomputasi sama sekali, harus ditentukan dengan cara tertentu (misalnya, urutan gerbang logika klasik). Dan himpunan { f 1 , f 2 , ... } dari fungsi yang ingin Anda hitung, harus dapat dihitung sendiri: untuk t yang diberikan , Anda harus dapat menghitung spesifikasi bagaimana f t dihitung berdasarkan argumennya. Akibatnya: Anda harus memiliki sarana yang menjelaskan fungsi f tf,g, {f1,f2,}tftftsebagai program yang tersimpan. (Ini semua perlu, bahkan sebelum kita mempertimbangkan perhitungan kuantum, untuk pertanyaan "menghitung satu / semua fungsi pada input x 0 " menjadi bermakna.)f1,f2,x0

Setelah Anda memiliki cara menentukan fungsi sebagai program tersimpan, pada dasarnya Anda selesai: program pada dasarnya adalah jenis input lain, yang dapat Anda siapkan dalam superposisi, dan misalnya mengevaluasi input tetap, atau input superposisi, dengan menghitung fungsi dari spesifikasinya di setiap cabang.

Untuk mendapatkan keuntungan comptational dari melakukannya adalah hal yang berbeda, dan harus melibatkan beberapa struktur tertentu dalam fungsi bahwa Anda dapat mengambil keuntungan dari, tetapi hanya untuk "mengevaluasi di superposisi" mudah dilakukan jika Anda memiliki informasi yang cukup untuk pertanyaan menjadi masuk akal.ft


3

Ya (tergantung pada arti "menghitung banyak fungsi sekaligus)

Menggambarkan sirkuit yang memberikan fungsi sebagai U f dan sirkuit memberikan g sebagai U g , ada beberapa cara untuk pergi tentang melakukan hal ini:fUfgUg

  1. Dimulai dengan register qubit di , Siapkan negara a | 01 + ß | 10 pada dua register pertama. Hal ini dapat dilakukan dengan menerapkan kesatuan 1 di register pertama untuk menempatkan register yang di negara a | 0 + ß | 1 sebelum menerapkan CNOT, maka saya X . Kemudian, terapkan C U f dari register pertama ke yang ketiga dan C U g dari yang kedua ke yang ketiga.|00xα|01+β|10α|0+β|1IXCUfCUg

    1.1. Ini memberikan bahwa register ketiga sekarang dalam keadaan , saat operasi awal (sampai saya X ) pada dua register pertama dibalik. Namun, karena kesulitan umum untuk menerapkan operasi unitary terkontrol sewenang-wenang (serta menggunakan qubit tambahan tidak perlu), mungkin akan lebih mudah untuk mengimplementasikan ini secara langsung dengan memutar unitarian α U f + β U g . Perhatikan bahwa ini bukan implementasi f atau g , tetapi fungsi baru yang berbeda(αUf+βUg)|xIXαUf+βUgfgf+g

    1.2. Tidak membalikkan operasi awal pada dua register pertama menempatkan yang ketiga dalam keadaan terjerat dan g , yang dibahas dalam jawaban lain.fg

  2. Dimulai dengan keadaan dan menerapkan U f untuk mendaftar pertama dan U g untuk yang kedua. Ini adalah yang paling dekat dengan paralelisme klasik, di mana kedua fungsi diterapkan secara independen ke salinan dari negara yang sama. Selain membutuhkan jumlah qubit dua kali lipat, masalahnya di sini adalah, karena tidak ada kloning, untuk menyalin | x , itu baik harus diketahui, atau menjadi negara klasik (yaitu tidak melibatkan superposisi di dasar komputasi). Perkiraan kloning juga bisa digunakan.|xxUfUg|x

  3. Mulai dengan status , serta register klasik. Terapkan unit 1 untuk menempatkan register pertama di superposisi α | 0 + ß | 1 . Sekarang, ukur register ini (letakkan hasilnya di register klasik) dan terapkan operasi klasik . Meskipun ini mungkin tampak kurang kuat daripada salah satu dari operasi di atas, ini dalam beberapa hal, setara dengan saluran kuantum E ( ρ ) = | α | 2 U f ρ U|0xα|0+β|1IF RESULT = 0 U_f ELSE U_g . Metode semacam itu dapat digunakan untuk membuat kesatuan kesatuan acak, yang memiliki aplikasi dalam misboson samplingdanpembandingan acakE(ρ)=|α|2UfρUf+|β|2UgρUg


1 diberikan oleh

(αββα)


Ini menarik, sebagian karena tidak ada program tersimpan yang diperlukan. Apakah CNOT di nomor 1 diperlukan?
donnydm

2

fSebuahll(y,x)f(x)y=0g(x) jika y=1, dll. Kemudian seseorang mempersiapkan qubit yang mewakili y dalam superposisi dan set yang diinginkan x untuk x0.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.