QC - Quantum programming: masalah implementasi

Foto oleh NeONBRAND

Kami masih dalam tahap awal komputasi Quantum. Harapkan kejutan! Algoritma kuantum tergantung pada qubit yang tersedia dan juga pada bagaimana qubit tersebut terhubung. Model komputer kuantum yang berbeda dapat melakukannya secara berbeda. Ini seperti program yang berjalan pada prosesor Intel i7 dan gagal untuk prosesor generasi berikutnya. Decoherence adalah masalah utama dalam komputasi kuantum. Jangan berharap untuk menghentikan program yang sedang berjalan dan mengambil kopi. Setelah Anda menekan tombol run, Anda berada di bawah jam. Program harus selesai dengan cepat sebelum informasi kuantum membusuk. Pada artikel ini, kami akan membahas beberapa masalah implementasi serta masalah dekoherensi.

Gerbang swap

Implementasi fisik qubit mungkin tidak simetris. Gerbang yang dikontrol-tidak dapat mengambil qubit-0 sebagai kontrol dan qubit-1 sebagai target tetapi bukan sebaliknya.

Sangat tergantung pada implementasi

Di sini, ini menunjukkan bagaimana 2-qubit dapat dihubungkan di gerbang CNOT pada IBM Q5.

Seperti yang ditunjukkan di bawah ini, jika kita menghubungkan q1 dan q2 dengan gerbang yang dikontrol-tidak, kita akan mendapatkan kesalahan.

Sumber

Memiliki q1 sebagai kontrol qubit dengan q2 sebagai target tidak diperbolehkan di mesin ini.

Dengan perombakan gerbang, kesalahan hilang.

Berikut adalah contoh lain untuk IBM Q20.

IBM Q 20 Tokyo (20-qubits) - Diubah dari sumber

Untuk mengatasi batasan, kita dapat menggunakan swapping untuk bertukar dua qubit.

Berikut adalah kemungkinan lain untuk mengatasi masalah ini:

Sumber

Gerbang Universal

Dalam komputasi klasik, gerbang NAND adalah gerbang universal yang dapat membangun operasi yang tersisa. Kami dapat menerapkan beberapa gerbang universal lainnya untuk alasan kinerja. Gerbang kompleks dibangun di atas gerbang fisik ini. Di gerbang kuantum, himpunan universal adalah

Ini lebih lanjut dapat mengurangi dan didekati dengan presisi oleh CNOT, H, S, dan gerbang T dengan beberapa overhead. Dalam praktiknya, IBM Q (ibmqx4) mengimplementasikan gerbang fisik berikut:

dimana

Untuk antarmuka pemrograman, semua operasi berikut disediakan di IBM Q dan membangun di atas gerbang di atas.

Ini sebenarnya membawa kita ke satu topik penting.

Tidak semua qubit sama

Presisi dan kesalahan tetap menjadi masalah untuk komputasi kuantum. Seperti ditunjukkan di atas, qubit yang berbeda memiliki kesalahan gerbang dan kesalahan pembacaan yang berbeda. Gerbang kesalahan adalah tentang ketepatan dalam menerapkan gerbang kuantum. yaitu seberapa akurat kita dapat mengontrol superposisi? Kesalahan pembacaan adalah kesalahan dalam mengukur qubit. Kesalahan gerbang MultiQubit adalah kesalahan saat mengoperasikan gerbang 2-qubit. Informasi ini dapat mempertimbangkan ketika menerapkan suatu algoritma. Atau setidaknya ini harus didokumentasikan dengan menjalankan eksekusi Anda untuk perbandingan atau referensi di masa depan.

Decoherence & kesalahan

Seperti yang disebutkan sebelumnya, setiap program kuantum berjalan di bawah waktu. Setelah Anda mulai menekan tombol run, informasi kuantum mulai menurun karena interaksi dengan lingkungan (medan listrik dan magnet di sekitarnya). Program Anda harus diselesaikan sebelum keadaan kuantum menjadi sampah. Jadi, Anda harus mengetahui panjang gerbang kuantum fisik yang digunakan dalam program Anda. Karena program ini ditulis dalam gerbang kuantum logis, pengetahuan tentang bagaimana gerbang fisik diterjemahkan ke dalam gerbang fisik sangat membantu.

Kualitas komputer kuantum dapat diukur dengan waktu relaksasi (T1), waktu koherensi (T2), kesalahan pembacaan, dan kesalahan gerbang.

Sumber IBM

Proses dekoherensi diukur dengan T1 dan T2 di atas.

T1 - Relaksasi energi: waktu yang dibutuhkan untuk keadaan tereksitasi | 1⟩ yang tereksitasi menuju keadaan dasar | 0⟩.

T2 - Dephasing yang mempengaruhi fase superposisi. T2 termasuk efek dephasing serta relaksasi energi.

Itulah sebabnya informasi ini selalu dipublikasikan untuk referensi Anda.

Toleransi kesalahan

Komputasi toleransi kesalahan tidak lagi diajarkan dalam bidang teknik untuk waktu yang sangat lama. Komputasi kuantum membawa subjek kembali. Perhitungan kuantum rentan terhadap kesalahan. Untuk mengimbangi masalah, kita dapat menambahkan gerbang kuantum tambahan untuk deteksi kesalahan atau koreksi kesalahan. Ini adalah salah satu alasan utama bahwa kita selalu membutuhkan qubit jauh lebih banyak daripada yang kita pikirkan. Sampel berikut adalah encoder dan decoder yang memungkinkan satu kesalahan qubit.

Sumber: IBM

Lanjut

Sekarang kita selesaikan gerbang kuantum. Selanjutnya, kita akan mulai belajar pemrograman algoritma kuantum.

Inilah tautan untuk keseluruhan seri: