1. Ana sayfa
  2. İçerik planı
  3. Gürültü simülasyonu · Qiskit
Qiskit · simülasyon ve Aer

Gürültü simülasyonu — Aer ile kanalın çalışma zamanı modeli

Gerçek donanımda her kapı ve ölçüm, ünite olmayan küçük sapmalar taşır; Aer’deki gürültü simülasyonu, bu sapmaları yürütme sırasında enjekte eden bir NoiseModel katmanıdır. Yoğunluk matrisi simülasyonu karışık durumları taşır; burada ise hangi kapılara hangi CPTP hatanın bağlandığı ve histogramın nasıl kaydığı anlatılır. Genel Aer sözleşmesi Aer simülatörü sayfasında, kanal matematiği Kraus ve CPTP ile dekoherens ve gürültü başlıklarında derinleşir — bu sayfa Qiskit–Aer pratiğine odaklanır.

  • Nesne: NoiseModel · kapı / okuma hataları
  • Yürütme: run(..., noise_model=...)
  • Hedef: gerçekçi shot dağılımı · kalibrasyon köprüsü

Ne modellenir, ne modellenmez

İdeal simülatörde her adım tam ünite veya projektif ölçümdür; gürültülü simülasyonda ise seçilen kapılar için stokastik bir CPTP eşlemesi çalışır ve ölçüm bitleri ek bir klasik kanaldan geçebilir. Bu, “devre aynı, ama ortam farklı” düşüncesinin makine dilindeki karşılığıdır: aynı QuantumCircuit metni, farklı hata haritasıyla tekrar tekrar koşturulduğunda histogram yayılmaya başlar.

Sınır çizgisi

Aer gürültü modeli, kuantum kontrol katmanının tam zaman çözümünü veya 1/f gibi renkli spektrumları otomatik vermez; çoğu zaman lokal, Markov benzeri kapı hataları ve basitleştirilmiş okuma modelleriyle yetinirsiniz. Donanımın tamamını taklit etmek, transpile, darbe ve bağlantı topolojisi ile birleşen ayrı bir mühendislik hattıdır — burada yalnızca Qiskit’in sunduğu soyutlama katmanı ve onu fizik sayfalarına nasıl bağlayacağınız işlenir.

Kapsam uyarısı Sonuçlar “cihazın kendisi” değil, sizin seçtiğiniz hata parametreleriyle üretilen sentetik bir kanaldır; rakamları gerçek backend raporlarından aktarmadan ölçüm belirsizliğini unutmayın.

NoiseModel mimarisi

NoiseModel, soyut devredeki talimat adlarını (veya belirli kübit alt kümelerini) gerçek Aer yürütmesinde kullanılan hata nesnelerine eşler. Tek kapıya tek kanal, iki kübitlik kapıya iki kübitlik kanal gibi kurallar okunabilir; “tüm kübitlere aynı tek kübit hatası” gibi toplu kısayollar da vardır. Tasarım sorusu şudur: hata nerede ve hangi temel kümesinde tanımlanır? Çünkü transpile sonrası gördüğünüz kapı listesi, yazdığınız yüksek seviye devreden farklılaşabilir; modeli transpile çıktısına göre kurmak sık görülen bir pratik hata kaynağını azaltır.

Yerellik ve ölçek

Çoğu öğretim modeli hatayı lokal tutar; uzun menzil dolanıklık için yalnızca lokal depolarize kanallar yetmeyebilir. Bu durumda ya daha zengin kanal ailesi seçilir ya da kübit sayısı düşürülerek phenomenoloji sınırlanır. Aer burada hesaplama motorudur; “hangi kanal gerçekten gerekli?” sorusunun cevabı deney ve kalibrasyon verisine dayanır.

Kapı hataları, okuma ve gevşeme köprüsü

Depolarize, Pauli ve benzeri hazır fabrikalar, Kraus temsilinin kapalı formudur; okuma hatası ise klasik bitleri çevreleyen bir matrisle modellenir. Gevşeme zamanları T1 ve T2 ile ilişkili kanallar için T1 ve T2 sayfalarına dönün; burada yalnızca Aer’e bu kanalların parametre olarak nasıl aktarıldığı ve yoğunluk yürütmesiyle birleştiğinde neden tutarlı histogramlar ürettiği üzerinde duruyoruz.

Kanallar ve CPTP

Her eklenen kuantum hata nesnesi CPTP olmalıdır; aksi halde fiziksel olmayan ρ üretimi riski doğar. Matematiksel çerçeve için Kraus ve CPTP sayfası yeter; Aer tarafında doğru fabrikayı seçmek çoğu zaman bu şartı otomatik sağlar.

Kalibrasyon ve sayıların anlamı

Backend’lerden okunan hata oranları, belirli bir tarih ve gate seti için anlamlıdır; aynı sayıları ay sonra aynen yapıştırmak, cihazın gerçek davranışını garanti etmez. Simülasyonda amaç genelde eğilim görmektir: derinlik arttıkça başarı nasıl düşüyor, hangi kapı ailesi histogramı daha çok yayıyor, okuma hatası mı kapı hatası mı baskın? Bu sorulara yanıt, algoritma tasarımını yönlendirmek için yeterli olabilir; kesin donanım eşlemesi için ölçüm protokolünüz site dışında tamamlanmalıdır.

Transpile uyumu

