1. Ana sayfa
  2. İçerik planı
  3. save_probabilities talimatı · Qiskit
Qiskit · simülasyon ve Aer

save_probabilitiesBorn ağırlıklarının hesaplama bazında dökümü

QuantumCircuit.save_probabilities, ölçüm yapılmış bir histogram üretmek yerine, seçilen hesaplama bazında her klasik sonuç etiketine düşen Born olasılığını doğrudan sayısal olarak kaydeder. Bu, “sonsuz shot” limitinde göreceğiniz göreli frekansların model öncesi tablosudur; sonlu shots ile üretilen dağılım ise aynı tablonun gürültülü bir örneklemi olabilir. Tam genlik ve faz bilgisini istiyorsanız save_statevector yoluna dönün; genel snapshot mimarisi ve çoklu kayıt disiplini snapshot sistemleri sayfasında tutulur. Bu sayfa yalnızca olasılık vektörünün ne anlama geldiği, marjinalleştirme, ölçüm ve shot ile ilişkisi ve yorum tuzakları üzerinde genişleyerek durur.

  • Çıktı: gerçel olasılık tablosu · baz bağımlı
  • Fark: histogram değil · faz taşımaz
  • Risk: transpile · shot maliyeti · argüman sürümü

Talimatın rolü ve okuma sözleşmesi

Ölçüm öncesi bir noktada durumu “soru sormak” birçok yolla yapılabilir: tam genliği yazmak, yoğunluğu yazmak veya — burada olduğu gibi — seçilen bazda her klasik etiketin altına düşen olasılığı listelemek. save_probabilities son seçeneği temsil eder; çıktı çoğu zaman gerçel sayılardan oluşan bir vektör ya da sözlük biçiminde gelir ve toplamları birliğe normalize edilmiş Born ağırlıklarını yansıtır. Bu kayıt, deneyde gözlemlediğiniz frekansların tek tek örnekleri değildir; modelin kendisinin size sunduğu “beklenen oranlar tablosu”dur. Bu ayrımı net tutmak, hem hata ayıklamayı hem raporlamayı sadeleştirir.

Neden ayrı bir talimat?

Histogram üretmek için shot çalıştırmak, küçük n ve orta shots için pratiktir; fakat nadir olayları yakalamak veya çok hassas oranları okumak istediğinizde shot sayısını şişirmeniz gerekir. Olasılık tablosunu doğrudan talep etmek, “önce sonsuz shot limitini al, sonra ihtiyaç varsa örnekle” stratejisinin tersine bir yol sunar: önce modelin içindeki kesin ağırlıkları görürsünüz, sonra bunu örnekleme veya hata azaltma hatlarına beslersiniz.

Bu strateji her zaman mümkün değildir: donanım yürütmesinde aynı soyutlama yoktur; ayrıca bazı yöntemlerde olasılık vektörünü üretmek, genliği üretmek kadar pahalı olabilir. Dolayısıyla “daha hafif” sanılan çıktının da üstel maliyetle geldiğini unutmamak gerekir.

Bu sayfanın sınırı

Sonuç nesnesinden etiketlenmiş veriyi çekmenin tam yolu Qiskit sürümüne göre değişir; burada sabit bir import–print reçetesi dayatılmaz. Aşağıdaki kodlar öğretimseldir; üretimde resmi belgeyle eşleştirme yapılmalıdır.

Kapsam uyarısı Bu sayfa save_probabilities talimatına odaklanır; çoklu snapshot disiplini ve etiket haritası için snapshot sistemleri başlığına dönün.

Born tablosu ve hesaplama bazı

Hesaplama bazında, her klasik bit deseni bir projektörün izi ile ilişkilidir; olasılık, durum vektörünün o projektör altındaki kütlesinin karesidir. save_probabilities bu tabloyu tek seferde listeler; böylece “hangi sonuç ne kadar olası?” sorusuna sayısal bir cevap elde edersiniz. Baz değiştiğinde aynı fiziksel durumun farklı tablolar üretmesi doğaldır; bu yüzden raporda kullandığınız bazı açıkça yazılmalıdır.

Normalize toplam

Sağlam bir yürütmede tablo girdilerinin toplamı birim olmalıdır; küçük sapmalar kayan nokta veya transpile yuvarlamasından gelebilir. Regresyon testlerinde toleranslı bir birlik kontrolü, snapshot hatlarını erken yakalamanın ucuz bir yoludur.

