Lewati ke konten utama

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 00 di-encode sebagai 000000 dan 11 di-encode sebagai 111.111.

0↦0001↦111\begin{aligned} 0 & \mapsto 000\\ 1 & \mapsto 111 \end{aligned}

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).

abc↦majority⁑(a,b,c)a b c \mapsto \operatorname{majority}(a,b,c)

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 p.p. Artinya, dengan probabilitas 1βˆ’p,1-p, penerima mendapatkan bit apa pun yang dikirimkan melalui channel, tetapi dengan probabilitas p,p, 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 p.p. 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 p.p. 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 3p2(1βˆ’p),3p^2(1-p), yang merupakan p2(1βˆ’p)p^2(1-p) untuk masing-masing dari tiga pilihan bit yang tidak terbalik, sementara probabilitas bahwa semua tiga bit terbalik adalah p3.p^3. Total probabilitas dua atau tiga bit-flip oleh karena itu adalah

3p2(1βˆ’p)+p3=3p2βˆ’2p3.3 p^2 (1 - p) + p^3 = 3 p^2 - 2 p^3.

Untuk nilai pp 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 pp yang lebih besar dari setengah, di sisi lain, kode sebenarnya meningkatkan kemungkinan bahwa penerima mendapatkan bit yang salah.)

Error probability graph for the 3 bit repetition code for a binary symmetric channel

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.

α∣0⟩+β∣1βŸ©β†¦Ξ±βˆ£000⟩+β∣111⟩\alpha \vert 0\rangle + \beta \vert 1\rangle \mapsto \alpha \vert 000\rangle + \beta \vert 111\rangle

Encoding ini mudah diimplementasikan oleh Circuit kuantum berikut, yang menggunakan dua Qubit workspace yang sudah diinisialisasi dan dua gate controlled-NOT.

Encoding circuit for the 3-bit repetition code

Perhatikan, khususnya, bahwa encoding ini tidak sama dengan mengulang keadaan kuantum tiga kali, seperti vektor keadaan Qubit tertentu yang di-encode sebagai βˆ£ΟˆβŸ©β†¦βˆ£ΟˆβŸ©βˆ£ΟˆβŸ©βˆ£ΟˆβŸ©.\vert\psi\rangle \mapsto \vert\psi\rangle\vert\psi\rangle\vert\psi\rangle. Encoding seperti itu tidak bisa diimplementasikan untuk keadaan kuantum yang tidak diketahui ∣ψ⟩\vert\psi\rangle berdasarkan teorema no-cloning.

Kesalahan bit-flip​

Sekarang misalkan kesalahan terjadi setelah encoding dilakukan. Khususnya, misalkan gate XX, 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:

α∣010⟩+β∣101⟩.\alpha \vert 010\rangle + \beta \vert 101\rangle.

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 010010 atau 101101 dengan probabilitas ∣α∣2\vert\alpha\vert^2 dan ∣β∣2,\vert\beta\vert^2, masing-masing. Dalam kedua kasus, kesimpulan kita adalah bahwa bit tengah terbalik β€” tetapi, sayangnya, kita akan kehilangan keadaan kuantum asli α∣0⟩+β∣1⟩.\alpha\vert 0\rangle + \beta \vert 1\rangle. 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.

Error detection circuit for the 3-bit repetition code

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 0000 menunjukkan bahwa tidak ada bit-flip yang terjadi, sementara tiga kemungkinan lainnya menunjukkan Qubit mana yang mengalami bit-flip.

Error detection for the 3-bit repetition code (no errors)

Error detection for the 3-bit repetition code (error on qubit 0)

Error detection for the 3-bit repetition code (error on qubit 1)

Error detection for the 3-bit repetition code (error on qubit 2)

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 XX. 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.

