Shot Tabanlı Simülasyon
Kuantum devrelerini anlamak için simülatörleri iki biçimde kullanırız: durumu kesin biçimde takip eden statevector yöntemi ve gerçek cihazı taklit edip devreyi tekrar tekrar çalıştıran shot tabanlı simülasyon. Bu derste bir shot'ın ne olduğunu, olasılıkların nasıl frekanslara dönüştüğünü ve kaç tekrarın ne kadar isabet sağladığını 1/√N kuralıyla hesaplayacağız. Serinin tamamı için Kuantum Hesaplama dersleri sayfasına bakabilirsin; devreleri henüz yazmadıysan Kuantum Devresi Yazımı dersi hazırlıktır.
Shot Nedir? Tek Bir Denemenin Anatomisi
Bir shot, devrenin baştan sona bir kez çalıştırılması demektir: kübitler |0⟩ durumuna hazırlanır, kapılar sırayla uygulanır ve en sonda tek bir ölçüm yapılır; ölçüm klasik bir bit dizisi düşürür, örneğin 01. Kural şudur: n kübitlik durum |ψ⟩ = Σₓ αₓ|x⟩ biçiminde, Σₓ|αₓ|² = 1 koşulunu sağlayacak biçimde yazılıyorsa, Born kuralına göre bir shot'ta x sonucunu görme olasılığı P(x) = |αₓ|²'dir. Hangi sonucun çıkacağını kimse önceden bilemez; kuantum mekaniği olasılıkları verir, seçimi her shotte bir kez yapılır.
Shot tabanlı simülasyon bu rastgeleliği tekrarlar: devreyi N kez çalıştırır, her seferinde tek bir sonuç toplar ve sonuçları sayar. N = 1000 için 00: 497, 01: 0, 10: 0, 11: 503 biçiminde bir sayım (counts) tablosu elde edersin. Tablodaki göreli frekanslar fₓ = kₓ/N, N büyüdükçe teorik P(x) değerine yaklaşır; bu, büyük sayılar yasasının doğrudan sonucudur.
Statevector Simülasyonu ile Farkı
Statevector simülasyonu deterministiktir: nihai durumu ve tüm ölçüm olasılıklarını tam olarak hesaplar; örneklemeye dayalı hata hiç yoktur. Shot tabanlı simülasyon ise bu olasılıklardan rastgele örnekler çeker; tek bir çalıştırmada frekanslar teorik değerden sapar. Gerçek kuantum bilgisayar zaten bu yüzden shot tabanlıdır: ölçüm durumu çökerttiği için her denemede devre sıfırdan kurulur. Shot modunu kullanmak, Gerçek Kuantum Donanımında Çalıştırma aşamasından önce verinin nasıl görüneceğini tatmaktır.
İki modu karşılaştıralım:
- Çıktı: statevector tam olasılık listesi verir; shot modu sayım tablosu verir.
- Hassasiyet: statevector örneklemesizdir; shot modundaki hata yalnızca N büyüyerek √N hızında küçülür.
- Maliyet: her shot ölçüme kadar tam bir koşudur; toplam süre shot sayısıyla orantılı büyür.
- Kullanım: analitik doğrulamada statevector; gerçek çıktıyı ve istatistiksel dalgalanmayı görmek istediğinde shot modu.
İkisi rakip değil, tamamlayıcı araçtır: doğruyu statevectorle kontrol eder, gerçekçi veriyi shotla üretirsin; simülatör ailelerinin genel haritası Kuantum Simülatörleri dersinde çizilmişti.
Küçük Bir Örnek: Bell Durumunu Sekiz Kez Ölçmek
İşi elle yapalım: q0'a H kapısı uygula, ardından q0 kontrol, q1 hedef olacak biçimde CNOT uygula. Sonuç, |Φ⁺⟩ = (|00⟩ + |11⟩)/√2 dolanık durumdur; Kuantum Teleportasyon dersinde gördüğümüz türden bir Bell durumudur. Born kuralı yalnızca iki sonucu olası kılar: P(00) = |1/√2|² = 1/2 ve P(11) = 1/2; |01⟩ ve |10⟩ olasılıkları tam olarak 0'dır.
8 shotluk bir çalıştırma şöyle akar:
- Shotlar tek tek sonuç düşürür; olası bir dizi: 00, 11, 11, 00, 11, 00, 11, 00.
- Sayımları toparla: 00 → 3, 11 → 5, ötekiler 0.
- Frekansları yaz: f(00) = 3/8 = 0,375 ve f(11) = 5/8 = 0,625.
- Teoriyle karşılaştır: gerçek değer 0,5, sapma 0,125; ama 8 shot için standart sapma σ = √(0,25/8) ≈ 0,18'dir, sapma olağandır.
Tabloda iki ince nokta var. Birincisi: hiçbir shot 01 ya da 10 vermez; ölçüm sonuçları bağımsız iki bit değil, dolanık bir çifttir. İkincisi: aynı devre 8000 shotla 00: 4012, 11: 3988 verebilir; frekanslar 0,5015 ve 0,4985'e oturur. Sayım tablolarını grafikle okumayı Ölçüm Histogramları dersi gösterir.
Kaç Shot Yeterli? 1/√N Kuralı
p olasılıklı bir sonucu N shotla tahmin ettiğinde standart hata σ = √(p(1 − p)/N) formülüyle verilir; en kötü durum p = 1/2'de bu değer σ = 1/(2√N) olur. Sayılarla: N = 100 için σ = 0,05; N = 1024 için σ ≈ 0,016; N = 10.000 için σ = 0,005. Sonuç çarpıcıdır: hatayı yarıya indirmek için shot sayısını dört katına çıkarmak, on kat iyileşme için yüz kat tekrar gerekir. Hata 1/N ile değil 1/√N ile küçülür; hassasiyet bedava değildir.
Pratik rehber: hızlı doğrulama için 100-200 shot, okunur bir histogram için 1000-4096, sayısal kıyaslama ya da ⟨ψ|O|ψ⟩ türünden beklenen değer tahmini için 10.000 ve üzeri. Güven aralığı ve hata çubuğu eklemeyi Sonuçların İstatistiksel Analizi dersi işliyor. Simülatörlerde seed (tohum) parametresi örnekleme dizisinin başlangıcını sabitler: aynı seed aynı tabloyu verir, farklı seedler bağımsız tekrarları taklit eder.
Sık Yapılan Hatalar ve Yanılgılar
Shot tabanlı çalışmaya yeni başlayanların en çok takıldığı noktalar şunlardır:
- Sapmayı hata sanmak: 8 shotla frekans 0,375 çıktı diye hata vardır demek yanlıştır; sapma σ'nın içindedir. Karar vermeden önce N'i ve σ'yı hesapla.
- Tekrarı ilaç sanmak: Shot artırmak yanlış kurulu bir devreyi kurtarmaz; tekrarlar yalnızca dağılımı daha net gösterir. Milyon shotla bile yanlış cevabı, ama yüksek hassasiyetle, görürsün.
- Shot ile kübiti karıştırmak: Shot tekrar sayısıdır, kübit sayısı değil; 2 kübitlik bir devreyi 10.000 kez koşturmak 20 kübitlik hesaplama yapmaz.
- Kaldığı yerden devam beklemek: Her shot hazırlama, kapılar ve ölçüm zincirini baştan yaşar; ölçüm durumu çökerttiği için devam yoktur.
- Sıfır sayımı imkânsızlık saymak: Küçük N'de olasılığı olan bir sonuç hiç düşmeyebilir; 100 shotta hiç 11 görmemek, P(11)'in kesinlikle 0 olduğunu göstermez.
Özet: statevector doğruyu söyler, shot tabanlı simülasyon gerçekliği taklit eder. Devreyi önce tam olasılıklarla doğrulayıp sonra makul sayıda shotla istatistik üretmek, serinin standart iş akışıdır; bir sonraki adım, sayımları görselleştirip analiz etmektir.
Sık Sorulan Sorular
Shot tabanlı simülasyon nedir?
Bir shot, devrenin hazırlanıp çalıştırılıp ölçüldüğü tek bir denemedir; shot tabanlı simülasyon bu denemeyi binlerce kez tekrarlayıp sonuçları sayar. Sayım tablosundaki frekanslar, Born kuralının verdiği olasılıkların rastgele örneklenmiş hâlidir ve büyük sayılar yasası gereği N büyüdükçe bu olasılıklara yaklaşır.
Statevector simülasyonu ile shot tabanlı simülasyon arasındaki fark nedir?
Statevector simülasyonu tüm ölçüm olasılıklarını örneklemesiz, tam olarak hesaplar. Shot tabanlı simülasyon ise bu olasılıklardan rastgele örnekler çeker: her tekrar tek bir klasik sonuç düşürür ve frekanslar, √(p(1−p)/N) mertebesinde bir hatayla teorik değerden sapar. Birincisi doğrulama için, ikincisi gerçek cihazın davranışını taklit etmek içindir.
Kaç shot kullanmalıyım?
Hızlı doğrulama için 100-200, okunur bir histogram için genellikle 1000-4096, sayısal kıyaslama veya beklenen değer tahmini için 10.000 ve üzeri. Hata √(p(1−p)/N) ile küçüldüğünden hatayı yarıya indirmek dört kat, on kat iyileşme yüz kat shot demektir.
Simülatördeki seed parametresi ne işe yarar?
Örnekleme sözde-rastgele olduğu için seed, rastgelelik dizisinin başlangıcını sabitler: aynı seed aynı sayım tablosunu üretir ve hata ayıklamayı kolaylaştırır. Farklı seedler bağımsız tekrarları taklit eder; ama seed değiştirmek shot artırmanın yerini tutmaz, hatayı yalnızca N büyütür.
Kaynaklar ve İleri Okuma
Qiskit Dokümantasyonu — shots, sampler ve ölçüm sayımı kavramlarının resmî başvuru kaynağı.
IBM Quantum Learning — devre modelini ve ölçüm istatistiğini sıfırdan anlatan ücretsiz ders kitabı.
Born rule (Wikipedia) — ölçüm olasılığının genlik karesi olduğunu söyleyen Born kuralının tanımı.
Law of large numbers (Wikipedia) — frekansların olasılıklara neden yaklaştığını açıklayan büyük sayılar yasası.
Cirq Dokümantasyonu — repetitions parametresiyle tekrarlı ölçüm yapan Google kuantum çerçevesinin belgeleri.