1. Ana sayfa
  2. Algoritmalar
  3. Hata düzeltme ve kodlama
  4. 3 kübit bit çevirme kodu · Qiskit
Tekrar kodu · sendrom · Qiskit

Üç kübitlik bit çevirme kodu — tekrar · eşlik ölçümü · düzeltme

Bu sayfa “mantığı üç cümlede duyumsamak” için yazıldı: klasik dünyada mesajı üç kez tekrarlayıp çoğunluğa güvenirsiniz; kuantumda benzer fikirle bir kübitlik bilgi |0⟩ ve |1⟩ iki kod kelimesine yayılır ve tek bir istenmeyen X (bit çevirme) hatası — uygun ölçümle — fark edilip geri alınabilir. Kavram çerçevesi §1, kod kelimeleri §2, sendrom tablosu §3, çalışma zamanı düşüncesi §4, kod ve doğrulama §5–8 içindedir.

  • Kod uzayı: |000⟩, |111⟩
  • Kodlama: iki CNOT ile tekrar
  • Sendrom: iki yardımcı kübit · dört durum
  • Çekirdek: Qiskit · AerSimulator

Bit çevirme kodu nedir?

Fiziksel kübitler sessiz değildir: zaman zaman bilgi ters döner — düşündüğümüz |0⟩ yerine |1⟩ görürüz; buna kuş dilinde bit çevirme (X kanalı) denir. Hesaplama tabanında X, klasik dünyadaki “biti çevir” işlemine karşılık gelir; öğretim metinlerinde bir kübitlik en basit gürültü modeli olarak seçilir — gerçek donanımda tablo genelde daha kalabalıktır ama mantık aynı kalır: bilgi bozulur, biz de bunu tolere etmeyi veya düzeltmeyi planlarız. Hatayı ortadan tamamen kaldırmak zordur; o yüzden bilgiyi daha geniş bir fiziksel kayda yayarak önce fark edilir kılar, sonra mümkünse geri alırız.

X kanalı ile gerçek gürültü arasında

Birçok ders X’i kapı olarak çizer; “kanal” dediğimiz şey ise zamanda sessizce ortaya çıkan etkiyi temsil eder — bazen tek bir olasılıkla (p küçükken nadiren), bazen başka Pauli bileşenleriyle karışık olarak. Bu sayfa tek kelimede bit çevirme kodu dediği için kasıtlı olarak önce bu cepheyi açar; faz kayması (Z) ve birlikte düşünülen senaryolar bu yapının dışında kalır — böylece QRNG veya faz odaklı algoritma sayfalarıyla görev çakışması oluşmaz.

Dayanıklılığın sezgisi: yedek ve uyum

Tek fiziksel kübit tek bir “ses tellisi” gibidir; tellere fazladan kopya eklemek, bozulmayı tek başına iyileştirmez ama karşılaştırılabilir işaretler üretir: çoğunluk aynı notayı çalıyorsa sistem güvenli sayılır, bir teller başka notaya sıçramışsa kulak ayırt eder. Kuantumda da mantıksal bilgi birkaç fiziksel kübite yayılır; uyumlu durumlar küçük bir alt uzay oluşturur (2 · Kod kelimeleri ve kodlama). Tek bir istenmeyen X çoğu zaman bu uyumu tek yerde bozar — hangi telin kaydığını söyleyen etiket ise sendromdur (3 · Sendrom ve düzeltme tablosu), böylece §1 burada kavramsal köprüde kalır, tablo ve devre ayrıntısı sonraki bölümlere taşınır.

Bu sayfanın yeri

Dosya eğitim amaçlı bir kapıdır; gerçek ölçekte yüzey kodları, sürekli ölçüm ve hata oranı eşikleri ayrı bir dünya. Site içinde Grover, QFT veya QRNG gibi konular farklı hedefler taşır; burada yalnızca “tek mantıksal kübitlik bilgiyi üç fiziksel kübit ile koruma” kalbi işlenir — üretim mühendisliği ve kanal kapasitesi bu çerçevenin ötesindedir.