KeadaanSindromKoreksi
α∣000⟩+β∣111⟩\alpha\vert 000\rangle + \beta \vert 111\rangle0000IβŠ—IβŠ—I\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}
α∣001⟩+β∣110⟩\alpha\vert 001\rangle + \beta \vert 110\rangle0101IβŠ—IβŠ—X\mathbb{I}\otimes\mathbb{I}\otimes X
α∣010⟩+β∣101⟩\alpha\vert 010\rangle + \beta \vert 101\rangle1111IβŠ—XβŠ—I\mathbb{I}\otimes X\otimes\mathbb{I}
α∣100⟩+β∣011⟩\alpha\vert 100\rangle + \beta \vert 011\rangle1010XβŠ—IβŠ—IX\otimes\mathbb{I}\otimes\mathbb{I}

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 ZZ. 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 α∣0⟩+β∣1⟩\alpha\vert 0\rangle + \beta\vert 1\rangle telah di-encode menggunakan kode repetisi 3-bit, dan kesalahan phase-flip terjadi pada Qubit tengah. Ini menghasilkan keadaan

(IβŠ—ZβŠ—I)(α∣000⟩+β∣111⟩)=α∣000βŸ©βˆ’Ξ²βˆ£111⟩,(\mathbb{I} \otimes Z \otimes \mathbb{I}) ( \alpha \vert 000\rangle + \beta \vert 111\rangle) = \alpha \vert 000\rangle - \beta \vert 111\rangle,

yang persis keadaan yang akan kita peroleh dari encoding keadaan Qubit α∣0βŸ©βˆ’Ξ²βˆ£1⟩.\alpha\vert 0\rangle - \beta\vert 1\rangle. 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 α∣000βŸ©βˆ’Ξ²βˆ£111⟩\alpha \vert 000\rangle - \beta \vert 111\rangle pasti menghasilkan sindrom 00,00, 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 pp 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 pp 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

3p(1βˆ’p)2+p3.3 p (1 - p)^2 + p^3.

Nilai ini lebih besar dari pp ketika 0<p<1/2,0<p<1/2, sehingga kode meningkatkan probabilitas kesalahan phase-flip untuk nilai pp 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.

Modified encoding circuit for the 3-bit repetition code

Gate Hadamard mengubah keadaan ∣0⟩\vert 0\rangle menjadi keadaan ∣+⟩\vert + \rangle, dan keadaan ∣1⟩\vert 1\rangle menjadi keadaan βˆ£βˆ’βŸ©\vert - \rangle, sehingga efek totalnya adalah keadaan Qubit tunggal α∣0⟩+β∣1⟩\alpha\vert 0\rangle + \beta \vert 1\rangle di-encode sebagai

α∣+ + +⟩+Ξ²βˆ£βˆ’β€‰βˆ’β€‰βˆ’βŸ©\alpha \vert {+}\,{+}\,{+} \rangle + \beta \vert {-}\,{-}\,{-} \rangle

di mana ∣+ + +⟩=∣+βŸ©βŠ—βˆ£+βŸ©βŠ—βˆ£+⟩\vert {+}\,{+}\,{+} \rangle = \vert + \rangle \otimes \vert + \rangle \otimes\vert + \rangle dan βˆ£βˆ’β€‰βˆ’β€‰βˆ’βŸ©=βˆ£βˆ’βŸ©βŠ—βˆ£βˆ’βŸ©βŠ—βˆ£βˆ’βŸ©.\vert {-}\,{-}\,{-} \rangle = \vert - \rangle \otimes \vert - \rangle \otimes\vert - \rangle.

Kesalahan phase-flip, atau setaranya gate ZZ, membalik antara keadaan ∣+⟩\vert + \rangle dan βˆ£βˆ’βŸ©\vert - \rangle, sehingga encoding ini akan berguna untuk mendeteksi (dan mengoreksi) kesalahan phase-flip. Secara khusus, Circuit deteksi kesalahan dari sebelumnya bisa dimodifikasi sebagai berikut.

Phase error detection circuit for the 3-bit repetition code

