1. Ana sayfa
  2. Algoritmalar
  3. Bell ve iletişim
  4. Kuantum teleportasyon protokolü · Qiskit
Bell ve iletişim · Qiskit

Kuantum teleportasyon — durumu taşı, parçacığı değil

Kuantum teleportasyon, bir kübitin kuantum bilgisinin (genlik ve faz) bir başka kübite aktarılmasını sağlayan protokoldür. Atomun kendisi değil, atomun taşıdığı ψ\ket{\psi} durumu aktarılır; protokolün tamamlanması klasik bir kanal üzerinden iki bitin gönderilmesini gerektirir, bu yüzden ışık hızının ötesinde bir iletişim sunmaz.

  • Çerçeve: Qiskit
  • 3 kübit (mesaj + Alice + Bob)
  • Bell çifti + CNOT + H + Pauli düzeltme
  • ~7 dk okuma

Kuantum teleportasyon nedir? (derinlemesine analiz)

Kuantum teleportasyon, bir kübitin fiziksel olarak bir yerden bir yere taşınmadan, sahip olduğu kuantum bilgisinin (genlik ve faz — yani ψ\ket{\psi}) bir kübitten diğerine aktarılması protokolüdür. Aktarılan şey madde değil, kuantum durumudur.

Yaygın yanlış bilgiler · gerçekler

  • Madde transferi değildir

    Işınlanan şey atomun kendisi değil, atomun taşıdığı durumdur: ψ\ket{\psi}. Kaynaktaki kübit boş kalmaz; yalnızca üzerindeki kuantum bilgisi yok olur ve hedef kübitte yeniden belirir.

  • Işık hızından hızlı değildir

    Protokolün tamamlanması için klasik bir kanal üzerinden iki klasik bitin gönderilmesi şarttır. Bu klasik adım, evrensel hız limitini (ışık hızı) korur.

  • Kopyalama değildir

    No-Cloning teoremi gereği, bilgi hedefe ulaştığında kaynaktaki orijinal durum yok olur. Bu gerçek bir ışınlanmadır, “faks çekme” değildir.

Anahtar fikir Teleportasyon, kuantum kanal (önceden paylaşılmış dolanıklık) ile klasik kanal (iki bitlik mesaj) arasındaki dans üzerine kuruludur: birinin yerini diğeri tutamaz; ikisi de gereklidir.
Deep Dive · Bugün gerçek mi?

Bu protokol bir düşünce deneyi değildir; fiber optik üzerinden ve uzun mesafeli uydu ağlarında tekrar tekrar uygulanmıştır. Çin'in Micius uydusu, yer ile yörünge arasında dolanık fotonlar dağıtarak yüzlerce kilometre üzerinden teleportasyon deneylerini başardı. Bu gösterimler, gelecekteki kuantum internet'in temelini oluşturur.

Protokolün üç ana kahramanı

Algoritmayı net biçimde takip etmek için üç kübitlik bir senaryo kurarız. Alice gönderici, Bob alıcıdır; aralarında önceden paylaşılmış bir dolanık çift bulunur.

  • q0q_0 · Mesaj kübiti

    Alice'in Bob'a göndermek istediği bilinmeyen ψ\ket{\psi} durumu. Bu durum sayfa boyunca aktarılan içerik rolündedir.

  • q1q_1 · Alice'in dolanık kübiti

    Bob ile önceden paylaşılan Bell çiftinin Alice'teki yarısı. Mesaj kübiti ile etkileşerek bilgiyi “tünele” taşır.

  • q2q_2 · Bob'un dolanık kübiti

    Bell çiftinin Bob'taki yarısı. Klasik bitler geldikten sonra yapılan Pauli düzeltmeleri ile, başlangıçtaki ψ\ket{\psi}'ye dönüşür.

Kanal ayrımı Alice ve Bob'un paylaştığı dolanıklık kuantum kanal; iki klasik bitin Alice'ten Bob'a iletildiği telefon/şebeke ise klasik kanal'dır. Klasik kanal olmadan Bob, hangi düzeltmeyi yapması gerektiğini bilemez.

Adım adım ışınlanma reçetesi

