Bilgisayarların Sınırı – Dr. Utku ÇULHA

1
340

Bilgisayarların Sınırı-Dr. Utku ÇULHA

Shakespeare Hamlet’e “olmak ya da olmamak, işte bütün mesele bu” diye var oluşu sorgulatan sözlerini söyletirken acaba dört yüzyıl sonrasının bilgisayarlarının çalışma prensibini de açıkladığını biliyor muydu? Gerçekten bütün karmaşıklığının altında, günümüz bilgisayarları işlemlerini bit seviyesinde; yani verileri 1 ya da 0 ile ikili sistemde temsil ederek gerçekleştiriyor. Geride kalan yarım yüzyıldan başlayarak geleceğimizi şekillendiren bilgisayarlar yaratıcıları olan insanları birçok noktada çoktan geride bıraktı. Artık kendi var oluşumuzu sorgulamaya ek olarak bir de bilgisayarların ve bunlar ile hayat bulan yapay zekâ sahibi makinelerin de var oluşlarını sorguluyoruz. Bu konuyla ilgili en çok merak edilen nokta ise gelecekte hangi aklın diğerinden üstün kalacağı. Bu, birçok bilim dalını bir araya getiren önemli bir soru. Bu soruya ilkin bilgisayarların ortaya çıkışına bakarak matematiksel bir cevap vermeye çalışabiliriz.

Temel soru

Alman Matematikçi David Hilbert 1928 yılında Bologna Uluslararası Kongresi’nde “Karar Problemi” (aslı: Entscheidungsproblem) olarak bilinen önemli sorusunu sorar:

Herhangi matematiksel bir önermenin geçerli olup olmadığına, eldeki mantık kurallarına bakarak karar verebilecek bir mekanizma var mıdır?

Hilbert bu soruyla, her koşulu inceleyerek ve önceden belirlenmiş bazı mantık kurallarına bakarak matematiksel önermelerin doğru olup olmadığına karar verebilen bir yöntem bulmayı amaçlamaktadır. Ortaya atılan önermelerin gerçekten de evrensel ve genelgeçer olduğunu ispatlayabilmek bütün matematikçiler için önemlidir ve Hilbert bir anlamda, bu işi o yüzyıla kadar kâğıt, kalem ve kendi akıllarını kullanarak yapmış matematikçilerden başka bir yöntem olup olmadığını sorgulamaktadır. İşte bilgisayarların matematik ve mantıkla olan ayrılmaz bağı bu soru ile kurulmuştur. Bu soruya cevap olarak Alan Turing ve Alonzo Church birbirlerinden bağımsız bir şekilde, “hayır” cevabını vermişlerdir. Yani eldeki mantık kurallarına bakarak her matematik önermesinin doğruluğunu ispatlamak imkânsızdır. Belki bu cevap bazı matematikçileri üzmüştür fakat Alan Turing’in bu soruya cevap vermek için yarattığı sistem olan Turing Makineleri şu anda kullandığımız bilgisayarların temelini atmıştır. Bir bakıma Alan Turing, Newton ve Leibniz’in fizik ve geometriyi daha iyi anlamak için kalkülüsü icat etmesi gibi Hilbert’in sorusuna cevap vermek için bilgisayar bilimini icat etmiştir.

Turing makineleri

Resim 1. Sonsuz uzunlukta bir bandı okuyan bir Turing makinesi örneği. Algoritmasında 7. adımda olan bu makinenin bantta okuduğu kısma 1 yazıp bandı bir adım sağa kaydırması ve algoritmasında 52. adıma geçmesi gerekiyor. Algoritmasının 52. adımında da makineye ne yapması gerektiğini söyleyecek kurallar olacak.

Alan Turing, Hilbert’in sorusuna cevaplayabilmek için oldukça basit bir taslak sistem oluşturmuştur. Turing makinesi olan bu sanal sistem, sonsuz uzunluktaki bir bant üzerine yazılmış 1 ve 0 rakamlarından oluşan girdi verilerini okumaktadır. Makinenin bu verileri okuyup ne işlem yapacağı ise bir algoritmada yazılıdır. Bu algoritma, makineye veriyi okuduktan sonra verinin olduğu yere 1 veya 0 yazmasını ve daha sonra bandı sağa veya sola kaydırmasını söyler. Bu işlem tamamlandıktan sonra algoritma içinde yazılı bir başka adıma geçilir ve o adımda yazılı kurallara göre makine çalışmaya devam eder. Algoritmanın sonunda makine çalışmayı sonlandırır ve bant üzerinde yazılmış  yeni 1 ve 0 rakamları makinenin sonuç çıktısını oluşturur.

Algoritma bir problemi çözmek için gerekli  adımların hepsine verilen isimdir. Örneğin bir tamsayının üçün katı olup olmadığını anlamak için takip etmemiz gereken adımlar bir algoritma ile belirtilebilir. Bu örnekte bu tamsayının basamak değerlerini toplar, bu toplamı üçe böler ve bölme işleminden kalan sayının sıfır olup olmadığına bakarız. Bu sonuca göre de bu tamsayı üçün katıdır veya değildir kararına varırız.

