Apakah koreksi kesalahan diperlukan?

20

Mengapa Anda perlu koreksi kesalahan? Pemahaman saya adalah bahwa koreksi kesalahan menghilangkan kesalahan dari noise, tetapi noise seharusnya rata-rata keluar sendiri. Untuk memperjelas apa yang saya tanyakan, mengapa Anda tidak bisa, alih-alih melibatkan koreksi kesalahan, cukup menjalankan operasi, katakanlah, seratus kali, dan pilih rata-rata / jawaban paling umum?

heather
sumber

Jawaban:

18

Itu tidak skala dengan baik. Setelah perhitungan yang cukup lama, Anda pada dasarnya dibiarkan dengan keadaan tercampur secara maksimal atau titik tetap apa pun yang dimiliki kebisingan Anda. Untuk skala ke perhitungan panjang yang sewenang-wenang, Anda perlu memperbaiki kesalahan sebelum menjadi terlalu besar.

Inilah beberapa perhitungan singkat untuk intuisi yang diberikan di atas. Pertimbangkan model derau putih sederhana (derau depolarisasi), manaρadalah keadaan ideal (notasi standarberlaku). Jika Anda menggabungkannproses bising tersebut, parameter noise baru adalahε=1-(1-ε)n, yang meningkat secara eksponensial dalam jumlah gerbang (atau sumber kesalahan lainnya). Jika Anda mengulangi percobaanm-times dan menganggap bahwa timbangan standard error sebagai1

ρ(ε)=(1ε)ρ+εItrI,
ρnε=1(1ε)nm Anda melihat bahwa jumlah prosesmakan secara eksponensial dalam panjang perhitungan Anda!1mm
M. Stern
sumber
11

Jika tingkat kesalahan cukup rendah, Anda bisa menjalankan perhitungan seratus kali dan mengambil jawaban yang paling umum. Misalnya, ini akan berfungsi jika tingkat kesalahan cukup rendah sehingga jumlah kesalahan yang diharapkan per perhitungan adalah sesuatu yang sangat kecil - yang berarti bahwa seberapa baik strategi ini bekerja akan bergantung pada berapa lama dan rumit perhitungan yang ingin Anda lakukan.

Setelah tingkat kesalahan atau panjang perhitungan Anda menjadi cukup tinggi, Anda tidak dapat lagi memiliki keyakinan bahwa hasil yang paling mungkin adalah bahwa tidak ada kesalahan: pada titik tertentu itu menjadi lebih mungkin bahwa Anda memiliki satu, atau dua, atau lebih banyak kesalahan, daripada yang Anda miliki nol. Dalam hal ini, tidak ada yang mencegah sebagian besar kasus memberi Anda jawaban yang salah. Lalu bagaimana?

Masalah-masalah ini tidak khusus untuk perhitungan kuantum: mereka juga berlaku untuk perhitungan klasik - kebetulan bahwa hampir semua teknologi kami berada pada tingkat kedewasaan yang cukup maju sehingga masalah ini tidak menjadi perhatian kami dalam praktiknya; bahwa mungkin ada kemungkinan lebih besar dari komputer Anda dihantam oleh perhitungan pertengahan meteorit (atau kehabisan daya baterai, atau Anda memutuskan untuk mematikannya) daripada ada kesalahan perangkat keras. Apa yang (sementara) istimewa tentang perhitungan kuantum adalah bahwa teknologinya belum cukup matang untuk kita begitu santai tentang kemungkinan kesalahan.

Pada masa-masa ketika komputasi klasik memilikiberada pada tahap ketika koreksi kesalahan bersifat praktis dan perlu, kami dapat menggunakan teknik matematika tertentu - koreksi kesalahan - yang memungkinkan untuk menekan tingkat kesalahan efektif, dan pada prinsipnya membuatnya serendah yang kami suka. Teknik yang sama secara mengejutkan dapat digunakan untuk koreksi kesalahan kuantum - dengan sedikit ekstensi, untuk mengakomodasi perbedaan antara informasi kuantum dan klasik. Pada awalnya, sebelum pertengahan 1990-an, diperkirakan bahwa koreksi kesalahan kuantum tidak mungkin karena kontinuitas ruang keadaan kuantum. Tetapi ternyata, dengan menerapkan teknik koreksi kesalahan klasik dengan cara yang benar ke berbagai cara qubit dapat diukur (biasanya digambarkan sebagai "bit" dan "fase"), Anda pada prinsipnya dapat menekan berbagai jenis noise pada sistem kuantum juga. Teknik-teknik ini tidak khusus untuk qubit, baik: ide yang sama dapat digunakan untuk sistem kuantum dari setiap dimensi hingga (meskipun untuk model seperti perhitungan adiabatik, maka mungkin akan menghalangi cara sebenarnya melakukan perhitungan yang ingin Anda lakukan).

