Yazar: Emir Gül
Editör: Bilge Dal
Kuantum bilgisayarları programlamak kolaylaşıyor: ETH Zurich’teki bilgisayar bilimciler, kuantum bilgisayarları klasik bilgisayalar kadar basit ve güvenli bir şekilde programlamak için kullanılabilecek ilk programlama dilini tasarlardılar. ETH’nin ‘Güvenlik, Emniyetli ve Akıllı Sistemler’ laboratuvarındaki bilgisayar bilimci profesör Martin Vechev “Kuantum bilgisayarları programlayabilmek, araştırmacılar için hala bir zorluk. Bu yüzden, ETH Zurich’in kuantum bilgisayarların ve programlama dillerinin gelişimi üzerindeki geleneğini devam ettirebileceğimiz için heyecanlıyım.”
Ayrıca şunları eklemekte: “Kuantum programlama dilimiz Silq, kuantum bilgisayarlarının potansiyelini varolan dillerden daha iyi bir şekilde uygulayabilmemize olanak sağlamakta. Çünkü, yazılan kodlar daha kompakt, hızlı, daha sezgisel ve programcılar tarafından daha kolay anlaşılır.”
Vechev, Silq’i, alandaki uzmanlara PLDI 2020’de konferansında duyurdu. Ayrıca Vechev, projenin benimsenmesi ve daha kolay geliştirilmesi için Silq’i kendi web sitesinde yayınladı.
Kuantum bilişime olan ilgi son on yıldır artıyor. Çünkü, kuantum fizik prensiplerine göre programlanan bu bilgisayarların potansiyeli çok büyük. Bugün, çoğu araştırmacı bir gün bu bilgisayarların belirli problemleri, klasik olanlardan daha hızlı bir şekilde çözeceğine inanıyor çünkü kuantum bilgisayarlar, hesaplama yapmak için, zaman içinde belirli bir noktada çeşitli bilgi bitlerinin çakıştığı dolaşmış kuantum durumları kullanıyorlar. Bu da gelecekte, klasik bilgisayarların makul zaman aralıklarında çözemedikleri problemleri kuantum bilgisayarların etkili ve hızlı bir şekilde çözeceği anlamına geliyor.
2019 yazının sonlarında, bir kuantum bilgisayar, bir problemi -spesifik olarak bir tane olsa da- en hızlı klasik bilgisayardan daha hızlı bir şekilde çözmeyi başardı.
‘Hesaplamalı Stratejiler (Computational Strategies)’ gibi bazı belirli kuantum algoritmaların da klasik olanlardan (tabi ki kuantum bilgisayarların potansiyelini suistimal edecek türden olmayanlar) daha hızlı. Bugüne kadar, bu algoritmalar, günümüzde varolan kuantum donanımlarına uygulanamamakta çünkü kuantum bilgisayarlar şu anda hata yapmaya çok müsait.
Programlamacıların Niyetini İfade Etmek
Kuantum bilişimin potansiyelinden yararlanmak yalnızca güncel teknolojiyi gerektirmiyor, ayrıca kuantum algoritmaları tanımlayabilmek için kuantum programlama dili gerekiyor. Prensip olarak, bir algoritma, problemleri çözmek için bir “tariftir”. Bir programlama dili algoritmayı tanımlar ve programlama dili üzerine yazılan algoritma bilgisayarın anlayabileceği birtakım yönergeye dönüşür, bilgisayar da gerekli hesaplamaları gerçekleştirir.
Bugün, kuantum programlama dilleri donanımlarına sıkı sıkıya bağlı. Diğer bir deyişle, bu programlama dilleri sistemde bulunan ana devrenin davranışını tam olarak tanımlamakta. Programlamacılar için, bu “donanım tanım dilleri” hata yapmaya çok açık ve hantal. Çünkü bireysel programlama talimatları aşırı detaylı olmak zorunda; kuantum programlama algoritmalarını uygulamak için bu önemsiz ayrıntılar açıkça tanımlanmalıdır.
Burası Vechev ve grubunun Silq’in gelişimiyle devreye girdiği nokta. Benjamin Bichsel (Vechev’in grubunda Silq’in geliştirilmesini denetleyen bir doktora öğrencisi) “Silq, donanımın işlevselliği ve yapısı etrafında tasarlanmamış ilk kuantum programlama dilidir. Programlamacıların bir problem çözmek istedikleri zaman bilgisayar mimarisi ve uygulamasına dair her detayı anlamalarına gerek olmadığını düşünen bir zihniyet ile ön plandadır.” diyor.
Bilgisayar bilimciler, donanımdan -genel anlamda- soyutlanmış programlama dillerini yüksek-seviye programlama dili olarak tanımlar. Silq de kuantum bilgisayarlar için geliştirilen ilk yüksek-seviye programlama dili.
Otomatik Hesaplardan Kaynaklanan Hataları Kaldırma
Silq’in, kuantum programlama dillerine getirdiği en büyük yenilik ve basitlik, kuantum programlama camiasını rahatsız eden bir problemi çözmek, otomatik hesaplamalardan kaynaklanan hatalar.
Hafızayı hafifletmek için, klasik bilgisayarlar hesaplamalar sonucu oluşan hataları otomatik olarak siler. Bilgisayar bilimciler bunu “çöp toplama” olarak tanımlar, gereksiz değerler atılır.
Kuantum bilgisayarların durumunda ise bu hata payları kuantum dolaşıklığına göre yanıltıcıdır; İlk hesaplanan değerler sonrakilerle etkileşime geçebilir, doğru hesaplamaya da dahil edilebilir. Bu nedenle, kuantum bilgisayarlarda bu tarz geçici değerleri temizlemek için daha gelişmiş bir teknik gerekmektedir.
Bichsel, “Silq, ihtiyaç duyulmayan değerleri otomatik olarak tanımlayabilen ve silen ilk kuantum programlama dili.” demekte.
Bichsel ve Vechev’in içinde bulunduğu takım, bunu, klasik programlama dilleri hakkındaki bilgilerini implemente ederek başardı: Otomatik silme yöntemi, herhangi bir özel kuantum işlemi içermeyen bir yaklaşım sergiler, klasik programlama mantığı kullanır. Vechev ve Bichsel’in söylediğine göre “qfree -> quantum free”dir.
“Silq, kuantum bilgisayar programlamanın optimize edilmesi açısından büyük bir buluştur ama geliştirmenin son evresi değildir.” der Vechev. Hala bir sürü sonuçlanmamış soru ve sorun bulunmakta kuantum programlama adına ancak, Silq anlaşılması kolay bir dil olduğu için, Vechev ve Bichsel, Silq’in hem programlama dillerinin daha da geliştirilmesine hem de yeni kuantum algoritmalarının geliştirilmesine teşvik edeceğini umuyor.
Bichsel, bu konu hakkında, “Dört kişilik takımımız, iki yıldan sonra, dil tasarımı, kuantum fiziği ve uygulamaları alanındaki uzmanlıkların kombinasyonu sayesinde bu buluşu yaptı. Eğer diğer araştırma ve geliştirme takımları yeniliklerimizi kucaklasaydı, muhteşem bir başarıyla sonuçlanırdı.” diyor.