Sitemap

Quantum Hesaplama Sistem Dizaynı ve Qiskit Simülasyon Ortamı Kurulumu — Part 1

7 min readMay 15, 2025
Image Source: IBM

Son zamanlarda Microsoft’un Majorana 1 ve Google’ın Willow Kuantum fiziksel çipleriyle beraber devlerin quantum yarışı oldukça rekabetli hale geldi. Bu hafta yayınlanan haberlerde Amazon’nun da Kuantum yarışına gireceği duyumlarıyla beraber oldukça güzel bir yarış başlayacak gibi.

Bende son 6 aydır Quantum Computing ve Quantum Sistem Dizaynı konularına ilgilenmeye başladım. Chicago Universitesinin harika içeriğe ve challenge’lara sahip olan Quantum Computer Systems Design Profesyonel Sertifika programını bitirdim ve muhteşem bilgiler öğrendim. Şimdi bunları bu makale serimde sizlerle paylaşacağım.

Kuantum hesaplama tahmin ettiğiniz yada bildiğiniz üzere, klasik bilgisayarların çözümlemekte zorlandığı veya imkansız olduğu karmaşık problemleri çözme potansiyeline sahip bir bilgi işlem teknolojisidir. Klasik bitlerin aksine kuantum bitlerini yani kubitleri kullanan kuantum bilgisayarlar kuantum mekaniğinin temel prensipleri olan; süperpozisyon ve dolanıklık gibi prensiplerden yararlanarak eş zamanlı olarak çok sayıda olasılığı simule edebilirler. Bu benzersiz yetenek yeni ilaç bileşenleri ve yeni malzeme materyalleri keşfinde olduğu gibi, finansal modelleme, optimizasyon problemleri gibi alanların klasik bilgisayarlarda imkansıza yakın çeşitli işlemlerini gerçekleştirirler.

Source: https://www.researchgate.net/figure/Classical-bit-vs-qubit_fig2_366232947

En basit tabiriyle; Klasik hesaplama, bilgiyi 0 veya 1 olarak temsil edilen bitler üzerinde işlem yaparken, kuantum hesaplama kubitleri kullanır ve bir kubit aynı anda hem 0 hem de 1 durumunda yani süperpozisyon halinde bulunur. Bu sayede diğer kubitler ile birbirine dolanık hale gelerekde aralarında güçlü korelasyonlar oluşturur. Bu temel fark, kuantum bilgisayarların belirli türdeki problemleri klasik bilgisayarlara göre çok büyük zaman farkıyla çözmesini mümkün kılar.

Şimdi Qiskit (Quantum Information Science Kit) odaklanacak olursak; Qiskit, IBM tarafından geliştirilen açık kaynaklı bir kuantum hesaplama yazılım geliştirme kitidir (SDK’sıdır). Kuantum programcılarının ve araştırmacılarının kuantum devreleri oluşturmasına, bunları simülatörlerde (Simülasyon ortamlarıda inşa edeceğiz) veya gerçek kuantum donanımlarında (IBM Quantum’da hem simülasyon ortamlarında hemde isterseniz gerçek ortamda dakikalık 90 dolar civarında bir ücretle işlem yapabiliyorsunuz.) çalıştırmasına ve sonuçları analiz etmesine olanak tanıyor.

Qiskit, kuantum algoritmalarının geliştirilmesi, test edilmesi ve uygulanması konusunda oldukça kapsamlı destek sunuyor. Birazdan kuantum hesaplamanın ve Qiskit’in temellerini teknik bir bakış açısıyla ilk inceleyelim ve pratik uygulamalar yapacağız. Ama ilk olarak bir Kuantum Temel Prensiplere odaklanalım.

Süperpozisyon

Source: https://physics.stackexchange.com/questions/582737/has-it-been-practically-proven-that-quantum-superposition-exists-if-yes-how-do

Kuantum biti (kubit) aynı anda hem 0 hem de 1 durumunda bulunabilir. Bu duruma bildiğiniz gibi süperpozisyon denir. Matematiksel olarak bir kubitin durumu, |0 ve |1 temel durumlarının bir lineer kombinasyonu olarak ifade edilir: |ψ = α|0 + β|1 . Burada α ve β, karmaşık sayılardır ve |α|² + |β|² = 1 koşulunu sağlarlar. |α|² ve |β|², kubitin ölçüldüğünde sırasıyla 0 ve 1 durumunda bulunma olasılıklarını temsil eder. İşte bu bize aynı anda çok sayıda olasılığı keşfetmemize olanak tanıyarak paralel hesaplama yeteneği kazandırır.

Kuantum Dolanıklığı