Protokol her zaman beş aşamadan oluşur: dolanıklık dağıtımı, Alice'in hazırlığı, Alice'in ölçümü, klasik iletim ve Bob'un Pauli düzeltmesi.

  1. Dolanıklık kaynağı H · CNOT

    Önce q1q_1q2q_2 üzerinde bir Bell çifti üretilir (Φ+\ket{\Phi^+}). Kübitlerden biri Alice'e, diğeri Bob'a verilir; bu adım, Alice ve Bob arasında kuantum bir tünel açar.

  2. Alice'in hazırlığı CNOT · H

    Alice, mesaj kübiti q0q_0'ı kontrol, kendi dolanık kübiti q1q_1'i hedef alarak CNOT uygular; ardından q0q_0'a Hadamard uygular. Bu iki adım, ψ\ket{\psi}'nin “izini” iki klasik bit içine kodlamayı sağlar.

  3. Alice'in ölçümü M(q₀,q₁)

    Alice kendi iki kübitini ölçer; sonuç 00, 01, 10 veya 11'den biridir. Bu işlem kuantum durumunu “çözer”; Alice'in elinde artık iki klasik bit kalır.

  4. Klasik iletim 2 bit

    Alice bu iki biti klasik bir kanal üzerinden Bob'a bildirir. Telefon, internet ya da radyo — fark etmez; kanalı sınırlayan, evrensel hız limitidir.

  5. Bob'un Pauli düzeltmesi I · X · Z · ZX

    Bob, gelen iki bite göre kendi kübiti q2q_2'ye uygun Pauli kapısını uygular ve q2q_2, başlangıçtaki ψ\ket{\psi} haline gelir.

Düzeltme tablosu (klasik bit → Pauli)

  • 00

    Hiçbir şey yapma · II

    Bob'un kübiti zaten ψ\ket{\psi}'ye eşittir.

  • 01

    XX uygula

    Bit-flip düzeltmesi: 0 ↔ 1 yer değiştirme.

  • 10

    ZZ uygula

    Phase-flip düzeltmesi: 1\ket{1} üzerindeki işaret çevrilir.

  • 11

    Önce XX, sonra ZZ — yani ZXZX

    Hem bit-flip hem phase-flip; iki düzeltme art arda uygulanır.

Sezgi Alice ölçüm yaptığı an kendi kübitindeki bilgi yok olur; klasik kanaldan giden iki bit, Bob'un dolanık kübitini “hangi rotasyonla orijinaline getireceğini” söyleyen anahtardır. Kuantum bilgisi kopyalanmaz; yer değiştirir.

Qiskit ile uygulama

Aşağıdaki örnek tek dosyada beş aşamayı uçtan uca kurar: 1\ket{1} durumunu ışınlamak için q0q_0'a önce XX uygulanır, ardından Bell çifti, Alice'in CNOT/H adımları, Alice'in ölçümü, Bob'un klasik koşullu Pauli düzeltmeleri ve son olarak doğrulama ölçümü.

teleportation.py Python
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

# 1. Devre: 3 kübit (q0: mesaj, q1: Alice, q2: Bob)
# ve Alice'in sonuçları için 2 klasik bit + Bob'un sonucu için 1 klasik bit
qc = QuantumCircuit(3, 3)

# --- ADIM 0: Işınlanacak Durumu Hazırla (|1> durumunu ışınlayalım) ---
qc.x(0)
qc.barrier()

# --- ADIM 1: Bell Çifti Oluştur (Dolanıklık Tüneli) ---
qc.h(1)
qc.cx(1, 2)
qc.barrier()

# --- ADIM 2: Alice'in İşlemleri ---
qc.cx(0, 1)
qc.h(0)
qc.barrier()

# --- ADIM 3: Alice'in Ölçümü ---
qc.measure(0, 0)
qc.measure(1, 1)
qc.barrier()

# --- ADIM 4: Bob'un Düzeltme İşlemleri (Klasik Kontrollü) ---
# Alice'in klasik bitlerine göre Bob kapı uygular
qc.x(2).c_if(1, 1)  # Eğer c1 == 1 ise X uygula
qc.z(2).c_if(0, 1)  # Eğer c0 == 1 ise Z uygula
qc.barrier()

# --- ADIM 5: Doğrulama Ölçümü ---
qc.measure(2, 2)

# Simülasyon
simulator = AerSimulator()
job = simulator.run(qc, shots=1024)
result = job.result().get_counts()