Pada saat saya menulis ini, qubit individu sangat sulit untuk dibuat dan dibuat di marshall sehingga orang berharap untuk lolos dengan melakukan perhitungan prinsip-bukti tanpa koreksi kesalahan sama sekali. Tidak apa-apa, tetapi itu akan membatasi berapa lama perhitungan mereka sampai jumlah kesalahan akumulasi cukup besar sehingga perhitungan berhenti menjadi bermakna. Ada dua solusi: menjadi lebih baik dalam menekan noise, atau menerapkan koreksi kesalahan. Keduanya adalah ide yang bagus, tetapi ada kemungkinan bahwa koreksi kesalahan lebih mudah dilakukan dalam jangka menengah dan panjang daripada menekan sumber kebisingan.

Niel de Beaudrap
sumber
Sebagai koreksi cepat, perangkat keras modern tidak mengalami tingkat kesalahan yang tidak dapat diabaikan, dan metode koreksi kesalahan digunakan. Yang mengatakan, tentu saja poin Anda tentang masalah menjadi jauh lebih buruk pada komputer kuantum saat ini.
Nat
@Nat: menarik. Saya samar-samar menyadari bahwa saat ini mungkin menjadi kasus untuk GPU, dan (dalam konteks yang tidak melibatkan perhitungan aktif) array RAID adalah contoh yang jelas juga. Tapi bisakah Anda menggambarkan platform perangkat keras lain yang perhitungan klasiknya harus bergantung pada koreksi kesalahan selama perhitungan?
Niel de Beaudrap
Sepertinya kesalahan paling sering terjadi dalam konteks jaringan, diikuti oleh penyimpanan disk, diikuti oleh RAM. Protokol dan disk jaringan secara rutin menerapkan trik koreksi kesalahan. RAM adalah tas campuran; RAM server / workstation cenderung menggunakan kode koreksi kesalahan (ECC), meskipun RAM konsumen sering tidak. Dalam CPU, saya membayangkan bahwa mereka memiliki taktik implementasi yang lebih spesifik, tetapi itu mungkin rahasia pabrik. Tingkat kesalahan dalam CPU dan GPU menjadi relevan pada tingkat yang dapat diamati dalam beberapa kasus, misalnya dalam pengambilan keputusan overclocking dan penguncian inti pabrikan.
Nat
Sebenarnya agak ingin tahu tentang koreksi-kesalahan tipe-CPU sekarang .. Maksudku, cache akan cenderung rentan terhadap masalah yang sama dengan RAM normal (kecuali entah bagaimana buffered dengan lebih banyak kekuatan atau sesuatu?), Yang mungkin akan tidak dapat diterima di server / konteks workstation. Tetapi pada level register? Itu akan menjadi sesuatu yang rapi untuk dibaca; tidak melihat sesuatu dengan segera di Google, meskipun saya kira info seperti itu kemungkinan akan menjadi rahasia dagang.
Nat
8

Sekarang, tambahkan jawaban M. Stern :

Alasan utama mengapa koreksi kesalahan diperlukan untuk komputer kuantum, adalah karena qubit memiliki kontinum status (saya sedang mempertimbangkan komputer kuantum berbasis qubit saja, pada saat ini, demi kesederhanaan).

Dalam komputer kuantum, tidak seperti komputer klasik, setiap bit tidak hanya ada di dua negara. Misalnya sumber kesalahan kemungkinan adalah rotasi berlebihan: mungkin seharusnya menjadi a | 0 + β e i φ | 1 tetapi benar-benar menjadi a | 0 + β e i ( φ + δ ) | 1 α|0+β|1α|0+βeiϕ|1α|0+βei(ϕ+δ)|1. Keadaan sebenarnya dekat dengan keadaan yang benar tetapi masih salah. Jika kita tidak melakukan sesuatu tentang ini, kesalahan kecil akan menumpuk seiring waktu dan akhirnya menjadi kesalahan besar.

Selain itu, keadaan kuantum sangat rumit, dan interaksi apa pun dengan lingkungan dapat menyebabkan dekoherensi dan keruntuhan keadaan seperti untuk | 0 dengan probabilitas | α | 2 atau | 1 dengan probabilitas | β | 2 .α|0+β|1|0|α|2|1|β|2

