Yazılımcılara Kuantum Bilgisayar Rehberi

Kuantum bilgisayarlar bugün internette kullanılan bütün şifreleri kıracak ve gözetlenmesi imkansız olan kuantum interneti kuracak. Google’a bağlı D-Wave şirketi de kendi geliştirdiği Vezüv serisinin gerçek kuantum bilgisayar olduğunu söylüyor. Peki kuantum bilgisayarları nasıl programlayacak ve onlarla hangi problemleri daha hızlı çözeceksiniz? Birlikte görelim.

Kuantum bilgisayar nasıl programlanır?

Öncelikle Bilgi ve Bahçeşehir üniversitesindeki öğrencilerime, “Kodlama yetmez. Aynı zamanda algoritmalı; yani yaratıcı düşünmeyi öğrenin” diyorum. Yoksa robotlar yüzünden işsiz kalır veya en iyi ihtimalle teknoloji dünyasının ara elemanı olarak sınırlı bir kariyer yaparsınız.

Öte yandan, devletler de bugün internette kullanılan bütün şifreleri kırarak herkesi gözetlemek ve istihbarat dünyasının hakimi olmak istiyorlar. Öyle ki ilk kullanışlı kuantum bilgisayarı geliştiren ülke bilgi ekonomisinin de kralı olacak. Nitekim Çin geçen yıl uzaya kuantum internet uydusu göndererek rakiplerinin önüne geçti.

Sonuçta kuantum fiziğinin dolanıklık özelliğiyle çalışan kuantum bilgisayarları hacklemek ve içindeki şifreleri kırmak bildiğimiz kadarıyla imkansız. Elbette kuantum interneti gözetlemek de imkansız. Öyleyse kuantum bilgisayarları nasıl programlayacağınızı görelim ve bunu öğrenmek için de D-Wave şirketinin geliştirdiği Vezüv 2 kuantum bilgisayarla başlayalım.

İlgili yazı: Gerçek Adem: ilk insan ne zaman yaşadı?

Yazılımcılar-için-kuantum-bilgisayar-rehberi

D-Wave Vezüv 2 kuantum (?) bilgisayar.

 

D-Wave sorunu

Google tarafından satın alınan D-Wave şirketi, 2012 yılından beri Vezüv serisi kuantum bilgisayarlar geliştirdiğini öne sürüyor. Buna karşın fizikçiler, elektron halkalama denilen özel bir teknikle çalışan Vezüv serisinin aslında kuantum bilgisayar olmadığını; D-Wave’in en iyi ihtimalle kendini kandırdığını söylüyor.

D-Wave de bu itirazları gidermek için son 4 yıldır sadece kuantum bilgisayarlarla hızlı çözülebilecek matematik problemleri bulmaya çalışıyor. Bunları normal bilgisayar sistemlerinden daha hızlı çözerek Vezüv 2’nin kuantum bilgisayar olarak çalıştığını kanıtlamak istiyor. Nitekim son olarak doğada görülen kuantum sistemlerinin çok detaylı bir simülasyonunu yaptı.

Peki başardı mı?

Bunun için önce matematik dünyasında ne tür problemler olduğunu görelim ve bunları zorluk derecesine göre sınıflandıralım. Sonra da hangi problemlerin kuantum bilgisayarla daha hızlı çözülebileceğini görelim. Böylece kuantum bilgisayarları programlamak için gereken temel bilgilere sahip olalım.

İlgili yazı: İnternetinizi Uçuracak En İyi 10 Modem

Yazılımcılar-için-kuantum-bilgisayar-rehberi

Birlikte çözelim.

 

Zor problemlerin kısa rehberi

Bir matematik problemini çözmek ne kadar zor olabilir? Bilgisayar bilimciler yeni yazılımlar geliştirmek için işe bu sorudan başlıyor ve problemleri zorluk derecelerine ayırıyor. Bu bağlamda minimum bellek kullanarak en kısa sürede çözülen problemler, en basit problemler olarak kabul ediliyor.

Örneğin 123.456.789.001 gibi büyük bir sayıyı ele alalım. Bu sadece kendine ve 1’e bölünebilen bir asal sayı mıdır? Nitekim Bitcoin cüzdanları, akıllı kontratlar ve hashler söz konusu olduğunda şifrelemeyi asal sayılarla yapıyoruz. Hesabınızı hacklemek isteyenler de şifrenizi kırıp bu asal sayıları ele geçirmeye çalışıyor. Bu bağlamda 123.456.789.001 bir asal sayı değildir.

