29 Eylül 2017 Cuma

Bir kuantum bilgisayar nasıl programlanır? - 1

Bir kuantum bilgisayarı nasıl programlanır? Gibi çoğu soruların cevaplarını bu bilgisayarın çalışma prensibi ile ilgili sizlere bu makaleyi sunuyorum.


Bir kuantum bilgisayar nasıl programlanır? 

Kuantum bilgisayar nedir?

Programa başlamadan önce biraz geçmiş bilgilere ihtiyacımız var. Size kuantum hesaplama ile ilgili her şeyi anlatmayacağım. Bu tarz bilgisayarlarda oyunlarda neler olup bittiğini anlamaya yetecek kadar anlatacağım.

Normal bir bilgisayar, bitlere dayanır. Sadece iki olası değere sahip değişkenlerdir. Boolean cebri bağlamında onlara True ve False diyebilecek olsak da çoğu kez bunları 0 ve 1 olarak adlandırırız. Onlara ne dediğimizi önemi yok. Önemli olan, sadece iki durum var olmasıdır.

Bitlerle basit Boolean işlemleri yapabiliriz. NOT, AND ve OR gibi. Bunlar, hesaplamanın temel yapı taşlarıdır. Bunlarla bir şeyler yapabiliriz. Biraz daha karmaşık olan herhangi bir değişken (bir int veya float gibi) yalnızca bir çok bitin toplanmasıdır. Bir AND veya NOT'dan daha karmaşık herhangi bir işlem aslında sadece birçoğu birlikte sıkışmış demektir. En basit seviyede, normal bir bilgisayar budur.

Bu bilgisayarlar kuantum bitlerine veya (qubit) kubit'lere dayanır. Bunların ayrıca, 0 ve 1 diyeceğimiz iki olası değeri vardır. Fakat kuantum mekaniğinin yasaları, süperpozisyon halleri olarak adlandırdığımız diğer olasılıklara da izin verir.

Bazı anlamda, süperpozisyon halleri, 0 ve 1'in uçları arasında kısmen varolan değerlerdir. Bir kubiti, 0 ve 1 karşı kutuplara oturan bir küre olarak resimleyebiliriz. Üst üste binme durumları, yüzeydeki olası tüm noktalardır.



Bu resim, 0 ve 1'in yanı sıra birkaç önemli üst üste binme durumu belirtmektedir. Birine u3(0.5*pi,0,0) 0 denir. Kabul edersiniz ki bu isim çok yakışıklı değildir. Ancak bu makale sırasında aslında bu ismin ne anlama geldiğine göreceksiniz. Diğeri h 0, ve bu konu hakkında bir daha ki sefere daha fazla bilgi vereceğim.

Kubitler hakkında bu şekilde düşünmek onları sürekli değişkenler gibi yapar. Bir küre yüzeyindeki herhangi bir noktayı (görüntüdeki ψ gibi) kutupsal koordinatları kullanarak sadece birkaç açıyla (θ ve φ) temsil edebiliriz. Dolayısıyla, bir kubit'in sadece bir çift şamandıra olduğunu düşündürmüş olabiliriz. Bir anlamda öyle.  Ama bir başka doğru anlamda ise öyle değiller.

Önemli bir fark, hiçbir zaman bir kubit'ten bir ikili bilgi parçası çıkaramayacağımızdır. Fizik yasaları kendileri tam olarak ne yaptıklarını bulmamıza engel oluyorlar. Sübvansiyon durumunun kesin ayrıntıları için bir kubit'e soramayız. Küredeki iki zıt nokta arasından seçim yapmaya zorlayabiliriz (0 ve 1 gibi). Eğer bu iki hal başka bir şey ise, rastgele biriyle diğeri arasında seçim yapmaya karar vermek zorunda kalacaktır.

Dolayısıyla, bir kubit, bazı değişkenlerin sürekli bir değişkene ve belirli özelliklerin bazı özelliklerine sahiptir. Gerçekte öyle ya. Bu bir kuantum değişkenidir.

Nasıl programlanır?

Bu bilgisayarlar çok ilginç bir şekilde çalışan yeni bir bilgisayar türüdür. Programları daha hızlı çalıştırmak için düşünülemez sayıdaki paralel evrenleri yakarlar ve Einstein'ın bile karışık olan ilkelerini kullanırlar. Bu bilgisayarlar eski kutup transistörlerin ve günümüz bilgisayarlarının tozunu bırakacak olan büyülü mucize kutularıdır.

Zira popüler bilim makaleleri muhtemelen size bu bilgisayarlar ile ilgili bilgiler verecektir. Kuşkusuz bu yeni teknolojiyi heyecan verici hale getirme konusunda da başarılılar.

Ama aynı zamanda kuantum hesaplamayı sadece en zeki bilim adamlarına emanet edilen gizemli bir sanat gibi görülebilir hale getirebilirler. Ayrıca bu bilgisayar ile daha geniş programlama sadece kendilerini ilgilendiren bir konu değil!

Ayrıca bu bilgisayarları kullanmanın sadece en zeki bilim adamlarına emanet etmeyi de hiç doğru olmadığını düşünüyorum. IBM ve Google gibi şirketler aslında kuantum bilgisayarı yaparken, şimdi kuantum programlama başlama zamanı da gelmiş oluyor.

Başta fantezi bir şey yapmak zorunda değilsiniz. Çoğumuzun normal programlama yolculuğumuza başlamasıyla birlikte kuantum programlamaya yolculuğunuza da başlayabilirsiniz. Örnek basit oyunlar yaparak.

Endişelenmeyin, kuantum bilgisayarınızın olması gerekli değil. Basit kuantum programları normal bir bilgisayarda kolayca simüle edilebilir. IBM'in Kuantum Deneyimi sayesinde, gerçek IBM'e ait cihat üzerinde biraz zaman da geçirebilirsiniz.

Burada sizlere, IBM'in kuantum API'sini kullanarak yapılan bazı basit programları ve oyunları anlatacağım. Her biri, temel oyun mekaniklerini uygulamak için kullanılan basit kuantum süreçleri ile kendi başına bir Battleship versiyonu olacaktır.

Bu  bilgisayar için yapılan ilk oyunlardandır. Size oyunun arkasındaki kodun detaylarını göstereceğim, böylece umarım siz de bu programlama ile deney yapmaya başlayabilirsiniz.

Bir sonraki makalemde bu bilgisayarlarda bulunan kubitlerle ne yapacağız konusunu ve bazı örnek kodları paylaşacağım.

Daha önceki Yapay Zeka Oyunları - 6. bölümü için tıklayın.

Hiç yorum yok:

Yorum Gönder