1. Ana sayfa
  2. İçerik planı
  3. Devre optimizasyon mantığı · Qiskit
Qiskit · devre modeli

Devre optimizasyon mantığı — denklik koruyarak maliyeti düşürmek ve bunun bedeli

Optimizasyon, kuantum devreyi “daha kısa” veya “daha ucuz” göstermek için denk dönüşümler uygulamaktır: ölçüm öncesi ünite kısmında bu, çoğu zaman aynı ünite operatörü anlamına gelir; ölçüm ve klasik kontrol girdiğinde ise taşınabilirlik ve sıra kuralları daralır. Geçiş (transpile) sürecinin kalbi burada atar; fakat teknik detaylar sürümle değiştiği için burada mantıksal iskelet ve doğrulama disiplini öne çıkar. Devre ayrıştırması hangi yerel kapı diline indirgeneceğini; kapılar ve ünite mantığı ise dönüşümün cebirsel anlamını kurar. Bu sayfa, maliyet ölçütleri, iptal–komütasyon ve dinamik akışla çarpışmayı anlatır.

  • Denklik: üniteyi koru, maliyeti indir
  • Ölçüt: derinlik, iki-kübit, kapı sayımı
  • Sınır: klasik derleme süresi ve sezgisellik

Denklik, Hedef Fonksiyonu ve “Daha İyi” Tanımı

Optimizasyonun matematiksel özü, izin verilen dönüşümler kümesi içinde devreyi hareket ettirmektir. Ölçüm öncesi saf ünite kısımda izin verilen dönüşümler çoğu zaman ünite denkliği ile sınırlıdır: toplam ünite aynı kalır, fakat kapı dizilimi değişir. “Daha iyi” ise hedefe göre tanımlanır: daha az iki-kübit kapı, daha kısa kritik yol, daha az toplam kapı veya donanıma özgü ağırlıklı bir skor.

Kısa cümle: denklik şartsız; “daha iyi” hedefe bağlıdır.

Aynı üniteyi daha derin bir devreyle de yazabilirsiniz; bu, optimizasyon açısından genelde kötüdür. Tersine, daha kısa görünen bir devre üniteyi bozuyorsa, o kısaltma optimizasyon değil hatadır. Bu yüzden üretim boru hatlarında otomatik doğrulama küçük devreler için bile şarttır.

Ölçüm sınırı

Ölçüm ve klasik kontrol devreye girdiğinde, “ünite denkliği” tek başına yeterli dil olmaktan çıkar; bloklar arası taşınabilirlik ve sıra kuralları öne çıkar. Bu etkileşim ölçüm mantığı ve klasik kontrol sayfalarında ayrı işlenir; burada yalnızca optimizasyon penceresinin daralması hatırlatılır.

Çakışmayı önleme Yerel kapı kümesine indirgeme ve sentez ayrıntıları devre ayrıştırması sayfasında. Üst veri ve iz süreçleri devre üst verisi sayfasında.

Geçiş ve Optimizasyon: Aynı Boru Hattında Neler Olur?

Pratikte “transpile” dendiğinde çoğu kullanıcı tek düğmeye basar; arka planda ise çok aşamalı bir boru hattı çalışır: ayrıştırma, yerleştirme, birleştirme (fusion), iptal kuralları, yönlendirme ve hedefe özgü düzeltmeler iç içe geçer. Bu sayfada her aşamanın iç kodunu listelemek yerine, neden bir arada olduklarını anlatıyoruz: hedef donanımın konuştuğu dil ile kaynak devrenin dili aynı değildir; aradaki boşluk hem doğruluk hem maliyet ile doldurulur.

Transpile bir sihir değildir; hedef ve kısıtlar verilmeden “en iyi” anlamsızdır.

Optimizasyon seviyesi veya eşdeğeri seçenekler yükseldikçe, klasik tarafın harcadığı süre artar; kazanç azalan getiri gösterebilir. Bu yüzden üretimde tek bir optimization_level ile yaşamak yerine, devre ailesine göre profil seçmek sık görülür.

Tekrarlanabilirlik

Birçok sezgisel adım rastgele veya bağlama duyarlıdır. Aynı girdi bazen farklı çıktı üretebilir; bu, hata değil tasarım tercihi olabilir. Tekrarlanabilir deneyler için tohum (seed) ve sabit sürüm zinciri disiplinine ihtiyaç duyulur.

