Bilgisayarların Kehanet Duvarı: Turing’in ‘Biter mi Bitmez mi?’ Laneti

Bir program yazdığınızı düşünün. Düğmeye basıyorsunuz ve makine çalışmaya başlıyor. Ekranda imleç yanıp sönüyor. Kahveniz bitiyor, gün kararıyor, sabrınız çatlıyor. Soru basit gibi görünür: Bu program bir gün duracak mı, yoksa sonsuza kadar dönüp duran dijital bir hamster tekerleğine mi mahkûm? İşte Alan Turing’in meşhur Durma Problemi, yani Halting Problem, tam bu sorunun kalbine hançer gibi saplanır: Her programın, her girdide durup durmayacağını önceden söyleyen genel bir algoritma yazılamaz.

Bu cümle ilk bakışta karamsar bir yazılımcı atasözü gibi gelebilir. “Tabii canım, bazı kodlar karmaşıktır.” Hayır, mesele karmaşıklık değil; mesele ilkesel imkânsızlıktır. Turing bize sadece bazı işleri zor yaptığımızı değil, bazı işlerin doğası gereği yapılamayacağını gösterdi. Bilgisayar biliminin en sarsıcı dersi budur: Her şey hesaplanabilir değildir.

Hücrelerin İçindeki Sessiz Bilgisayar: DNA Gerçekten Bir Turing Makinesi mi?

Bir hücrenin içine bakmak, minyatür bir fabrikanın kapısından içeri girmek gibidir; ama bu fabrika çekiçle değil, sembollerle çalışır. DNA dediğimiz çift sarmal, çoğu zaman romantik bir yaşam şifresi olarak anlatılır. Oysa daha serinkanlı bakarsak karşımızda dört harfli bir alfabe vardır: A, T, G ve C. Bu harfler sıralanır, okunur, kopyalanır, kesilir, onarılır, bazen de yanlış yazılır. Yani biyoloji, bir noktadan sonra kimya olmaktan çıkmaz; fakat kimyanın üstünde tuhaf bir bilgi işlem katmanı belirir.

Turing makinesi, teorik bilgisayar biliminin en yalın ama en güçlü hayaletidir. Sonsuz bir şerit, bu şerit üzerinde semboller, sembolleri okuyup yazan bir kafa ve hangi durumda ne yapılacağını söyleyen kurallar. Şimdi bu soyut makineyi hücreye yaklaştıralım. DNA şerit, enzimler okuma-yazma kafası, gen düzenleyici ağlar ise geçiş kuralları gibi davranır. Ribozomlar, RNA mesajlarını okuyarak aminoasit dizileri üretir; sanki biyolojik bir derleyici, nükleotid kodunu protein programlarına çevirir.

Her Şeyi Söyleyen Makine: Turing Tamlığı Dilin Tanrısı mı, Tuzak mı?

Turing tamlığı, bilgisayar biliminin kulağa büyü gibi gelen ama aslında son derece disiplinli bir kavramıdır: Bir sistem, yeterli zaman ve bellek verildiğinde, başka herhangi bir Turing tam sistemin hesaplayabildiği her şeyi hesaplayabiliyorsa Turing tamdır. Basitçe söyleyelim: Eğer bir dilde koşul kurabiliyor, tekrar yapabiliyor ve belleği yönetebiliyorsanız, elinizde küçük bir evren simülatörü olabilir. Fakat burada ilk tuzak başlar: Her şeyi hesaplayabilmek, her şeyi kolayca, hızlıca veya anlamlı biçimde ifade edebilmek demek değildir.

Bir programlama dili düşünün. Python, JavaScript, C, hatta teorik olarak bazı çok sade oyuncak diller bile Turing tamdır. Bu, onların aynı hesaplama gücüne sahip olduğu anlamına gelir. Ama kimse ciddi bir işletim sistemi çekirdeğini beyaz tahtada tasarlanmış ezoterik bir dille yazmak istemez. Çünkü ifade gücü ile ifade konforu aynı şey değildir. Bir dilin yapabilecekleri kadar, nasıl yaptırdığı da önemlidir. Turing tamlığı, motorun teorik beygir gücüdür; direksiyonun hissini, frenlerin güvenini, yolculuğun şiirini anlatmaz.

Evrenin Gizli Hesap Makinesi: Kuantum Bilgisayarları Gerçekliği Çatlatıyor mu?

Kuantum bilgisayarları hakkında konuşurken en cazip cümle şudur: Aynı anda birden fazla ihtimali hesaplıyorlar. Kulağa evrenin perde arkasında çalışan kozmik bir kumarhane gibi gelir. Sanki makine, gerçekliğin bütün alternatif senaryolarını masaya serer, her birini dener ve en iyi sonucu cebimize koyar. Güzel bir imge, ama biraz fazla sihirli. Kuantum bilgisayarın asıl numarası, her ihtimali tek tek deneyip raporlamak değil; ihtimallerin dalga gibi birbirini güçlendirmesini ve söndürmesini ustaca kullanmaktır.

Klasik bilgisayar, bit denen küçük karar taşlarıyla çalışır: 0 ya da 1. Kuantum bilgisayar ise kubit kullanır. Kubit, ölçülmeden önce 0 ve 1 olasılıklarının bir karışımı halinde bulunabilir. Buna süperpozisyon diyoruz. Fakat dikkat: Bu, kubitin cebinde iki ayrı cevap taşıdığı anlamına gelmez. Daha çok, bir melodinin aynı anda birden fazla notanın matematiksel gerilimini taşıması gibidir. Ölçtüğünüzde tek bir nota duyarsınız; ama ölçmeden önceki yapı, hesaplamanın yönünü belirler.