Bu sayfanın sınırı Kod yalnızca tek bir X hatasını düzeltecek şekilde tasarlanmış düşünülür; iki eşzamanlı bit çevirme genelde başarısız olur. Süperpozisyonu koruyarak düzeltme ve geri bildirimli devreler daha ileri bir derstir.

Kod kelimeleri ve kodlama

Kod uzayı iki boyutludur ve taban ketleri |000⟩ ile |111⟩ seçilir. Kontrollü ters çevirme ile baş kübitteki bilgi diğer iki kübite kopyalanır — süperpozisyon düşünülürse bu “klasik kopya” değil, dolanıklı bir yayılımdır; bu minimal örnekte başlangıç genelde hesaplama tabanında verilir.

Sekiz boyutta iki çizgi

Üç fiziksel kübit birlikte 2³ = 8 boyutlu bir Hilbert uzayı açar; bit-flip kodunun sakladığı mantıksal bilgi ise bu sekizliğin içinde yalnızca iki boyutluk bir düzleme sıkıştırılır — taban olarak |000⟩ ve |111⟩ seçilir ve bunların tüm karmaşık doğrusal kombinasyonları kod uzayıdır. Diğer altı taban ket (|001⟩, …) kod uzayına ait değildir; bunlardan bazıları §3’teki tek X hatasından sonra ortaya çıkar — yani kod kelimesi dışına düşmek “tanınabilir bir sapma”dır (3 · Sendrom ve düzeltme tablosu).

Mantıksal kübit → üç kübitlik fiziksel kayıt

Dil olarak tek bir “mantıksal” kübit düşünürüz: kodlamadan önce bilgi q0 üzerinde hazırlanır (§5’teki örnekte klasik |0⟩). Kodlama sonrası aynı mantıksal sıfır artık üç kübitlik bir etiket taşır: |000⟩. Mantıksal bir ise baş kübite önce X, sonra aynı CNOT çifti uygulanarak |111⟩ elde edilir; böylece iki klasik mantıksal taban, iki fiziksel kod kelimesine karşılık gelir.

Süperpozisyon: çoğaltmak değil, katmak

Baş kübit α|0⟩ + β|1⟩ ise ve ardından aynı merdiven uygulanırsa durum ünite olarak α|000⟩ + β|111⟩ olur — üç ayrı bağımsız kopya değildir; kübitler dolanıklıdır ve bilgi ortak bir faz ilişkisinde durur. Bu, bilinçli olarak düzenlenmiş bir ünite ile yapılır; bilinmeyen bir kuantum durumunu üç nüsha çıkarmak ise mümkün değildir (klonlama teoremi) — bu yüzden “kopya” kelimesini klasik sezgiye kulak vererek kullanıyoruz ama matematikteki işlem ünite yayılımdır.

CNOT sırası ve okuma

Kontrol hep baş kübit (q0), hedefler q1 ve q2; sıra önce cx(0,1) sonra cx(0,2) olmalıdır ki tek kontrol yolu bozulmasın. Qiskit’te çok kübitlik ket sırası çizimle uyumludur; kod örneği bu sırayı bire bir izler (5 · Qiskit kod örneği). Kodlamadan sonra gelecek adım hata enjekte etmek veya doğrudan sendrom ölçmektir — ikinciisi 3 · Sendrom ve düzeltme tablosu başlığında tablolanır.

Kısa özet Kodlama: baş kübitte hazırlanan mantıksal bilgiyi iki CNOT ile iki ek fiziksel kübite ünite biçimde yaymak; kod uzayı span{|000⟩, |111⟩}.

Sendrom ve düzeltme tablosu

İki yardımcı kübit (ancilla) ile iki bağımsız eşlik bilgisi okunur: biri q0 ile q1, diğeri q0 ile q2 arasında. Ölçüm sonrası gelen iki klasik bit dört duruma karşılık gelir; böylece tek bir X hangi kübite düştüyse etiketlenir.

Neden doğrudan veri kübitlerini ölçmüyoruz?