Böl ve yönet

Bu tür problemleri çözmek için problemi algoritmalarla küçük parçalara ayırıyoruz. Örneğin bu sayının asal çarpanları nedir? Mesela 18 sayısını 2 x 33 olarak yazabiliriz. Ancak bu şimdilik sadece teorik açıdan mümkün; çünkü büyük sayıları hızla asal sayılarına ayıracak bir algoritma yok.

İlgili yazı: Düz Dünya Teorisini Çürüten 12 Kanıt

Yazılımcılar-için-kuantum-bilgisayar-rehberi

IBM 50 qubit kuantum bilgisayarın boru şekilli derin dondurucu ünitesi.

 

Daha doğrusu var da

Biz kullanamıyoruz. Bunun nedeni elinizdeki laptop veya NSA’deki süper bilgisayarlar gibi sistemlerin seri çalışması; yani bunlar problemleri yukarıdaki gibi parçalarına ayırdıktan sonra sırayla çözüyorlar. Oysa kuantum bilgisayarlar tümüyle paralel çalışıyor ve problemi 1 milyon parçaya da ayırsalar, bütün parçaları aynı anda çözüyorlar.

Kısacası kuantum bilgisayarlar işlemcileri daha hızlı olduğu için değil, kuantum fiziğinin özellikleri sayesinde daha hızlı işlem yapabildikleri için daha hızlı çalışıyorlar! Demek ki kuantum bilgisayarlar sadece bazı problemleri klasik bilgisayarlardan daha hızlı çözebilirler.

Öte yandan, klasik bilgisayarların kuantum bilgisayarlardan daha hızlı çözdüğü problemler de var. Bu durumda kuantum bilgisayarları, insanlığın başlıca sorunlarını çözecek sihirli joker kartı olarak görmememiz gerekiyor.

İlgili yazı: Kodlama İçin En Gerekli 16 Programlama Dili

Yazılımcılar-için-kuantum-bilgisayar-rehberi

Optik kuantum bilgisayarlar gelince kuantum bilgisayarlar cebe sığacak. Onların öncüsü ise lazer hologramları.

 

Kuantum bilgisayar hangi alanda güçlü?

Bir kere internette bugün kullanılan bütün standart şifreleri kıracak ve gözetlenemeyen internet kuracaklar. Dahası kuantum bilgisayarları hacklemek imkansız olacak ve kuantum şifreleri kırmak da pratik olmayacak.

Şimdi blockchain, kriptoparalar ve diğer dijital dağıtık hesap defterlerini kuantum bilgisayarla şifrelediğinizi düşünün. Bu da özgür internet meshnet teknolojisini destekleyen P2P internet bağlantısıyla gerçekleşsin.

Öyle ki sunucu ve istemci kullanmayan dağıtık kripto-internetimiz (kriptonet) olsun. Dahası bu sistem kuantum yapay zeka ile çalışan bir kuantum blockchain ile işletilsin. İşte 20 yıl içinde gittiğimiz dünya bu. Kodlama seven herkesin, bütün yazılımcılar ve bilgisayar programcılarının bu dünyaya hazırlanması gerekiyor.

Matematikte 7 zorluk derecesi

Matematikte 7 zorluk derecesini polinom süresi, deterministik olmayan polinom süresi, polinom hiyerarşisi, polinom uzayı, sınırlı hata kuantum polinom süresi, üstel süre ve sınırlı hata olasılıklı polinom süresi olarak sıralayabiliriz. Bunları kısaca görelim:

İlgili yazı: Dünyanın Derinliklerinde Yeraltı Okyanusu Bulundu

Yazılımcılar-için-kuantum-bilgisayar-rehberi

Zorluk derecesine göre matematik problemi kümeleri.

 

1. Polinom süresi (P)

Kısa açıklaması: Klasik bilgisayarların kolayca çözebileceği bütün problemler.

Uzun açıklaması: P algoritmaları nc süresinde durup doğru cevabı vermelidir. Burada n ifadesi girdi uzunluğu ve c ifadesi de matematik sabitidir.

Tipik problemler:

  • Hangi sayılar asal sayıdır?
  • İki nokta arasındaki en kısa rota hangisidir (rota optimizasyonu)?