print("\nTeleportasyon Sonuçları (Sadece q2 ölçümüne odaklanın):")
print(result)
qiskit Aer simülatörü · 1024 shot UTF-8 · LF

Kod analizi · satır satır

Importlar QuantumCircuit üç kübit + üç klasik biti tek nesnede tutar; AerSimulator protokolü gürültüsüz çalıştırır. numpy ya da plot_histogram bu örnekte zorunlu değildir; sayıları doğrudan terminale yazdırarak en sondaki bitin değişmediğini göreceğiz.

qc = QuantumCircuit(3, 3) Üç kübit, sırasıyla mesaj kübiti (q0 — Alice'in göndermek istediği), Alice'in dolanık kübiti (q1) ve Bob'un dolanık kübiti (q2). Üç klasik bit ise iki Alice ölçümü (c0, c1) + bir Bob doğrulama ölçümü (c2) için. Klasik kayıt boyutunu yeterli almazsanız c_if kontrolü çalışmaz — Qiskit hata fırlatmaz, sessizce yanlış çalışır.

qc.x(0) — Adım 0: mesajı hazırla Sahnenin başında "ne ışınlayacağımıza" karar veriyoruz. q0 başlangıçta |0⟩'dır; X ile onu |1⟩'e çeviriyoruz. Test için kasıtla en basit durumu seçtik. Süperpozisyon (örn. qc.h(0) + qc.t(0)) ile keyfi bir durum hazırlasanız da protokol aynı sadakatle taşır; |1⟩ sadece doğrulamayı kolaylaştırır.

qc.h(1) + qc.cx(1, 2) — Adım 1: dolanıklık tüneli Klasik bir Bell çifti üretimi (Bell durumu sayfasıyla aynı reçete). Sonuç, |Φ⁺⟩ = (|00⟩ + |11⟩)/√2: q1 ile q2 arasında "kuantum tüneli" açıldı. Senaryoda q1 Alice'te, q2 Bob'ta; aralarında ne kadar mesafe olursa olsun ölçüm sonuçları korelasyon taşır. Bu adım protokolün ön-koşuludur — gerçek kurulumlarda lab'lar genelde dolanıklığı önceden dağıtıp saklarlar.

qc.cx(0, 1) + qc.h(0) — Adım 2: Alice'in işlemleri Bu iki kapı, Alice'in Bell-baz ölçümünün dolaylı yoldan kurulmasıdır: önce CNOT, sonra Hadamard. Ardından standart Z-baz ölçümü yapıldığında, sonuç otomatik olarak Bell tabanındaki dört durumdan birinin etiketine dönüşür. Klasik mantığa çevirirsek: Alice mesaj kübiti ile dolanık kübitini "karıştırır", böylece mesajın bilgisi Bell çiftindeki korelasyona aktarılır.

qc.measure(0, 0) + qc.measure(1, 1) — Adım 3: Alice'in ölçümü Alice kendi iki kübitini ölçer ve sonuçları (c0, c1) klasik kayda yazar. Bu adımda kuantum bilgisi çözülür; Alice'in elinde artık mesajın orijinal kuantum durumu yoktur. Bu, görünürdeki "ışınlanmanın" kopyalanma olmadığını fiziksel olarak garantiler — No-Cloning ilkesinin pratik tezahürü.

qc.x(2).c_if(1, 1) + qc.z(2).c_if(0, 1) — Adım 4: Bob'un düzeltmesi Devrenin "kuantum–klasik etkileşim" noktası. .c_if(c, v), "klasik bit c eğer v ise bu kapıyı uygula" anlamına gelir. İki satır birlikte 00 / 01 / 10 / 11 düzeltme tablosunu eksiksiz uygular: 00 → hiçbir şey, 01 → X, 10 → Z, 11 → Z·X. Pratikte Alice "klasik kanal" ile (telefon, internet) iki bitini yollar; Bob aldığı bitlere göre kapı uygular. Bu klasik iletişim, protokolün ışık hızını aşmamasını garantiler.

qc.measure(2, 2) — Adım 5: doğrulama Bob, kendi kübitini ölçer ve sonucu c2'ye yazar. Başlangıçta mesaj |1⟩ idi; protokol başarılıysa Bob her atışta 1 görmeli. Histogramda c0/c1 dağılımı dört eşit "kova" (00, 01, 10, 11 ~%25 ~%25 ~%25 ~%25) arasında bölünür çünkü Alice'in ölçümü rastgele; ancak en sondaki bit (Bob'unki) sabit kalır. Üç bitlik sayım anahtarlarına bakarsanız "100", "101", "110", "111" görürsünüz — hepsinde sol uçtaki "1" Bob'un sonucudur (Qiskit konvansiyonu: en sağdaki bit c0).

shots=1024 Protokolün rastgele görünen Alice çıktıları farklı senaryoları örneklememiz için yeterince çoklu atış ister. 1024 atış, dört Alice senaryosunun her birini ortalama ~256 kere üretir — .c_if dallarının hepsinin doğru çalıştığını görmek için iyi bir dengedir.

Hızlı deney Koddaki qc.x(0) satırını silin; bu kez 0\ket{0}'ı ışınlamış olursunuz. Bob'un kübiti her atışta 0 gelir. Üstüne +\ket{+} veya \ket{-} gibi süperpozisyon durumlarını da deneyebilir, ölçüm tabanını değiştirip aynı sadakatin taşındığını görebilirsiniz.

Çalıştırma için qiskit ve qiskit-aer paketleri yeterlidir; kurulumun özeti ana sayfadaki IDE ve çalıştırma bölümündedir. Gerçek donanımda denemek için dinamik devre desteği olan bir IBM backend'i seçin (örn. ibm_kyoto, ibm_brisbane); .c_if tabanlı klasik kontrol her donanımda yürümeyebilir, dolayısıyla backend.configuration().dynamic_circuits bayrağına bakmak iyi olur.

Devre ve doğrulama

Aşağıdaki şema beş aşamayı sırayla gösterir. Sol uçta, kodun qc.x(0) satırını yansıtan turuncu çerçeveli minik X kapısı q0q_01\ket{1} durumuna hazırlar. Ardından Bell çifti (q1q_1'e HH, q1q2q_1 \to q_2 CNOT), Alice'in q0q1q_0 \to q_1 CNOT ve q0q_0'a HH adımı, iki ölçüm (Mq0,Mq1M_{q_0}, M_{q_1}), Bob'un klasik koşullu XX/ZZ kapıları ve son ölçüm görünür.

Kuantum teleportasyon · 5 aşama İstemci tarafı SVG · 3 kübit · 2 klasik bit + 1 doğrulama
q0 q1 q2 Hazırlık X q0 → |1⟩ Bell çifti H Alice (CNOT · H) H Alice ölçümü M M Bob düzeltme (c-if) X if c1=1 Z if c0=1 Doğrulama M
Doğrulama

Mesaj kübiti ψ=1\ket{\psi} = \ket{1} olarak hazırlanmıştı; protokol doğru çalışıyorsa Bob'un kübiti q2q_2 her atışta 1\ket{1} ölçülür. Histogramda Alice'in iki biti dört eşit kovaya dağılır (00, 01, 10, 11), ama son bit sabit 1'dir.

  • q₂ → 1 her atışta
  • Alice 00/01/10/11 ≈ ¼ her biri
  • Sadakat (ideal sim.) ≈ 1.00
  • Süperpozisyonu ışınla

    Mesaj kübitini 0\ket{0}, +\ket{+} veya rastgele bir α0+β1\alpha\ket{0}+\beta\ket{1} olarak hazırlayın; doğru ölçüm tabanında Bob'un kübitinde aynı dağılım gözükür — protokol durum içeriğine bakmaksızın çalışır.

  • Klasik kanal şart

    İki klasik bit ulaşmadan Bob'un kübiti rastgele bir karışım gibi görünür; bilgi yoktur. Bu, teleportasyonun ışık hızından hızlı iletişim sağlamadığını matematiksel olarak garanti eder.

  • Donanımda maliyet · NISQ

    Bell çifti ve klasik koşullu kapılar derinlik üretir; gerçek cihazlarda sadakat (fidelity) %100 olmaz, gürültüye bağlı küçük sapmalar gözlenir. Donanım sürücüleri bunu error rate ölçütü olarak da raporlar.

  • Geleceğe köprü

    Aynı protokol fiber optik üzerinden ve uydu (örn. Micius) ağlarında çalışır; kuantum tekrarlayıcılar bu temele dayanan uzun mesafeli kuantum ağlarının yapı taşıdır.