Kalibrasyon tablosu bir temelde tanımlıdır; devreniz başka bir temelde transpile edildiyse, modeldeki kapı adları eşleşmeyebilir. Bu uyumsuzluk sessizce “hatasız” yürütmeye kayabilir — kontrol listesinde transpile çıktısı ile NoiseModel anahtarlarını karşılaştırmak yer alır.

Yoğunluk yolu ile ilişki

Gürültülü yürütme, çoğu zaman yoğunluk matrisi üzerinde CPTP adımlarının bileşimi olarak düşünülür; bu yüzden yoğunluk matrisi simülasyonu sayfası ile doğrudan köprüdür. Statevector yolu saf durumda kalırken, kanallar karışıklık üretir; Aer hangi iç temsilde saydığını seçerken siz yine de aynı olasılık yasalarını histogramda okursunuz. İki yöntemi küçük bir devrede karşılaştırmak, modelinizi doğrulamanın hızlı bir yoludur.

Bellek maliyeti

Gürültü eklemek yoğunluk yolunu zaten ağır olan bellek maliyetini artırmaz sayılmaz; büyük n için önce küçük prototip, sonra donanım veya hibrit strateji düşünülür.

Shot istatistiği ve tekrarlanabilirlik

Gürültü modeli, Born olasılıklarını değiştirdiği için aynı shot sayısıyla bile farklı histogramlar görürsünüz; tohum (seed) ayarı, regresyon testleri ve ders notları için faydalıdır; gerçek cihazda böyle deterministik bir tohum yoktur. Bu ayrımı net tutmak, “simülatörde çalıştı, donanımda neden dağıldı?” sorusunun cevabını kısaltır.

QASM ve Aer

Metin biçimi ve shot mantığı QASM simülasyonu sayfasında; burada ek olarak kanalın histograma etkisi vurgulanır.

Hata azaltma sınırı

Gürültü simülasyonu, hataları üretir; zayıflatmaz. Gerçek veya simüle veriden gürültüyü geri almak isteyen yollar hata azaltma fikirleri başlığında özetlenir. Aer modeli, o tekniklerin eğitim verisi veya karşılaştırma tabanı olarak kullanılabilir; ikisini aynı kutuda karıştırmamak gerekir.

Doğruluk beklentisi

Zengin bir model bile, eksik iki kübit kapı etkileşimi veya zaman bağımlı drift yüzünden tam örtüşme vermez; bu normaldir ve raporlamada açıkça belirtilmelidir.

Klasik kanal sezgisi: kısa not

Claude Shannon’ın gürültülü kanal teoremi, “kanalı modelle, sonra kod ve çözücü tasarla” düşüncesini klasik dünyada standart hale getirdi. Kuantum simülasyonunda benzer sezgi geçerli: önce CPTP hatayı tanımlarsınız, sonra algoritmanın bu kanal altında ne kadar dayanıklı olduğunu ölçersiniz. Tabii kuantum durumunda kanal kapasitesi ve hata düzeltme klasikteki kadar basit değildir; fakat “model ve veri ayrımı” zihniyeti, Aer NoiseModel kullanırken de işinize yarar.

Bağlamda tutmak

Bu paragraf küçük bir kültürel köprüdür; bilgi kuramının teknik ayrıntıları burada açılmaz. Odak yine kuantum devre ve Aer yürütmesindedir.

Kod laboratuvarı

İlk blok, basit bir depolarize modeli kurar ve iki kübitlik bir devreyi gürültülü koşturur. İkinci blok, tohum ve shot ile tekrarlanabilir bir histogram üretir; sürümünüze göre run imzasındaki anahtar sözcükler değişebilir — hata mesajına göre Aer belgelerini doğrulayın.

aer_noise_model.py Python
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit_aer.noise import NoiseModel, depolarizing_error

p1, p2 = 0.002, 0.02
noise_model = NoiseModel()
noise_model.add_all_qubit_quantum_error(depolarizing_error(p1, 1), ["h", "x"])
noise_model.add_all_qubit_quantum_error(depolarizing_error(p2, 2), ["cx"])

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

backend = AerSimulator()
job = backend.run(qc, noise_model=noise_model, shots=1000, seed_simulator=7)
print(job.result().get_counts())
qiskit-aer Depolarize · transpile kapı kümesiyle eşleştirin UTF-8 · LF
aer_baseline_counts.py Python
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

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

backend = AerSimulator()
job = backend.run(qc, shots=1000, seed_simulator=7)
print("ideal:", job.result().get_counts())
qiskit-aer Aynı tohum · model yok UTF-8 · LF

İleri okuma ve özet

Gürültü simülasyonu, algoritmanızı ideal dünyadan çıkarıp ölçülebilir bir kanal altına sokar; yoğunluk yolu bu kanalı doğrudan temsil ederken, shot histogramı kullanıcıya dönen yüzdür. Doğru kapı kümesi, güncel kalibrasyon ve net beklenti — üçlü olmadan model yine de eğitim aracı olarak değerlidir, fakat iddialarınızı sınırlamalısınız.

Özet NoiseModel, seçilen kapılara CPTP hataları ve gerektiğinde okuma modelleri bağlayarak Aer yürütmesini stokastik hale getirir. Yoğunluk yolu ve kanal sayfalarıyla birlikte düşünüldüğünde, idealden gerçekçi histograma giden zincir tamamlanır.