İki çalıştırma ne zaman aynı deneydir?
Bir Bell devresini çalıştırıp 00 için 263 sayım gördüğünüzü, bir meslektaşınızın da aynı devreyle 249 sayım aldığını düşünün. Bu farkın bir anlamı olup olmadığı üç soruya bağlıdır: tohum değeri aynı mıydı, örnek sayısı aynı mıydı, yazılım ve ayarlar aynı mıydı?
Bu yazı, tohum değerinin neyi kontrol edip neyi etmediğini ayırıyor, olağan örnekleme değişkenliği için bir ölçek veriyor ve bir sonucun sonradan incelenebilmesi için nelerin kaydedilmesi gerektiğini sıralıyor.
Devreyi çalıştırın
Bell durumu yazısındaki programı Deneme Alanı (Playground) içine yapıştırın:
module blog_bell;
@seed(23);
fn main() {
let q = qreg[2];
sample 512 {
H(q[0]);
CNOT(q[0], q[1]);
let c0 = measure(q[0]);
let c1 = measure(q[1]);
}
return q;
}İki şeye dikkat edin: histogramdaki 00 ve 11 sayımları ile ölçüm öncesi olasılık görünümü.
Olasılık ile sayım farklı büyüklüklerdir
H ve CNOT, ( |00> + |11> ) / sqrt(2) durumunu hazırlar. İdeal modelde durum vektörü 00 ve 11 sonuçlarına 0,5, 01 ve 10 sonuçlarına 0 olasılık verir. Bu değerler kapılardan çıkar; tohum değerine ya da örnek sayısına bağlı değildir.
Histogram ise bu dağılımdan çekilmiş 512 örnekten oluşan sonlu bir örneklemdir. Burada yalnızca 00 ve 11 ortaya çıkabildiği için 00 sayımı 11 sayımını da belirler. Bu nedenle 00 sayımını n = 512 ve p = 0,5 olan binom dağılımlı bir değişken olarak ele alabiliriz.
@seed ek açıklaması, yerel simülatörün bu örnekleri çekerken kullandığı sözde rastgele diziyi sabitler. Sabit bir program ve uyumlu bir çalışma zamanı için aynı tohum değeri aynı örneklemi yeniden üretir. Fiziksel bir cihazın rastgeleliğini tanımlamaz. Gürültü Laboratuvarı sayfasında belirtildiği gibi, tohum değeri karşılaştırmaları tekrarlanabilir kılar ama istatistiksel belirsizliği ortadan kaldırmaz. Daha doğru bir örneklem üretmez, yalnızca aynı örneklemi tekrarlar.
Ne kadar değişkenlik olağandır?
Binom dağılımlı bir sayımın standart sapması σ = √(n·p·(1−p)) olarak hesaplanır. n = 512 ve p = 0,5 için σ = √128 ≈ 11,3 sayımdır; ortalama 256'dır. Çalıştırmaların yaklaşık %95'i 2σ aralığında kalır: 234 ile 278 sayım arası, yani örneklerin %45,70'i ile %54,30'u. Bu aralığın kesin binom olasılığı %95,3'tür.
n = 4096 için σ = √1024 = 32 sayımdır; ortalama 2048'dir. Mutlak yayılım büyür, ancak örnek sayısına oranla %2,2'den %0,78'e düşer. 2σ aralığı 1984 ile 2112 sayım, yani %48,4 ile %51,6'dır. Örnek sayısını sekiz katına çıkarmak göreli yayılımı √8 ≈ 2,8 kat daraltır.
İki çalıştırmayı karşılaştırmak
- Aynı tohum değeri ve aynı girdiler: sayımların birebir aynı olmasını bekleyin. Fark varsa bir girdi değişmiştir. Sonucu yorumlamadan önce onu bulun.
- Farklı tohum değerleri: aradaki farkı örnekleme ölçeğiyle karşılaştırın. Bağımsız iki 00 sayımı arasındaki farkın standart sapması 512 örnekte σ = √2 × 11,3 = 16 sayımdır, yani yaklaşık 3,1 yüzde puanı. 4096 örnekte ise yaklaşık 45 sayımdır (1,1 puan). Bir iki birimlik fark olağandır.
- Bu gürültüsüz programda 01 ya da 10 sonucunun ideal olasılığı sıfırdır. Bu sonuçlarda görülen her sayım şansla açıklanamaz; program değişmiş ya da bir gürültü modeli etkinleşmiştir.
- Komut satırı çıktılarını karşılaştırırken dosyaların tamamını değil, sayımları karşılaştırın. CLI başvurusu,
nm runçıktısını bayt düzeyinde kararlı değil, çalışma süresi bilgisi içeren çıktı olarak sınıflandırır.
Tahmin edip değiştirin
- Programı değiştirmeden iki kez çalıştırın. Sayımların aynı çıkacağını tahmin edin.
@seed(23)satırını@seed(24)yapın. Sayımların değişeceğini, olasılık görünümünün aynı kalacağını ve 00 sayımının büyük olasılıkla 234 ile 278 arasında olacağını tahmin edin.- Tohum değerini 23'e geri alın ve
sample 512ifadesinisample 4096yapın. Her sonucun 2048 ± 64 civarında, oranların kabaca %48,4 ile %51,6 arasında olacağını ve olasılıkların değişmeyeceğini tahmin edin.
Her değişiklikten önce tahmininizi yazın.
Neleri kaydetmeli?
- Ek açıklamalar dahil kaynak kodun tamamı.
- N/M sürümü. Dil sürümü 0.2.0'dır; VS Code eklentisinin ayrı bir sürümü vardır. Kurulu eklenti sürümünü ayrıca kaydedin ve yayımlanan sürümler için sürüm notlarını kontrol edin. Yerel, yayımlanmamış bir paket herkese açık yayın değildir.
- Gerçekten kullanılan simülatör, arka uç ve hedef profil. Deney Stüdyosu, hazır devreleri için etkin motoru ve varsa yedek motora geçişi kaydeder; Deneme Alanı çalıştırmaları için bunu kendiniz not edin.
- Tohum değeri ve örnek sayısı.
- Gürültü modeli ve olasılığı ya da "gürültüsüz" ibaresi.
- Okuduğunuz görünümdeki bit sırası kuralı. Deneme Alanı
q[0]'ı en sağdaki rakam olarak gösterir; 00 ve 11 için sıra önemsizdir, 01 ve 10 için önemlidir. - N/M 0.2 yazısında önerildiği gibi ilgili özellik ayarları.
nm workspace snapshot, deterministik ve salt okunur bir paket oluşturur. Belgelerdeki örnek; kaynak özetini, çalıştırma parmak izini, dil ve paket sürümlerini, motoru ve tohum değerini kaydeder. Bu FNV-1a parmak izleri imza değil, yeniden üretilebilirlik tanımlayıcısıdır. Örnek sayısı ve bit sırası o örnekteki alanlar arasında yer almadığı için bunları kendi notlarınızda kaydedin.
Sınırlar
- Belgeler, bir tohum değerinin farklı N/M sürümlerinde ya da motorlarında aynı sayımları vereceğini vaat etmez. Sürüm ya da motor değiştiyse çalıştırmayı yeni bir deney sayın ve istatistiksel olarak karşılaştırın.
- Tohum değeri donanım rastgeleliğini kontrol etmez. Bir donanım deneyinde cihaz gürültüsü ve kalibrasyon kayması da devreye girer. Buradaki her şey gürültüsüz yerel simülasyondur.
- 2σ aralığı pratik bir kuraldır. Histogram dengeli görünene kadar tohum değeri denemek, tohum kullanmanın yararını ortadan kaldırır.
- Eşleşen histogramlar dolanıklığı kanıtlamaz; ayrıntı için Bell durumu yazısına bakın.
Sonraki adımlar ve kaynaklar
- N/M ile Bell durumu oluşturmak: burada kullanılan devre.
- N/M 0.2.0: mevcut yetenekler ve kullanım sınırları: sürüm ve yetenek sınırları.
- Sürüm notları ve çalışma alanı anlık görüntüleri: sürüm kayıtları ve yeniden üretilebilirlik bilgileri.
- NIST/SEMATECH e-Handbook: Binom dağılımı: np ortalaması ve √(np(1−p)) standart sapması.
Bu yazıdaki sayımlar ve aralıklar ideal bir yerel simülasyonu anlatır; donanım sonucu ya da performans iddiası değildir.