Sayi9kasimaralik
Sayi9kasimaralik
Sayi9kasimaralik
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Kasım-Aralık 2012 Yıl: 2 Sayı: 9<br />
paradoks paradoks<br />
Prof. Dr. Timur KARAÇAY<br />
Başkent Üniversitesi<br />
Bilgisayar ne kadar hızlı?<br />
yazıda, sonlu sayıda bazı işlemleri bitirebilmesi<br />
için bilgisayarın hayal edemeyeceğimiz uzun zamanlar<br />
boyunca çalışması gerektiğini göstereceğiz.<br />
Başka bir deyişle, sonlu sayılar çoğumuzun<br />
hayal edemeyeceği kadar büyüktür, o kadar ki<br />
onlara erişmeye bilgisayarın hızı bile yetmez.<br />
Gezgin satıcı problemi<br />
Bu problem, bilgisayar öğrenimine yeni başlayan<br />
üniversite öğrencilerine “hesaplanabilme” olgusunun<br />
mantık ve matematiğe ne denli dayalı olduğunu,<br />
bilgisayarın her sorunu çözemeyeceğini<br />
anlatmak için verilen iyi örneklerden birisidir.<br />
Problemi biraz basite indirelim. Gezgin bir satıcı,<br />
helikopterle 70 ilimizi dolaşarak bir ürünü tanıtacaktır.<br />
Şirket, ona istediği ilden başlama yetkisini<br />
vermiştir. Ama her ile yalnızca bir kez uğrayacak,<br />
sonunda ilk başladığı ile dönecektir. Elbette, tasarruf<br />
nedeniyle, ilden ile gezerken, toplam olarak<br />
en kısa yolu seçmesi de istenmiştir. Kısa yolun<br />
ne olduğunu biraz açıklamak gerekiyor. Problemi<br />
gidebileceği 4 il, yani 4 seçeneği vardır. Adana<br />
→ Kars yolunu seçsin. Ankara’dan Kars’a gelmek<br />
için seçtiği yol 6.5.4=120 seçenekten yalnızca<br />
birisidir. Kullanmadığı 119 seçenek daha<br />
vardır. Satıcımızın Kars’tan sonra gidebileceği 3<br />
il kalmıştır; yani 3 seçeneği vardır. Kars → Edirne<br />
yolunu seçmiş olsun. Edirne’ye ulaştığında<br />
6.5.4.3=360 mümkün yoldan yalnızca birisini<br />
seçmiş olacaktır. Kullanmadığı 359 yol vardır.<br />
Edirne’den hareket ederken elinde iki seçenek<br />
kalmıştır. Edirne → İzmir yolunu seçsin. İzmir’e<br />
kadar 6.5.4.3.2=720 seçenekten yalnızca birisini<br />
kullanmıştır; geride 719 seçenek daha vardır.<br />
İzmir’den hareket ederken elinde artık tek seçenek<br />
kalmıştır: İzmir → İstanbul. Buraya kadar<br />
olan mümkün seçeneklerin sayısı 6.5.4.3.2.1=6!<br />
= 720 idi. Satıcımız bunlardan yalnızca birisini<br />
kullandı, geriye 719 seçenek kaldı. 7 ili dolaşan<br />
satıcımız artık Ankara’ya dönebilir.<br />
Mevcut 720 seçenek arasından satıcının tercih<br />
ettiği yol şudur:<br />
90 daha da basitleştirmek için, 70 il yerine, önce 7 il<br />
düşünelim: {Ankara, Edirne, İzmir, İstanbul, Kars,<br />
Ankara → Adana → Kars → Edirne → İzmir →<br />
İstanbul → Ankara.<br />
91<br />
Bilgisayarlar harika araçlardır. O, kendisini sürmeyi<br />
bilmeyenleri, asil bir atın acemi binicisini<br />
sırtından atışı gibi yere serer. Ama onun dilinden<br />
anlayanlara sadık bir uşak gibi hizmet eder. Hepimiz<br />
bilgisayarların çok hızlı işlem yaptığını biliriz.<br />
Bir insanın bir ömür boyu bitiremeyeceği zor<br />
hesapları saniyeler içinde yapabilir. O, hızlı işlem<br />
Burada hemen bir soru aklımıza gelir. İnsan aklının<br />
çözüm yolunu bulabildiği her problemi bilgisayar<br />
çözebilir mi? Yazık ki bu sorunun yanıtı<br />
“hayır”dır. Bilgisayarlar, bir sorunu çözerken, ancak<br />
sonlu sayıda işlem yapar. Çünkü, bilgisayar<br />
sonlu sayıda işlem sonunda problemi çözmüş<br />
olmalıdır; sonsuz sayıda işlemi bitiremez. Yan-<br />
Sivas, Adana}. Satıcımız gezisine Ankara’dan<br />
başlasın ve şu sırayı izlesin: Ankara → Kars →<br />
Edirne → Sivas → İstanbul → Adana → İzmir<br />
→ Ankara. Bu yol, satıcımızı eğlendirmiş olabilir,<br />
ama patronların hoşuna gitmeyecektir; çünkü<br />
olası yollar arasından muhtemelen en uzun olanını<br />
seçmiştir. Onun yerine, örneğin, Edirne →<br />
İstanbul → Ankara → Sivas → Kars → Adana →<br />
İzmir → Edirne yolu çok daha kısa olurdu. Bunu<br />
anlamak için, lütfen haritaya bakınız, ya da kentlerin<br />
yerlerini kabaca bir kağıda işaretleyerek bir<br />
çizem (şema) oluşturunuz.<br />
Buna benzer 719 tane farklı yol izlenebilirdi. Öteki<br />
yolları da isterseniz listeleyebilirsiniz. Ama bu<br />
iş epeyce bir zamanınızı alacaktır. Bir ilden öteki<br />
ile olan uzaklık bilindiğine göre, 6 sayı içeren basit<br />
bir toplama işlemiyle her bir yolun (seçeneğin)<br />
uzunluğunu buluruz. Böylece elimizde yolların<br />
(seçeneklerin) uzunluklarını veren 720 sayı olur.<br />
Bu sayılar arasından en küçük olanı seçeriz. Bu<br />
en küçük sayıya karşılık gelen yol en kısa yoldur.<br />
Ne kadar zaman alırsa alsın, bu işi yapmanın yolunu<br />
biliyoruz.<br />
yapmakla kalmaz, doğru programlandığında daima<br />
doğru iş yapar, belleğine kaydedilenleri daima<br />
doğru anımsar, gerektiğinde onları yeniden<br />
ve tekrar tekrar kullanır…<br />
Ünlü bir düşünür, “övgü ikinci sınıf insanların işidir,”<br />
der… Onun için övmeyi bırakıp, bilgisayara<br />
eleştirel bir gözle yaklaşalım. Öncelikle şunu belirtmeliyiz:<br />
Bilgisayar, insan aklının çözüm yolunu<br />
bulamadığı hiçbir problemi çözemez. Ona çözüm<br />
yolunu gösteren insan aklıdır. Onun bütün<br />
hüneri, insan aklının erişemediği korkunç hızı ve<br />
yanılmaz belleğidir.<br />
lış programlama nedeniyle, bilgisayarın sonsuz<br />
döngüye girme olasılığı, her programcının<br />
kâbusudur. Oysa, lise matematik derslerinde limit,<br />
dizi, seri vb. kavramlarla tanışan öğrenciler,<br />
insan aklının, sonsuz işlemlerin nasıl yapılacağını<br />
ortaya koyduğunu iyi bilirler. Bu olgu, yavaş insan<br />
aklının, hızlı bilgisayara büyük üstünlüğünün<br />
kanıtıdır.<br />
Tabii, bunun yanında, her problemi çözecek bir<br />
yol, yordam, yöntem (algoritma) olamayacağını<br />
matematikçiler kanıtlamışlardır. Ama bu önemli<br />
mantıksal vargı, bu yazının konusu dışındadır. Bu<br />
Şimdi probleme biraz matematik katalım. Satıcımız<br />
Ankara’dan yola çıkacak olsun. İlk gideceği<br />
il olarak, geriye kalan 6 ilden istediği birini seçebilir.<br />
Demek ki geziye başlarken elinde 6 seçenek<br />
vardır. Bunlardan birisini, örneğin Ankara → Sivas<br />
seçeneğini kullansın. Sivas’tan gidebileceği 5<br />
il vardır. Sivas → Adana yolunu seçmiş olsun.<br />
Başa dönersek, Ankara’da 6 seçeneği vardı, birisini<br />
kullandı. Sivas’ta 5 seçeneği vardı birisini<br />
kullandı. O halde, Adana’ya gelişi 6.5 = 30 seçenekten<br />
birisidir. Geriye kalan 29 seçenek kullanılmamıştır.<br />
Geziye devam edelim. Adana’dan<br />
Artık gezinin nasıl yapıldığını bildiğimize göre,<br />
gerçek probleme dönüp, satıcımızın 70 ili dolaşması<br />
için mümkün yolların sayısını hesaplayabiliriz.<br />
70 ilden birisinden harekete başlayacak<br />
satıcının gidebileceği 69 il vardır. Bunlardan birisini<br />
seçip herhangi bir ile (ilk il) gittiğinde elinde<br />
68 seçenek kalır. Bunlardan birisini seçip ikinci<br />
ile gittiğinde elinde 67 seçenek kalır… Bu işlem<br />
son ile gidene kadar sürdürülürse, satıcının 70<br />
ili gezmek için seçebileceği yolların sayısı 69! =<br />
69.68.67…3.2.1 = 1,71122E+98 (yaklaşık 17<br />
nin sağına 97 sıfır koyunuz; burada E+98 sim-