Dalam komputer klasik jika mengatakan nilai bit sedang direplikasi n-kali sebagai berikut:

dan 1 11111 ... n kali

000000...n times
111111...n times

Dalam hal setelah langkah sesuatu seperti diproduksi dapat dikoreksi oleh komputer klasik untuk memberikan 0000000000 karena sebagian besar bit yang 0 ' s dan kemungkinan besar tujuan yang dimaksudkan dari operasi awal telah mereplikasi 0 -bit 10 kali.000100010000000000000s010

|ψ=α|0+β|1yaitu dengan kesalahan dalam fase, di mana semua qubit akan berada di negara yang berbeda (karena kesalahan). Artinya, situasinya tidak lagi biner. Komputer kuantum, tidak seperti komputer klasik tidak bisa lagi mengatakan bahwa: "Karena sebagian besar bit berada di0-tata biarkan saya mengubah sisanya menjadi0(α|0+β|1)(αeiϵ|0+βeiϵ|1)(αeiϵ2|0+βeiϵ2|1)...00! ", untuk memperbaiki kesalahan yang terjadi selama operasi. Itu karena semua status dari 10 qubit yang berbeda mungkin berbeda satu sama lain, setelah apa yang disebut operasi "replikasi". Jumlah kesalahan yang mungkin akan terus meningkat dengan cepat karena semakin banyak operasi yang dilakukan pada sistem qubit. M. Stern memang menggunakan terminologi yang tepat dalam jawaban mereka untuk pertanyaan Anda yaitu "itu tidakbaik skala".1010

Jadi, Anda memerlukan jenis teknik koreksi kesalahan yang berbeda untuk menangani kesalahan yang terjadi selama pengoperasian komputer kuantum, yang dapat menangani tidak hanya kesalahan bit flip tetapi juga kesalahan pergeseran fase. Selain itu, harus tahan terhadap dekoherensi yang tidak disengaja. Satu hal yang perlu diingat adalah bahwa sebagian besar gerbang kuantum tidak akan "sempurna", meskipun dengan jumlah "gerbang kuantum universal" yang tepat, Anda dapat mendekati sewenang-wenang untuk membangun setiap gerbang kuantum yang melakukan (dalam teori) transformasi kesatuan.

Niel de Beaudrap menyebutkan bahwa ada cara pintar untuk menerapkan teknik koreksi kesalahan klasik sedemikian rupa sehingga mereka dapat memperbaiki banyak kesalahan yang terjadi selama operasi kuantum, yang memang benar, dan persis seperti apa yang dilakukan kode koreksi kesalahan kuantum saat ini. Saya ingin menambahkan yang berikut dari Wikipedia , karena mungkin memberikan kejelasan tentang bagaimana kode koreksi kesalahan kuantum menangani masalah yang dijelaskan di atas:

Kode koreksi kesalahan klasik menggunakan pengukuran sindrom untuk mendiagnosis kesalahan mana yang merusak status yang disandikan. Kami kemudian membalikkan kesalahan dengan menerapkan operasi korektif berdasarkan sindrom. Koreksi kesalahan kuantum juga menggunakan pengukuran sindrom. Kami melakukan pengukuran multi-qubit yang tidak mengganggu informasi kuantum di negara yang disandikan tetapi mengambil informasi tentang kesalahan. Pengukuran sindrom dapat menentukan apakah qubit telah rusak, dan jika demikian, yang mana. Terlebih lagi, hasil dari operasi ini (sindrom) memberi tahu kita tidak hanya qubit fisik mana yang terpengaruh, tetapi juga, di mana dari beberapa cara yang mungkin itu dipengaruhi. Yang terakhir adalah kontra-intuitif pada pandangan pertama: Karena kebisingan arbitrer, bagaimana efek kebisingan menjadi salah satu dari beberapa kemungkinan yang berbeda? Dalam sebagian besar kode, efeknya berupa flip sedikit, atau tanda (dari fase) flip, atau keduanya (sesuai dengan matriks Pauli X, Z, dan Y). Alasannya adalah bahwa pengukuran sindrom memiliki efek proyektif dari pengukuran kuantum. Jadi, bahkan jika kesalahan karena kebisingan itu sewenang-wenang, itu dapat dinyatakan sebagai superposisi operasi basis — basis kesalahan (yang di sini diberikan oleh matriks dan identitas Pauli). Pengukuran sindrom "memaksa" qubit untuk "memutuskan" untuk "kesalahan Pauli" tertentu untuk "terjadi", dan sindrom memberitahu kita yang mana, sehingga kita dapat membiarkan operator Pauli yang sama bertindak lagi pada qubit yang rusak untuk mengembalikan efek dari kesalahan.