Üç veri kübitini doğrudan hesaplama tabanında ölçmek, henüz kodlanmış süperpozisyon varsa mantıksal bilgiyi sıçratır — öğrenmek istediğimiz şey “hangi fiziksel kübit çevrildi?” iken sonuç bazen “mantıksal bit neymiş?” olur. Yardımcı kübitlere akan CNOT zinciri ise veriyi mümkün olduğunca rahatsız etmeden pariteye bakmayı hedefler; ölçüm anahtarı yardımcılarda tutulduğu için §5’teki düzen “tanı kaydı” olarak okunur — düzeltme ise klasik mantıkla hangi X kapısının hedefleneceğine karar verir.

Parite (XOR) düşüncesi

İlk yardımcıya hem q0 hem q1 bağlanırsa, başlangıçta sıfır olan yardımcının durumu — ölçüm öncesi düşünce — iki kübitin hesaplama tabanı etiketleri üzerinde üst üste binmiş bir “eşlik” taşır; teknik dilde bu, iki kontrol edilen kübitin mod iki toplamının tek classical bite sığdırılmasıdır. İkinci yardımcı aynı rolü q0 ve q2 için oynar. Böylece iki bağımsız sorunun yanıtı iki bite sığar; matematiksel olarak ilgili stabilizer gözlemleri Z ⊗ Z ⊗ I ve Z ⊗ I ⊗ Z ile ilişkilidir — burada yalnızca isim veriyoruz, kanıt §2’deki kod uzayına dayanır (2 · Kod kelimeleri ve kodlama).

Neden dört durum yeter?

Tek fiziksel kübitte istenmeyen bir X düşünürsek dört olasılık vardır: hata yok, hata q0, q1 veya q2 üzerinde. İki klasik bit tam olarak dört etiket taşıyabilir; doğru tasarlanmış ölçümde bu dört hikâye dört farklı sendroma düşer — yani tek hatayı “parmak izi” gibi ayırt ederiz. İki hatayı aynı anda varsayarsak farklı senaryolar aynı sendroma çökerek karışabilir; bu yüzden kod tek hataya göre güvenilir düşünülür (1 · Bit çevirme kodu nedir? çağrı kutusu).

Sendrom → düzeltme (bu devre düzeni) Klasik ölçüm dizgisi düşük anlamlı bitten okunur: 00 · hata yok — 11 · X(q0)01 · X(q1)10 · X(q2). §5’teki betik bu tabloyu yazdırır; gerçek donanımda düzeltme kapısı genelde klasik geri bildirim veya ek bir devre adımıyla tetiklenir — burada yalnızca öneri metni verilir.

Sezgisel okuma

İki soruyu yan yana soruyorsunuz: “birinci ile ikinci kübit aynı kutupta mı?” ve “birinci ile üçüncü aynı mı?” Üç kübit aynı renkteyse iki sorunun yanıtı da “evet” kalır (00). Tek bir kübit yanlış renge dönmüşse hangi çiftin uyumu bozulduğuna bakarak suçlu kübit seçilir — §1’deki üç telli düşüncesine paralel: iki sorunun yanıtı, hangi telin diğerlerinden farklı titreştiğini işaret eder; burada sonuç klasik iki bitlik bir kodla yazılır.

Qiskit boru hattı

Bu bölüm §2–§3’te tarif edilen mantığı çalışma zamanına döker: hangi soyut adımın hangi Qiskit davranışına karşılık geldiği — satır satır API çağrıları 5 · Qiskit kod örneği, satır yorumu 6 · Kod analizi içindedir; sendrom → düzeltme tablosunun matematiksel sabiti ise 3 · Sendrom ve düzeltme tablosu başlığında durur.

Üç katmanlı akış