İptal ve Komütasyon: Yerel Kuralların Gücü ve Sınırı

En sezgisel optimizasyon ailesi iptaldir: ardışık ters kapılar birbirini götürür, özdeş kapılar birleşebilir. Bir adım ötesi komütasyondur: iki blok birbirinin üzerinde etkisizse sıra değiştirilebilir; bu, uzak kapıları yan yana getirip birleştirmeyi veya iptali mümkün kılar. Gücü yerellikten gelir: uzak etkileşim görmeden yapılan komütasyon iddiası risklidir.

Komütasyon cömertçe uygulanırsa, denklik sessizce bozulur.

Bariyer ve akış kontrolü, geçişin hangi yeniden sıralamaları yasakladığınızı işaretlemenize yarar; özellikle optimizasyonla mücadele eden protokollerde bariyer anlamı “yavaşlatma”dan çok “sınır çizme”ye kayar.

Maliyet Ölçütleri: Derinlik, İki Kübit ve Ağırlıklı Toplamlar

Donanımda genellikle en pahalı parça iki-kübit etkileşimdir; bu yüzden maliyet fonksiyonlarında iki-kübit sayısı veya ağırlıklı bir skor öne çıkar. Derinlik (kritik yol) ise paralel yürütüm ve gecikme açısından ayrı bir eksendir. İyi haber: bu ölçütler raporlanabilir; kötü haber: birini minimize ederken diğeri kötüleşebilir — çok amaçlı bir gerilimdir.

Tek sayıya indirgenmiş “skor” gösterişlidir; karar verirken vektör düşünün.

Kapı sayımı (count_ops benzeri) hızlı bir özet sunar; fakat eşdeğer anlamlı farklı yerleştirmeler aynı sayımı verebilir. Bu yüzden üretimde yalnızca sayıya değil, topolojik uygunluk ve hata modeli ile uyumlu ikincil kontrollere ihtiyaç vardır — ikincil kontroller bu sayfanın derinliğini aşar; yine de maliyetin tek boyutlu olmadığı unutulmamalıdır.

Yerleştirme ve Topoloji: Optimizasyonun İkiz Kardeşi

Çoğu gerçek cihazda her kübit çifti doğrudan etkileşmez; iki-kübit kapılar izin verilen kenarlara yerleştirilmek zorundadır. Bu işlem, optimizasyondan ayrı düşünülemez: kötü yerleştirme, ardı gelen birleştirme ve iptal fırsatlarını yok eder. Bu yüzden “optimizasyon bitti” demeden önce hedef grafiğe uygunluk sorulmalıdır.

Ünite doğru olsa bile, yanlış kenarda duran kapı yürütülemez.

Bu sayfa yerleştirme algoritmalarının katalogunu vermez; yalnızca maliyet düşürmenin topolojiyle kenetlendiğini vurgular. Birleştirilmiş modüllerin haritası birleştirme ve ters devre disipliniyle okunmalıdır.

Dinamik Ölçüm ve Klasik Kontrol: Yeniden Sıralama Penceresi Neden Daralır?

Orta devre ölçüm ve klasik geri besleme, devreyi “tek ünite çarpımı” okumasının dışına iter. Geçiş yöneticisi hâlâ yerel iptalleri ve bazı dönüşümleri uygulayabilir; fakat ölçüm çizgisi etrafında yeniden sıralama özgürlüğü daralır. Yanlış varsayım: “dinamik devrede optimizasyon yoktur”. Doğru yaklaşım: “dinamik bölümlerde optimizasyon daha dikkatli sözleşmeye tabidir”.

Ölçüm satırı, sessiz bir sınır tahtası gibidir.

Ayrıntılı yürütüm zaman çizelgesi dinamik devreler sayfasında; koşullu kapı yüzeyi klasik kontrol sayfasında anlatılır. Burada vurgu, optimizasyonun bu sınırlara saygı duyması gerektiğidir.

Yaklaşık ve Koruyucu Geçişler: Aynı Kelime, Farklı Sözleşme

Bazı geçiş aşamaları, belirli bir hata payı içinde üniteyi yaklaşık değiştirir; bazıları ise üniteyi (ölçüm öncesi blokta) birebir korur. İkisi de “optimizasyon” başlığı altında anlatılabilir; fakat doğrulama ve test stratejisi tamamen farklıdır. Bu yüzden ekip içi dokümantasyonda “koruyucu mu, yaklaşık mı?” etiketi net olmalıdır.