Pengukuran sindrom memberitahu kita sebanyak mungkin tentang kesalahan yang telah terjadi, tetapi tidak ada sama sekali tentang nilai yang disimpan dalam qubit logis — karena jika tidak, pengukuran akan menghancurkan superposisi kuantum dari qubit logis ini dengan qubit lain dalam kuantum komputer.


Catatan : Saya belum memberikan contoh teknik koreksi kesalahan kuantum yang sebenarnya. Ada banyak buku bagus di luar sana yang membahas topik ini. Namun, saya berharap jawaban ini akan memberi pembaca ide dasar mengapa kita perlu kode koreksi kesalahan dalam perhitungan kuantum.


Rekomendasi Bacaan Lebih Lanjut:

Video Kuliah yang Direkomendasikan:

Kursus Mini Crash: Koreksi Kesalahan Quantum oleh Ben Reichardt, University of Southern California

Sanchayan Dutta
sumber
3
Saya tidak yakin fakta bahwa ada rangkaian negara memainkan peran apa pun. Komputasi klasik dengan bit juga akan memiliki masalah yang sama jika teknologi kami kurang matang, dan memang benar-benar menderita dari kebisingan pada berbagai waktu dalam perkembangannya. Baik dalam kasus klasik dan kuantum, kebisingan tidak nyaman rata-rata dalam keadaan normal
Niel de Beaudrap
@NieldeBeaudrap Itu memang memainkan peran besar. Dalam perhitungan klasik Anda tahu bahwa Anda harus berurusan hanya dengan dua negara, sebelumnya . Coba perhatikan sebuah contoh: Dalam perhitungan klasik jika sinyal5 mV mewakili "tinggi" (atau 1-state) sementara 0 mV secara teoritis mewakili "rendah" (atau 0-state), jika operasi Anda berakhir dengan sesuatu seperti 0,5 mV itu akan secara otomatis dibulatkan menjadi 0 mV karena lebih dekat ke 0 mV dari 5mV. Tetapi dalam kasus qubit ada sejumlah kemungkinan keadaan dan pembulatan seperti itu tidak berfungsi.
Sanchayan Dutta
Tentu saja Anda tidak salah ketika Anda mengatakan bahwa perhitungan klasik pun mengalami masalah kebisingan. Ada teori mapan kode koreksi kesalahan klasik juga! Namun, situasinya jauh lebih mengerikan dalam hal perhitungan kuantum karena kemungkinan jumlah tak terbatas dari keberadaan qubit tunggal.
Sanchayan Dutta
1
Teknik yang digunakan untuk koreksi kesalahan kuantum tidak melibatkan fakta bahwa ruang-keadaan tidak terbatas dengan cara apa pun. Argumen yang Anda buat tampaknya menggambar analogi antara komputasi kuantum dan komputasi analog --- sementara ada kesamaan, itu akan menyiratkan bahwa koreksi kesalahan kuantum tidak akan mungkin jika itu analogi suara. Sebaliknya, ruang-negara dari banyak qubit juga seperti distribusi probabilitas pada bit-string, yang juga ada kontinum; dan hanya melakukan koreksi kesalahan pada bit-string tertentu sudah cukup untuk menekan kesalahan.
Niel de Beaudrap
1
@ GLS Saya telah menghapus kalimat pertama. Kamu benar. Saya menafsirkan perhitungan dengan cara yang tidak terkait.
Sanchayan Dutta
2

Mengapa Anda perlu koreksi kesalahan? Pemahaman saya adalah bahwa koreksi kesalahan menghilangkan kesalahan dari noise, tetapi noise seharusnya rata-rata keluar sendiri.

Jika Anda membangun rumah atau jalan dan kebisingan adalah perbedaan, perbedaan, sehubungan dengan kelurusan, ke arah, itu bukan semata-mata / hanya: "Bagaimana kelihatannya", tetapi "Bagaimana jadinya?" - superposisi dari efisiensi dan kebenaran.

Jika dua orang menghitung keliling bola golf dengan diameter masing-masing akan mendapatkan jawaban yang sama, tergantung keakuratan perhitungan mereka; jika masing-masing menggunakan beberapa tempat desimal itu akan 'cukup baik'.

Jika dua orang diberi peralatan dan bahan yang sama, dan diberi resep kue yang sama, haruskah kita mengharapkan hasil yang sama?

