Antik Mısır'dan Günümüze: Kesirlerin Bilgisayar Bilimine Yolculuğu
Antik Algoritmalar: Mısır Kesirleri Bize Bilgisayar Bilimi Hakkında Ne Öğretiyor?
Recursion yazdığınızda ya da bir greedy algorithm (açgözlü algoritma) uyguladığınızda, aslında binlerce yıl önce yaşamış matematikçilerin izinden gidiyorsunuz. Mısır kesirleri—yalnızca tam sayıların çarpmaya göre terslerini kullanan matematiksel ifadeler—insanlık tarihinin belgelenmiş en eski algoritmalarından biri ve görünüşünün aksine oldukça derin bir yapıya sahipler.
Mısırlıların Çözdüğü Sorun
Modern kesirler bize doğal geliyor: 3/7, 5/12, 17/23. Ama bu gösterim Avrupa'da 18. yüzyıla kadar yaygınlaşmadı. Ondan önce bir kesir ifade etmek istediğinizde, onu birim kesirlere—payı 1 olan kesirlere—ayıramanız gerekiyordu.
Mısırlılar pratik bir sorunla karşı karşıyaydı: 7 somun ekmeği 8 kişiye adil şekilde nasıl bölerdiniz? Cevap basitçe 7/8 yazmak değildi. Bunun yerine, kesri farklı birim kesirlerin toplamı olarak ifade ederlerdi: 1/2 + 1/4 + 1/8.
Bu basit görünen yaklaşım, sofistike bir matematiksel düşünce gerektiriyordu ve bugün Mısır kesri algoritması dediğimiz şeyi yarattı.
Açgözlü Algoritmanın Antik Hali
İşte geliştiriciler için işlerin ilginçleştiği nokta burası. Mısırlıların herhangi bir kesri Mısır kesrine dönüştürmek için kullandığı yöntem, özünde bir greedy algorithm— mümkün olan en büyük birim kesri seç, çıkar, sonra tekrarla.
4/23 kesrini ele alalım. Algoritma soruyor: 23/4'ten büyük en küçük tam sayı kaç? Cevap 6. Yani 1/6 ile başlıyoruz, 4/23'ten çıkarıyoruz, geriye 1/138 kalıyor ve işlem tamam: 4/23 = 1/6 + 1/138.
Bu yaklaşım her zaman işe yarıyor—1880'de kanıtlanmış bir matematik teoremi, Avrupalılar ise bu tekniği 12. yüzyılda Fibonacci'den öğrenmişti.
Bu Neden Modern Geliştiriciler İçin Önemli?
İlk bakışta tarihsel bir merak gibi görünebilir. Ama o algoritmada olanları bir düşünün:
- Özyinelemeli ayrıştırma — Karmaşık bir problemi daha basit bir alt probleme böl
- Açgözlü seçim — Her adımda yerel olarak en iyi seçimi yap
- Sonlanma kanıtı — Kalan her zaman küçülüyor, böylece tamamlanma garantileniyor
Bu kavramlar modern algoritmik düşüncenin temelini oluşturuyor. Recursive bir fonksiyon yazdığınızda, antik matematikçilerin kullandığı aynı mantıksal yapıyı uyguluyorsunuz.
Tarihsel Boşluk
Burada görmezden gelinemeyecek bir tarih var. Mısır kesri yöntemi, Yunan matematiğinden binlerce yıl önceye dayanıyor. Ancak Avrupalı matematikçiler 19. yüzyılda Rhind Papirüsü'nü "yeniden keşfettiğinde", bu teknik çoğunlukla Yunan bilginlerine atfediliyordu—gerçek kaynağı olan antik Mısır yerine.
Afrika ve diğer Avrupa dışı uygarlıkların katkılarının matematik tarihinden küçültülmesi veya silinmesi bu örüntü—bugün bilgisayar bilimini nasıl öğrettiğimizde ve tartıştığımızda da sürüyor.
Matematiksel Gizemler
Birkaç akademisyenin "Mısır üçlüsü" dediği şey ilginç bir bulmaca içeriyor: 13, 17 ve 173. Bunlar 3 + 1/13 + 1/17 + 1/173 olarak yorumlandığında, π sayısını dört ondalık basamağa kadar yaklaşıklaştırıyor— yaygın olarak alıntılanan Mısır değeri olan 3.16'dan daha doğru.
Bunun kasıtlı mı yoksa tesadüf mü olduğu matematik tarihçileri arasında hâlâ tartışma konusu.
Antikten Moderne
Mısır kesirleri, bilgisayar biliminde ve sayı teorisi hâlâ incelenen bir konu olan devam eden kesirlerle bağlantılı. Greedy algorithm yaklaşımı, kaynak tahsisi, zamanlama ve optimizasyon problemlerinde modern uygulamalara sahip.
Yani bir dahaki sefere recursive fonksiyonunuzu debug ederken ya da greedy yaklaşımın neden işe yaradığını açıklarken, unutmayın: yaklaşık 4.000 yıl geriye uzanan bir matematik geleneğine katılıyorsunuz.
Bazen en eski algoritmalar hâlâ en iyi algoritmalardır.