Boru hattı düşüncesinde sıra şöyledir: önce mantıksal bilgi üç fiziksel kübite yayılır (kodlama); istenirse ortaya bilerek veya gürültü modeliyle bir müdahale konur (örnek dosyada tek satırlık bir X); en sonda yardımcı kübitler üzerinden tanı okunur — yani sendrom ölçümü. Bu üçlü, laboratuvar defterinde “hazırla → boz → ölç” diye özetlenebilir; ölçüm çıktısı klasik dünyaya düştüğü anda boru hattının kuantum kısmı bu öğretim örneği için biter.

Klasik katman: sendromdan düzeltme kararı

Örnek betik sendromu bir Python sözlüğü ile metne çevirir; gerçek sistemlerde aynı mantık genelde klasik kontrolör yazılımında çalışır ve gerektiğinde kuantum işlemciye “şu kapıyı uygula” komutu geri gönderilir. Burada kapı uygulanmaz — yalnızca öneri yazdırılır — böylece tek dosyada hem devre hem karar tablosu görülür, geri bildirim karmaşıklığı ise §9’daki notların konusu olarak kalır (9 · Pratik notlar).

Örnekleme: tek shot ve çok shot

Aer ile tek örnek (shots=1) ve sabit seed_simulator, sayfadaki çıktının her yeniden çalıştırmada aynı klasik sendromu göstermesini kolaylaştırır — bu bir fiziksel makine garantisi değil, simülatör deterministikliğidir. Çoklu örneklemede histogram, kanalın olasılıksal doğasını gösterir; öğretim hedefi tek hatayı ayırt etmek olduğunda tek shot çoğu zaman yeterlidir (8 · Demo ve doğrulama).

Donanım ve transpile gerçeği

Çizimde blok halinde görünen çok kontrollü yapılar, gerçek donanımda yerel kapılara ve bağlantı kısıtlarına açılır; gürültü eklenince sendrom dağılımı ideal tablodan kayar. Bu sayfa Aer ile “temiz tablo”yu sabitlediği sürece §3 ile uyumludur — üretim QEC tasarımı ayrı mühendisliktir.

Mantıksal kübiti tam koruma iddiası

Süperpozisyon taşıyan mantıksal kübitte hatayı düzeltirken hem faz hem genlik ilişkisini korumak, ölçümü ve geri bildirimi özenle seçmeyi gerektirir; buradaki örnek hatayı tespit edip etiketlemeye odaklanır, “ölçmeden sonra mantıksal durumu otomatik iyileştiren kapalı döngü” konusuna girmez — bu ayrımı özellikle vurguluyoruz ki QRNG veya algoritma sayfalarındaki ölçüm mantığıyla görev karışmasın.

Özet Boru hattı: kodlama → (isteğe bağlı) hata → sendrom ölçümü; Qiskit nesneleri §5’te, düzeltme kararı bu örnekte klasik Python ile §3 tablosundan üretilir.

Qiskit kod örneği

Üç veri kübiti (q0q2) ve iki sendrom kübiti (q3, q4) kullanılır. Örnekte bilerek q1 üzerinde bir X eklenir; satırı silerek veya başka indeks seçerek oyun yapabilirsiniz. Çıktıda sendrom 01 ve “düzelt: q1” beklenir (seed_simulator=42 ile tutarlı tek örnek).

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

# Veri: q0,q1,q2 — Sendrom yardımcıları: q3,q4
qc = QuantumCircuit(5, 2)

# Kodlama |0>_L -> |000>
qc.cx(0, 1)
qc.cx(0, 2)

# Örnek bit-flip (denemek için None veya 0,1,2)
qc.x(1)

qc.barrier()

# Sendrom: ancilla üzerinde eşlik ölçümü
qc.cx(0, 3)
qc.cx(1, 3)
qc.cx(0, 4)
qc.cx(2, 4)
qc.measure([3, 4], [0, 1])

counts = AerSimulator().run(qc, shots=1, seed_simulator=42).result().get_counts()
syndrome = next(iter(counts.keys()))

FIX = {"11": 0, "01": 1, "10": 2}

print(qc.draw(output="text", fold=-1))
print("Sendrom:", syndrome)
print("Önerilen düzeltme:", f"X(q_{FIX[syndrome]})" if syndrome in FIX else "—")
qiskit QuantumCircuit · CNOT · syndrome · AerSimulator UTF-8 · LF