Dolanıklık kuantum’da iki veya daha fazla kubitin durumlarının birbirine bağlı hale gelmesidir. Dolanık kubitlerin aralarındaki fiziksel mesafe ne olursa olsun birinin durumu ölçüldüğünde diğerinin durumu anında belirlenir. Biraz karışık biliyorum, o nedenle şöyle düşünelim; iki dolanık kubitten oluşan bir sistemde, bir kubit |0 durumunda ölçülürse, diğeri anında |1 durumunda (dolanıklık türüne bağlı olarak) ölçülecektir. Bu özellik, kuantum bilgisayarların belirli görevlerde üstünlük sağlamasına yardımcı olan güçlü bir korelasyon biçimidir. İşte bu kuantum teleportasyon ve kuantum kriptografi gibi önemli kuantum protokollerinin temelini oluşturur.

Source: Entanglement in a 20-Qubit Superconducting Quantum Computer, https://www.nature.com/articles/s41598-019-49805-7

Kuantum Ölçümü

Bir kubitin durumu ölçüldüğünde, süperpozisyon durumu çöker ve kubit belirli bir klasik duruma (0 ya da 1) geçer. Ölçüm sonucu, kubitin süperpozisyon durumundaki olasılık genliklerine bağlıdır. Örneğin, |ψ = α|0 + β|1 durumundaki bir kubit ölçüldüğünde, |α|² olasılıkla |0 ve |β|² olasılıkla |1 sonucu elde edilir.

…Biliyorum sıkıldınız o nedenle daha iyi ifade etmeye çalışayım;

Şimdi tekrar bakacak olursak biz bir kubiti ölçtüğümüzde, bu karışım durumu ortadan kalkar yani çöker. Ve kubit, ölçme anında net olarak ya 0 ya da 1 değerini alır. Kubit durumunu şöyle gösteririz: ∣ψ⟩=α∣0⟩+β∣1⟩

Buradaki, α yani alpha ve β yani beta, kubitin hangi duruma daha yakın olduğunu belirleyen katsayılardır. Bu katsayıların büyüklüklerinin kareleri (∣α∣^2 ve ∣β∣^2) bize kubitin ölçüm sırasında hangi sonucu vereceğinin olasılıklarını ifade eder.

Örneğin:

  • Eğer ∣α∣^2=0.8 ve ∣β∣^2=0.2 ise, ölçüm yaptığında, %80 ihtimalle sonuç 0, %20 ihtimalle sonuç 1 çıkar.

Yani Ölçüm işlemi, kubitin kuantum durumunu geri döndürülemez bir şekilde değiştirir ve bu aslında kuantum bilgi işlemenin doğasında var olan bir özelliktir. Bu nedenle, kuantum algoritmaları tasarlanırken ölçümün ne zaman ve nasıl yapılacağı dikkatlice planlamalıyız.

Bu arada matematik işlemleri ile çokça karşılaşacağımızdan biraz matematiksel bilgimizide güncelleyelim ve kuantum hesaplamada nasıl ifade ettiğimize bakalım.

Kubit Kavramı ve Matematiksel Gösterimi

Bir kubitin durumu, genellikle Bloch küresi adı verilen geometrik bir yapıyla görselleştirilir. Bloch küresinde, |0 durumu kuzey kutbuna, |1 durumu ise güney kutbuna karşılık gelir. Bir kubitin herhangi bir süperpozisyon durumu küre yüzeyindeki bir nokta ile temsil edilebilir. Yani matematiksel olarak tek bir kubitin durumu iki boyutlu bir karmaşık vektör uzayında bir vektörle ifade edilir.

Örneğin, |0 durumu (1, 0) vektörüyle, |1 durumu ise (0, 1) vektörüyle temsil edilir.

Source: https://stem.mitre.org/quantum/quantum-concepts/bloch-sphere.html

Detaylara inmek isterseniz Mitre’nin bu makalesi harika olmuş;

Kuantum Kapıları ve Devreleri

Klasik bilgisayarlardaki mantık kapıları gibi, kuantum bilgisayarlar da kubitlerin durumlarını değiştirmek için kuantum kapılarını kullanılır. Kuantum kapıları, kubitler üzerinde üniter dönüşümler gerçekleştirir, bu da işlemin tersine çevrilebilir olduğu anlamına gelir. Bazı temel tek kubitli kapılar arasında Hadamard (H) kapısı, Pauli-X (NOT), Pauli-Y ve Pauli-Z kapıları bulunur.

Source: https://hgmin1159.github.io/quantum/quantum2_eng/

Hadamard kapısı, bir kubiti temel durumdan (|0 veya |1 ) eşit bir süperpozisyon durumuna (|0 + |1 )/√2 veya (|0 — |1 )/√2 getirir. İki kubitli kapılar arasında en önemlilerinden biri Kontrollü-NOT (CNOT) kapısıdır. CNOT kapısı, bir kontrol kubitinin durumuna bağlı olarak hedef kubitin durumunu değiştirir. Bu kuantum kapılarının belirli bir sırada kubitlere uygulanmasıyla Kuantum devreleri oluşur ve belirli bir kuantum algoritmasını gerçekleştirmek için tasarlanır.

Qiskit Ekosistemi ve Mimarisi

Source: IBM

