Bilgisayarınıza Ne Kadar Güvenirsiniz? İbrahim C. Arkut1 Girne Amerikan Üniversitesi Refik C. Arkut2 Kadir Has Üniversitesi Intel Pentium ve Asal Sayılar3 Bazen sınıfta öğrencilere soruyoruz. Size bir tek kusuru olan bir bilgisayar hediye edilse o da her iki aritmetik işlemden bir tanesini yanlış hesaplıyor dense, bilgisayarı kabul edermisiniz? Genelde cevap her zaman hayırdır ve hediye kabul edilmez. Herkesten beklenilen bu cevap alınınca bu sefer hediye edilen bilgisayarın milyarda bir defa size yanlış cevap verdiğini varsayalım denilince sınıfın tümü bilgisayarı kabul ediyor ve ona güveniyor. Artık hoca olarak görevimiz öğrencilere neyi anlatmak istediğimiz kanıtlamak ve ötesinde inandırmak için can alıcı son sorumuzu yöneltiyoruz. Tatile gitmek için hava alanına gittiğinizde sizi götürecek olan uçağın size hediye edilen ve kabul ettiğiniz milyarda bir hatalı cevap veren bilgisayarla uçağın iniş sistemlerini kontrol ettiğini öğrendiniz. Şimdi kendi serbest iradenizle o uçak ile seyahat edermisiniz? Sessizlik...Öğrencilerden cevap yok. Bu makalenin amacı yukardaki senaryoya uygun insan zekasının sınırında bilgisayarın verdiği sonuçlara güvenin biraz da matematikten sayılar kuramındaki asal sayılar çerçevesinde irdelemek. Ayni yaklaşımla problemi tam tersten almak ta mümkün; problemin matematiksel kanıtı için bilgisayar hesaplarına dayanılıyorsa ve daha şık çözümü henüz bilinmiyorsa veya belkide hiç yoksa, kanıt doğru olsa bile inanmalı mıyız? Bu bakış açısı ile günümüzde kendilerinden en fazla söz ettiren Dört Renk Teoremi ve Keppler Konjektürünü (bir anlamda teorem olmaya aday) ele alıp makalenin devamında irdeleyeceğiz. Lynchburg Koleji profesörlerinden Thomas Nicely’ın görevi Pentium chipinin tasarım sorunlarını bulup halka açıklamak idi. 1993 te ilk Pentium chipi üretildiğinde Intel için her şey yolunda gidiyordu. Kişisel bilgisayarlar için sözü verilen işlemci sürat ve gücü yerine getirilmişti. Fakat Nicely’inin açıklaması ile Intel bir kabus yaşamaya başladı. Pentium bazen aritmetik işlemleri yanlış yapıyordu. Bir anlamda tüm bilgisayarlar bölme işleminde yanlışlık yaparlar. Kesirli sayılarla işlemler ünitesi, özellikle bölme işleminde yuvarlatmadan dolayı küçük hatalar verdiği bilinir. Örneğin 1/3=0.33333... de sonsuz sayıda 3 ler serisinin depolanması yerine sonlu sayıda 3’ler kullanılır. Bu tipten yuvarlatma hataları bilgisayar bilimcileri tarafından kesin kurallarla belirlenir ve ne zaman yukarı veya aşağı kesirli sayının yuvarlatılacağı verilir. Genellikle 10 ile 20 ondalık kesirler seviyesinde ilgili aritmetik ünite işlem yapar. Sıradan hesaplamalarda yuvarlatma-hatası pek önemli olmamakla birlikte milyarlarca ardışık hesaplama gerektiren bilimsel çalışmalarda oluşan hesaplama hatasının 1 [email protected] [email protected] 3 Thomas Nicely’nin ‘Divide and Conquer’ başlıklı yazısından derlenmiştir. 2 ihmal edilemeyecek seviyede anlamı vardır. Örneğin 10’ncu basamağa kadar doğru olan 10 milyar kesirli sayıların toplamında hiçbir rakamın bir anlamı (doğruluk yönünde) yoktur. Pratikte, statikten alınan rastgele-yürüyüş davranışına göre 5 basamklı doğru kabul edilebilir netice için yukarı ve aşağı yuvarlatmaların sayısının hesaplama içinde hemen hemen eşit olması gerekir. Pentium’un tasarım sorununa gelince. Kesirli sayılarla işlemlerde 19 basamağa kadar hassasiyeti garanti eden pentium bazen çok daha az hassas cevaplar verebiliyordu. Tasarımında var olması gereken bölme algoritması ihmal edilmiş ve bölme işlemleri için ‘look-up’ tablosu konmamıştı. Daha kötüsü bu hatanın bedeli 5’nci basamaktan sonraki hesaplamalarda kendini gösteriyordu. Tasarlanandan 100 milyar daha kötü netice veren Pentium chipindeki eksiklik 1994 yazında düzeltildi fakat satılan bir iki milyon chip için bir şey yapılmadı. Intel’in bu büyük hatası milyarda bir ortaya çıktığına göre hata kimin tarafından gözlenebilir ki yaklaşımından başka bir şey olmayıp girişteki örneğin Intel tarafından hiç düşünülmediği anlaşılıyor. Eski Yunandan Euclid Elemanlar’ında IX Kitapta sonsuz sayıda asal sayı bulunduğunu kanıtlamıştı. Şık kanıtı sonlu sayıda asal sayının çarpımına 1 eklendiği zaman elde edilen sayı listedeki asal sayıların hiç birine bölünemeze dayanıyordu. Fakat her sayının en az bir asal sayı böleni olduğuna göre sonlu sayılar listesi her asal sayıyı içermez. Birbirlerinden habersiz 1896 yılında Charles-Jean da la Poussin ve Jacques Hadamard Asal Sayı Teoremini kanıtlarlar. Asal sayı teoremi verilen her hangi reel sayı x için x ten küçük yaklaşık x/ln x kadar asal sayı vardır (burada ln x tabii logaritma). Örneğin x=100 alınırsa 100/ln 100≈22 bulunur, gerçekte 100 küçük asal sayılar 25 tane olduğuna göre yaklaşım fena sayılmaz. Asal sayılar teoremine dayanarak asal sayıların bir çok gizemi çözülmüştür. Çözülemeyenler arasında çok iyi bilinen ‘ikiz asal sayılar’ problemini burada ele alalım4- adışık asal tek sayı çiftlerine ikiz asal sayı denir; 3 ve 5, 5 ve 7 gibi. İkiz asal sayıların bu özelliğinin belli bir asal sayıdan sonra ortadan kalkıp kalkmayacağı bilinmiyor. Benzer şekilde ikiz asal sayılar için kanıt verilmeden (matematiksel konjektür) matematikçiler x sayısına kadar ikiz asal sayı çiftlerinin sayısının x / (ln x)2 ile orantılı olduğunu iddia etmektedirler. Norveç’li matematikçi Viggo Burn 1919 da ikiz asal çiflerinin sayısı için yukardaki iddia edilen değere üsten 100x/(ln x)2 ile yaklaşmış daha sonra bu değer 6x/(ln x)2 ye kadar getirilmiştir. Henüz x / (ln x)2 ye alttan yaklaşım verilememiştir. Burn kendi adının ilk harfi ile anılan B toplamı ve basitce tüm ikiz asal sayı çiflernin tersinin toplamının sonlu olduğunu ve B gibi bir sayıya eşit olacağını göstermiştir. Örneğin ilk 4 çift için (1/ 3 + 1/ 5) + (1/ 5 + 1/ 7 ) + (1/11 + 1/13) + (1/17 + 1/19 ) + ... Burn toplamı B yi tahmin etmek, ikiz asal sayıların nasıl oluştukları bilinmediği için hiç de kolay değildir. Örneğin yoğun asal sayıların başladığı bir yerden önce Burn toplamını tahmin etmek için durursanız yaklaşımınız bu yoğun asal sayıları göz önüne alamayacağından tahmininiz çok kötü çıkar. Aksine 1 + 1/ 2 + 1/ 22 + 1/ 23 + 1/ 24 + ... 2 den biraz küçük bir değere yakınsayacağı gösterilebilir. Sayılar teorisinde uğraşanlar Burn toplamına daha iyi yakınsama yapabilmeleri için ve hata tahminini 1/ 4 ( ) p ln p çarpımından daha küçük yapmak için 1/ p + 1/ ( p + 2 ) de duran Burn Dan Goldston ve Cem Yalçın Yıldırım’ın geliştirdikleri yöntem ‘ikiz asal sayılar probleminin’ sonunun geldiğini gösteriyor (SilicomValley.com, The Mercury News, 22 Ağustoz 2003). toplamına 1/ ln p lik ‘düzeltme’ terimi eklerler. 1974’te D. Shanks ve J. Wrench Jr. Burn toplamını ilk iki milyon asal sayılardaki tüm ikiz asal sayılara baktılar (Brun toplamı 1.90217, bak Şekil 1) . Ayni zamanda R. Brent (Australya) 100 milyara kadar olan tüm ikiz asal sayıları (224376048 çift) listeleyerek Brun toplamı olarak 1.90216054 sayısını buldu. Şekil 1. İlk milyon asal sayı için ikiz asal sayıların dağılımına bağlı Brun toplamı. Şekil 2. R. Brent’in 100 milyara kadar ikiz asal sayı çiftleri ve Brun toplamları. O günden sonra sayılar teorisinde uğraşanlar bilgisayarlarını ikiz asal sayılar artığı zaman Brun toplamı fazla değişmediği için pek çalıştırmadılar (bak Şekil 2). 1993 yılında Nicely, Brun’nun toplamını ilk beş adet ‘486’ chipli PC ile daha sonra bir adet Pentium makinesi kullanarak tekrar hesaplamaya karar verir. Buraya kadar kötü bir niyet yok! Aksine daha önce super bilgisayarlar kullanılarak yapılan bu hesaplamalar artık kişisel bilgisayarlarla yapılabilecekti. Fakat Nicely’yi endişelendiren bulunacak neticenin ne kadar güvenilir olduğu idi. İkiz asal sayı çiftlerinin terslerinin toplamı PC ile hesaplanırken Brent’in neticeleri ile ayni olması ve daha ötesine geçilmesi için kullanılan programın ve işletim sisteminin hatasız olması gerekiyordu. Bunu sağlamak için her bilgisayar asal sayı tersini bulurken önce floating point ünitesi kullanılarak ondalık kesirden sonra 19 basamağa kadar hesaplama yapıldı ve daha sonra Bellcore’dan A. Lenstra’nın gelişitirdiği ultra-hassasiyet algoritması kullanılarak 26 rakamlı hassasiyete inildi. İnildi de ne mi oldu? Daha önce π ( x ) (x ‘e kadar asal sayıların sayısı) bilinen değerinden farklı netice elde edildi. Bunun nedeni uzun çalışmalardan sonra ultra-hassasiyet hesaplamasında yuvarlatma hatasının beklenenden daha süratli depolandığı tesbit edildi. Sonuçta bu hata ya nedenin Borland C++ 4.02 derleyicisinde kaynaklandığı anlaşıldı ve düzeltildi. Daha fazla emin olmak için Nicely ultrahassasiyeti 53 rakama çıkardı. Yine de 486 makinesi ile pentium makinesi değerleri son 20 rakamı farklı vermeye devam ediyordu. Bunun da nedeni Pentium makinesinin 19 rakam hassasiyet verecek yerde 824633702441 ve 824633702443 asal sayı çiftinin terslerinin toplamında yalnız 9 rakamlı hassasiyet vermesi idi. Düzeltmek için özel hata düzeltme yazılımı ile Pentium bilgisayarında makine dili seviyesinde hata arandı. Hatanın devam etmesi ve başka Pentium makinelerinde de ayni hatanın kalması üzerine Intel Pentium chipi bölmeyi doğru yapamıyor sonuçuna varıldı. Intel hatayı müşterilerini etkilemediği iddiası ile sonunda kabul etti. Nicely Intel’in 1995’teki düzeltilmiş ve geliştirilmiş yeni Pentium chipini kullanarak ilk 100 trilyon sayı için 133780321665 adet ikiz asal sayı çifti olduğunu Brun toplamının 1.9021605778 olduğunu dünyaya ilan etti. Bir yıl sonra 1996-97, Alman bilim adamları Martin Kutrib ve Jörg Richtein (Giessen Üniversitesi) ayni neticeleri bularak asal sayı hesaplamadaki doğruluğu teyit ettiler. O gün bu gün bu bilim adamları hesaplamalarının ayni kaldığını, farklı ise nasıl düzeltileceğini bulmak için buldukları değerleri değiş tokuş yapmaktadırlar. Sonuç Bilgisayarla hesaplamalarda her şey doğru olsa bile bilgisayarın tasarımındaki sınırlamadan milyarda bir hata olabileceğinin kanıtı bu kadar açık şekilde gösterilmesine karşın günümüzde genel eyilim ‘netice eğer bilgisyardan geliyorsa doğrudur’ şeklinde olmaktadır. Bilgisayara (bir bakıma makineye) güvenelim mi yoksa güvenilmemeli mi ikilemi insanın bazı matematik problemleri karşısındaki çaresizliğine bu şekilde olsa bile çözüm getirmektedir. Yazımızın devamında işi biraz insanın içinden çıkamayacağı seçeneklerin analizi ile kanıtlamanın büyük ölçüde bilgisayara bırakıldığı dört renk problemi ve Keppler konjöktürünü ele alacağız. Bu durum makinelere teslim olma olmadığını burada belirtmek istiyoruz. Belki zarif çözüm bulununcaya kadar durumu kabulleniyoruz demek en iyisi.
© Copyright 2024 Paperzz