1. Ana sayfa
  2. İçerik planı
  3. Dinamik devreler · Qiskit
Qiskit · devre modeli

Dinamik devreler — ölçüm sonrası zaman ve yürütücünün taahhüdü

Birçok ders, kuantum programını tek parça ünite evrim gibi anlatır: baştan sona kapılar, en sonda ölçüm. Dinamik devrelerde ise ölçüm ve klasik sonuç işleme, devrenin ortasında yer alır; kuantum adımları birden fazla “tur” halinde ilerler. Bu, yalnızca çizimde ek satır demek değildir — yürütücünün taşıması gereken geri besleme ve zamanlama sözleşmesi değişir. Ölçüm mantığı ölçümün ne ürettiğini; klasik kontrol ise koşullu kapı yüzeyini anlatır. Bu sayfa, ikisinin birleştiği yerde yürüyen çok aşamalı yürütüm modelini ve donanım–simülatör ayrımını merkeze alır.

  • Çok tur: ölçüm → klasik → kuantum
  • Yetenek: statik transpile ile aynı değil
  • Risk: gecikme, gürültü, dal çeşitliliği

Dinamik Devre Nedir; Statikten Nasıl Ayrılır?

Statik bakışta devre, kapıların birleşiminden oluşan bir ünite operatör (veya ölçümle genişletilmiş bir nesne) olarak düşünülür; sıra önemlidir ama “ara ölçümlerden sonra ne olacağı” yürütücünün anlık kararı değildir — ya hiç yoktur ya da idealize edilir. Dinamik bakışta ise, ölçümün ürettiği klasik bilgi, aynı deneyin içinde sonraki kuantum adımlarını seçer; bu seçim tekrarlanabilir protokollerde farklı dallara yol açar.

Kısa cümle: dinamik devre, “tek ünite çarpımı” ile “ölçtüm, bekledim, devam ettim” arasındaki mesafeyi doldurur.

Bu ayrım pedagojik olarak net görünse de, araç zincirinde bulanıklaşır: aynı QuantumCircuit metni hem statik hem dinamik yürütücüde kabul edilebilir; fakat anlam ve destek aynı olmayabilir. Bu yüzden “çalıştı” kelimesini ikiye ayırmak gerekir: API kabul etti ve hedef sistem taahhüt etti.

Terim çantası

Ekosistemde “orta devre ölçümü”, “klasik geri besleme”, “çok tur program” ve “dinamik devre” ifadeleri üst üste biner; kök fikir aynıdır: kuantum–klasik etkileşimli çok adımlı yürütüm. Burada telifsiz ve genel bir çerçeve kullanıyoruz; satıcıya özgü ürün adlarını değil, taşınabilir kavramları öne çıkarıyoruz.

Çakışmayı önleme Koşullu kapı söz dizimi ve c_if ayrıntıları klasik kontrol sayfasında; Born olasılığı ve ölçüm eşlemesi ölçüm mantığı sayfasında. Burada odak, yürütüm zaman çizelgesi ve yetenek matrisi.

Zaman Turları: Olay Sırası ve “Tek Çizim” İllüzyonu

Çoğu görselleştirici, devreyi yatay bir şerit gibi çizer; bu şerit okunabilirlik sağlar. Dinamik senaryoda ise zihinsel modeli tur tur ilerletmek daha az hata üretir: bir turda kuantum evrim, ardından seçilen ölçümler, klasik işlem ve belki koşullu veya koşulsuz devam. Çizim hâlâ tek şerit olabilir; fakat .data listesini okurken “hangi ölçüm satırından sonra hangi kuantum blok geliyor?” sorusunu tur sınırlarıyla işaretlemek faydalıdır.

Güzel çizim, zamanı unutturabilir; kötü protokol, çizimi affettirmez.

QuantumCircuit yapısı sayfasında anlatıldığı gibi talimat kuyruğu doğrusaldır; dinamik devrelerde bu doğrusallık, yürütücünün klasik ara katmanıyla birleşince dallanmış bir ağaç haline gelir — özellikle shot bazlı deneylerde.

Bariyer ve sıra

Bariyer, kuantum talimatlarının yeniden sıralanmasını kısıtlar; dinamik akışta “ölçüm öncesi” ile “ölçüm sonrası” blokların birbirine karışmaması için sık kullanılır. Ayrıntılar bariyer ve akış kontrolü sayfasında.

Backend ve Oturum: Hangi Taahhüt Yazılıdır?