Resim 2. Bir tamsayının 3 ile tam olarak bölünüp bölünmediği kararını veren algoritma. Bir Turing makinesine bu algoritmayı verip, okuduğu banda da A tamsayısının 0 ve 1’ler ile ikili sistemdeki karşılığını yazarsak Turing makinesi bu algoritmadaki üç adımı takip ederek bir karara varacaktır. 1. adımda Bas_Top(A) fonksiyonu A tamsayısının basamak değerlerini toplar. 2. adımda bu toplam değerin 3 ile bölümünden kalan sayının 0 olup olmadığı kontrol edilir. Son adımda ise bu sonuca göre bir karara varılır. Makine sonlandıktan sonra bant üzerinde sadece 1 yazıyorsa evet, 0 yazıyorsa hayır kararını verdiğini varsayabiliriz.

Bir Turing makinesinin algoritması, girdi verisiyle birlikte aynı bandın üstüne yazılabilir ve bu bant girdi olarak bir başka Turing makinesi tarafından okunabilir. Aynı şekilde, bu makinenin çıktısı da bir başka makine tarafından girdi olarak okunabilir. İşte günümüz bilgisayarları da bu basit mantığa bağlı  çalışmaktadır. İşlemler birbiri ardına sıralanıp birinin sonuçları bir sonrakinin girdi verisi olarak işlenmektedir. Elbette günümüz bilgisayarları donanımsal olarak Turing makinelerinden çok farklıdır. Örneğin 0 ya da 1 bit değerleri sağa sola giden sonsuz uzunluktaki bir bant yerine belirli bir sınırı olan elektromanyetik devreler üzerine yazılmaktadır fakat burada önemli nokta, günümüzdeki herhangi bir bilgisayarı bir Turing makinesi ile temsil edebiliyor olmamızdır. Başka bir deyişle, Turing makinesinin çözemeyip de bir bilgisayarın çözebileceği herhangi bir problem yoktur. Buna kuantum bilgisayarlar da dâhildir. Bir kuantum bilgisayar verileri sadece 1 ya da 0 ile temsil etmekten fazlasını yaparak klasik bilgisayarlardan çok daha hızlı ve verimli çalışabilir ama sonuç olarak bir kuantum bilgisayarı da en fazla bir Turing makinesinin yapabileceği hesapları yapabilir. Kısaca, bir Turing makinesinin sınırını anlamak elimizdeki bilgisayarların sınırını anlamaya eş değerdir.

Sonlanma problemi

Turing’in bu çözüm şeklinin günümüz bilgisayarlarının temelini atması bir yana şimdiki bilgisayarların geldiği noktada donanım teknolojilerinin büyük rolü var. Her ne kadar bu gelişimin şimdilik bir sınırı yok gibi görünse de aslında bilgisayarların yapabileceği hesaplamaların teorik bir sınırı var. İşte bu sınır da aslında Hilbert’in sorusuna verilen yanıtta açıklanıyor.

Hilbert, herhangi matematiksel bir önermenin geçerli olup olmadığına, eldeki mantık kurallarına bakarak karar verebilecek bir mekanizma var mıdır diye sormuştur. Belki bu noktada Turing makinelerinin bu soruda sorulan sisteme nasıl denk olduğu kolayca anlaşılabilir. Alan Turing’in dâhiyane fikri sayesinde bu soruyu aşağıdaki gibi çevirebiliriz:

Herhangi bir girdi üzerinde algoritmasında belirtilen kurallara bakarak her zaman karar verebilecek bir Turing makinesi var mıdır?

Bu soruya hayır cevabının verilmesine neden olan ve sonlanma problemi olarak bilinen meşhur örnek şöyledir: Bir Turing makinesi, bir başka Turing makinesinin sonlanıp sonlanamayacağı hakkında karar verebilir mi? Bu sorunun cevabının anlamak için öz-çelişki yöntemine başvurmak gereklidir. Diyelim ki gerçekten de bu kararı verebilecek “T” isimli bir Turing makinesi olsun. Bu T makinesi herhangi bir algoritmayı ve bir girdiyi alıp, bu algoritmanın bu girdi üstünde çalışınca sonlanıp sonlanmayacağı kararını verebilsin. Eğer makine sonlanırsa evet, sonlanmazsa hayır çıktısını üretsin. Şimdi bu makineyi biraz değiştirip buna “T2” makinesi diyelim. T2 makinesi evet cevabı çıkarsa sonsuz bir döngüye girsin, hayır cevabı çıkarsa da sonlansın. Şimdi bu T2 makinesini bir başka T2 makinesine algoritma ve girdi olarak verelim; yani başka bir deyişle, T2 makinesi kendisinin sonlanıp sonlanmayacağı kararını vermeye çalışsın. Eğer T2 makinesi sonlanırsa, evet cevabı üretecek ve yaptığımız değişikliğe göre sonsuz bir döngüye girecek. Yani bu durumda bir çıktı üretmeyecek ve sonlanmayacak. Yine aynı şekilde eğer T2 makinesi sonlanmazsa hayır cevabı üretecek ve yaptığımız değişikliğe göre bu cevabı ürettikten sonra sonlanacak. Sonlanma probleminde her iki durumda da bir paradoks ortaya çıkmaktadır ve bu paradoks aslında mantıksal olarak T veya T2 makinesinin hiçbir şekilde gerçek olamayacağını kanıtlamaktadır. Asıl soruya dönersek, Turing bu örnekle herhangi matematiksel bir önermenin geçerli olup olmadığına, eldeki mantık kurallarına bakarak her zaman karar verebilecek bir mekanizmanın asla olamayacağını göstermektedir.