Qiskit (Quantum Information Science Kit) ilk olarak Mart 2017'de IBM tarafından açık kaynaklı bir proje olarak piyasaya sürülmüştür. Yaratılma amacı, kuantum bilgisayarlara erişimi demokratikleştirmek ve kuantum algoritmalarının geliştirilmesini kolaylaştırmaktır. Başlangıcından bu yana da topluluğu hızla büyümüş ve yazılım sürekli olarak yeni özellikler ve iyileştirmeler almıştır. Hem yeni başlayanlar hem de deneyimli araştırmacılar için uygun bir platform olup akademik çalışmalarda, eğitimde ve endüstriyel uygulamalarda yaygın olarak kullanılıyor.

Qiskit, modüler bir yapıya sahip olup, farklı görevler için özelleşmiş birkaç temel bileşenden oluşur. Bu bileşenler, kullanıcıların kuantum programlama sürecinin farklı aşamalarında ihtiyaç duydukları araçları sağlıyor.

Qiskit Terra: Temel Kuantum Programlama Altyapısı

Qiskit Terra, Qiskit ekosisteminin temelini oluşturur. Kuantum devrelerinin oluşturulması, manipüle edilmesi ve optimize edilmesi için gerekli olan temel veri yapılarını ve fonksiyonları içerir. Terra, kuantum kapılarını tanımlama, kubitleri yönetme ve kuantum devrelerini farklı donanım mimarilerine göre derleme (transpilasyon) gibi işlevleri yerine getirir.

Source: https://quantumcomputing.stackexchange.com/questions/22047/what-is-the-difference-between-qiskit-terra-aer-ignis-and-aqua

Ayrıca, kuantum programlarının hem simülatörlerde hem de gerçek kuantum işlemcilerinde çalıştırılması için bir arayüz sağlar. Terra’nın esnekliği, kullanıcıların kendi kuantum algoritmalarını ve deneylerini kolayca tasarlamalarına olanak tanır.

Qiskit Aer: Simülasyon Araçları

Qiskit Aer, kuantum devrelerinin klasik bilgisayarlarda simüle edilmesi için yüksek performanslı simülatörler sunar. Bu simülatörler, gerçek kuantum donanımına erişimi olmayan veya devrelerini test etmek isteyen kullanıcılar için hayati öneme sahiptir. Aer, farklı simülasyon yöntemlerini destekler:

  • Statevector Simülatörü: Kuantum devresinin durum vektörünü tam olarak hesaplar. Küçük sistemler için idealdir ve devrenin tüm kuantum durumunu analiz etme imkanı sunar.
  • QASM Simülatörü (Quantum Assembly Language Simulator): Kuantum devresini sanki gerçek bir kuantum bilgisayarında çalışıyormuş gibi taklit eder ve ölçüm sonuçlarını olasılıksal olarak üretir. Daha büyük devreler için daha verimlidir ve gürültü modellerini de içerebilir.
  • Unitary Simülatörü: Devrenin uyguladığı üniter dönüşüm matrisini hesaplar.
  • Pulse Simülatörü: Kuantum donanımının fiziksel seviyesine daha yakın simülasyonlar yapılmasını, kubitlere uygulanan kontrol darbelerini (pulse) modelleyerek daha gerçekçi sonuçlar elde edilmesini sağlar.

Qiskit Aer, kullanıcıların ideal koşullarda veya gerçekçi gürültü modelleri altında kuantum devrelerinin davranışını incelemesine olanak tanır.

Qiskit Runtime: Kuantum İşlemcileri Üzerinde Çalıştırma

Qiskit Runtime, kuantum programlarının IBM Quantum işlemcileri üzerinde daha verimli bir şekilde çalıştırılması için tasarlanmıştır. Klasik ve kuantum hesaplamalarını daha yakın bir şekilde entegre ederek, gecikmeleri azaltarak daha karmaşık iş akışlarının yürütülmesini sağlar. Qiskit Runtime, kullanıcıların kuantum programlarını önceden derlenmiş ve optimize edilmiş bir şekilde IBM Quantum sistemlerine göndermesine olanak tanır. Ayrıca, error mitigation gibi ileri düzey tekniklerin uygulanmasını kolaylaştırır ve kuantum deneylerinden daha doğru sonuçlar elde edilmesine yardımcı olur. Özellikle varyasyonel algoritmalar gibi hibrit kuantum-klasik algoritmalar için önemli avantajlar sunar.

Umarım açıklayıcı ve güzel bir anlatı olmuştur. Sıradaki partta Qiskit ortamının kurulumu, kuantum devre tasarımı ve simülasyonu, kuantum algoritmaları ve kuantum hesaplamalar yapacağız.

Görüşmek üzere dostlar!

Source: https://giphy.com/gifs/orbit-atom-artificial-UtVjgQuWRwyIUuZA2Y

--

--

Alican Kiraz
Alican Kiraz

Written by Alican Kiraz

Head of Cyber Defense Center @Trendyol | CSIE | CSAE | CCISO | CASP+ | OSCP | eCIR | CPENT | eWPTXv2 | eCDFP | eCTHPv2 | OSWP | CEH Master | Pentest+ | CySA+

No responses yet