Shot mantığı — Born olasılıklarından histograma örnekleme
Ölçüm içeren bir devre çalıştırıldığında, çoğu arka uç aynı devreyi shot kez tekrarlar; her tekrarda ölçüm sonucu Born kuralına göre örneklenir ve sonuçlar bir sözlükte toplanır. Bu sayfa, olasılık vektörü ile sayım tablosu arasındaki köprüyü kurar; metin biçimi ve Aer çağrı sözleşmesi QASM simülasyonu ile Aer simülatörü sayfalarında kalır. Ölçüm talimatının mantığı ölçüm mantığı başlığında; gürültü ile birlikte düşünmek için gürültü simülasyonu sayfasına dönün — burada yalnızca shots parametresinin neyi değiştirdiği ve nasıl yorumlanacağı işlenir.
Shot nedir, ne değildir
Bir shot, ölçüm içeren devrenin uçtan uca bir kez yürütülmesi ve klasik sonuçların kaydedilmesidir; shots=N ise bu sürecin bağımsız tekrarıdır. Böylece elinizde tek bir “rastgele sonuç” değil, tekrarların frekans tablosu oluşur. Shot, dalga fonksiyonunu “daha çok keskinleştirmez”; olasılık dağılımı aynı kalır, yalnızca o dağılımdan çekilen örnek sayısı artar.
Bu sayfanın sınırı
Transpile, oturum API’si veya donanım kuyruğu burada açılmaz. Odak, sayıların nasıl üretildiği ve nasıl okunacağıdır; boru hattının geri kalanı ilgili kütüphane sayfalarına bırakılır.
Born olasılığı ve ölçüm satırı
Her shot’ta, devre ölçüm bazına indirgenmiş durumdan bir sonuç çekilir; olasılıklar Born kuralıyla belirlenir. Çok kübitlik ölçümde sonuçlar genelde klasik bit dizgisi olarak birleştirilir; hangi sıranın hangi kayıta yazıldığı, histogram anahtarlarının biçimini etkiler. Bu ayrıntı, ölçüm mantığı sayfasında tutulur — burada yalnızca “shot, bu olasılıkların frekans tahminidir” cümlesiyle yetiniyoruz.
Tek shot bile anlamlıdır
Bazı senaryolarda shots=1 yeterlidir (örneğin tek örnek üreten bir deney); fakat istatistiksel karar için çoğu zaman daha büyük N gerekir. Seçim, sorunuzun “olasılık mı, tek örnek mü?” sorusuna bağlıdır.
Histogram ve bit dizgisi anahtarı
get_counts() çıktısı, gözlenen klasik sonuçları anahtar–değer çiftleriyle döndürür; anahtarlar çoğu zaman en anlamlı bitten en az anlamlı bite doğru birleştirilmiş bir dizedir. Farklı sürümlerde veya yardımcı işlevlerle bu düzen değişebileceği için, iki farklı kod yolunu karşılaştırırken anahtar biçimini özellikle kontrol etmek gerekir.
Marjinal dağılımlar
Yalnızca bir alt kümenin ölçüm dağılımını merak ediyorsanız, ya devreyi marjinalize edecek şekilde yeniden yazarsınız ya da tam histogramdan türetirsiniz; ikinci yol, küçük kübit sayılarında pratik, büyükte maliyetlidir.
Shot sayısı: maliyet ve belirsizlik
Yaklaşık olarak, iki sonuçlu bir olayın göreli frekansının standart hatası O(1/√N) ölçeğindedir; bu yüzden hata çubuğunu yarıya indirmek için dört kat daha fazla shot gerekir. Simülatörde süre genelde shot ile doğrusal ilişkilidir; donanımda ise kuyruk ve kalibrasyon faktörleri devreye girer. Shot planlaması, “kaç basamak güven?” sorusunun sayısal cevabıdır.
Çok sonuçlu ölçümler
Birden fazla olası sonuç olduğunda örneklem çok terimli dağılıma uyar; nadir sonuçları yakalamak için N büyütmeniz gerekir. Bu, algoritma tasarımında “hangi olasılık aralığını ayırt etmek istiyorum?” sorusunu öne çıkarır.
Tohum ve simülatör determinizmi
Aer gibi simülatörlerde seed_simulator (veya sürüme göre eşdeğer parametre), aynı model ve aynı devre için tekrarlanabilir histogramlar üretmeyi kolaylaştırır; birim testleri ve ders notları için değerlidir. Gerçek cihazda böyle bir garanti yoktur — tohum, “fiziksel rastgelelik yerine kontrollü sentetik deney” katmanıdır ve yorumlarken etiketini düşürmek gerekir.
Gürültü + tohum
Gürültü modeli açıkken bile tohum, simülatör içi rastgeleliği sabitler; bu, modelinizi regresyon testine bağlamanın yoludur. Gürültü simülasyonu sayfasındaki örneklerle birlikte okunması doğal bir tamamlayıcıdır.
Arka uç türleriyle farklar
Statevector yolu ölçümden önce tam genlik taşır; ölçüm histogramı üretmek istiyorsanız yine shot kavramı devreye girer. Tam sayım vektörü ile histogram arasındaki farkı net tutmak, “neden shots hâlâ var?” sorusunun cevabıdır: biri dalga fonksiyonunun kendisi, diğeri ölçüm sonrası klasik istatistik özetidir.
Yoğunluk yolu
Yoğunluk matrisi ile önce olasılıkları kesin aritmetikle okuyup sonra shot üretmek mümkündür; bu, model doğrulama ve hata ayıklama için kullanışlı bir çift yönlü kontrol sağlar.
Gürültü ile birlikte düşünmek
Kanal modeli Born olasılıklarını değiştirdiğinde, aynı N ile elde ettiğiniz histogram da kayar; shot sayısını artırmak, kanalın kendisini “düzeltmez”, yalnızca o kanal altındaki dağılımı daha iyi tahmin etmenizi sağlar. Bu ayrım, hata azaltma ve kalibrasyon tartışmalarında sık yapılan bir karışıklığı önler.
İki kaynaklı dalgalanma
Gerçek dünyada hem sonlu shot hem cihaz drift’i vardır; simülasyonda ikincisini modellemez, ilkinizi kontrol edersiniz. Raporlama yaparken hangi belirsizlik kaynağının dahil edildiğini yazmak, okuyucuya saygıdır.
Örnekleme düşüncesi: kısa tarihsel not
20. yüzyılın başlarında istatistikçiler — örneğin Karl Pearson ve Ronald A. Fisher — tekrarlı deneylerden frekans tabloları çıkararak dağılım hipotezlerini test etme geleneğini güçlendirdi. Kuantum shot mantığı birebir aynı matematik değildir; fakat “aynı kurulumu çok kez koştur, sonuçları topla” pratiği, o geleneğin laboratuvar ve hesaplama dillerindeki yankısıdır. Bu paragraf küçük bir kültürel çerçevedir; teknik detay yine olasılık ve ölçüm sayfalarında kalır.
Bağlamda tutmak
Fisher’ın ismi burada maksimum olabilirlik dersi vermek için değil, yalnızca “shot sayısı neden istatistiksel bir karar?” sorusuna tarihsel bir dokunuş için anılır.
Kod laboratuvarı
İlk blok, Bell benzeri kısa bir devreyi iki farklı shot sayısıyla koşturur; aynı tohum sayesinde yalnızca N etkisini görürsünüz. İkinci blok, ideal simülatörde tekrarlanabilir bir taban çizgisi verir; sürümünüze göre run imzası değişebilir.
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
backend = AerSimulator()
for shots in (200, 8000):
job = backend.run(qc, shots=shots, seed_simulator=42)
print(shots, job.result().get_counts())
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
qc = QuantumCircuit(1, 1)
qc.h(0)
qc.measure(0, 0)
job = AerSimulator().run(qc, shots=1, seed_simulator=0)
print(job.result().get_counts())
İleri okuma ve özet
Shot, kuantum olasılığını klasik sayımlara çeviren en basit arayüzdür; doğru yorum için ölçüm sırası, arka uç türü ve gürültü modelinin birlikte düşünülmesi gerekir. Bir sonraki adım genelde ya daha zengin bir hata modeli ya da hata azaltma teknikleridir — ikisi de bu sayfanın kapsamı dışındadır.
- QASM simülasyonu — metin ve shot boru hattı.
- Ölçüm mantığı — talimat ve histogram kökü.
- Gürültü simülasyonu — olasılıkların kayması.