1 Eylül 1988 Tarihli Commodore Gazetesi Sayfa 64

1 Eylül 1988 tarihli Commodore Gazetesi Sayfa 64
Metin içeriği (otomatik olarak oluşturulmuştur)

rakamlarını pagan çok tanrılı”” yeni- liklere karşı ateşli bir biçimde savu- nuyordu. ““Hiçbir şey”' için kullanı- lan ekstra bir rakam, bir şeytan bü- yüsü değil miydi? Zaten gerçekten pagan olan Eski Romalılar ise bun- lara karşı çıkıyor ve sıfırda, Tanrı'- nın her şeyi yoktan var ettiğine işa- ret eden “büyük bir kutsallığın gizli olduğunu” ileri sürüyorlardı. Ayrıca artık insanlar tahta kullanmadan he- saplarını yapabileceklerdi! Teoloji ve propagandaya rağmen “algoritmacılar””, “abaküscüler”'e galip gelebilmek için üç yüzyıldan fazla uğraştılar. O dönemde yayım- ladıkları kitapların kapaklarında, gü- nümüz reklam afişlerini anımsatan resimler kullanıyorlardı: Kan-ter için- de bir abaküsçü, taşları itip çekmek- le uğraşırken, akıllı meslektaşı tüy ka- lemiyle hesap yapmakta. Böyle bir resmi bugün incelediği- mizde, şaşkınlık içinde şunu tespit ediyoruz: “Algoritma”', problemle- ri tabiri caizse ““otomatik” olarak çözmeye yarayan bir yöntem olmak zorundaysa, hesap tahtasının başın- daki abaküsçü aslında çok daha tu- tarlı bir “algoritmacı”'dır! Çünkü meslektaşı 456 ile 123'ü toplamak için, “kafasında” 64 3-9, 542-7, 44 1-5 hesaplarını yap- mak zorundayken, abaküsçü, tahta- sının hanelerine 4, 5 ve 6'yı koyup alt sıraya da 1, 2 ve 3'ü koyduğunda, herhangi bir hesaba gerek kalmaksı- zın sonucu anında tahtadan okuya- bilmektedir. Çünkü son hanede 9, bir öncekinde 7 ve ondan bir öncekinde de 5 taş vardır. (Eğer bir hanedeki taş sayısı 10 veya daha çok olursa, “ak- tarma”'nın son derece “*mekanik”' bir biçimde yapılabilmesi olanağı da var- dır: Bir taş bir önceki haneye alınır ve geri kalanlar arasında dokuz taş eksiltilir). Aslına bakılırsa “algoritmacılar”” yalnızca Harizmi”'li pirlerinin adını değil, ““abaküscçüler”'le mücadelele- rinin ana konusunu da yanlış anladı- lar, “Veriler”'iyle ya da ““algoritma- lar”ıyla uğraşırken her iki grup da formel kurallara uyuyorlardı. Arala- rındaki karşıtlık esas olarak bu veri- lerin sunuluş tarzlarındaydı: Arap ra- kamları, Roma rakamları ya da he- sap taşları... Aslında her sorunun çözümü te- melde iki yolla gerçekleşebilir: Pas- cal programlama dilinin yaratıcısı Niklaus Wirth'in yapıtlarının birine ad olarak verdiği gibi, *“Veri Yapıla- rı ve Algoritmalar”'. Çünkü sonuca H4 hangi kurallara göre gidilebileceğini belirleyen en önemli faktör, verinin yapısıdır. (Örneğin, Babillilerin tas- nif algoritmasının işe yaramasının ne- deni, daha önce bir ön tasniften geç- miş verileri kullanmış olmalarıdır). Roma sayılarının karmaşık yapısı, formel, “algoritmik”' hesaplamalar açısından uygun değildi. Buna karşı- hk Hint-Arap hane yapısı çok daha iyiydi. Ama hesap tahtası hanelerin- deki taşlardan oluşan ilkel yapı, as- lında en iyisiydi: Taşların yerine diş- li dişleri konabildiğinde, hesaplama- yı “tam otomatik” olarak yapabile- cek bir “makine''ye geçebilirdi. Peki, neden hesap alanına takıl- dık? Tüm bilim dallarının kavramları alınarak bu tür yapılarda toplamak ve katı Kurallara göre tüm doğruları üretebileceğimiz ““algoritmalar'”” bul- mak mümkün değil mi? Bu, Katalon- yalı skolastik Raimundus Lullus'un pervasız fikriydi. Leibniz de, bu tür hayalin peşindeydi. Böyle bir ““Ars Magna Lulli”” (Lullus'un Büyük Sa- natı) ile, bilim adamları, yakında kı- sır çekişmeleri bir yana bırakıp, son derece açık olan gerçeği bulmak için “Calculemus - bırakın hesap yapa- lım!” diyeceklerdi... Algoritmalara göre karmaşık veri yapılarını işleyen bilgisayarları üret- meye başladığımızdan beri, bir şeyi farkettik: “Prensipte” işleyen bir sü- rü şey, aslında pratikte hiçbir işe ya- ramıyor. “Beyaz, satranç karşılaşma- sının ilk hamlesinde kazanmayı zor- layabilir mi?” sorusunun açık ceva- bını elde etmeyi sağlayacak bir ““algo- ritma” aslında mevcuttur. Ama en hızlı bilgisayar bile bu iş için kaina- tın yaratılmasından bu yana geçen sü- reden daha uzun bir süreye ihtiyaç duyar. Diğer yandan, bazı durumlarda çe- kilmez ölçüde yavaş “işleyen”' bir al- göritmanın yerine, aynı sonucu çok daha az sayıda adımla elde edebilen bir algoritma konabilir. Böylece algoritmalar üzerine yapı- lan güncel araştırmalar iki temel yön kazanmıştır. “Karmaşıklık Teorisi”” temel olarak şunu araştırır: Belirli problemlerde, çözüm süresinin uzun- luğu yanlış algoritmanın seçilmiş ol- masından mı, yoksa zorunlu olarak problemin yapısından mı kaynakla- nır? “Bulgusal''” yöntemler öğretisi ise bu soruyu tamamlamak üzere şu- nu sorar: Böylesi durumlarda, her za- man olmasa bile, en azından çoğu za- man, yeterince hızlı bir biçimde, kul- lanılabilir bir sonuç elde etmeyi sağ- layacak kurallar yok mudur? (satranç örneğinde: Beyaz içinde olması aza- mi sıklıkta galibiyet). Tabit konunun her zaman ki tab- letler ya da satranç problemleri olma- sı gerekmiyor. isterseniz yazımızda- ki 2 no.lu resimde yer alan labirent algoritmasını BASIC programı ola- rak yazmayı bir deneyin. ALGORİTMA NEDİR? Algoritma, mantık ve matematik- te kullanılan temel bir kavramdır. AnaBritannica Genel Kültür Ansik- lopedisi, “algoritma”nın karşılığı olarak,» “*“matematikte bir sorunun yanıtını ya da bir poblemin çözümü- nü sonlu sayıda aşamada veren siste- matik yordam” ifadesini kullanmak- tadır. İÖ 300 yıllarında yayımlanmış olan “Stoikheia” (Elemanlar) adlı ki- tabında Euklides (Öklid), bugün de onun adıyla anıları, iki tamsayınırnı eri büyük ortak böleninin bulunmasını sağlayan bir algoritma vermişti. As- lında aritmetikte kullanılan toplama, çıkarma, çarpma, bölme, kök alma gibi işlemler de algoritmanın en ba- sit örnekleri olarak kabul edilirler. Algoritma, bir talimatlar sistemi olarak, formel bir karakter taşıdığın- dan, bilgisayar için daima geçerli bir programın geliştirilmesinde algorit- malardan yararlanılır. Algoritma ile bilgisayar arasında yakın ilişkinin en önemli kanıtlarından biri, ALGOL adlı programlama dilidir. Fen ve matematik problemlerine ilişkin programların yazılmasında kullanılan ve algoritmaya dayalı bir dil olan ALGOL, uluslararası işbir- liğiyle gerçekleştirilmiştir. Adını AL- GORithmic Language ya da ALGeb- raic Oriented Language terimlerinin kısaltmasından alan ALGOL, yeni yapay dillerin geliştirilmesinde de ör- nek alınmaktadır. Bardak hilesi 18 Lz4:R-2:€LR 28 INPUT “TOPUN OLDUGU BARDAK MO - ;xX 38 FPRINT “TOP BASKA BARDAĞA KONDU HU7 (E/H)” 4B T5-TMNEYS:TFTS<)Y”E" AND TSsS()”H” İ THEN 48 50 IFTS-”H” THEN 78 68 X-X*1:GOTO 38 78 IF X/Z2ZzINT(X/2) THEN Lzi1:R-3 | 88 PRINT “ BARDAK NO”;I. | 98 PRINT “TOPüÜ BER DAHA AKTAR'” 188 PRIMT “TOPWMMM OLDUĞU BARDAK Nü-;R

Bu sayıdan diğer sayfalar: