Öncü bilgisayar bilimcisi Edsger Dijkstra, 1972’de aldığı A.M. Turing Ödülü ve tüm bilgisayar bilimindeki en ikonik algoritmalarından birinin mucidi olarak, kesinlikle fikirleri olan bir figürdü. Örneğin, bazı programlama dilleri onun öfkesini çekiyordu: Fortran’ı “çocukça bir rahatsızlık” olarak nitelendirdi ve COBOL kullanımının zihni felç ettiğini, bu nedenle öğretiminin suç sayılması gerektiğini belirtmişti. Bilgisayarları kendi çalışmalarında kullanmanın nedenlerini açıklarken, “Tıp araştırmacıları, araştırdıkları hastalıklardan muzdarip olmak zorunda değildir” demişti.
Dijkstra’nın bu sert yorumlarıyla neredeyse dört yıl önce, Quanta’da bilgisayar bilimi üzerine yazmaya başladığımda tanıştım. Bu alan benim için yeniyken, daha önce fizik gazetecisi ve öncesinde de fizikçiydim. Kısa süre sonra, bilgisayar biliminin programlama veya kodlama ile eş anlamlı olduğunu düşünen pek çok kişi olmadığını fark ettim. Quanta’daki çalışmalarımız, teorik yönü daha az bilinen bilgisayar bilimi alanına odaklanıyordu. O zaman, Dijkstra’ya atfedilen birçok unutulmaz sözden birine rastladım: Bilgisayar bilimi, astronominin teleskoplara ne kadar ihtiyaç duyduğuna benzer şekilde, bilgisayarlara ihtiyaç duyar. Bu analoji, benim için raporlarımı teknoloji gazeteciliğinden ayırmanın etkili bir yolu oldu ve aynı zamanda yaptığım işi övmek anlamına geliyordu: Bu alan, sadece teknolojik yeniliklerden daha derin ve zamansız bir şeyle ilgili olduğunu gösteriyor.
Bu analojiyi düzenli olarak kullanmaya başladım – Quanta Podcast’inin bir bölümünde bile – ancak aynı zamanda bazı şüphelerim de vardı. Sadece eski meslektaşlarıma karşı gizli bir eleştiri miydi, yoksa bu analoji önemli bir şeyi mi kaçırıyordu?
Bu konuyu araştırmaya karar verdim. Bilgisayar bilimi gerçekten bilgisayarlarla ilgili midir? Ve eğer değilse, tam olarak neyle ilgilidir?
Uzun süredir devam eden bir tartışmaya giriyordum. Matematiksel hesaplama teorisi 1930’larda başladı. İlk genel amaçlı elektronik bilgisayarlar 1940’lerde inşa edildi. Bilgisayar bilimi, matematik ve mühendislik araştırma geleneklerinin bir araya geldiği sonraki yıllarda ayrı bir akademik disiplin olarak ortaya çıktı ve bu yeni alanın doğası hakkındaki tartışmalar hızla başladı. 1967’de önde gelen bilgisayar bilimcileri Allen Newell, Alan Perlis ve Herbert Simon, Science dergisindeki bir makalede konumlarını belirttiler. “Her yerde fenomenler varsa, o zaman bu fenomenleri tanımlamak ve açıklamak için bir bilim vardır” dediler. “Bilgisayarlar var. Bu nedenle, bilgisayar bilimi, bilgisayarların çalışmasını incelemekle ilgilidir.” Newell, Perlis ve Simon, özellikle doğal fenomenlerin incelenmesi gereken bilimlerin, yapay sistemlerin incelenmesinin neden yeterli olmadığına dair eleştirilere yanıt veriyordu. Simon, The Sciences of the Artificial adlı 1969 tarihli kitabında daha da ileri giderek, kasıtlı olarak tasarlanmış yapay sistemlere odaklanmanın bilgisayar bilimini özel kıldığını savundu.
1974’te bilgisayar bilimci Donald Knuth, farklı bir bakış açısı sundu ve bu alanın algoritmalar üzerindeki süreçlere odaklanması gerektiğini vurguladı. Bilgisayar biliminin, görevleri yerine getirmek için kullanılan adım adım prosedürler olan algoritmaların çalışmasını incelemek olduğunu tanımladı. Algoritmalar, İngilizce, Mandarin veya Arapça gibi farklı programlama dillerinde uygulanabilir. İnsanlar da matematik problemlerini çözmenin yanı sıra öğeleri sıralamak gibi görevler için algoritmalar kullanır. Bu bakış açısına göre, hesaplamanın altında yatan matematik merkezi bir rol oynar; bilgisayarlar sadece bu işlemleri gerçekleştirmek için kullanılan araçlardır. Knuth’un tanımı etkileyiciydi, ancak Simon ve meslektaşlarının sunduğu tanımın daha basit olduğunu kabul etmek zordu. Ancak ne bu tanım ne de başka herhangi bir tanım, araştırmacılar arasında evrensel olarak kabul görmedi. Neden böyle olduğu konusunda şüphelerim vardı.
Buffalo Üniversitesi’nde bilgisayar bilimi ve felsefe profesörü William Rapaport’a danıştım. O, bilgisayar biliminin birçok farklı tanımını kronikleştiren bir yazar. Rapaport, anlaşmazlığın genellikle alanın alışılmadık disiplinler arası kökenlerinden kaynaklandığını söyledi. “Bilgisayar bilimi iki ebeveyne sahiptir” dedi. “Matematiksel bir ebeveyn ve mühendislik ebeveyni var ve aslında ikisinin de birleşimidir.” Rapaport, hala bu alanda bir tür entelektüel birliğin olduğunu görüyordu – sadece matematik ve mühendisliğin birleşimi değildi. Ona göre, bilgisayar bilimi iki merkezi soruyu incelemekle ilgilidir: “Ne hesaplanabilir ve bunu nasıl hesaplarsınız?” Bu çerçeve bana yardımcı oldu.
Rapaport’un ikinci sorusu olan “Bir şeyi hesaplamak istediğinizde, bunu tam olarak nasıl yaparsınız?” teorik bilgisayar bilimcileri için matematiğin algoritmalar üzerindeki süreçleri nicelleştirmekle ilgilidir. 1930’larda araştırmacılar farklı hesaplama modelleri önerdiler ve bunların sonuçlarını incelemeye başladılar. Daha sonra, Alan Turing, 1937 tarihli bir makalesinde, sonsuz bir şeritte semboller okuyabilen ve yazabilen basit kurallara göre çalışan varsayımsal makineler üzerine kurulu bir model geliştirdi. Turing ve diğerleri, bu son derece etkili “Turing makinesi” modelinin diğer araştırmacıların önerdiği modellere matematiksel olarak eşdeğer olduğunu kanıtladılar. Aniden, araştırmacılar birkaç farklı tanım yerine, tek ve evrensel bir hesaplama teorisine sahipti.
Ancak Turing’in hesaplama teorisi başlangıçta bilgisayarlarla ilgili değildi. Turing bu makalesini yazarken sadece genel amaçlı bir bilgisayara sahip olmadığı için değil, aynı zamanda gelecekteki makinelerin nasıl çalışabileceği hakkında bir anlayış geliştirmek için de motive edilmemişti. Bunun yerine, matematiksel temellerdeki merkezi bir sorunu çözmek istiyordu. Makinesinin, insan tarafından yapılan hesaplamaların zihinsel aktivitesini modellemek için bir yol olduğunu düşünüyordu.
Dahası, hesaplama teorisi bilgisayarlarla sınırlı olmayan alanlara da uygulanabilir. Araştırmacılar bu hesaplama lensini kullanarak doğal süreçleri modelleyebilir ve analiz edebilirler. Bu hesaplama yaklaşımını kullanarak fiziksel sistemlerde öngörülemeyen davranışları ortaya çıkarabilir, evrimsel dinamikleri analiz edebilir ve kuantum yerçekimi problemlerine çözüm bulmaya çalışmışlardır.

