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.
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.
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.
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.
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).
from qiskit import QuantumCircuit
qc = QuantumCircuit(1, 1)
qc.h(0)
qc.measure(0, 0)
qc.reset(0)
qc.h(0)
print(qc)
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)
İ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.
- Klasik kontrol — koşullu kapı ve kayıt düzeni.
- Ölçüm mantığı — ölçüm–klasik yazım ve olasılık.
- Bariyer ve akış — sıra ve geçiş güvenliği.
- Kapılar ve ünite mantığı — ölçüm/reset ile ünite resminin ayrışması.