Ansatz devreleri — Parametreli şablon, bağlanma ve cihaz uyumu
Ansatz, varyasyonel kuantum algoritmalarında klasik olarak optimize edilen
parametreli kuantum devre şablonudur: aynı kapı iskeleti, farklı
θ vektörleriyle farklı ünite aileleri üretir. Qiskit’te bu şablonlar
TwoLocal,
RealAmplitudes,
EfficientSU2 gibi hazır sınıflarla veya özel
ParameterVector tabanlı devrelerle kurulur; kritik mühendislik kararları
bağlanma deseni (
linear,
full,
circular vb.),
tekrar sayısı (
reps) ve transpile sonrası gerçek derinliktir. Beklenen değer döngüsü,
Hamiltonyen seçimi ve ilkel çağrıları
VQE çerçevesi sayfasında kalır; burada
yalnızca ansatzın yazılım sözleşmesi, parametre bağlama ve cihaz grafiğiyle hizalama
derinleştirilir. Sabit katmanlı QAOA şablonu
QAOA çerçevesi ile karşılaştırmalı
okunmalıdır.
Kavram haritası ve sayfa sınırı
Ansatz; varyasyonel yöntemlerde kuantum tarafının
parametre uzayını taşıyan devredir. Bu sayfa Qiskit’teki hazır ansatz
ailelerinin ortak desenini (
rotation_blocks +
entanglement_blocks +
reps), parametrelerin nasıl bağlandığını ve bağlanma seçiminin derinliği
nasıl şekillendirdiğini işler; klasik optimizasyon algoritması, öğrenme oranı veya
Estimator çağrı akışı
VQE çerçevesi ve
Varyasyonel algoritmalar
sayfalarında kalır.
Pauli tabanlı maliyetin inşası Maliyet Hamiltonyenleri ve Gözlemlenebilir oluşturma başlıklarında derinleşir; burada yalnızca devrenin hangi kapı ailesiyle üretildiği vurgulanır.
Ne vaat edilmez
Her problem için otomatik en iyi ansatz; seçim deneysel ve donanım bağlıdır.
Faz tahmini veya Grover iskelesi; Faz tahmini araçları ve Grover araçları ayrı konulardır.
assign_parameters ile bağla → transpile ile gerçek derinliği ölç → VQE/QAOA
döngüsüne devret.
Parametreler ve bağlama
Ansatzlar
Parameter veya
ParameterVector nesneleri taşır;
assign_parameters hem sözlük hem dizi kabul eder. Üretimde aynı
θ vektörünün klasik optimizasyon adımı ile ilkel çağrısında
bire bir eşlendiği loglarda doğrulanmalıdır; aksi halde enerji eğrisi
izlenemez.
decompose() veya transpile sonrası devre, soyut ansatz ile aynı matematiksel
aileyi temsil eder fakat yerel kapı sayısı farklıdır; “derinlik” raporlarında hangi
aşamanın ölçüldüğü açık yazılmalıdır.
Bağımsız deneyler
Aynı ansatz sınıfı, farklı rastgele başlangıçlarla farklı yerel minimumlara düşebilir; çok başlangıçlı arama ansatz seçiminden bağımsız bir klasik katmandır fakat raporda ayrıştırılmalıdır.
Kütüphane ailesi ve NLocal deseni
TwoLocal ve türevleri, dönüşüm blokları ile bağlanma bloklarını
reps kez yineler;
RealAmplitudes genlikleri gerçek eksende parametreler,
EfficientSU2 ise daha sık kullanılan SU(2) tabanlı bir şablondur. Özel
sorunlar için
QuantumCircuit içinde doğrudan
Parameter eklemek mümkündür; kütüphane sınıfları tutarlı isimlendirme ve
parametre sayısı için tercih edilir.
Pauli cebiri, dönüşüm bloklarının hangi eksenlerde döndüğünü okumak için arka plan sağlar; ansatzın kendisi Pauli toplamı değildir.
Özel ansatz
Uygulamaya özel kapılar (ör. simetri koruyan katmanlar) gömüldüğünde, parametre sayısı ile serbestlik derecesi dokümantasyonda açıkça listelenmelidir.
Bağlanma ve tekrar (reps)
entanglement="linear" çoğu cihazın doğrusal zincirine uyar;
"full" teorik olarak daha zengin etkileşim sunar fakat derinlik ve
SWAP maliyeti hızla artar.
reps arttıkça ifade gücü artarken gradyan sinyali zayıflayabilir (
barren plateau riski); küçük
reps ile prototip, büyük
reps ile donanım bütçesi karşılaştırması yapılır.
Bağlanma deseni, Hamiltonyenin etkileşim grafiği ile hizalanmadığında aynı parametre sayısı bile anlamsız arama alt uzayları üretebilir; bu yüzden Maliyet Hamiltonyenleri sayfasındaki grafik yapısı ile ansatz grafiğinin karşılaştırılması önerilir.
Derinlik, parametre sayısı ve arama zorluğu
num_parameters ile
depth() birlikte okunmalıdır: yüksek parametre sayısı düşük derinlikle de
gelebilir (geniş açı parametrizasyonu); düşük parametre sayısı yüksek transpile
derinliği üretebilir (çok kontrollü açılım). Raporlarda ikisi ayrı sütun olmalıdır.
Barren plateau literatüründe ansatz ve maliyet birlikte ele alınır; burada yalnızca derinlik–parametre–bağlanma üçlüsünün deney tasarımını nasıl kısıtladığı not edilir; tam teori Varyasyonel algoritmalar anlatımına bırakılır.
Transpile ve cihaz grafiği
Aynı soyut ansatz, farklı
coupling_map ve
optimization_level ile farklı yerel devrelere dönüşür. Üretimde
“soyut derinlik” yerine
transpile sonrası CNOT sayısı ve kritik yol raporlanmalıdır.
Optimization seviyeleri ve Routing sayfaları, ansatzın donanıma oturtulmasını tamamlar.
Hata azaltma politikası seçilirken ansatz derinliği doğrudan gürültü birikimini etkiler.
VQE ve QAOA ile ilişki
Genel VQE’de ansatz serbestçe seçilir;
VQE çerçevesi bu seçimin
Estimator ve optimizasyonla nasıl birleştiğini işler. QAOA’da ansatz çoğu
zaman
QAOAAnsatz ile maliyet ve karıştırıcıya kilitlenir;
QAOA çerçevesi bu özel şablonu
anlatır. İki uç arasında “yarı özel” katmanlar (ör. problem düzenlenmiş bağlanma)
yaygındır ve sürüm notlarında ayrılmalıdır.
Estimator ilkeli sayfası, bağlanmış ansatzın ilkel çağrısına nasıl geçirildiğini üst katmanda özetler.
Ansatz kod laboratuvarı
İlk örnek
RealAmplitudes ile parametre sayısı ve
assign_parameters sonrası
decompose().depth() ölçümü gösterir. İkinci örnek aynı kübit sayısında
EfficientSU2 için
linear ve
full bağlanmanın derinliğe etkisini karşılaştırır.
RealAmplitudes + bağlama
import numpy as np
from qiskit.circuit.library import RealAmplitudes
ansatz = RealAmplitudes(num_qubits=2, reps=2, entanglement="linear")
theta = np.zeros(ansatz.num_parameters)
bound = ansatz.assign_parameters(theta)
print("Parametre sayısı:", ansatz.num_parameters)
print("Derinlik (decompose):", bound.decompose().depth())
print("ok")
EfficientSU2 · bağlanma karşılaştırması
from qiskit.circuit.library import EfficientSU2
for ent in ("linear", "full"):
qc = EfficientSU2(3, reps=1, entanglement=ent)
d = qc.decompose().depth()
print(ent, "| params", qc.num_parameters, "| depth", d)
print("ok")
IBM Runtime Estimator (yorum)
Aşağıdaki satırlar bilinçli olarak yorumdadır; bağlanmış ansatzı ilkele geçirmek için oturum ve backend kimliği ortama göre doldurulur.
# from qiskit_ibm_runtime import Estimator, Session
# with Session(backend=backend) as session:
# est = Estimator(session=session)
# bound = ansatz.assign_parameters(theta)
# job = est.run([(bound, [hamiltonian])])
Özet ve ileri okuma
Ansatz katmanı; parametreli şablon, bağlanma ve tekrar seçimleriyle tanımlanır; bağlama ve transpile sonrası metrikler üretimde zorunlu rapor alanlarıdır. Enerji yüzeyi ve klasik optimizasyon VQE çerçevesi içinde birleşir.
- VQE çerçevesi — ⟨H⟩ döngüsü.
- QAOA çerçevesi — özel QAOAAnsatz.
- Maliyet Hamiltonyenleri — etkileşim grafiği ile hizalama.
- IBM Quantum: Qiskit ve platform araçlarına giriş.
- IBM Quantum API: RealAmplitudes.
assign_parameters ile bağla; transpile derinliğini ölç; VQE/QAOA
boru hattına parametre sayısıyla birlikte aktar.