Kode repetisi
Kita akan memulai pelajaran dengan pembahasan tentang kode repetisi. Kode repetisi tidak melindungi informasi kuantum dari setiap jenis kesalahan yang bisa terjadi pada Qubit, tetapi kode ini merupakan dasar dari kode Shor 9-Qubit, yang akan kita lihat di pelajaran berikutnya, dan juga berguna untuk menjelaskan dasar-dasar koreksi kesalahan.
Encoding dan decoding klasikβ
Kode repetisi adalah contoh paling dasar dari kode koreksi kesalahan. Idenya adalah bahwa kita bisa melindungi bit dari kesalahan hanya dengan mengulang setiap bit beberapa kali yang tetap.
Khususnya, mari kita pertama-tama pertimbangkan kode repetisi 3-bit, hanya dalam konteks informasi klasik untuk memulai. Kode ini meng-encode satu bit menjadi tiga dengan mengulang bit tersebut tiga kali, sehingga di-encode sebagai dan di-encode sebagai
Jika tidak ada yang salah, kita jelas bisa membedakan dua kemungkinan untuk bit asli dari encoding-nya. Intinya adalah bahwa jika ada kesalahan dan satu dari tiga bit terbalik, artinya 0 berubah menjadi 1 atau 1 berubah menjadi 0, maka kita masih bisa mengetahui apa bit aslinya dengan menentukan nilai biner mana yang muncul dua kali. Setaranya, kita bisa mendekode dengan menghitung nilai mayoritas (yaitu, nilai biner yang paling sering muncul).
Tentu saja, jika 2 atau 3 bit dari encoding terbalik, maka decoding tidak akan berfungsi dengan benar dan bit yang salah akan dipulihkan, tetapi jika paling banyak 1 dari 3 bit yang terbalik, decoding akan benar. Ini adalah sifat umum kode koreksi kesalahan secara umum: mereka mungkin memungkinkan koreksi kesalahan, tetapi hanya jika tidak terlalu banyak.
Pengurangan noise untuk channel simetris binerβ
Sebagai contoh situasi di mana peluang membuat kesalahan bisa dikurangi menggunakan kode repetisi, misalkan tujuan kita adalah mengkomunikasikan satu bit ke penerima hipotetis, dan kita bisa mengirimkan bit melalui yang disebut channel simetris biner, yang membalik setiap bit yang dikirimkan melaluinya secara independen dengan probabilitas Artinya, dengan probabilitas penerima mendapatkan bit apa pun yang dikirimkan melalui channel, tetapi dengan probabilitas bit terbalik dan penerima mendapatkan nilai bit yang berlawanan.
Jadi, jika kita memilih untuk tidak menggunakan kode repetisi 3-bit, dan cukup mengirimkan bit apa pun yang kita inginkan melalui channel, penerima oleh karena itu menerima bit yang salah dengan probabilitas Di sisi lain, jika kita pertama-tama meng-encode bit yang ingin kita kirim menggunakan kode repetisi 3-bit, dan kemudian mengirimkan masing-masing dari tiga bit encoding melalui channel, maka masing-masing dari ketiga bit tersebut terbalik secara independen dengan probabilitas Peluang bit-flip sekarang lebih besar karena ada tiga bit yang mungkin terbalik daripada satu, tetapi jika paling banyak satu bit yang terbalik, maka penerima akan mendekode dengan benar. Oleh karena itu, kesalahan tetap ada setelah decoding hanya jika dua atau lebih bit terbalik selama transmisi.
Probabilitas bahwa dua bit terbalik selama transmisi adalah yang merupakan untuk masing-masing dari tiga pilihan bit yang tidak terbalik, sementara probabilitas bahwa semua tiga bit terbalik adalah Total probabilitas dua atau tiga bit-flip oleh karena itu adalah
Untuk nilai yang lebih kecil dari setengah, ini menghasilkan penurunan probabilitas bahwa penerima mendapatkan bit yang salah. Masih akan ada peluang kesalahan dalam kasus ini, tetapi kode mengurangi kemungkinannya. (Untuk nilai yang lebih besar dari setengah, di sisi lain, kode sebenarnya meningkatkan kemungkinan bahwa penerima mendapatkan bit yang salah.)
Encoding Qubitβ
Kode repetisi 3-bit adalah kode koreksi kesalahan klasik, tetapi kita bisa mempertimbangkan apa yang terjadi jika kita mencoba menggunakannya untuk melindungi Qubit dari kesalahan. Seperti yang akan kita lihat, ini bukan kode koreksi kesalahan kuantum yang sangat mengesankan, karena sebenarnya membuat beberapa kesalahan lebih mungkin terjadi. Namun demikian, ini adalah langkah pertama menuju kode Shor, dan akan berguna dari sudut pandang pedagogis.
Untuk lebih jelasnya, ketika kita merujuk pada kode repetisi 3-bit yang digunakan untuk Qubit, kita maksudkan encoding sebuah Qubit di mana keadaan basis standar diulang tiga kali, sehingga vektor keadaan satu Qubit di-encode sebagai berikut.
Encoding ini mudah diimplementasikan oleh Circuit kuantum berikut, yang menggunakan dua Qubit workspace yang sudah diinisialisasi dan dua gate controlled-NOT.
Perhatikan, khususnya, bahwa encoding ini tidak sama dengan mengulang keadaan kuantum tiga kali, seperti vektor keadaan Qubit tertentu yang di-encode sebagai Encoding seperti itu tidak bisa diimplementasikan untuk keadaan kuantum yang tidak diketahui berdasarkan teorema no-cloning.
Kesalahan bit-flipβ
Sekarang misalkan kesalahan terjadi setelah encoding dilakukan. Khususnya, misalkan gate , atau dengan kata lain bit-flip, terjadi pada salah satu Qubit. Misalnya, jika Qubit tengah mengalami bit-flip, keadaan ketiga Qubit berubah menjadi keadaan ini:
Tentu saja, ini bukan satu-satunya jenis kesalahan yang bisa terjadi β dan masuk akal pula untuk mempertanyakan asumsi bahwa kesalahan mengambil bentuk operasi uniter yang sempurna. Kita akan kembali ke masalah-masalah ini di bagian terakhir pelajaran, dan untuk saat ini kita bisa memandang kesalahan bentuk ini sebagai hanya satu jenis kesalahan yang mungkin (meskipun yang secara fundamental penting).
Kita bisa dengan jelas melihat dari ekspresi matematis untuk keadaan di atas bahwa bit tengah adalah yang berbeda di dalam setiap ket. Tapi misalkan kita memiliki ketiga Qubit tersebut dan tidak mengetahui keadaannya. Jika kita menduga bahwa bit-flip mungkin terjadi, salah satu pilihan untuk memverifikasi bahwa bit terbalik adalah melakukan pengukuran basis standar, yang dalam kasus yang ada di tangan kita, akan menyebabkan kita melihat atau dengan probabilitas dan masing-masing. Dalam kedua kasus, kesimpulan kita adalah bahwa bit tengah terbalik β tetapi, sayangnya, kita akan kehilangan keadaan kuantum asli Inilah keadaan yang ingin kita lindungi, sehingga pengukuran dalam basis standar adalah pilihan yang tidak memuaskan.
Yang bisa kita lakukan sebagai gantinya adalah menggunakan Circuit kuantum berikut, memasukkan keadaan yang di-encode ke tiga Qubit teratas. Circuit ini mengukur paritas keadaan basis standar dari dua Qubit teratas dan juga dua Qubit terbawah dari encoding tiga Qubit tanpa merusaknya.
Dengan asumsi bahwa paling banyak satu bit yang terbalik, seseorang bisa dengan mudah menyimpulkan dari hasil pengukuran lokasi bit-flip (atau ketiadaannya). Khususnya, seperti yang ditunjukkan oleh empat diagram Circuit berikut, hasil pengukuran menunjukkan bahwa tidak ada bit-flip yang terjadi, sementara tiga kemungkinan lainnya menunjukkan Qubit mana yang mengalami bit-flip.
Yang krusial, keadaan tiga Qubit teratas tidak kolaps dalam kasus mana pun, yang memungkinkan kita mengoreksi kesalahan bit-flip jika terjadi β cukup dengan menerapkan bit-flip yang sama lagi dengan gate . Tabel berikut merangkum keadaan yang kita peroleh dari paling banyak satu bit-flip, hasil pengukuran (yang disebut sindrom dalam konteks koreksi kesalahan), dan koreksi yang diperlukan untuk kembali ke encoding asli.
| Keadaan | Sindrom | Koreksi |
|---|---|---|
Sekali lagi, kita hanya mempertimbangkan kemungkinan bahwa paling banyak satu bit-flip yang terjadi. Ini tidak akan berfungsi dengan benar jika dua atau tiga bit-flip terjadi, dan kita juga belum mempertimbangkan kesalahan lain selain bit-flip.
Kesalahan phase-flipβ
Dalam pengaturan kuantum, kesalahan bit-flip bukan satu-satunya kesalahan yang perlu kita khawatirkan. Misalnya, kita juga harus khawatir tentang kesalahan phase-flip, yang dideskripsikan oleh gate . Sejalan dengan kesalahan bit-flip, kita bisa memikirkan kesalahan phase-flip sebagai mewakili hanya kemungkinan lain untuk kesalahan yang bisa mempengaruhi Qubit.
Namun, seperti yang akan kita lihat di bagian terakhir pelajaran, yang membahas diskretisasi kesalahan untuk kode koreksi kesalahan kuantum, fokus pada kesalahan bit-flip dan kesalahan phase-flip ternyata sangat tepat. Secara khusus, kemampuan untuk mengoreksi kesalahan bit-flip, kesalahan phase-flip, atau keduanya secara bersamaan secara otomatis berarti kemampuan untuk mengoreksi kesalahan kuantum sembarangan pada satu Qubit.
Sayangnya, kode repetisi 3-bit sama sekali tidak melindungi terhadap phase-flip. Misalnya, misalkan keadaan Qubit telah di-encode menggunakan kode repetisi 3-bit, dan kesalahan phase-flip terjadi pada Qubit tengah. Ini menghasilkan keadaan
yang persis keadaan yang akan kita peroleh dari encoding keadaan Qubit Memang, kesalahan phase-flip pada salah satu dari tiga Qubit encoding memiliki efek yang sama, yang setara dengan kesalahan phase-flip yang terjadi pada Qubit asli sebelum encoding. Dengan asumsi bahwa keadaan kuantum asli adalah keadaan yang tidak diketahui, oleh karena itu tidak ada cara untuk mendeteksi bahwa kesalahan telah terjadi, karena keadaan yang dihasilkan adalah encoding yang sempurna valid dari keadaan Qubit yang berbeda. Khususnya, menjalankan Circuit deteksi kesalahan dari sebelumnya pada keadaan pasti menghasilkan sindrom yang keliru menunjukkan bahwa tidak ada kesalahan yang terjadi.
Sementara itu, sekarang ada tiga Qubit daripada satu yang berpotensi mengalami kesalahan phase-flip. Jadi, dalam situasi di mana kesalahan phase-flip diasumsikan terjadi secara independen pada setiap Qubit dengan probabilitas yang bukan nol (mirip dengan channel simetris biner kecuali untuk phase-flip daripada bit-flip), kode ini sebenarnya meningkatkan kemungkinan kesalahan phase-flip setelah decoding untuk nilai yang kecil. Lebih tepatnya, kita akan mendapatkan kesalahan phase-flip pada Qubit asli setelah decoding setiap kali ada jumlah ganjil kesalahan phase-flip pada tiga Qubit encoding, yang terjadi dengan probabilitas
Nilai ini lebih besar dari ketika sehingga kode meningkatkan probabilitas kesalahan phase-flip untuk nilai dalam rentang ini.
Kode repetisi yang dimodifikasi untuk kesalahan phase-flipβ
Kita telah mengamati bahwa kode repetisi 3-bit sama sekali tidak peduli terhadap kesalahan phase-flip, sehingga tampaknya tidak terlalu membantu untuk mengatasi jenis kesalahan ini. Namun, kita bisa memodifikasi kode repetisi 3-bit dengan cara sederhana sehingga bisa mendeteksi kesalahan phase-flip. Modifikasi ini akan membuat kode tidak peduli terhadap kesalahan bit-flip β tetapi, seperti yang akan kita lihat di bagian berikutnya, kita bisa menggabungkan kode repetisi 3-bit dengan versi yang dimodifikasi ini untuk mendapatkan kode Shor, yang bisa mengoreksi kesalahan bit-flip dan phase-flip.
Berikut adalah versi yang dimodifikasi dari Circuit encoding di atas, yang sekarang akan bisa mendeteksi kesalahan phase-flip. Modifikasinya sangat sederhana: kita cukup menerapkan gate Hadamard ke setiap Qubit setelah melakukan dua gate controlled-NOT.
Gate Hadamard mengubah keadaan menjadi keadaan , dan keadaan