Tablo birliğe yakın değilse, önce yöntemi ve ardından devrede gizli ölçüm veya yanlış sıra şüphesini taşımak gerekir; çünkü ölçüm uygulandıktan sonra tam genlik tablosu anlamsızlaşabilir.

Ölçümle ilişki

Tablo, ölçüm öncesi modelin öngördüğü dağılımdır; ölçüm ise o dağılımdan örnek çeker. Ölçüm mantığı sayfasındaki talimat sırası ve klasik kayıt düşüncesi burada da geçerlidir: tabloyu ölçümden sonra kaydetmeye çalışmak çoğu zaman kavramsal hatadır.

Marjinal dağılım ve argümanlar

Tüm kübitler yerine bir alt küme üzerinde olasılık görmek istediğinizde, marjinal dağılım gerekir. Qiskit sürümünüze bağlı olarak save_probabilities çağrısına ek argümanlarla hangi kübitlerin tabloya dahil edileceğini seçebilirsiniz; bu seçim yapılmadığında, çoğu zaman tam çok kübitlik ortak dağılım üretilir. Marjinal ve birleşik tabloların boyutları farklıdır; birini diğerinin kısaltılmışı sanmak, analizde sessiz hatalara yol açar.

Etiket sırası

Tablo anahtarlarının bit sırası, ölçüm histogramıyla aynı sözleşmeyi paylaşmayabilir. İki farklı kod yolunu birleştirirken anahtar biçimini özellikle kontrol edin; aksi halde “aynı devre iki farklı sonuç veriyor” sanrısı oluşur.

Bu uyarı, shot mantığı sayfasında anlatılan histogram anahtarı disipliniyle paraleldir; fakat burada tablo deterministik üretildiği için farkın kaynağı genelde sözleşme uyumsuzluğudur, örneklem gürültüsü değildir.

save_statevector ile karşılaştırma

Tam genlik, fazı da taşır; olasılık tablosu ise faz bilgisini düşürerek yalnızca mutlak değerlerden türetilen bir özüttür. Dolayısıyla iki kayıt birbirinin yerine kullanılamaz: interferometrik algoritmalarda faz kritikken save_statevector zorunludur; yalnızca Born oranlarını raporlamak yeterliyse save_probabilities daha okunaklı bir ara yüz sunabilir. Bellek açısından ikisi de üstel ölçektedir; “karmaşık sayı yok” diye bellek sorununun kaybolduğu sanılmamalıdır.

Çevrimdışı türetim

Genlikten olasılığı kendiniz de üretebilirsiniz; bu, Aer snapshot’ına olan ihtiyacı azaltabilir. Fakat devre transpile edilmiş ve büyükse, aynı türetimi elle tekrarlamanın maliyeti Aer’in iç yolundan daha pahalı olabilir — bu yüzden pratikte snapshot talimatı tercih edilir.

Ayrıntılı talimat semantiği için save_statevector sayfasına dönün; burada yalnızca olasılık–genlik ayrımı işlenir.

Shot histogramı ile karşılaştırma

Histogram, sonlu sayıda bağımsız (veya yaklaşık bağımsız) ölçümün frekans tablosudur; save_probabilities çıktısı ise aynı deneyin model içi beklenen oranlarıdır. İkisi arasındaki farkı “hata” sanmak yanlıştır: biri örneklem, diğeri parametre. Shot sayısını artırdıkça histogram beklenen tabloya yaklaşır; fakat nadir olayları yakalamak için gereken shot sayısı büyüdükçe, doğrudan tabloyu almak cazip hale gelir.

Ne zaman ikisini birlikte tutmalı?

Regresyon veya eğitim senaryolarında, aynı devre için hem tabloyu hem sınırlı shot histogramını üretmek faydalıdır: tablo “hedef”, histogram “gürültülü gözlem” gibi düşünülebilir. Bu ikili, hata azaltma ve kalibrasyon literatüründeki “beklenen vs ölçülen” ayrımının laboratuvar versiyonudur.

Shot tarafındaki tohum ve tekrarlanabilirlik konuşması shot mantığı sayfasında derinleşir; burada yalnızca tablonun shot’tan bağımsız bir referans olduğu vurgulanır.

Shot, tohum ve transpile birlikte

