Devre Transpilasyonu
Soyut bir kuantum devresi kâğıt üstünde istediğin kapıyla, istediğin kübit çiftiyle yazılabilir; gerçek bir cihaz ise yalnızca belirli bir kapı setini ve yalnızca komşu kübitler arasındaki işlemleri çalıştırabilir. Devre transpilasyonu, aradaki çeviriyi yapan derleyici katmanıdır: yazdığın devreyi hedef cihazın anlayacağı biçime kapı kapı, kübit kübit dönüştürür. Bu derste kapı çevirisini, kübit yerleşimi ve SWAP maliyetini, optimizasyon geçişlerini ve sık yapılan hataları örneklerle öğreneceksin. Serinin tamamı için Kuantum Hesaplama dersleri sayfasına bakabilirsin; devreyi kodla yazmak için Kuantum Devresi Yazımı dersi iyi bir başlangıçtır.
Neden Transpilasyon Gerekir?
Yazdığın devre sanal kübitler üstünde çalışır: kapılar hangi kübit arasında isterse oraya yazılır, H ve T gibi keyfi kapılar serbestçe kullanılır. Cihaz tarafında ise iki sert kısıt vardır. Birincisi kapı seti: bir süperiletken işlemci genellikle yalnızca tek kübitlik Rz ve √X (SX) kapılarıyla iki kübitlik CNOT ya da ECR kapısını doğrudan uygular; Toffoli gibi bir kapıyı tek adımda bilemez. İkincisi bağlantı haritası (coupling map): hangi fiziksel kübitin hangisiyle etkileşebileceği donanımın tasarımıyla sınırlıdır; IBM'in ağır-altıgen (heavy-hex) topolojisinde bir kübitin yalnızca iki-üç komşusu vardır. Transpilasyon, devreni bu iki kısıtla uzlaştırır. Cihaz kavramını henüz görmediysen Backend ve Cihaz Kavramı dersi iyi bir ön hazırlıktır.
Vurgulanacak bir nokta: simülatörler bu kısıtları bilmez. Kuantum Simülatörleri dersindeki statevector motoru devrede ne yazarsan onu matris olarak uygular ve transpilasyonsuz da çalışır. Transpilasyon, devreyi gerçek donanıma taşırken zorunlu hâle gelir.
Temel Kapı Setine Çeviri
İlk iş, devrendeki her kapıyı cihazın doğal kapılarından kurulu bir diziye çözümlemektir. Kapılar birim matrislerdir; çeviri matris eşdeğerliğine dayanır ve kübitin durumunu bozmaz. Birkaç somut eşdeğerlik (hepsi yalnızca global faza kadar):
- H ≡ Rz(π/2) · √X · Rz(π/2) — Hadamard'ın doğal kapı dizisi.
- T ≡ Rz(π/4) — faz kapıları z ekseni dönüşleriyle neredeyse bedava çevrilir.
- CNOT ≡ (I ⊗ H) · CZ · (I ⊗ H) — cihazın doğal kapısı CZ ise, hedef kübite H ekleyip geri sökerek CNOT kurulur.
Global faz inceliği şudur: genel bir e^iφ çarpanı ölçüm olasılıklarını değiştirmez, çünkü olasılıklar genliklerin mutlak karesidir (|α|² + |β|² = 1 kuralı faza duyarlı değildir). Yani transpile edilmiş devrenin birim matrisi, orijinaliyle global faza kadar aynıdır; iki devrenin matrisini Statevector Simülasyonu yöntemiyle karşılaştırıp bu eşdeğerliği kendin denetleyebilirsin. Bir ölçü daha: genel bir iki kübitlik operatörün CNOT tabanlı sentezi en az 3 CNOT ister; kapı sayısı büyüdükçe gürültü birikir.
Kübit Yerleşimi ve Yönlendirme: SWAP Maliyeti
İkinci iş, sanal kübitleri fiziksel kübitlere oturtmak (layout) ve bağlantı haritasının izin vermediği işlemleri mümkün kılmaktır (routing). Örneği adım adım izleyelim. Devren: önce H(v0), sonra CNOT(v0, v2). Cihaz: 0–1–2 numaralı üç fiziksel kübitlik bir zincir; yalnızca komşu çiftler etkileşebilir. CNOT(v0, v2) komşu değildir, doğrudan uygulanamaz. İki çıkış yolu:
- Akıllı yerleşim: sanal kübitleri v0 → 0, v2 → 1, v1 → 2 diye diz. CNOT(v0, v2) artık 0–1 arasında, yani komşudur; tek bir CNOT yetti, SWAP'a gerek kalmadı.
- Yerleşim işe yaramazsa SWAP sok: önce SWAP(1,2) uygulayıp durumu 1 numaralı kübite taşı, sonra CNOT(0,1) uygula. SWAP tek bir kapı gibi görünse de cihazda 3 CNOT'tur: SWAP(a,b) = CNOT(a,b) · CNOT(b,a) · CNOT(a,b). Devrenin CNOT sayısı 1'den 4'e çıktı.
Derleyici ölçüm eşlemesini de izler: devlet yönlendirme sırasında kübitler arasında gezindiyse, klasik bitleri doğru fiziksel kübitlere bağlamak transpiler'ın işidir. Ölçüm kapıları farklı numaralı kübitlerde görünse de okuduğun klasik sonuç, sanal kübit sırasını korur. Ve her ek CNOT, Gürültü Modelleri dersinde işleyeceğimiz gibi hatayı büyüten bir fırsat penceresidir.
Optimizasyon Geçişleri
Çeviri ve yönlendirme devreyi şişirir; transpiler'ın son katmanı bunu inceltir. Yaygın geçişler: aynı eksende ardışık dönüşleri birleştirmek (Rz(α) · Rz(β) = Rz(α+β): üst üste beş Rz tek Rz'ye iner); ardışık özdeş CNOT'ları silmek (CNOT · CNOT = I); iki kübitlik kapı bloklarını baştan sentezlemek. Qiskit'te bu akış optimization_level adıyla dört düzeye ayrılır: 0 yalnızca zorunlu çeviri, 1 hafif temizlik, 2 derinlik azaltma, 3 en agresif yeniden sentez. Düzey yükseldikçe derleme süresi uzar ama çıktı genellikle kısalır; gürültülü cihazda kapı sayısını azaltmak, doğruluğun kendisidir.
Sık Yapılan Hatalar ve Yanılgılar
- “Transpiler algoritmayı değiştirir.” Değiştirmez; çıktı, orijinalle aynı birim operatörü global faz dışında uygular. Değişen tek şey, aynı matematiğin cihaz diline çevrilmiş hâlidir.
- “SWAP tek bir kapıdır.” Cihazda değildir, 3 CNOT'tur; SWAP'ları saymadan derinliği yargılamak yanıltır.
- “Transpile edilmiş devre daha güvenilirdir.” Tersine: kapı sayısı arttıkça gürültü birikir. İyi transpilasyon, doğruluğu korurken ek kapıyı en aza indirmektir.
- “Fiziksel kübit numarası = sanal kübit numarası.” Yönlendirme sonrası ölçümler farklı fiziksel kübitlerden alınır; klasik bit eşlemesine güven.
- “En yüksek optimization_level her zaman en iyisidir.” Genellikle evet, ama derleme süresi artar; iki düzeyi deneyip kapı sayısını karşılaştırmak en sağlıklısıdır.
Bu ders, devreni cihaza hazırlayan katmanı bitirdi. Transpile edilmiş devreni gerçek bir işlemcide çalıştırmak istersen sıra Gerçek Kuantum Donanımında Çalıştırma dersinde.
Sık Sorulan Sorular
Devre transpilasyonu nedir?
Yazdığın soyut kuantum devresini hedef cihazın doğal kapı setine ve bağlantı haritasına (coupling map) uyumlu hâle getiren derleyici katmanıdır. Kapı çevirisi (örneğin H → Rz(π/2) · √X · Rz(π/2)), kübit yerleşimi, gerektiğinde SWAP sokulması ve optimizasyon geçişlerinden oluşur; çıktı, orijinalin uyguladığı birim operatörü global faz dışında aynen uygular.
Transpile edilmiş devre orijinalinden nasıl farklıdır?
Matematiksel olarak fark yoktur: iki devre de aynı birim operatörü uygular, ölçüm olasılıkları aynıdır. Fiziksel olarak çıktı devresi uzayabilir; özellikle yönlendirme için sokulan her SWAP 3 CNOT demektir ve her ek kapı gürültüden payını alır. İyi transpilasyon bu şişmeyi en aza indirmeyi amaçlar.
SWAP kapısı kaç CNOT'tan oluşur?
Üç. SWAP(a,b) = CNOT(a,b) · CNOT(b,a) · CNOT(a,b) dizilişiyle kurulur; cihaz SWAP'i tek işlem olarak bilmez, derleyici bu üç kapıyı yazar. Bağlantı haritasına uymayan her iki kübitlik işlem, devreyi en kötü üç CNOT kadar büyütebilir.
Qiskit'te optimization_level ne işe yarar?
transpile fonksiyonuna devrenin ne kadar agresif sadeleştirileceğini söylersin: 0 yalnızca zorunlu çeviri ve yerleşim, 1 hafif temizlik, 2 derinlik azaltma, 3 iki kübitlik blokların yeniden sentezi gibi en ağır optimizasyonlar. Düzey yükseldikçe derleme süresi artar, çıktı genellikle kısalır; gürültülü donanımda genellikle 2–3 tercih edilir.
Kaynaklar ve İleri Okuma
Introduction to transpilation (IBM Quantum) — layout, routing, translation, optimization ve scheduling aşamalarını anlatan resmî Qiskit rehberi.
Minimal Universal Two-qubit Quantum Circuits (Shende, Markov, Bullock) — iki kübitlik operatörlerin CNOT tabanlı, kapı sayısınca optimal sentezi üzerine klasik makale.
Quantum logic gate (Wikipedia) — kübit kapılarının birimselliği ve temel kapı eşdeğerliklerine genel bakış.
Quantum circuit (Wikipedia) — devre modeli ve kapı dizilişi kavramının arka planı.