Bell durumu — maksimum dolanıklık için iki kapılık reçete
İki kübitlik bir sistemde, ölçüm sonuçlarının uzaktan da olsa %100 korelasyonlu olduğu dört durumun nasıl üretildiğini, hangi taban'ı kurduklarını ve klasik korelasyondan neden ayrıldığını adım adım inceliyoruz. Reçete tek Hadamard ve tek CNOT'tan ibaret; ancak bu iki adım kuantum bilişimin en sık kullanılan yapı taşlarını ortaya çıkarır.
Bell Durumları Nedir? (Derinlemesine Analiz)
Bell durumları, iki kübitlik bir sistemde oluşturulabilen maksimum düzeyde dolanık dört farklı kuantum durumunu temsil eder. Burada “maksimum dolanıklık” şu anlama gelir: Bir kübit üzerinde yapılan ölçüm, diğer kübitin durumu hakkında — aradaki mesafe ne olursa olsun — anında %100 kesin bilgi verir.
Maksimum dolanıklık ( Kısa Benzetme ): İki kapalı kutuyu düşünün; tek tek sallandığında içleri belirsiz görünür. Biri açılınca ötekinin içeriği, iki kutunun ortak kuantum tanımına göre anında uyumlu hale gelir. Klasik dünyada bunu çoğu zaman “önceden yazılmış iki fiş” gibi düşünürsünüz; Bell durumunda ise sonuçlar ölçümle oluşur — ama yine de iki tarafın çıktıları birbirini mükemmel biçimde kilitler. “Maksimum” derken kastedilen, işte bu iki-parça sisteminin mümkün olan en sıkı ortak bağidir.
Bu durumlar, iki kübitlik Hilbert uzayıında bir ortonormal baz oluşturur: dört Bell durumu birbirine dik (ortogonal — iç çarpımları sıfır), her birinin “uzunluğu” 1 (normal — olasılık kurallarıyla uyumlu) ve bu dört vektör birlikte dört boyutlu iki kübit uzayını tam olarak döşer; yani herhangi bir iki kübitlik durum, bu dördünün doğrusal kombinasyonu olarak yazılabilir. Klasik fizikte bileşen durumları sıkça çarpım (tensor çarpımı) ile düşünülürken; Bell durumlarında bütün hakkında bilgimiz tamdır, oysa parçalar (tekil kübitler) tek başına ölçüldüğünde belirsizlik maksimum kalır.
Klasik korelasyondan farkı
Sayfanın girişinde değindiğimiz ayrımın özü şudur: klasik bir korelasyon, bilginin önceden “paketlenmiş” olduğu bir düzendir; Bell dolanıklığı ise ölçüm anına kadar tek tek kübitler için kesin bir renk / değer önceden tanımlı değildir.
Dört Temel Bell Durumu
Matematiksel olarak bu durumlar şeklinde gösterilir; alttaki dört durum iki kübitlik uzayda standart, dik ve maksimum dolanık bir bazdır. Formüller göz korkutabilir — her birinin altında “bu bize ne söylüyor?” mealini okuyarak hem gösterimi hem sezgiyi birlikte tutabilirsiniz.
Katsayı Buradaki , durumun normalize olmasını sağlar: olasılıkların toplamı 1 çıkar. Kareleri alındığında olduğundan, ve (veya ilgili baz çiftleri) için ölçüm olasılıkları matematiksel olarak %50–%50 olur.
-
Φ⁺ · simetrik aynı
Meal: Artı işareti, ile terimlerinin aynı fazda toplandığını gösterir — yapıcı girişim. Ölçümde iki kübitin aynı bit değerini verme olasılıkları eşittir; bu iki yol birbirini güçlendirir.
İki kübit her zaman aynı sonucu verir: 00 ya da 11.
-
Φ⁻ · faz işaretli aynı
Meal: Eksi işareti, tek tek ölçüm sonuçlarının dağılımını (yine hep aynı çıkar) değiştirmez; fakat dalının göreli fazını çevirir. Bu fark, kuantum girişim deneylerinde — özellikle faz duyarlı devrelerde — kritik rol oynar.
Sonuçlar yine aynıdır; ancak 11 dalı bir faz farkı taşır.
-
Ψ⁺ · simetrik zıt
İki kübit her zaman zıt sonucu verir: 01 ya da 10.
-
Ψ⁻ · singlet (anti-simetrik)
Sonuçlar zıttır ve durum anti-simetriktir; rotasyon altında değişmez kaldığı için “singlet” olarak da anılır.
Algoritmanın Mantığı: ( Dolanıklık Nasıl Oluşturulur? )
Bir Bell durumu oluşturmak için standart bir “reçete” uygulanır. En yaygın olan |Φ⁺⟩ durumunu üretmek için yalnızca iki temel kapı yeterlidir.
-
Hadamard kapısı H
Fizik · matematik: Hadamard kapısı, ilk kübite tam olarak sıkışmış bir |0⟩ yazdığı yerde “yarı–yarıya” bir karışım üretir: kübit artık klasik anlamda yalnızca 0 ya da yalnızca 1 demektir ama ikisinin eşit ağırlıklı kuantum toplamıdır. Katsayı , ölçüm olasılıklarının toplanınca 1 çıkması için gereken normalize etmendir — genliklerin karesinin ortalamaca %50–%50’yi vermesi bunun doğrudan sonucudur. İkinci kübit henüz |0⟩’dadır; simgenin kısmı “birinci kübit sahnede süperpozisyonda, ikincisi henüz sabit” demektir. Durum böyle yazılır: .
Düz lisan: Bir kutunun içindeki “sıfır” ile “bir” arasında küçük bir denge kurmuşsunuz gibi düşünün; kutunun içeriği henüz “tam sıfır” veya “tam bir” etiketiyle kilitlenmemiştir. Yanındaki ikinci kutu ise şimdilik sakin şekilde sıfırda bekler.
-
Controlled-NOT CNOT
Fizik · matematik: CNOT iki kübitlik bir kapıdır: ilk kübit kontrol, ikinci kübit hedeftir. Klasikte mantık şudur — kontrol 1 ise hedefe NOT uygulanır; kontrol 0 ise hedefe dokunulmaz. Önemli olan şu: kontrol kübiti Hadamard sonrası hem “1 çizgisinden etkilenen” hem “etkilenmeyen” iki dal taşıdığı için, tek bir klasik senaryo yerine iki dal birlikte yaşamaya devam eder: “00” dalı olduğu gibi kalır; “10” dalı hedefi çevirerek “11” olur. Böylece iki kübit artık çarpım durumu (ayrışabilir) olmaktan çıkar; matematiksel sonuç Bell çifti dır — iki kübit birlikte ölçülünce sonuç ya 00 ya da 11 olur (bu kurulumda olasılıklar eşittir); bitler her zaman uyumludur fakat hangi çiftin geleceği önceden bilinmez.
Düz lisan: Kontrol kübiti “henüz tek bir kesin cevap seçmemişken” ikinci kutuya dokunursunuz: ikinci kutu, kontrolün iki olası yolundan birinde çevrilir, diğerinde olduğu gibi kalır. Sonunda iki kutu birbirine sıkı şekilde bağlanmış iki seçenek taşır — tek tek kutulara bakmadan önce ikisi de klasik bir çift etiket gibi kilitlenmiş sayılmaz.
Kapı kapı durum evrimi
Hadamard ile CNOT arasındaki adım, okuyucunun zihninde netleştiğinde “sihir” yerini cebire bırakır. Aşağıda tam durum vektörü her kapıdan sonra nasıl güncelleniyor?
-
Başlangıç
İki kübit de : sistem ile başlar (yani ).
-
Hadamard sonrası ()
Fizik: Önceki adımdaki kesin , ilk kübite karşılık gelen iki olasılığın “aynı anda” kaydedildiği eşit süperpozisyona genişler; ikinci kübit henüz müdahale görmez. Yalnızca ilk kübite uygulanır; ikinci kübit hâlâ :
İlk kübit artık klasik anlamda “0 veya 1” etiketli değildir; ikinci kübit ise henüz dokunulmamıştır.
Düz lisan: Üstteki eşitlik, “sol kübit şimdilik hem 0 hem 1 çizgisinde, sağ kübit ise sabit 0’da” diyerek aynı şeyi rakamlarla yazar; henüz dolanıklık yoktur, iki kübit hâlâ ayrı ayrı düşünülebilir.
-
CNOT sonrası ( kontrol, hedef)
Fizik: Süperpozisyondaki kontrol kübiti tek bir klasik “0 mı 1 mi?” sorusuna henüz kilitlenmemiştir; CNOT bu iki olasılığı paralel işler ve yalnızca kontrolün “1” olduğu dalda hedefi çevirir. Böylece iki kübit ayrı yazılamaz. Kontrol iken hedef çevrilir: terimi olur, olduğu gibi kalır. Sonuç:
Düz lisan: Önceki denklemden ikinci kutunun biri “sol 1 ise çevril”, diğeri “sol 0 ise elleme” kurallarıyla güncellendiğini düşünün; iki kutu artık tek tek kutuların çarpımı gibi değil, birlikte tek bir “ya hep sıfır çifti ya hep bir çifti” taşıyan sistemdir.
Bu iki işlemden sonra kübitler artık bağımsız iki varlık değildir; tek bir sistem olarak davranırlar. Tekil ölçüm istatistikleri rastgele görünse de çift ölçüm her zaman tutarlıdır.
Diğer üç durumu nasıl elde ederiz?
Aynı reçeteye Hadamard'dan önce/sonra X ya da Z eklemek yeterlidir: X hedef kübiti çevirir ve |Ψ⁺⟩'e geçer; Z ilk kübitin fazını çevirir ve |Φ⁻⟩'i verir; ikisi birden uygulandığında |Ψ⁻⟩'e ulaşılır.
Qiskit ile Uygulama
Aşağıdaki örnek tek dosyada Bell durumunu kurar, ölçer ve histogramı yazdırır. Devre H ve CNOT ile dolanıklığı oluşturur; ardından AerSimulator üzerinde 1024 atış çalıştırılır.
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit.visualization import plot_histogram
# 1. Kuantum Devresini Oluşturma
# 2 Kübit ve 2 Klasik bit (ölçüm sonuçları için) içeren devre
qc = QuantumCircuit(2, 2)
# 2. Algoritma Adımları
# Adım 1: İlk kübiti (q0) süperpozisyona sok
qc.h(0)
# Adım 2: q0 kontrolünde q1'e CNOT uygula (Dolanıklık oluşturma)
qc.cx(0, 1)
# 3. Ölçüm
# Kübitlerdeki veriyi klasik bitlere aktar
qc.measure([0, 1], [0, 1])
# 4. Devreyi Çalıştırma
simulator = AerSimulator()
job = simulator.run(qc, shots=1024)
result = job.result()
# 5. Sonuçları Almak
counts = result.get_counts(qc)
print("\nÖlçüm Sonuçları (00 ve 11 beklenir):")
print(counts)
# Devre Şemasını Çizdirme (Opsiyonel)
# print(qc.draw())
Örnek çıktı (beklenen desen)
Histogramda yalnızca 00 ve 11 sonuçlarının baskın gelmesini beklersiniz. Bir denemede örnek bir çıktı şöyle görünebilir:
| Bit dizisi | Yaklaşık oran | Not |
|---|---|---|
| 00 | ~%50 | baskın |
| 11 | ~%50 | baskın |
| 01 | ~%0 | ideal simülatörde yok |
| 10 | ~%0 | ideal simülatörde yok |
Grafik isterseniz plot_histogram(counts) çağrısını kullanabilirsiniz.
Kod Analizi
Importlar QuantumCircuit, devre nesnesini taşıyan ana sınıftır; AerSimulator ise yerel makinemizde gürültüsüz bir kuantum bilgisayarı taklit eder. Histogram çizimi isterseniz plot_histogram kullanabilirsiniz — ama terminalde sayıları görmek için yalnızca counts sözlüğü yeterlidir.
qc = QuantumCircuit(2, 2) Bu satır "iki kübitlik bir kuantum kayıt + iki klasik bitlik bir not defteri" diyor. Kübitler hesaplamayı yapacak; klasik bitler ise ölçüm sonuçlarının düşeceği yer. Ölçmediğiniz sürece klasik bitler boş kalır, devreyi yeniden çalıştırdığınızda sıfırlanır. İndeksleme her zaman 0'dan başlar (q0, q1).
qc.h(0) — Hadamard q0 başlangıçta |0⟩ durumundadır; Hadamard onu (|0⟩ + |1⟩)/√2 süperpozisyonuna sokar. Yani q0 artık "yarı 0, yarı 1" gibi davranır. Ölçseydik 0 ve 1'i ~%50 görürdük; fakat şu anda ölçmüyoruz, sadece kuantum durumunu kuruyoruz. Bu, devrenin "yakıtı"dır.
qc.cx(0, 1) — CNOT Birinci argüman kontrol (q0), ikincisi hedef (q1). Klasik mantıkta "q0 = 1 ise q1'i ters çevir" demektir; ama q0 burada hem 0 hem 1 durumunda olduğu için CNOT iki olasılığı birden bağlar. Sonuç: kübitler artık ayrı ayrı tanımlanamaz, tek bir dolanık sistem oluşur. Tam olarak şu duruma vardık: |Φ⁺⟩ = (|00⟩ + |11⟩)/√2.
qc.measure([0, 1], [0, 1]) Ölçüm kuantum durumunu klasik bir bilgiye dönüştürür ve süperpozisyonu yıkar (collapse). Listenin ilk argümanı hangi kübitin ölçüleceğini, ikincisi sonucun hangi klasik bite yazılacağını söyler. Ölçümü kasıtlı olarak en sona koyduk: önce dolanıklığı kurup sonra okumak gerekiyor, tersi olsa istatistik çıkmaz.
simulator.run(qc, shots=1024) shots aynı devreyi kaç kez çalıştırıp ölçeceğimizdir; kuantum sonuçları olasılıksal olduğundan bir tek atışın anlamı yoktur, histogram çıkarmamız gerekir. 1024 makul bir başlangıç: hem hızlı, hem de ~%3 hassasiyetle olasılıkları görmeye yeter. Donanımda parayı/zamanı arttıracaksanız önce burayı büyütmek gelir.
result.get_counts(qc) Bize {"00": ~512, "11": ~512} gibi bir sözlük döndürür. Anahtar, klasik bitlerin Qiskit konvansiyonuna göre tersten okunmuş halidir (en sağdaki bit c0); ama Bell devresi simetrik olduğu için bu detayı bu örnekte fark etmezsiniz. 01 veya 10 görüyorsanız ya devre sırası bozulmuştur ya da donanım gürültülüdür.
Çalıştırma için tek bir Python ortamında qiskit ve qiskit-aer paketlerinin kurulu olması yeterlidir; kurulumun tek bakışta özeti ana sayfadaki IDE ve çalıştırma bölümündedir. Gerçek donanımda denemek isterseniz AerSimulator() satırını QiskitRuntimeService().backend("ibm_brisbane") gibi bir IBM cihazıyla değiştirmek; geri kalan akış aynıdır.
Aynı Devre (İki Temsil)
Qiskit devreyi terminale yazdırırken kapıları soldan sağa katmanlar halinde gösterir; klasik ölçüm sonuçları için c hattı ayrıca çizilir. Aşağıdaki SVG şema aynı akışı üç kolona böler; gözünüzü metinden çizime kaydırırken H → CNOT → ölçüm sırasını iki dilde tarıyorsunuz.
print(qc) çıktısı
┌───┐ ┌─┐
q_0: ┤ H ├──■──┤M├───
└───┘┌─┴─┐└╥┘┌─┐
q_1: ─────┤ X ├─╫─┤M├
└───┘ ║ └╥┘
c: 2/═══════════╩══╩═
0 1
Moment 0 · H Moment 1 · CNOT Moment 2 · ölçüm
Premium devre çizimi
renk · kapı tipi çizgi · kontrol-hedef
Aşağıdaki blok, statik terminal ve SVG ile aynı devreyi doğrulanmış JSON üzerinden çizer; histogram örnek bir 1024 shot sayımıdır (tarayıcıda simülatör çalışmaz).
circuit-viz · H → CNOT → ölçüm
Üstteki premium SVG moment çizgilerini korur; bu panel ortak motordur. Moment düğmeleri kolon vurgusu (prototip).
Örnek sayım · |00⟩ ve |11⟩
Yalnızca |00⟩ ve |11⟩; |01⟩, |10⟩ yok (dolanıklık).
Bu canlı devre. İki kübitlik Bell çekirdeği: H → CNOT → ölçüm — üstteki terminal ve premium SVG ile aynı kapı sırası.
Üst panelle ilişki. Statik çift tam referans görselidir; canlı panel aynı devreyi circuit-viz motoruyla JSON’dan çizer (tarayıcıda simülatör çalışmaz).
Histogram. Örnek 1024 shot sayımıdır; yalnızca 00 ve 11 (dolanıklık göstergesi).
Devre ve Doğrulama
Bu şema, 5 · Aynı Devre (İki Temsil) bölümündeki H → CNOT → ölçüm çekirdeğini korur; burada klasik kayıt hatları da çizildiği için doğrudan koddaki measure bağlantısıyla hizalanır.
Şema |Φ⁺⟩ üretir: . Kod çıktısında 00 ve 11 yaklaşık %50–%50 görünür ve gürültüsüz bir simülatörde 01 ile 10 sıfıra yakın kalır — böylece devre ve kod birbirini doğrular.
- 00 ≈ %50
- 11 ≈ %50
- 01 / 10 → 0 (ideal sim.)
Şemayı adım adım oku
-
1
Başlangıç: ikisi de 0
Devreye girdiğimiz an, iki kübit de |0⟩ durumunda. Yani ekranın diliyle: “henüz hiçbir şey hazırlanmadı”.
-
2
Hadamard: ilk kübiti iki ihtimale böl
H kapısı q0’ı “0” ve “1” ihtimaline aynı anda hazırlar. Burada önemli nokta şu: daha ölçmüyoruz; sadece sistemi iki olasılığı birlikte taşıyacak hale getiriyoruz.
-
3
CNOT: ikinci kübiti birincisine kilitle
CNOT “q0 = 1 ise q1’i çevir” kuralını uygular. q0 iki ihtimali birlikte taşıdığı için, q1 de bu iki ihtimale bağlanır. İşte dolanıklık burada doğar: artık q0 ve q1’i tek tek değil, bir çift gibi düşünürsünüz.
-
4
Ölçüm: tek tek rastgele, birlikte tutarlı
Ölçümde tek bir kübit “yazı/tura” gibi görünebilir; ama iki kübiti birlikte okuyunca sonuçlar eşleşir: çoğunlukla 00 veya 11. Yani “hangi değer gelirse gelsin, ikisi aynı”.
-
Beklenen sonuç
Yeterli atışta histogram yalnızca 00 ve 11 sonuçlarını ~%50 ile gösterir; gürültüsüz bir simülatörde diğer iki sonuç sıfırdır.
-
Pratik not
Donanımda dekoherens nedeniyle 01 ve 10 küçük oranlarda görünebilir; bu fark “dolanıklık tanığı” olarak kalibrasyon kalitesini ölçer.
-
Alternatif bazlar
İki kübiti ölçmeden önce her birine bir Hadamard daha uygulamak, ölçümü X tabanı'na çevirir; korelasyon yine korunur, bu CHSH testinde kullanılan farklı tabanların temelidir.
-
İletişim mi?
Dolanıklık tek başına bilgi taşımaz; klasik bir kanal olmadan mesaj iletilemez. Bu yüzden teleportasyon ve süper yoğun kodlama protokolleri Bell çiftine ek olarak klasik bitleri de gerektirir.