Mengapa penting untuk menghilangkan qubit sampah?

18

Sebagian besar algoritma kuantum reversibel menggunakan gerbang standar seperti gerbang Toffoli (CCNOT) atau Fredkin gate (CSWAP). Karena beberapa operasi memerlukan konstanta |0 sebagai masukan dan jumlah input dan output adalah sama, qubit sampah (atau qubit sampah ) muncul dalam perjalanan perhitungan.

Jadi, sirkuit utama seperti |x|f(x) sebenarnya menjadi |x|0|f(x)|g ,
di mana |g singkatan qubit sampah (s).

Sirkuit yang mempertahankan nilai asli berakhir dengan |x|0|0|x|f(x)|g

Saya mengerti bahwa qubit sampah tidak terhindarkan jika kita ingin sirkuit tetap reversibel, tetapi banyak sumber1 mengklaim bahwa penting untuk menghilangkannya. Kenapa gitu?


1 Karena permintaan sumber, lihat misalnyamakalah arXiv ini, hal 8, yang mengatakan

Namun, masing-masing operasi sederhana ini berisi sejumlah tambahan, qubit tambahan, yang berfungsi untuk menyimpan hasil antara, tetapi pada akhirnya tidak relevan. Agar tidak menyia-nyiakan ruang [sic] yang tidak diperlukan, karena itu penting untuk mengatur ulang qubit ini menjadi 0 sehingga kami dapat menggunakannya kembali

atau makalah arXiv ini yang mengatakan

Penghapusan qubit sampah dan qubit ancilla sangat penting dalam merancang sirkuit kuantum yang efisien.

atau banyak sumber lainnya - pencarian google menghasilkan banyak hit.

bytebuster
sumber

Jawaban:

16

Gangguan kuantum adalah jantung dan jiwa perhitungan kuantum. Setiap kali Anda memiliki qubit sampah, mereka akan mencegah gangguan. Ini sebenarnya adalah hal yang sangat sederhana tetapi sangat penting. Katakanlah kita memiliki fungsi yang memetakan bit tunggal ke bit tunggal. Say f adalah fungsi yang sangat sederhana, seperti f ( x ) = x . Katakanlah kita memiliki sirkuit C f yang menginput x dan output f ( x )f:{0,1}{0,1}ff(x)=xCfxf(x). Sekarang, tentu saja, ini adalah sirkuit yang dapat dibalik, dan dapat diimplementasikan menggunakan transformasi kesatuan . Sekarang, kita bisa memberi makan dalam 1|x|xdan output juga akan112|0+12|1. Mari kita sekarang menerapkangerbangtransformasi Hadamarddan mengukur apa yang kita dapatkan. Jika Anda menerapkan transformasi Hadamard ke status ini112|0+12|1, Anda mendapatkan| 0negara, dan Anda melihat0dengan probabilitas1. Dalam hal ini tidak ada sampah yang dibuat pada langkah-langkah perantara, sambil mengubah sirkuit klasik menjadi sirkuit kuantum.12|0+12|1|001

Tapi, katakanlah kita membuat beberapa sampah dalam langkah menengah ketika menggunakan sirkuit seperti ini:

masukkan deskripsi gambar di sini.

Untuk sirkuit ini, jika kita memulai di state , setelah langkah pertama kita mendapatkan1|x|0=(12|0+12|1)|012|00+12|11

12|00+12|01+12|10+12|11

Jika kita melakukan pengukuran pada qubit pertama yang kita dapatkan 0 dengan probabilitas 12, tidak seperti pada kasus sebelumnya di mana kita bisa melihat 0 dengan probabilitas 1! The only difference between the two cases was the creation of a junk bit in an intermediate step, which was not gotten rid of, thus leading to a difference in the final result of the computation (since the junk qubit got entangled with the other qubit). We will see a different interference pattern than in the previous case when the Hadamard transform is applied. This is exactly why we don't like to keep junk around when we are doing quantum computation: it prevents interference.

Source: Professor Umesh Vazirani's lecture on EdX.

Sanchayan Dutta
sumber
3

Jika Anda ingin menggunakan sirkuit kuantum sebagai subrutin (seperti oracle) ke algoritme kuantum yang memanfaatkan interferensi, Anda harus mengizinkan interferensi dengan proses yang dikenal sebagai kompilasi qubit tambahan (atau, dengan kata lain, sampah) Anda. Tanpa komputasi selalu mungkin: Karena gerbang Anda dapat dibalik, Anda bisa menerapkan kebalikannya. Yaitu, setelah langkah yang Anda sebutkan,|x|0|0|x|f(x)|g, Anda melakukan perhitungan lain (atau tanpa perhitungan) yang mengarah ke |x|f(x)|0.

pyramids
sumber