Yaklaşık geçiş, hız kazanır; sözleşme okunmazsa güven kaybedilir.

Bu ayrım, özellikle simülasyon ile donanım arasında köprü kurarken kritiktir: simülatörde kabul edilebilir küçük sapma, hedef algoritmada birikerek büyüyebilir.

Doğrulama ve Regresyon: Küçük Devrelerle Büyük Güvence

Küçük devrelerde ünite eşitliği doğrudan kontrol edilebilir; ölçüm içeren senaryolarda ise beklenen dağılım veya fonksiyonel testler kullanılır. Geçiş çıktısı için alt–üst sınır testleri (kapı sayısı, derinlik, yasaklı kapıların yokluğu) hızlı regresyon ağıdır. Bu testler “matematik kanıtı” değildir; fakat üretimde en sık yakalanan sınıf hataları erken keser.

Doğrulama pahalıdır; geç transpile düzeltmesinden ucuzdur.

Talimat listesini incelemek için .data üzerinden yürümek ve işlem adına inst.operation.name ile bakmak, çizim yanılsamasına karşı güvenilir bir disiplindir (QuantumCircuit yapısı).

Karmaşıklık ve Sezgisellik: Neden Her Zaman En İyisi Bulunmaz?

Genel anlamda optimal devre sentezi ve yerleştirme problemleri hesaplama açısından zordur; pratik çözümler çoğunlukla çok çok zamanında iyi sonuç veren sezgisellerdir. Bu, “transpile kötü” anlamına gelmez; “en iyi”nin tanımının makine süresiyle birlikte geldiği anlamına gelir.

Sezgisel başarısızlık, çoğu zaman kısıt belgesinin eksik olmasından kaynaklanır.

Parametreli devrelerde optimizasyon, parametre uzayında farklı eğriler üretebilir; bu etkileşim parametrik devreler sayfasıyla birlikte düşünülmelidir: aynı geçiş seçeneği bir noktada iyi, başka noktada kötü olabilir.

Pratik kural Hedefi, ölçütü ve doğrulama setini yazın; sonra seviyeyi artırın. Ters sıra, güzel sayımlar üretip yanlış algoritma ile ödüllendirir.

Kod Laboratuvarı

Aşağıdaki örnekler, yüksek seviyeli geçiş çağrısı ve basit bir ön–son kapı sayımı karşılaştırması sunar. Hedef küme ve sürümünüze göre çıktı değişir; yalnızca akışı öğrenmek için kullanın.

transpile_optimization_level.py Python
from qiskit import QuantumCircuit, transpile

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

basis = ["cx", "u"]
low = transpile(qc, basis_gates=basis, optimization_level=1, seed_transpiler=123)
high = transpile(qc, basis_gates=basis, optimization_level=3, seed_transpiler=123)

print("level=1:", low.count_ops())
print("level=3:", high.count_ops())
qiskit transpile · optimization_level UTF-8 · LF
local_cancellation_pattern.py Python
from qiskit import QuantumCircuit, transpile

# Ardışık ters işlemler ve özdeş bloklar: geçiş genelde sadeleştirir.
qc = QuantumCircuit(2)
qc.h(0)
qc.h(0)
qc.cx(0, 1)
qc.cx(0, 1)

out = transpile(qc, basis_gates=["cx", "u"], optimization_level=3, seed_transpiler=0)
print(out)
print(out.count_ops())
qiskit İptal · transpile UTF-8 · LF

İleri Okuma ve Özet

Devre optimizasyonu, denklik koruyarak (veya açık sözleşmeyle yaklaşık olarak) maliyeti düşürme sanatıdır. Geçiş boru hattının parçasıdır; yerleştirme ve topoloji ile ayrılmaz. Dinamik ve klasik kontrol, yeniden sıralama penceresini daraltır; doğrulama ve regresyon ise sezgisel dünyada güvenin parasını öder.

Özet Denklik şart; hedef ölçüt seçilir; iptal ve komütasyon yerel kurallarla büyür; topoloji maliyeti şekillendirir; dinamik akış sınır çizer; doğrulama küçük devrelerle büyür; sezgisel “en iyi” makine zamanıyla gelir.