Untuk memperjelas apa yang saya tanyakan, mengapa Anda tidak bisa, alih-alih melibatkan koreksi kesalahan, cukup menjalankan operasi, katakanlah, seratus kali, dan pilih rata-rata / jawaban paling umum?

Anda memanjakan penimbangan, mengetuk jari Anda pada timbangan.

Jika Anda berada di konser yang keras dan mencoba berkomunikasi dengan orang di sebelah Anda apakah mereka memahami Anda pertama kali, setiap kali?

Jika Anda menceritakan sebuah kisah atau menyebarkan desas-desus, (dan beberapa orang berkomunikasi secara kata demi kata, beberapa menambahkan putaran mereka sendiri, dan yang lain melupakan bagian-bagiannya), ketika itu kembali kepada Anda apakah hal itu akan keluar dengan sendirinya dan menjadi dasarnya (tetapi tidak identik) sama hal yang kamu katakan? - tidak sepertinya.

Rasanya seperti meremas selembar kertas dan kemudian meratakannya.

Semua analogi itu dimaksudkan untuk menawarkan kesederhanaan atas ketepatan, Anda dapat membaca ulang beberapa kali, rata-rata keluar, dan memiliki jawaban yang tepat, atau tidak. ;)


Penjelasan yang lebih teknis tentang mengapa koreksi kesalahan kuantum sulit tetapi perlu dijelaskan di halaman web Wikipedia: " Koreksi Kesalahan Kuantum ":

"Koreksi kesalahan kuantum (QEC) digunakan dalam komputasi kuantum untuk melindungi informasi kuantum dari kesalahan karena dekoherensi dan kebisingan kuantum lainnya . Koreksi kesalahan kuantum sangat penting jika seseorang ingin mencapai perhitungan kuantum toleran-kesalahan yang tidak hanya dapat menangani gangguan pada penyimpanan yang tersimpan informasi kuantum, tetapi juga dengan gerbang kuantum yang salah, persiapan kuantum yang salah, dan pengukuran yang salah. "

" Koreksi kesalahan klasik menggunakan redundansi ." ...

"Menyalin informasi kuantum tidak mungkin karena teorema no-kloning . Teorema ini tampaknya menghadirkan kendala untuk merumuskan teori koreksi kesalahan kuantum. Tetapi dimungkinkan untuk menyebarkan informasi dari satu qubit ke keadaan yang sangat terjerat dari beberapa ( fisik. qubit. Peter Shor pertama kali menemukan metode ini merumuskan kode koreksi kesalahan kuantum dengan menyimpan informasi dari satu qubit ke keadaan yang sangat terjerat dari sembilan qubit. Kode koreksi kesalahan kuantum melindungi informasi kuantum terhadap kesalahan dari bentuk terbatas. "

rampok
sumber
2

kebisingan harus rata-rata dengan sendirinya.

Kebisingan tidak sempurna keluar dengan sendirinya. Itulah Kekeliruan Penjudi. Meskipun kebisingan cenderung berkelok-kelok, itu masih menumpuk dari waktu ke waktu.

Misalnya, jika Anda menghasilkan N koin membalik dan jumlah mereka, besarnya perbedaan yang diharapkan dari tepat N/2 kepala tumbuh seperti HAI(N). Secara kuadrat lebih baik daripadaHAI(N) Anda harapkan dari koin bias, tetapi tentu saja tidak 0.

Lebih buruk lagi, dalam konteks perhitungan terhadap banyak qubit, noise tidak hampir membatalkan sendiri, karena noise tidak lagi sepanjang dimensi tunggal. Di komputer kuantum denganQ qubit dan noise single-qubit, ada 2Qdimensi pada waktu tertentu untuk kebisingan untuk bertindak (satu untuk setiap sumbu X / Z dari setiap qubit). Dan saat Anda menghitung dengan qubit, dimensi ini berubah agar sesuai dengan subruang yang berbeda dari a2Qruang dimensi. Ini membuat kebisingan di kemudian hari tidak dapat membatalkan kebisingan sebelumnya, dan akibatnya Anda kembaliHAI(N) akumulasi kebisingan.

menjalankan operasi, katakanlah, seratus kali, dan pilih jawaban rata-rata / paling umum?

Saat perhitungan semakin besar dan lebih lama, peluang untuk tidak melihat suara atau suara membatalkan dengan cepat menjadi sangat dekat dengan 0% sehingga Anda tidak dapat mengharapkan melihat jawaban yang benar bahkan sekali sekalipun Anda mengulangi perhitungannya satu triliun kali.

Craig Gidney
sumber