← Quantum Store · Rehberler · Dersler · Sözlük · Paketler · Öğrenme yolları · English

Gürültü ve kuantum hata düzeltme kursu · Ders 1 / 5 · 10 dk

Gürültü ve hata türleri: kübitler neden bozulur?

Gerçek kübitler çevreleriyle etkileşir ve bilgilerini kaybeder. Bit hatası, faz hatası, kapı ve ölçüm hatalarını tanı ve faz hatasının neden yalnızca kuantum bilgisayarlara özgü olduğunu gör.

Kırılgan kübitler

Klasik bir bilgisayardaki bit, milyarlarca elektronun oluşturduğu sağlam bir sinyaldir ve hata neredeyse hiç yapmaz. Bir kübit ise tek bir atom, iyon, foton ya da süperiletken bir devrenin durumudur. Çevredeki en küçük titreşim, ısı ya da elektromanyetik gürültü onu bozabilir. Bu bozulmaya dekoherans denir.

Dekoherans iki süreyle ölçülür: T1, uyarılmış |1⟩ durumunun enerjisini kaybedip |0⟩’a düşme süresidir; T2 ise süperpozisyondaki fazın bozulma süresidir. Süperiletken kübitlerde bu süreler genellikle mikrosaniyeler ile milisaniyeler arasındadır.

Bit hatası ve faz hatası

Bir bit hatası (X hatası), klasik bilgisayarlardaki gibi 0’ı 1’e, 1’i 0’a çevirir. Bir faz hatası (Z hatası) ise yalnızca kuantumda vardır: |1⟩’ın işaretini çevirir, yani |+⟩’yı |−⟩’ye dönüştürür. Z tabanında ölçünce fark edilmez, ama girişimi ve dolayısıyla algoritmanın sonucunu bozar.

Aşağıdaki kod |+⟩ durumuna bu iki hatayı uygular. Bit hatası |+⟩’yı hiç değiştirmez, faz hatası ise X ölçümünü +1’den −1’e çevirir. Her türlü küçük hata, X ve Z hatalarının birleşimi olarak yazılabilir; bu yüzden hata düzeltme kodlarının bu ikisini yakalaması yeterlidir.

from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp, Statevector

for name, error in [('hatasız', None), ('bit hatası', 'x'), ('faz hatası', 'z')]:
    qc = QuantumCircuit(1)
    qc.h(0)                                   # |+⟩ durumu
    if error:
        getattr(qc, error)(0)
    sv = Statevector(qc)
    z = sv.expectation_value(SparsePauliOp('Z')).real
    x = sv.expectation_value(SparsePauliOp('X')).real
    print(name, round(z, 3) + 0, round(x, 3) + 0)
# hatasız 0.0 1.0
# bit hatası 0.0 1.0      |+⟩ bit hatasından etkilenmez
# faz hatası 0.0 -1.0     ama faz hatası X ölçümünü tersine çevirir

Kapı ve ölçüm hataları

Hatalar yalnızca beklerken oluşmaz. Her kapı küçük bir hata payıyla uygulanır: bugünkü en iyi cihazlarda tek kübitlik kapılar %0,01–0,1, iki kübitlik kapılar %0,1–1 civarında hata yapar. Ölçüm de bazen 0’ı 1, 1’i 0 olarak okur.

Bu küçük oranlar uzun bir devrede birikir: 1.000 iki kübitlik kapılı bir devrede her kapı %0,5 hata yapıyorsa hatasız çalışma olasılığı yalnızca 0,995¹⁰⁰⁰ ≈ %0,7’dir. Shor algoritması gibi milyarlarca kapı isteyen algoritmalar bu yüzden hata düzeltme olmadan çalışamaz.

Kendin dene

H, Z, H devresinde ortadaki Z bir faz hatası gibidir: Z tabanında görünmez, ama sondaki H onu bit hatasına çevirir ve sonuç 0 yerine 1 olur. Z’yi kaldır: “hatasız” devre her zaman 0 verir.

Tarayıcıda dene (kurulum yok)

Akılda kalsın

Kendini sına

Faz hatası (Z) |+⟩ durumuna ne yapar?

Cevabı göster

Onu |−⟩ yapar. Z, |1⟩’ın işaretini çevirir: (|0⟩ + |1⟩)/√2 durumu (|0⟩ − |1⟩)/√2, yani |−⟩ olur.

Tekrarlama kodu: hatayı veriye bakmadan bulmak →

Paylaş: X · LinkedIn