Snapshot talimatları içeren bir devrede shot büyütüldüğünde, simülatör her shot için olasılık tablosunu yeniden hesaplayabilir; bu, “tablo deterministik, neden süre shot ile büyüyor?” sorusunun cevabıdır. Üretimde gereksiz tekrarları azaltmak için ya tabloyu gerektiği kadar sık üretin ya da sonuçları önbelleğe alın — mimari seçim size aittir.

Transpile tuzakları

Transpile, görünürde zararsız yerel optimizasyonlarla snapshot noktasını kaydırabilir. Özellikle ölçüm ve klasik kontrol karışık devrelerde, “tablo neden beklediğim kapıdan önce?” şikâyetinin kökü çoğu zaman transpile sırasıdır. Bu yüzden snapshot’lı hatları optimize ederken eşdeğerlik kontrolü zorunlu bir adımdır.

Aynı uyarı save_statevector sayfasında da geçerlidir; olasılık ve genlik farklı kanallar olsa da sıra meselesi ortaktır.

Yöntem, gürültü ve yoğunluk köprüsü

Olasılık tablosunu üretmek için iç temsilde tam genlik veya yoğunluk yürütülmesi gerekebilir; hangi Aer yönteminin bu yolu desteklediği sürüm notlarında belirtilir. Aer simülatörü sayfasındaki yöntem seçimi burada ön koşuldur. Gürültü modeli etkinse, tablo ideal Born tablosundan sapar; bu sapmanın kendisi değerlidir çünkü kanalın histograma etkisini özetler. Gürültü simülasyonu ile birlikte okumak doğal bir tamamlayıcıdır.

Yoğunluk temsilinde okuma

Karışık durumlarda olasılıklar yoğunluk üzerinden okunur; bu çizgi yoğunluk matrisi simülasyonu sayfasındaki anlatımla birleşir. Burada eklenen mesaj şudur: aynı talimat adı, iç temsil farklı olsa da klasik tablo üretme hedefi benzer olabilir; fakat sayıların anlamı artık “saf dalga” özelinde değildir.

Olasılık yorumu: kısa kültürel not

Klasik istatistikte Pierre-Simon Laplace gibi düşünürler, belirsizliği simetri ve önsel dağılımlarla modelleme geleneğini güçlendirdi; “olasılık” kelimesi laboratuvar frekansı kadar zihinsel bir çerçeveye de bağlanır. Kuantumda Born ağırlıkları aynı kelimeyi paylaşsa da postülat düzeyinde tanımlıdır: save_probabilities çıktısı, bu postülatın seçilen bazdaki sayısal yansımasıdır ve sonlu shot histogramıyla karıştırılmamalıdır. Bu paragraf felsefe dersi vermez; yalnızca iki farklı “olasılık” sözcüğünün aynı grafikte yan yana geldiğinde doğuran kavramsal karışıklığı önler.

Bağlamda tutmak

Uygulama odağı yine Aer talimatı ve sonuç ağacıdır; yorum notu okuma çerçevesini genişletir, yeni bir API eklemez.

Kod laboratuvarı

İlk blok, dolanık öncesi olasılık tablosunu kaydeder ve ardından ölçüm ekler. İkinci blok, aynı devre için shot histogramı üretir; tabloyu ekrana dökmek yerine tam sonuç nesnesini yazdırır — sürümünüzde etiket çözümünü belgelerden tamamlayın.

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

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.save_probabilities(label="born_table")
qc.measure_all()

result = AerSimulator(method="statevector").run(qc, shots=400, seed_simulator=3).result()
print(result)
qiskit-aer Önce tablo · sonra ölçüm · API yolu sürüme duyarlı UTF-8 · LF
histogram_compare.py Python
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()

result = AerSimulator(method="statevector").run(qc, shots=400, seed_simulator=3).result()
print(result.get_counts())
qiskit-aer Yalnızca histogram · üstteki blokla aynı tohum UTF-8 · LF

İleri okuma ve özet

save_probabilities, Born ağırlıklarını ölçüm öncesi noktada sayısallaştırır; histogramın model içi referansıdır. Marjinalleştirme, baz seçimi, shot maliyeti ve transpile sırası birlikte ele alınmadan tabloyu yorumlamak risklidir. Tam genlik veya mimari çerçeve için ilgili sayfalara dönün.

Özet save_probabilities deterministik Born tablosu üretir; shot histogramı aynı tablonun sonlu örneklemi olabilir. save_statevector faz taşır; yoğunluk ve gürültü yolları tablonun anlamını değiştirir. Transpile ve anahtar sözleşmesi her zaman doğrulanmalıdır.