Kod analizi

İskeletin rolü

Önce kod uzayına giriş yapılır, sonra (isteğe bağlı) hata enjekte edilir, en sonda sendrom ölçümü ile klasik etiket üretilir. §3’teki tablo ile yazdırılan düzeltme metni bire bir örtüşmelidir. Şema için 7 · Aynı devre (iki temsil), beklenen sendrom için 8 · Demo ve doğrulama ile doğrulayın.

QuantumCircuit(5, 2)

Beş kuantum kablosunun üçü veri, ikisi sendrom içindir; iki klasik kablo yalnızca yardımcı kübitlerin ölçümünü taşır — böylece veri kübitleri doğrudan okunmadan “tanı” elde edilir.

cx(0, 1) ve cx(0, 2)

Baş kübit kontrol, diğerleri hedef; başlangıç |0⟩ ise çıktı tekrarlı |000⟩ kod kelimesidir.

x(1)

Tek fiziksel X ile kod kelimesi bozulur; kod uzayı dışına çıkılır ama hâlâ tek hataya kadar düzeltilebilir rejimdedir.

Sendrom CNOT zinciri

q3 üzerindeki eşlik q0 ⊕ q1 bilgisini kodlar; q4 ise q0 ⊕ q2 için benzer şekilde güncellenir. Ölçüm sonrası ikili dizgi §3 tablosuna düşer.

FIX sözlüğü

Post-processing katmanıdır; gerçek dünyada aynı mantık klasik kontrolör ile X uygulamasını tetikler.

Aynı devre (iki temsil)

Solda metin çizim; sağda blok düzeyinde özeti — düşük seviye transpile burada hedef değildir.

terminal

draw(text) · beş kübit

                     ░                           
q_0: ──■────■────────░───■─────────■─────────────
     ┌─┴─┐  │  ┌───┐ ░   │         │             
q_1: ┤ X ├──┼──┤ X ├─░───┼────■────┼─────────────
     └───┘┌─┴─┐└───┘ ░   │    │    │             
q_2: ─────┤ X ├──────░───┼────┼────┼────■────────
          └───┘      ░ ┌─┴─┐┌─┴─┐  │    │  ┌─┐   
q_3: ────────────────░─┤ X ├┤ X ├──┼────┼──┤M├───
                     ░ └───┘└───┘┌─┴─┐┌─┴─┐└╥┘┌─┐
q_4: ────────────────░───────────┤ X ├┤ X ├─╫─┤M├
                     ░           └───┘└───┘ ║ └╥┘
c: 2/═══════════════════════════════════════╩══╩═
                                            0  1 

■ · kodlama X · örnek hata sendrom · ölçüm

svg

Özet şema · kod + sendrom

d₀ d₁ d₂ a₀ a₁ Kodlama CNOT × 2 Örnek X Sendrom ölçümü ancilla · CNOT c₀ c₁

kırmızı · veri yeşil kesik · sendrom

Canlı devre paneli bu sayfada yok. Aşağıdaki terminal ve SVG (veya özet şema) tam referans görselidir; tarayıcıda simülatör veya örnek histogram çalışmaz. Canlı devre, moment turu ve örnek sayım şu an şu sayfalarda: Bell · Qiskit, GHZ · Qiskit, Bell · Cirq, QRNG · Qiskit, Süper yoğun kodlama, BB84, Teleportasyon, Bernstein–Vazirani ve Grover.
Not Terminal çizimi §5 kodundaki barrier ve kapı sırasıyla bire bir örtüşmelidir; yerel Qiskit sürümünde satır kırılımı biraz farklı görünebilir.

Demo ve doğrulama

Geniş çerçeve §7 sağ panel ile aynı blok düzenini kullanır; gradient kimliği bf-wide-g.

Üç kübit bit-flip · kod + sendrom özeti Bölüm 7 ile uyumlu geniş şema
d₀ d₁ d₂ a₀ a₁ Kodlama Örnek X Sendrom ölçümü klasik sendrom