“Burada, her yerde kendini gösteren temel bir mantıksal yapı var” dedi Cambridge Üniversitesi’nde teorik bilgisayar bilimci Tom Gur. “Bu, altında yatan mantıksal kalıp neredeyse her yerde kendini gösterir.” Bu, bana Dijkstra’nın sözlerinin yerinde olduğunu gösteriyordu.
Rapaport’un ilk sorusuna cevap, Dijkstra’nın sözlerini olumlu bir şekilde değerlendirmeme yardımcı oldu. Daha sonra Rapaport’un ikinci sorusu olan “Ne hesaplanabilir?” sorusunu ele almamız gerekiyordu. Teorik bilgisayar bilimciler için cevap, algoritmaların matematiğini kullanmaktı.
1960’ların sonlarında ve 1970’lerin başlarında, araştırmacılar farklı problemlerin çözüm süresini matematiksel olarak nicelleştirmek için bir çerçeve geliştirdiler. Bu, ağlar aracılığıyla rotalar bulma ve sayıları çarpanlarına ayırma gibi çeşitli problemleri içeriyordu. Tüm bu problemler prensipte çözülebilir algoritmalara sahipti, ancak yalnızca bazıları hızlı sonuç üretebilen akıllı algoritmaları vardı. Bilinen tek algoritmaların çok yavaş olduğu durumlarda, araştırmacılar bu farklılıkların köklerini anlamaya çalıştılar. Bu, teorik bilgisayar biliminin bir alt alanı olan hesaplama karmaşıklığı teorisinin başlangıcı oldu. Bu alan, farklı problemlerin özsel zorluğunu inceleyerek modern şifreleme şemalarının temelini oluşturur.
“Matematiksel problemlerin temel bir yapısı vardır ve bu yapı onları pratik uygulamalarda ortaya çıkabilecek sorunları daha kolay veya daha zor hale getirir” dedi Santa Fe Enstitüsü’nde teorik bilgisayar bilimci Cristopher Moore. “Bu, bilgisayarınızın ne kadar hızlı olduğu veya sizin ne kadar zeki olduğunuzla ilgili bir şey değil.” Bu, bana karmaşıklığın derinliğini gösterdi.
Daha sonraki gelişmeler, teorik bilgisayar biliminin yönlerini değiştirdi. Örneğin, Gur, 1980’lerin ve 1990’ların başlarında ortaya çıkan yeni matematiksel kanıt kavramlarına dikkat çekti. Teoremi interaktif bir süreç olarak yeniden düşünerek, teorik bilgisayar bilimciler bir ifadenin doğru olup olmadığını açıklanmadan nasıl belirleyebileceğinizi ve bazı kanıtların sadece birkaç küçük parçayı kontrol ederek doğrulanabileceğini keşfettiler.
“Tamamen yeni tür sorular ortaya çıkardık” dedi Gur. “Bir şeyin doğru olduğunu söyleyebiliriz, ancak neden doğru olduğunu açıklamayız.” Bu, bana karmaşıklığın derinliğini gösterdi.
Bu, bilgisayarlar olmadan bir bilgisayar bilimi vizyonunu oluşturmamda yardımcı oldu. “Burada, temel sorular soruldu” dedi Quanta’nın danışma kurulunda yer alan teorik bilgisayar bilimci Scott Aaronson. “Ancak bu soruların sorulması için yeterli bilgiye sahip olan pek çok kişi yoktu.” Bu, bana karmaşıklığın derinliğini gösterdi.
Matti Tedre, Finlandiya’da bilgisayar bilimi ve yazar olan bir isim. O, bilgisayar biliminin disiplin kimliği hakkında bir kitap yazdı. Tedre, Dijkstra’nın sözlerinin genellikle nasıl yorumlandığını beğenmiyor. Ancak, astronomi ile yapılan karşılaştırmanın başka bir açıdan da geçerli olabileceğini söylüyor. “Dijkstra haklı, ancak teleskopların astronomiye olan ihtiyacını yanlış anlıyor” dedi. “Eğer teleskoplara sahip olmasaydık, evren hakkında hiçbir şey bilmezdik.” Bilgisayar biliminin ötesinde, bilimsel ilerlemenin nasıl gerçekleştiği konusunda da dersler çıkarabiliriz. Scott Aaronson, termodinamiğin ikinci yasasına dikkat çekti. Bu yasa, düzensizlik ölçüsü olan entropinin zamanla arttığını belirtir. “Bu, evrenin evrimi hakkında söylenebilecek en temel şeydir” dedi. “Ancak bu, sadece buhar makineleri yapıldığında düşünülmüştür.” Veya teorik bilgisayar bilimci Ryan Williams’ın dediği gibi, “Yeterince ilginç problemler pratik uygulamalarda derin teorik sorular ortaya çıkarır.”
Kaynak: Quantamagazine