Kuantum Simülatörleri
Kendi bilgisayarında kuantum bilgisayarın davranışını taklit eden programa kuantum simülatörü denir; gerçek kuantum işlemciye hiç dokunmadan devre yazmanı, çalıştırmanı ve hata ayıklamanı sağlar. Bu derste simülatörün içeride ne yaptığını, bellek maliyetinin kübit başına nasıl ikiye katlandığını ve ideal simülasyonun sınırını öğreneceksin. Serinin tamamı için Kuantum Hesaplama dersleri sayfasına bakabilirsin; devre yazımını henüz görmediysen önce Kuantum Devresi Yazımı dersine göz atman iyi olur.
Simülatör Tam Olarak Ne Yapıyor?
Simülatör, kuantum mekaniğinin üç kuralını klasik bir işlemci üzerinde sayı sayı uygulayan bir programdır: durumlar vektörle, kapılar matrisle, ölçüm olasılıkları ise genliklerin karesiyle tanımlanır. Devreni çalıştırdığında içeride gizli bir kuantum olayı dönmüyor; her şey düz aritmetiktir. Kübitlerinin durumu |ψ⟩ = Σ cₖ|k⟩ biçiminde yazılır: burada k, 0’dan 2ⁿ−1’e kadar gider, cₖ karmaşık genliklerdir ve normalizasyon şartı Σ|cₖ|² = 1 her an sağlanır. Simülatörün işi, bu cₖ listesini kapı matrisleriyle adım adım güncellemektir.
Peki neden her şeyden önce simülatörle çalışılır? Üç pratik nedeni var:
- Ücretsiz ve anlık: gerçek cihazlarda kuyruk ve kota varken simülatör saniyeler içinde cevap verir.
- Tekrarlanabilir: aynı girdiyle aynı dağılımı alırsın; hata ararken bu paha biçilemezdir.
- İçini görebilirsin: ölçüm öncesi durum vektörünü yazdırıp genlikleri inceleyebilirsin; gerçek donanımda bu imkânsızdır.
Bu yüzden altın kural şudur: geliştirmeyi simülatörde yap, son doğrulamayı gerçek donanımda. Simülatörden cihaza geçişin ayrıntılarını Gerçek Kuantum Donanımında Çalıştırma dersinde işliyoruz.
Bellek Meselesi: Her Kübit İkiye Katlar
n kübitli kayıtta 2ⁿ genlik vardır; her genlik tipik olarak 16 baytlık çift duyarlıklı karmaşık sayıdır. Yani bellek kabaca 16·2ⁿ bayttır ve her yeni kübit belleği tam iki katına çıkarır. Somut rakamlar:
- 10 kübit → 1.024 genlik ≈ 16 KB
- 20 kübit → 1.048.576 genlik ≈ 16 MB
- 26 kübit → ≈ 1 GB (evdeki çoğu bilgisayarın rahat sınırı)
- 30 kübit → ≈ 16 GB (masaüstü için pratik tavan)
- 40 kübit → ≈ 16 TB (normal bir bilgisayarda imkânsız)
Bellek yetse bile süre aynı duvara çarpar: her kapı, 2ⁿ genliğin üstünden geçmek zorundadır. İşte bu üstel duvar klasik simülasyonun ölçeklenemediğini gösterir — aynı zamanda kuantum bilgisayarların var olma gerekçesidir. Simülatör güçlü bir prova masasıdır ama 50 kübitlik devreyi statevector düzeyinde hiçbir masaüstü taşımaz.
Küçük Bir Hesap Akışı: Bell Durumunu Simüle Etmek
Simülatörün içini iki kübitlik klasik bir örnekle görelim. Hadamard kapısı H = (1/√2)·[[1, 1], [1, −1]] matrisidir ve H|0⟩ = (|0⟩+|1⟩)/√2 verir; üniterdir, hatta kendi tersidir: H·H = I. CNOT ise kontrol kübiti 1’ken hedefi çevirir. Kapıyı yalnızca ilk kübite uygulamak, tüm sisteme H ⊗ I uygulamaktır; ⊗ tensor (Kronecker) çarpımıdır. Adım adım:
- Başlangıç durumu |00⟩: genlik vektörü (1, 0, 0, 0).
- İlk kübite H uygula: durum (|00⟩ + |10⟩)/√2 olur; vektör (1/√2, 0, 1/√2, 0).
- CNOT uygula (kontrol 1. kübit, hedef 2.): |10⟩ bileşeni |11⟩’e döner; vektör (1/√2, 0, 0, 1/√2), yani (|00⟩ + |11⟩)/√2 — meşhur Bell durumu.
- Ölçüm: kalan iki genliğin karesi |1/√2|² = 1/2 olduğundan sonuç %50 ihtimalle 00, %50 ihtimalle 11’dir; 01 ve 10 asla çıkmaz.
Dikkat: simülatör ölçüme kadar tek bir zar atmadı; olasılıkları son adımda hesapladı. Durum vektörü düzeyindeki bu kesin hesabı Statevector Simülasyonu, tek tek ölçüm atıp histogram tutan gerçekçi kipi ise Shot Tabanlı Simülasyon dersi ayrıntılandırır.
İdeal Simülasyon, Shot Simülasyonu ve Gürültü
Simülatörlerin iki ana çalışma kipi vardır. Statevector kipi devreyi bir kez evrimleştirip tüm olasılıkları tam sayılarla verir; gürültüsüzdür ve örneklem hatası taşımaz. Shot kipi ise gerçekçi davranır: her shot tek bir ölçümdür ve N shot sonunda gözleğin sapması yaklaşık √(p(1−p)/N) standart hatayla titrer. Simülatörde bile histogram çubukların oynaksa suçlu genellikle az shots’tır; histogram okumanın inceliklerini Ölçüm Histogramları dersi verir.
İkinci büyük ayrım gürültüdür. İdeal simülatör, kapıların kusursuz ve kübitlerin kararlı olduğunu varsayar; gerçek cihazda ise dekoherans ve kapı hataları vardır. Simülatörde bir gürültü modeli tanımlayarak bu gerçekçiliği taklit edebilirsin; model türlerini Gürültü Modelleri dersi anlatır. Üstelik simülatör de kodda bir backend nesnesidir ve cihazla aynı arayüzle çağrılır; bu yapıyı Backend ve Cihaz Kavramı dersinde inceliyoruz.
Pratikte hangi simülatör? Qiskit’te Aer standart seçimdir; Cirq’ın da kendi hızlı simülatörü hazır gelir. Kurulum ve ilk komutlar için Qiskit ile Tanışma ile Cirq ile Tanışma derslerine bakabilirsin.
Sık Yapılan Hatalar ve Yanılgılar
- Simülatörde tertemiz, cihazda berbat: olağandır. İdeal simülatör gürültü içermez; cihaza geçmeden önce gürültülü simülasyonu dene.
- Simülatörün hızını kuantum hızlanması sanmak: simülatör klasik işlemciyle çalışır; Grover’ın √N avantajını simülatörde ölçemezsin, o avantaj donanımdadır.
- Genliği olasılık sanmak: cₖ karmaşık bir sayıdır; ölçüm olasılığı |cₖ|²’dir. Negatif ve karmaşık genlikler girişim için zorunludur, olasılık ise hiçbir zaman negatif olamaz.
- Yüksek kübit sayısını erken denemek: 30 kübitten sonra bellek duvarı başlar; hatayı küçük devrelerde ayıkla, sonra ölçekle.
- Tek shot ile karar vermek: tek ölçüm tek örnektir; güvenilir oran için binlerce shot ya da doğrudan statevector çıktısı gerekir.
Önceki ünitede ölçüm sonrası koşullu işlemleri Klasik Kontrol dersinde görmüştün; simülatörler bu klasik kayıtları da birebir taklit eder. Sıra ilk gerçek algoritmada: sonraki ünitede Deutsch Algoritması ile kuantum hızlanmasının en küçük örneğini kendi simülatöründe çalıştıracaksın.
Sık Sorulan Sorular
Kuantum simülatörü nedir, ne işe yarar?
Kuantum simülatörü, kuantum bilgisayarın davranışını klasik bir bilgisayarda matris-vektör aritmetiğiyle taklit eden programdır. Devreyi gerçek donanıma göndermeden önce yazmak, test etmek, hata ayıklamak ve olasılık dağılımlarını incelemek için kullanılır; ücretsiz, hızlı ve tekrarlanabilir.
Kuantum simülatörü ile gerçek kuantum bilgisayar arasındaki fark nedir?
Simülatör, kuantum mekaniğinin matematiksel kurallarını kusursuz ve gürültüsüz uygular; gerçek cihaz ise kapı hataları, dekoherans ve okuma hataları taşır. Bu yüzden simülatörde her seferinde aynı dağılımı alırken cihazda sonuçlar sapar. Ayrıca statevector simülasyonu üstel bellek yüzünden sıradan bilgisayarlarda 30 kübit civarında, süperbilgisayarlarda bile 50 kübit dolayında tıkanır.
Kendi bilgisayarımda kaç kübite kadar simülasyon yapabilirim?
Statevector simülasyonunda bellek 16·2ⁿ bayt gibi büyüdüğünden 26 kübit yaklaşık 1 GB, 30 kübit yaklaşık 16 GB ister; sıradan bir dizüstü için 26-30 kübit pratik tavandır. Süre de her kapıda 2ⁿ işlemle büyüdüğünden, bellek dolmadan hız duvarına da çarpabilirsin.
Simülatörde shots sayısı sonucu nasıl etkiler?
Statevector kipinde olasılıklar tam hesaplandığından shots gereksizdir. Shot kipinde her shot tek bir ölçümdür; N shot sonunda gözleğin standart hatası yaklaşık √(p(1−p)/N)’dir. Az shots histogramı oynak, çok shots kararlı yapar; maliyet de shot sayısıyla doğru orantılı büyür.
Kaynaklar ve İleri Okuma
Quantum simulation — Wikipedia — Kuantum simülasyonu fikrinin Feynman’dan bugüne uzanan bilimsel çerçevesini özetleyen madde.
IBM Quantum Documentation (Qiskit) — Qiskit simülatörlerinin kiplerini ve backend yapısını anlatan resmî dokümantasyon.
IBM Quantum Learning — Simülasyondan gerçek donanıma uzanan resmî ders akışını sunan IBM eğitim platformu.
Cirq Documentation — Google Quantum AI — Cirq’ın simülatörlerinin durum vektörünü nasıl yönettiğini anlatan resmî kılavuz.