Donanım veya bulut yürütücüsü, dinamik özellikleri destek matrisi ile duyurur: orta devre ölçüm, belirli koşullu kapılar, reset, hatta belirli blok yapıları. Bu matris sürüm ve cihaz ailesiyle değişir; bu yüzden “aynı kod her yerde” varsayımı dinamik dünyada hızla kırılır. Oturum katmanı, derleme (transpile) ve çalıştırma seçenekleriyle bu desteği hizalar veya reddeder.

Taahhüt okunmadan yazılan dinamik devre, en iyi ihtimalle simülatörde kalır.

Pratik disiplin: hedefi seç → desteklenen özellik kümesini doğrula → minimal örnekle uçtan uca dene → sonra protokolü büyüt. Tersine, önce devreyi yazıp sonra “çalıştı mı?” demek, geçiş hatalarında zaman kaybettirir (devre optimizasyon mantığı ile birlikte düşünün).

Kayıt ve yönlendirme

Klasik geri besleme, hangi bite bakıldığına bağlıdır; çok kayıtlı düzenlerde modül sınırları belirsizleşir. Kayıt sistemleri sayfasındaki adlandırma disiplini, dinamik devrelerde hata maliyetini düşürür.

Simülatör Ailesi: Nerede Model Kırılır?

Simülatörler “hepsi kuantumu doğru yapar” demez. Durum vektörü temelli yaklaşımlar, ölçüm sonrası dal açıklığı ile başa çıkmanın yolunu seçer: ya dal seçilir, ya da olasılıksal özet tutulur. Shot tabanlı yürütüm ise, her shot için farklı klasik yol izlenebilir — bu, dinamik devrenin doğal düşünce biçimidir. Dolayısıyla aynı devre metni, farklı simülatörde farklı hesaplama ağacı maliyeti taşır.

Kısa not: “tek dal” varsayımı, çok shot analizinde yanıltıcıdır.

Eğitim ortamında ideal simülatör, üretimde gürültülü cihazdan daha kolaydır; fakat ideal simülatör, gecikme ve sıralama kısıtlarını gizleyebilir. Bu yüzden dinamik protokol geliştirirken en az bir kez, hedefe yakın bir yürütücüde “kaba” test yapılması önerilir.

Okuma ipucu Talimat listesini incelerken modern Qiskit sürümlerinde işlem adına inst.operation.name üzerinden bakmak yaygındır; dinamik akışta satır etiketleri çizimden daha güvenilirdir.

Geçiş, Yerleştirme ve Bariyerle Etkileşim

Geçiş yöneticisi, devreyi hedef kapı kümesine çevirirken klasik kontrol ve ölçüm çevresini koruyabilir veya dönüştürebilir. Dinamik akışta “yeniden yazma güvenliği” konusu daha hassastır: ölçüm öncesi ünite optimizasyonu ile ölçüm sonrası blokların karışması istenmez. Bu yüzden transpile çıktısını yalnızca kapı sayısıyla değil, ölçüm sınırı ile okumak gerekir.

Transpile güzeldir; ölçüm çizgisini kaydırırsa protokol bozulur.

Modüler tasarımda alt devreler birleştirilirken ölçüm ve klasik koşulların sırası değişebilir (birleştirme ve ters devre). Dinamik senaryoda birleştirme öncesi küçük birim testler, entegrasyon sürprizlerini erken keser.

Orta Devre Ölçüm, Sıfırlama ve Durum Hazırlığı

Orta devre ölçümü, qubitleri projeksiyona uğratır; devam eden kuantum adımları bu projeksiyonun sonucuna bağlıdır. Reset (veya eşdeğer hazırlık), qubitleri yeni bir hesaplama turuna “temiz” başlatmak için kullanılır; aktif reset protokollerinde ölçüm– klasik karar–yeniden hazırlık zinciri tipiktir. Bu üçlü, dinamik devrenin günlük dilidir.

Ölçüm sonrası “ne oldu?” sorusu kuantum; “ne yapayım?” sorusu klasik veya koşullu kuantumdur.

Sıfırlama her zaman “dinamik” kelimesiyle anılmaz; fakat yürütüm zaman çizelgesinde ölçüm ile aynı ligdedir: ideal ünite çarpımının dışına çıkar. Bu yüzden hedef backend’in reset politikasını ve hata etkisini ayrı satırda değerlendirin.

Protokol İzleri: Teleport, Tekrarlı Deneme, Hata Yönetimi