Resim 3. Gerçekte var olamayacak, bir başka Turing makinesinin sonlanıp sonlanamayacağı kararını verebilen T makinesi. T makinesinin üstünde küçük bir değişiklik yapılmış ve kendi kendini kontrol ettiği zaman bir paradoks yaratan T2 makinesi. Bu iki Turing makinesi bilgisayarların hala geçerli olan teorik hesaplama sınırını göstermekte kanıt olarak kullanılıyor.

Bu örnek Hilbert’in sorusuna cevap vermekle birlikte bilgisayarların hesaplayabileceği işlemlerin sınırını da insanlar ile ilişkilendirmektedir. Günümüzde hala geçerliliğini koruyan Church-Turing tezi, bilgisayarlar tarafından hesaplanabilecek işlemlerin ancak ve ancak bir algoritma ile çalışan ve sonsuz zamana ve saklama kapasitesine sahip Turing makinelerinin hesaplayabileceği işlemler olduğunu söylemektedir. Buna ek olarak bu algoritmanın, yine sonsuz zaman, kâğıt ve kaleme sahip bir insan tarafından adım adım takip edilebiliyor olması şarttır yani bilgisayarların hesaplama sınırı aslında sonsuz zaman, kâğıt ve kaleme sahip insanlardır. Tabi ki pratik olarak en büyük fark, hiç kimsenin bu kadar zaman ve kaleme sahip olmaması ve bilgisayarların bu hesapları insanlara göre çok daha hızlı ve verimli şekilde yapabiliyor olmasıdır.

Bilgisayarların hesaplama sınırı matematik ve mantık kuralları ile yukarıdaki gibi belirlenmiştir fakat matematiğin sınırının ne olduğu ve insanlarla nasıl bir ilişkiye sahip olduğu hala büyük bir tartışma konusudur. Bu yazıyı üç ana yaklaşımdan kısaca bahsederek ucu açık bir şekilde kapatabiliriz. Platonik yaklaşım, matematiğin insanlardan bağımsız bir şekilde soyut olarak var olduğunu, insanların da zamanla bunları keşfettiğini söylemektedir. Yani matematik aslında insanların yavaş yavaş anlayabileceği üstün ve soyut bir kavramdır (Platonun mağara benzetmesi tam da bu konuyu anlatmaktadır). Formalizm yaklaşımı, matematiğin insanların kendi koyduğu kurallar sonucu ortaya çıktığını ve insanlara bağlı olarak sürekli geliştiğini söylemektedir. Bu yaklaşıma göre matematik bir insan icadıdır ve onun sınırını insanlar belirler. Mantıkçı yaklaşım ise, bütün matematiğin her zaman mantıksal önermelere indirgenebileceğini, basit aritmetik işlemlerin (örnek: 1+1 = 2) bile mantık önermeleri ile açıklanabileceğini belirtmektedir. Burada matematiğin sınırı mantıktır.

Birbiriyle yenişemeyen bu yaklaşımlar, henüz matematiğin, kendimizin ve hatta bilgisayarların sınırlarının ne olduğunu tam olarak kestiremediğimizi göstermektedir. Bu sorulara cevap bulabilmek insanları en çok heyecanlandıran görevlerden biridir ve bu nedenle gelecekte de sürecek birçok araştırma konusunun da çıkış noktasıdır.

Belki şimdilik bilgisayardan matematik ve mantık ile çözülemeyecek soruların cevabını beklememize gerek yok. Tabi ki nihai sorunun “hayatın, evrenin ve her şeyin cevabı” hariç. Bu cevabı Douglas Adams’ın “Otostopçunun Galaksi Rehberi” kitabında bulabilirsiniz.

Dipnot: Bu yazının birçok noktasında Roger Penrose’un “Kralın Yeni Usu” adlı eserinden yararlandım. Bu kitap, insan zekâsı ve yapay zekânın sınırları hakkında çok daha fazlasını öğrenmek için önemli bir kaynaktır.

Dr. Utku Çulha: 2005 Denge Eğitim mezunudur. Akademik çalışmalarını Almanya’da Max Planck Enstitüsü Robotik Bölümünde sürdürmektedir.

[Toplam:2    Ortalama:4.5/5]

1 Yorum

CEVAP VER

Yorum
Lütfen isminizi girin