02.12.2012 Views

Sayi9kasimaralik

Sayi9kasimaralik

Sayi9kasimaralik

SHOW MORE
SHOW LESS

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-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!