Reçete

Aşağıdaki adımlar küçük bir laboratuvar oyunu gibidir: her turda yalnızca bir şeyi değiştirip çıktıyı gözlemlemeniz istenir. Böylece sendromun gerçekten “tanı kodu” gibi davrandığını elle hissedersiniz; beklenen sayılar 3 · Sendrom ve düzeltme tablosu ile aynı çizgide olmalıdır.

  1. Önce tertemiz bir kod kelimesi. Örnek dosyada bilerek eklenmiş hata satırını geçici olarak kapatın: qc.x(1) satırının başına # koyarak yorum yapın ve kodu yeniden çalıştırın. Beklenen tablo üç kübit hâlâ |000⟩ kod uzayındadır; iki yardımcıdan gelen sendrom 00 olmalı ve konsoldaki düzeltme önerisi “—” veya boş mantığında kalır — çünkü işlenecek tek bir çevrilmiş kübit yoktur.

  2. Hatanın yerini tek tek deneyin. Yorumu geri alıp varsayılan qc.x(1) ile ortadaki kübitin çevrildiğini doğruladıktan sonra her çalıştırmada yalnızca bir kübiti hedefleyin: önce qc.x(0), sonra (ayrı bir koşuda) qc.x(2). Her iki durumda da tek fiziksel X olduğundan §3 tablosuyla örtüşen sendromlar görmelisiniz — sırasıyla 11 (ilk kübit şüpheli) ve 10 (üçüncü kübit şüpheli). Yazdırılan “Önerilen düzeltme” satırının hangi qubit indeksini işaret ettiğini okuyarak tabloyla elle kontrol edin.

  3. Kodu bilerek taşırmak. İki farklı kübit üzerinde iki ayrı X (örneğin hem qc.x(0) hem qc.x(1)) bırakmayı deneyin. Bu rejimde tek hataya göre kurulmuş sendrom tablosu artık güvenilir bir harita olmayabilir: farklı çift hatalar aynı klasik etikete düşebilir veya yanlış düzeltme önerisi üretebilir. Bu tam da §1’deki uyarıdır — küçük kodlar güçlüdür ama sınırları vardır; üretim düzeyinde daha zengin kodlar ve tekrar ölçüm gerekir.

Doğrulama

Referans koşu (öğretim çıktısını sabitlemek için): qc.x(1) açık kalsın, shots=1 ve seed_simulator=42 ile çalıştırın — sendrom 01, konsolda düzeltme önerisi X(q_1) biçiminde görünür; bu, ortadaki fiziksel kübitte çevrimiş tek bir hatayı işaret eder.

  • sendrom 00 → kod kelimesi uyumlu, düzeltme yok
  • 11 / 01 / 10 → tek X için tek bir “suçlu” kübit
  • ölçüm sonrası otomatik kapı uygulama: bu örneğin kapsamı dışı

Pratik notlar

Okuma keyfi için son söz: bu kod çocuklar için bir bisiklet kulaklığı gibidir — gerçek yarışı kazanmak için daha hızlı ve dayanıklı ekipman gerekir ama dengede durmayı öğretir.

Tekrar kodunun mesafesi üçtür; tek X düzeltilir. Faz çevirme (Z) kanalları bu yapıyla görünmez; Birleştirilmiş kodlar iki türü birden ele alır. Gerçek işlemciler ölçüm sonrası klasik mantıkla düzeltme uygular; burada düzeltme yalnızca yazdırılır.

Site genelinde diğer konular farklı “oyun alanlarıdır”: örneğin QRNG ölçüm çıktısı üretirken burada ölçüm tanı içindir — karıştırmamanız için çapraz bağlantı bilinçli seçilmiştir. Genel QEC çerçevesi ve Aer gürültü modeli özeti için Kuantum hata düzeltme · Qiskit sayfasına bakın; burası ise üç kübitlik bit çevirme kodunun tam örneğidir.