Matematikçiler neyi öğrenmek istiyor: P kategorisi, aşağıda göreceğimiz NP kategorisiyle aynı şey midir? Aynı şey ise bilgisayar bilimleri kitaplarını sıfırdan yazmamız gerekecek. Ayrıca internetteki şifrelerin büyük kısmını klasik bilgisayarlar hızla kırabilecek (P’nin NP’ye eşit olmadığını düşünüyoruz).

İlgili yazı: Mobil İnternette Video İzleme Rehberi

Yazılımcılar-için-kuantum-bilgisayar-rehberi

Kuantum bilgisayarlar kuantum fiziği yasalarına göre çalışıyor. En basitinden parçacıklar hem dalga hem tanecik özelliği gösteriyor. Bütün bunlar kuantum alan kuramında tanımlanıyor.

 

2. Deterministik olmayan polinom süresi (NP)

Kısa açıklaması: İlk çözüm verildikten sonra klasik bilgisayarların hızla çözebileceği bütün problemler.

Uzun açıklaması: Bu tür problem serilerinin bir çözümü vardır. Örneğin en basit problemi çözer ve kısa kanıtıyla ispat edip sağlamasını yaparsanız bu yöntemi kullanarak aynı kategorideki diğer problemleri de çözebilirsiniz.

Mesela girdi X komut satırı ve cevap de evet ise kısa kanıtımız Y komut satırı olacaktır. Y komut satırına kısayol tanığı da diyebilirsiniz. Bütün NP problemlerinin kısayol tanıkları vardır.

İlgili yazı: Işınla Beni Scotty! >> İnsan ışınlama ne zaman?

Yazılımcılar-için-kuantum-bilgisayar-rehberi

 

Tipik problemler

Klik problemi: Kartezyen düzlemde (x-y düzleminde) noktalar olduğunu düşünün. Bunlar Facebook kullanıcıları olsun ve birbirini arkadaş olarak ekleyen kullanıcıları da düz çizgiyle birleştirin. Bu klikte kaç kişi var? 20, 50, 100? Bilgisayar işte bunu hesaplayacak. Burada klik dediğimiz şey, bir Facebook grubuna üye olan herkesle arkadaş olan kullanıcı sayısı olabilir.

Bunun cevabına tüm NP problemi diyoruz; çünkü bu cevap sorunun en geniş kapsamlı ve kompleks cevabı. Soruyu bir Facebook grubundaki herkesle arkadaş olan dört kişiyi bul diye sormuyoruz. Bunun yerine, herkesle arkadaş olan maksimum kişi sayısını bul diyoruz. Bu bir kişi de olabilir bin kişi de.

Gezgin satıcı problemi: Türkiye’deki bütün şehirleri ziyaret etmek isteyen bir satıcımız olsun. Peki bir satıcı tüm şehirlere en kısa yoldan ulaşmak için en az kaç km yol kat etmelidir? Bu soru MNG Kargo’dan meslektaşım Serhat Kut’un ekibini de yoruyor; çünkü tipik bir rota optimizasyonu problemi.

Matematikçiler neyi öğrenmek istiyor: P = NP midir? Bildiğimiz kadarıyla hayır; ama kesin cevabını bilmiyoruz. Kuantum bilgisayarlarla bu konu üzerinde çalışarak yanıtını bulmanızı isteriz.

İlgili yazı: İnternette teknik takip ve gözetimi önleme rehberi

Yazılımcılar-için-kuantum-bilgisayar-rehberi

Kartezyen düzlemde klik problemi. Bir Facebook grubundaki herkesle arkadaş olan kişilerin sayısı.

 

3. Polinom Hiyerarşisi (PH)

Kısa açıklaması: PH, NP’nin genellemesidir. NP ile başlayıp gittikçe zorlaştırabileceğiniz bütün problemleri kapsar.

Uzun açıklaması: PH, problemleri daha kompleks hale getiren alternatif nicelikleri içeriyor. Her bir X için, her bir Z’de W karşılığıyla R olayının gerçekleştiği bir Y var mıdır? Bu soruyu çözmek için 100 polinomlu bir denklem gerekiyorsa bu polinomları tren vagonları gibi sırayla; ama tersten ve tek tek çözerek nihai sonuca ulaşmanız gerekir.

Tipik problemler: 51 değil, ama özellikle 50 kişilik bir Facebook kliği (arkadaş grubu) var mı?

Matematikçiler neyi öğrenmek istiyor: Henüz PH kategorisinin P kategorisinden farklı olup olmadığını bilmiyoruz. Bu da P, NP’ye eşit midir problemiyle eşdeğer bir problem. Sonuçta P = NP ise P = PH olur.