Birçok protokol, Bell ölçümü sonrası düzeltme kapısı, tekrarlı deneme döngüsü veya sündürme (syndrome) ölçümü sonrası adaptif adım gibi dinamik iskelet taşır. Burada cebirsel tüm adımları vermiyoruz; yalnızca ortak deseni işaretliyoruz: ölç → karar ver → kuantumu güncelle → gerekirse tekrarla. Bu desen, “tek ünite” anlatısını bilinçli olarak yırtar.

Protokol kartları güzeldir; yürütücü desteği yoksa kartlar duvarda asılı kalır.

Hata yönetimi tarafında, çok tur ölçüm ve klasik işleme yükü, gürültü ile birleşince sistem mühendisliği problemi haline gelir — yalnızca devre çizerliği yetmez. Bu yüzden dinamik devreleri “saf kuantum algoritması”ndan ayıran çizgi, çoğu zaman operasyon mühendisliği çizgisidir.

Shot, Dal ve İstatistik: Aynı Metin, Farklı Ağaç

Çok shot çalıştırmada her shot, klasik geri beslemenin seçtiği yolu izleyebilir; bu, toplu istatistiklerin yorumunu değiştirir. Beklenen değer hesaplarında “dal içi” ve “dal arası” varyansı ayırmak gerekir. Aksi halde güven aralığı, yanlış varsayılan bağımsızlıkla şişer veya sıkışır.

İstatistik cümlesi kurarken önce dal yapısını çizin; sonra formülü yazın.

Bu bölüm, ölçüm olasılığını yeniden türetmez; yalnızca çoklu yürütüm ağacı düşüncesini hatırlatır. Olasılık detayları yine ölçüm mantığı bağlamında okunmalıdır.

Gecikme ve Gürültü: Dinamik Maliyetin Gizli Kalemi

Klasik geri besleme, sıfır sürede olmaz: ölçüm toplama, sinyal işleme, koşul değerlendirme ve yeni kuantum darbelerinin planlanması zaman alır. Simülatör bu gecikmeyi sıfırlayabilir; donanım sıfırlamaz. Bu yüzden aynı mantık doğru olsa bile, zamanlama hatası farklı sonuç üretebilir — özellikle sıkı senkron gerektiren protokollerde.

Gürültü zaten vardı; dinamik akış onu “zaman penceresi” ile çarpar.

Tasarım önerisi: kritik yolu kısaltın; gereksiz orta devre ölçümü eklemeyin; koşullu blokları mümkün olduğunca seyrek tutun. Her ek ölçüm, hem kuantum projeksiyonu hem klasik yan maliyet getirir.

Pratik kural Önce mantığı shot sayısı düşük simülatörde doğrulayın; sonra hedef backend’de dinamik destek ve zamanlama notlarını okuyun; en son istatistik planını kilitleyin.

Kod Laboratuvarı

İlk örnek, orta devre ölçüm ve ardından sıfırlama ile yeni bir hazırlık turunu gösterir — yürütüm zaman çizelgesi açısından dinamiktir. İkinci örnek, ölçüm sonrası koşullu faz düzeltmesi için c_if kullanır; imza sürümünüze göre uyarlayın (klasik kontrol).

mid_measure_reset.py Python
from qiskit import QuantumCircuit

qc = QuantumCircuit(1, 1)
qc.h(0)
qc.measure(0, 0)
qc.reset(0)
qc.h(0)

print(qc)
qiskit Ölçüm → reset → devam UTF-8 · LF
mid_measure_feedforward.py Python
from qiskit import QuantumCircuit

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

# Ölçülen qubit 1 ise, diğer qubit üzerinde koşullu faz (minimal geri besleme örneği; sürümünüze göre c_if doğrulayın).
qc.z(0).c_if(qc.cregs[0], 1)

print(qc)
qiskit Geri besleme · c_if UTF-8 · LF

İleri Okuma ve Özet

Dinamik devre, devre metninin ötesine geçen bir yürütüm sözleşmesi meselesidir: orta devre ölçüm, klasik işlem ve devam eden kuantum adımları aynı deneyin içinde kenetlenir. API kabulü ile donanım desteği aynı değildir; simülatör ile cihazın zaman modeli aynı değildir; shot istatistiği tek dal varsayımıyla okunmamalıdır.

Özet Dinamik devreler çok tur yürütüm içerir; statik ünite sezgisini bilinçli genişletin. Yetenek matrisini hedefe göre doğrulayın; transpile çıktısını ölçüm sınırıyla okuyun; shot ağacını istatistikte hesaba katın; gecikme ve gürültüyü operasyon maliyeti olarak görün.