Örnek Kuantum Programlar


Merhabalar,

Kuantum Programlama için Dwave ve Python’u tercih ettim. Bunun sebebi halka açık bilinen en gelişmiş kuantum süper bilgisayar hizmetini Dwave’in sağlaması ve kısıtlı bir süre için de olsa anlık işleme ücretsiz izin vermesi. Google da DWave’le işbirliği yapıyor. Bu alanda bayrak DWave’de…

Google Dwave ile işbirliği yaparak Quadrant.ai adında bir yapay zeka geliştiriyordu, basın duyuruları olmasına rağmen proje yayından kaldırılmış. Projenin gizli olarak devam ediyor olması muhtemeldir. Tabi bilemiyorum şu an.

Kuantum bilişimde geri kalmamak için Dwave’in demo kuantum programlarını incelemeye karar verdim. Tefrika (ikilik) sistemleri terketmeye başlamanın zamanı geliyor. Tefrika sistemler yakın gelecekte insanlık için taş devri olarak değerlendirilecektir. Çünkü ikilik sistem ilkeldir. Madde kuantum mekanikleri ile çalışmaktadır. İnsanlığın gelişiminin ışık hızında yolculuğu başarıncaya kadar devam edeceğini tahmin ediyorum. İnanıyorum ki ışık yolculuğunda başarıp yıldızların dökülüyor gibi görünürken güneş sistemini terkedeceğiz bir gün. Çünkü güneşin bir ömrü var, bu gezegenden gitmemiz gerekiyor.

Neyse konumuza geri dönelim.

DWave’in kuantum programlarını inceleme yazısı bu. Tüm demoları https://github.com/dwavesystems/demos/ adresinde bulabilirsiniz. Bakalım neler var:

  1. Job Scheduling Demo
    Kuantum bilgisayar kullanarak makinalar (kişiler) arasında optimum görev dağılımını yapmayı sağlıyor.
  2. Qboost
    İkilik sınıflandırma probleminin Adyabatik kuantum algoritması ile çözümlenmesi. Yapay zeka projelerine ışık tutabilir gibi geldi.
  3. Sudoku
    Dwave Ocean kullanarak Sudoku çözümü. Sanırım bu program Kuantum Programlama eğitimlerinde kullanılabilecek bir materyal olarak değerlendirilebilir.

 

Dwave’in GitHub hesabında çeşitli algoritmalar ve kuantum örnek programlarını deneyip inceleyerek kuantum düşüncesine kendinizi alıştırabilirsiniz. Ben burada bir kaç tanesini yazdım ancak çok daha fazla demo bulunuyor.

Mutlu Kodlamalar 🙂

 

Kuantum Programlamaya Giriş


Merhabalar,

Bugün önemli bir kilometre taşını geride bıraktım. 2000 qubitlik Dwave Kuantum Süper Bilgisayarı üzerinde ilk işlemlerimi yaptım.

Peki Nasıl?

Kuantum programlama yapmak istiyorsanız öngereksinimler ve seçenekler şunlardır:

  1. Microsoft Q# ile sanal kuantum işlemleri yapmak
  2. Python ve Dwave SDK ile sanal ve gerçek kuantum işlemleri yapmak
  3. IBM çözümleri

IBM kuantum bilgisayarlarına gelecekte bakarız. Şu an için dünyada Dwave firması kuantum teknolojisinde liderdir. Bundan dolayı Google Dwave’le işbirliği yapmaktadır.

IBM kuantum bilgisayarı 50 qubitlerdeyken DWave 2000 qubitlik kuantum bilgisayar geliştirmeyi başarmış, sıradaki hedefleri ise bunu ikiye katlamaktır. Google bu nedenle Dwave ile işbirliği yaparak daha şimdiden geleceğin yapay zeka çalışmalarını yapmakta ayrıca mevcut ikilik sistemlerdeki güvenlik algoritmalarını kırmaya çalışmaktadır.

Kuantum bilgisayar sayesinde Google, RSA, Bitcoin’de kullanılan şifrelemeler gibi bir çok kırılması zor şifreyi kırabilecek güce ulaşmıştır.

Sıkıntının farkına varan ABD 2022 yılında Kuantum bilgisayarlara dirençli post-kuantum güvenlik algoritmalarını piyasaya sürmeyi planlamaktadır. Umarız bu tarihi daha öne çekerler. Çünkü Google Bitcoin’i kırmak üzere, bunun anlamı Kişisel Veriler, e-Devlet, Borsalar ve Bankalar bir kaç yıl güvende olmayabilir. Geçici çözüm olarak Kuantum Bilgisayarlara dirençli çözümlere geçilmelidir. Ama sanırım asıl çözüm post-kuantum güvenlik algoritmalarını bir an önce kullanmaya başlamaktır.

Kuşkusuz Kuantum Bilişim, ikilik sistemin evrileceği yeni bir sistemdir. O yüzden ülkemizde Kuantum Bilişim alanında projeler geliştirilmeye başlanması gerekmektedir.

DWave ve IBM kuantum bilgisayarlarına kiralama yöntemiyle ve paranız varsa satın alma yöntemiyle ulaşabilirsiniz. Kuantum bilgisayarların 10 milyon dolar fiyatı olduğunu ve aylık 1 saatlik kullanımının 2000$/ay’dan fiyatlardan başladığını hatırlatalım.

DWave havalimanı randevusu, yapay zeka, şifre kırma, sosyal medya analizleri gibi 200+ uygulamanın kiralama yönetimiyle geliştirildiğini duyurdu.

Ben bu gelişmelere adapte olarak ilk kuantum programımı hazır kodlardan yararlanarak test ettim. Bilgisayarınıza Python 3, Ocean ve Dwave SDK yüklemeli ve Dwave konfigürasyon dosyasını oluşturmalısınız. Konfigürasyon dosyası proje dizininde değil bilgisayarda global olarak oluşuyor. Konfigürasyon dosyasında Kuantum Bilgisayarın solver’ına bağlanmak için gerekli Token bilgisi bulunuyor. Dosyayı oluştururken Dwave panelinden aldığınız tokenı girerek oluşturuyorsunuz.

Daha sonra Visual Studio Code ile script.py dosyasını yazıp “python script.py” komutu ile kuantum programınızı çalıştırıyorsunuz.

Program varsayılan konfigürasyondaki token ile Dwave bulutuna bağlanıyor ve oradaki varsayılan solver’ı buluyor. Solver dediğimiz servis Kuantum işlem yapmamızı ve sonuç almamızı sağlıyor. İşlem geleneksel bir CPU’da değil QPU’da çalışıyor.

DWave GitHub hesabını veren kullanıcılara ayda 1 dk bedava QPU (Solver) kullanma hakkı veriyor. Ücret ödediğinizde ise süreyi artırabiliyorsunuz.

https://github.com/mdemirci01/HelloWorldQ adresinden script.py dosyasındaki kuantum programı inceleyebilirsiniz. Konfigürasyonu ve ortamı hazırlayıp bu kodu çalıştırdığınızda ve sonuç aldığınızda sonraki adımlar için hazırsınız demektir.

Bundan sonrası Kuantum Programlamayı öğrenmek. Geleneksel Python’u kullanarak kuantum solver’ından da yararlandığınız ikilik sistemle kuantum sistemle birleşik çözümler üretme fırsatı yakalıyorsunuz. Bunun anlamı Python ile backendde Kuantum Süper Bilgisayarından yararlandığınız bir web sitesi hazırlayabilirsiniz.

Mutlu kodlamalar 🙂