İlgili yazı: Hayalet Parçacık Nötrino İle Nasıl Kuasar Keşfettik?

Yazılımcılar-için-kuantum-bilgisayar-rehberi

 

4. Polinom Uzayı (PSPACE)

Kısa açıklaması: PSPACE makul bir bellekle çözülebilecek bütün matematik problemlerini kapsar.

Uzun açıklaması: Yeterli belleğiniz varsa bütün PSPACE problemlerini çözebilirsiniz. Bunları çözmek 1 gün de sürse 1 trilyon yıl da sürse hepsi aynı şey. Ancak, bir problemi çözmek sonsuz bellek gerektiriyorsa o problem çözümsüzdür. Matematikçiler şunu kanıtladılar: PSPACE kümesi PH’yi, PH kümesi NP’yi ve NP kümesi de P’yi içerir.

Tipik problemler: P, NP ve PSPACE kümesindeki bütün problemler.

Matematikçiler neyi öğrenmek istiyor: PSPACE gerçekten P’den farklı mıdır?

İlgili yazı: 18 Ayda Nasıl 24 Kilo Verdim?

Yazılımcılar-için-kuantum-bilgisayar-rehberi

 

5. Sınırlı Hata Kuantum Polinom Süresi (BQP)

Kısa açıklaması: Sadece kuantum bilgisayarların kolayca çözebileceği bütün problemler.

Uzun açıklaması: Polinom süresinde kuantum bilgisayar tarafından çözülebilecek bütün problemler.

Tipik problemler: Tam sayılardaki asal çarpanların belirlenmesi.

Matematikçiler neyi öğrenmek istiyor: Bilgisayar bilimciler BQP’nin PSPACE kümesinde kapsandığını ve P kümesini de içerdiğini kanıtladılar. Ancak, BQP’nin NP kümesine dahil olup olmadığını bilmiyorlar. Buna karşın iki kümeyi birbiriyle karşılaştıramayacaklarını düşünüyorlar. Öyle ki sadece klasik bilgisayarların hızlı çözebileceği NP problemleri olduğu gibi, sadece kuantum bilgisayarların hızlı çözebileceği BQP problemleri de olmalı.

İlgili yazı: Kuantum ışınlama ve ışıktan hızlı iletişim

Yazılımcılar-için-kuantum-bilgisayar-rehberi

 

6. Üstel Süre (EXPTIME)

Kısa açıklaması: Klasik bilgisayar tarafından üstel sürede, yani zorluk derecesine göre katlanarak artan sürede çözülebilecek bütün problemler.

Uzun açıklaması: EXPTIME yukarıda geçen bütün kümeleri kapsıyor. Ayrıca P kümesine eşit olmadığını, ama onu içerdiğini de biliyoruz. EXPTIME kümesinin P’ye eşit olmadığını kanıtladık.

Tipik problemler: Satranç, dama ve Go gibi oyunların genellemeleri. Google’ın Alpha Go derin öğrenme yapay zeka yazılımının, dünya ve olimpiyat Go şampiyonlarını yendiğini hatırlayın.

Matematikçiler neyi öğrenmek istiyor: PSPACE kümesinin EXPTIME kümesini içermediğini bilmek istiyoruz. EXPTIME kümesindeki bazı problemlerin PSPACE kümesine dahil olmadığını düşünüyoruz; çünkü bazı EXPTIME problemlerini çözmek için çok fazla bellek gerekiyor. Ancak, EXPTIME ile P kümesinin farklı problemler içerdiğini de biliyoruz.

İlgili yazı: Yerçekimi Kuantum Salınımlarıyla mı Oluşuyor?

Yazılımcılar-için-kuantum-bilgisayar-rehberi

Kuantum bilgisayar çipi.

 

7. Sınırlı Hata Olasılıklı Polinom Süresi (BPP)

Kısa açıklaması: Rastlantısallık öğesi içeren algoritmalarla hızla çözülebilecek bütün problemler.

Uzun açıklaması: BPP aslında P kümesiyle aynı şey. Ancak, BPP algoritmaları rastlantısal çözüm (karar verme, karar ağacı) elemanları da içeriyor. Daha net bir ifadeyle bu kümedeki soruları yüzde 100 kesinlikle çözmeye gerek yok veya yüzde 100 çözmek imkansız. Yüzde 99,9 kesinlikle çözmek; yani algoritmaların 1’e yakın olasılıkla cevabı vermesi yeterli.