Dengan kata lain, kita mengambil Circuit dari sebelumnya dan cukup meletakkan gate Hadamard pada tiga Qubit teratas di awal dan akhir. Idenya adalah bahwa tiga gate Hadamard pertama mengubah keadaan ∣+⟩\vert + \rangle dan βˆ£βˆ’βŸ©\vert - \rangle kembali menjadi keadaan ∣0⟩\vert 0\rangle dan ∣1⟩\vert 1\rangle, pemeriksaan paritas yang sama seperti sebelumnya dilakukan, dan kemudian lapisan kedua gate Hadamard mengubah keadaan kembali ke keadaan ∣+⟩\vert + \rangle dan βˆ£βˆ’βŸ©\vert - \rangle sehingga kita memulihkan encoding kita. Untuk referensi di masa depan, mari kita amati bahwa Circuit deteksi phase-flip ini bisa disederhanakan sebagai berikut.

Simplified phase error detection circuit

Empat diagram Circuit berikut mendeskripsikan bagaimana versi yang dimodifikasi dari kode repetisi 3-bit kita, termasuk langkah encoding dan langkah deteksi kesalahan, berfungsi ketika paling banyak satu kesalahan phase-flip terjadi. Perilakunya mirip dengan kode repetisi 3-bit biasa untuk bit-flip.

Phase-flip error detection for modified 3-bit repetition code (no errors)

Phase-flip error detection for modified 3-bit repetition code (error on qubit 0)

Phase-flip error detection for modified 3-bit repetition code (error on qubit 1)

Phase-flip error detection for modified 3-bit repetition code (error on qubit 2)

Berikut adalah tabel yang analogi dengan yang di atas, kali ini mempertimbangkan kemungkinan paling banyak satu kesalahan phase-flip.

KeadaanSindromKoreksi
α∣+ + +⟩+Ξ²βˆ£βˆ’β€‰βˆ’β€‰βˆ’βŸ©\alpha\vert {+}\,{+}\,{+} \rangle + \beta \vert {-}\,{-}\,{-}\rangle0000IβŠ—IβŠ—I\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}
α∣+ +β€‰βˆ’βŸ©+Ξ²βˆ£βˆ’β€‰βˆ’β€‰+⟩\alpha\vert {+}\,{+}\,{-}\rangle + \beta \vert {-}\,{-}\,{+}\rangle0101IβŠ—IβŠ—Z\mathbb{I}\otimes\mathbb{I}\otimes Z
α∣+β€‰βˆ’β€‰+⟩+Ξ²βˆ£βˆ’β€‰+β€‰βˆ’βŸ©\alpha\vert {+}\,{-}\,{+}\rangle + \beta \vert {-}\,{+}\,{-}\rangle1111IβŠ—ZβŠ—I\mathbb{I}\otimes Z\otimes\mathbb{I}
Ξ±βˆ£βˆ’β€‰+ +⟩+β∣+β€‰βˆ’β€‰βˆ’βŸ©\alpha\vert {-}\,{+}\,{+} \rangle + \beta \vert {+}\,{-}\,{-}\rangle1010ZβŠ—IβŠ—IZ\otimes\mathbb{I}\otimes\mathbb{I}

Sayangnya, versi yang dimodifikasi dari kode repetisi 3-bit ini sekarang tidak lagi bisa mengoreksi kesalahan bit-flip. Namun semua tidak hilang. Seperti yang sudah disarankan sebelumnya, kita akan bisa menggabungkan dua kode yang baru saja kita lihat menjadi satu kode β€” kode Shor 9-Qubit β€” yang bisa mengoreksi kesalahan bit-flip dan phase-flip, dan memang setiap kesalahan pada satu Qubit.

Source: IBM Quantum docs β€” updated 15 Jan 2026
English version on doQumentation β€” updated 7 Mei 2026
This translation based on the English version of approx. 27 Mar 2026