Saya tertarik pada algoritma kuantum yang mendapat input urutan n-bit dan yang menghasilkan sebagai output versi reshuffle (permutasi) dari urutan n-bit ini.
Misal jika inputnya adalah 0,0,1,1 (jadi n = 4 dalam kasus ini) maka jawaban yang mungkin adalah:
- 0,0,1,1
- 0,1,0,1
- 0,1,1,0
- 1,0,0,1
- 1,0,1,0
- 1,1,0,0
Perhatikan bahwa hanya satu output yang harus dihasilkan yang dipilih secara acak di antara semua kemungkinan output yang valid.
Bagaimana ini bisa terbaik diimplementasikan dalam algoritma kuantum ?
Solusi untuk ini sudah diusulkan sebagai bagian dari salah satu jawaban untuk Cara membuat algoritma kuantum yang menghasilkan urutan 2 n-bit dengan jumlah 1-bit yang sama? . Tetapi masalah dengan solusi ini adalah bahwa ini membutuhkan sekitar bantuan qubit yang menjadi sangat besar jika n besar.
catatan:
- Tolong, jangan berikan algoritma klasik tanpa penjelasan bagaimana langkah-langkah algoritma klasik dapat dipetakan ke komputer kuantum universal.
- bagi saya ada 2 cara yang baik untuk menafsirkan "dipilih secara acak di antara semua kemungkinan hasil yang baik" : (1) setiap kemungkinan hasil yang baik memiliki peluang yang sama untuk dipilih. (2) setiap kemungkinan output yang baik memiliki peluang> 0 untuk dipilih.
Jawaban:
Ini bisa dilakukan dengan qubit tambahan di sepanjang baris ini:⌈logn⌉
Ini adalah algoritma klasik, tetapi Anda dapat menjalankannya pada komputer kuantum tentu saja, seperti yang disarankan Norbert dalam komentar. (Aspek pertanyaan yang bersikeras tentang algoritma menjadi kuantum masih belum jelas bagi saya, jadi jika menjalankan algoritma klasik seperti yang saya sarankan pada komputer kuantum tidak cukup, akan sangat membantu bagi pertanyaan untuk diklarifikasi.)
Perhatikan bahwa karena pertanyaan meminta output acak, algoritme harus menghasilkan entropi di beberapa titik, mungkin melalui pengukuran atau melakukan operasi non-uniter lainnya pada qubit (seperti menginisialisasi mereka). Dalam algoritma di atas, ini adalah langkah pertama yang menghasilkan entropi: terlepas dari status qubit tambahan sebelum operasi pada langkah 1 dilakukan, mereka harus memiliki status setelah langkah 1 dilakukan (dengank
sumber
Salah satu trik untuk menghasilkan permutasi kuantum dari input yang diurutkan adalah dengan terlebih dahulu menyiapkan "kondisi permutasi" dengan menerapkan jaringan penyortiran ke daftar nilai seed masing-masing dalam superposisi yang seragam. Jaringan penyortiran akan menampilkan qubit yang memegang benih yang disortir, tetapi juga qubit yang memegang perbandingan jaringan penyortiran. Keadaan permutasi hanyalah perbandingan qubit. Untuk menerapkannya pada input Anda, Anda cukup menjalankan input melalui jaringan penyortiran secara terbalik. Perhatikan bahwa ada beberapa detail rumit di sini; lihat kertas " Teknik yang Ditingkatkan untuk Menyiapkan Status Eigen dari Hamiltonians Fermionik ". Anda harus menggeneralisasi teknik ini untuk bekerja pada input dengan nilai berulang, bukan hanya nilai unik.
sumber
Komputer kuantum dapat melakukan perhitungan klasik. Algoritma optimal adalah:
sumber