Tipik problemler: Diyelim ki size çok sayıda değişken içeren çok sayıda polinomdan oluşan bir problem verdiler. Peki her iki problem de aynı sayıda polinomdan mı oluşuyor? Problemi çözmek için sonsuz süreniz olmadığına göre, yüzde 99 olasılıkla evet veya hayır gibi bir cevap vereceksiniz. Yoksa uzayda sicim teorisi uyarınca 10500 evren de olsa bu evrenlerdeki atomların toplam sayısı, kesin cevabı bulmanıza yetmez. 😉

İlgili yazı: Google KuantumBilgisayar Yarışında Yeni Çiple Öne Geçti

Yazılımcılar-için-kuantum-bilgisayar-rehberi

Kuantum bilgisayarlar tıpkı Interstellar filminde olduğu gibi evrenin sırlarını çözmemize yardımcı olabilir. Resimde solucandeliği ve kara delik fizikçisi Kip Thorne, aktrise matematik problemlerini çözmeyi öğretiyor.

 

Matematikçiler neyi öğrenmek istiyor

BPP kümesi P’ye eşit midir? Bu doğruysa bütün rastlantısal algoritmaları klasik fizikteki deterministik algoritmalara, en azından kaotik determinist algoritmalara dönüştürebiliriz.

Bu da kuantum fiziği açısından devrim olur; çünkü Bohm’un gizli değişkenlerini çürüten John Stuart Bell’in ünlü sözü de doğru çıkar: Yerel gizli değişkenler yoktur; ama Bohm, yerel olmayan gizli değişkenler olduğu konusunda haklı olabilir (elektron zayıf hiper yük etkileşimi gizli değişken mi konusunu ayrıca yazacağım).

Bu konuda daha fazla bilgi edinmek için gereken anahtar kelimeler: Kuantum tünelleme ile ışıktan hızlı iletişim mümkün mü, Solucandelikleri ile ışıktan hızlı yolculuk mümkün mü, kuantum ışınlama dolanıklık üzerinden yerel olmayan gizli değişkenler kullanıyor mu?

Merak etmeyin. Sonbahara kadar bütün bunları ayrı yazılarda, son derece basit ve anlaşılır bir şekilde anlatacağım. Ancak, gereğinden fazla basitleştirip konuyu yanlış anlamanıza izin vermek de istemiyorum. Öyleyse konuyu toparlayalım ve kuantum bilgisayarların geleceğine göz atalım.

İlgili yazı: Kodlama İçin En Gerekli 16 Programlama Dili

Yazılımcılar-için-kuantum-bilgisayar-rehberi

IBM kuantum bilgisayar devreleri: Soğutma sisteminin dışındaki çıplak hali.

 

Kuantum dünyasının geleceği

Artık kuantum bilgisayarları programlamak için gereken en temel bilgiye sahipsiniz. Şimdi tek yapmanız gereken biraz matematik ve kodlama öğrenmek. Ancak, konuya daha iyi hazırlanmak için kuantum bilgisayarlar nasıl çalışıyor, kuantum internet nedir ve Çin’in kuantum internet uydusu istihbarat sektörü için ne anlama geliyor yazılarını da okumanızı öneririm.

Peki optik kuantum bilgisayarlar bir gün fotonik bilgisayarlara dönüşecek mi ve bu arada insan beyninin de bir tür organik kuantum bilgisayar olduğu anlaşılacak mı? Bütün bunlar heyecan verici sorular; ama çok daha fazlası var:

Örneğin, Fizik Yasaları Bizden Farklı Olan En Yakın Evren Ne Kadar Uzakta? diye sorabilir ve kuantum bilgisayarları kullanarak sicim teorisine göre var olan 10500 evren içinde, insan hayatına elverişli kaç tane evren olduğunu hesaplamaya çalışabilirsiniz.

Her durumda yarın yeni bir dijital dönüşüm ve endüstri 4.0 paneli için Trabzon’a gidiyorum; ama yazısız kalmamanız için Perşembenin konusunu da şimdiden yazıyorum. Yeni yazıda görüşmek üzere keyifli dinlenceler dilerim.

Evrensel kuantum bilgisayar geliyor


1Theory of Computation: Formal Languages, Automata, and Complexity
2Computability: A Mathematical Sketchbook

2 Comments

Add a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir