Bilgisayar ve Yazılım

Algoritmaların Kökeni Ve Günlük Hayatta Algoritma Örnekleri

Algoritmalar, matematiksel hesaplamalar gibi şeyler yapmak için bize adım adım bir prosedür sağlar. Ama kek pişirmek istediğiniz zamanlarda da aslında algoritmaları kullanabilirsiniz. Bunun nedeni aslında tüm algoritmaların aynı karakteristik özelliklere sahip olmasıdır. Bu yazıda kısaca algoritmaların büyüleyici tarihini keşfedelim. Ayrıca sizi modern dünyadaki bazı kullanımları hakkında bir tura çıkaralım. Sonrada günlük hayatta karşımıza çıkan algoritmalar hakkında biraz bilgi öğrenelim. Hazırsanız başlayalım…

Algoritma kelimesi 9. yüzyılda yaşamış matematikçi el Harezmi’nin adından gelmektedir. M.S. 825 yıllarında “Kitab el cebr ve’l mukabele” başlıklı bir kitap yazmıştı. Bu kitap Latince’ye “Algoritmi de Numero Indorum” adıyla çevrildi. El-Harezmi adı, Avrupa’da “Algorizm” olarak bilindiği için “algoritma” terimi onun adından ortaya çıktı.

harezmi
Algoritma sözcüğü bile Batı’da Harezmi adının yanlış çevrilmesi sonucunda ortaya çıktı.

Algoritmaların Kökeni Nedir?

Aslında algoritmalar el Harezmi’nin kitabından çok önce de bilinmekteydiler. Tarihsel kayıtlara ve arkeolojik bulgulara göre, ilk algoritmalar Babiller tarafından MÖ 1600 civarında oluşturuldu. Kil tabletlere çivi yazısı biçiminde kaydedilen bu algoritmalar çarpanlara ayırma ve karekök bulma gibi amaçlarla kullanılmıştı. Bunlar günümüzde bize basit gelse de zamanın önemli çalışmalarıydı. Sonrasında Öklid, MÖ 300 civarında “Öklid algoritması” nı ortaya çıkardı. MÖ 200 yılında “Eratosthenes Eleği” ile Eratosthenes onu izledi. Doğrusal denklem sistemlerini çözmek için kullanılan Gauss eliminasyonu, MS 263’te Lui Hui tarafından tanımlandı. Brahmagupta, MS 628’de Chakravala metodunu geliştirdi.

Sonraki yüzyıllar boyunca, İslam dünyası bilgileri eski Yunan, Hint ve Çin eserleri üzerine inşa edildi. Modern algoritmanın ortaya çıkışı ise sanayi devrimi sırasında gerçekleşti. Öncelikle George Boole, modern bilgisayar kodunun temeli olan ikili sistemi ortaya attı. Ada Lovelace, 1840’larda ilk “bilgisayar programını” üretti. Filozof ve mantıkçı Friedrich Ludwig Gottlob Frege nicel ifadelerin bir analizi için biçimsel bir sistem inşa etti. Alfred North Whitehead ve Bertrand Russell’da, Principia Mathematica’da (1910-1913) Gottlob Frege’nin çalışmalarını daha da basitleştirdi ve güçlendirdi. Alan Turing, algoritma konseptini ilk kez 1936’da meşhur Turing makinesiyle resmileştirdi. Bundan sonra da dünya bir daha asla eskisi gibi olmadı.

alan turing
Alan Mathison Turing, (1912-1954) İngiliz matematikçi, bilgisayar bilimcisi ve kriptolog

Bir Algoritmanın Temel Özellikleri Nelerdir?

Bir algoritma, esasen, belirli bir görevi çözmek için kullanılan bir dizi adımdır. Bir algoritmanın gerçekten geçerli sayılması için bazı özelliklere sahip olması gerekir. Bir algoritmanın tüm adımları açık ve net bir şekilde tanımlanmalıdır. Sorunu çözebilecek nitelikte olmalıdır ve belirli bir noktada sonlanmalıdır. Aşağıda bir algoritma örneği görebilirsiniz.

Algoritmalar Günlük Hayatta Nasıl Karşımıza Çıkar?

Gördüğünüz gibi, algoritmalar modern günlük yaşamın vazgeçilmez parçalarıdır. Ancak algoritma denilince aklınıza sadece bilgisayarlar gelmesin. Örneğin, okumakta olduğunuz bu satırlardaki verileri belirli bir sırayla birbiri ardına ekliyor olmamız da bir algoritma örneği. “Sabah kalk, banyoya git, yüzünü yıka, saçını düzelt, kahveni iç ve evden çık” gibi günlük sabah rutinimiz de aslında bir algoritmadır. Bir sorunu çözmeye yöneliktir ( işe ya da okula gitmek), sorunu çözmek mümkündür ( uyku sersemliği, güne hazırlanmak) ve sonludur. (Kapıyı kapamak). Bu örnek yeterli gelmedi ise günlük hayatta kullanılan bazı algoritma örneklerini daha verelim.

Her Türlü Tarif Aslında Bir Algoritmadır

Aslında farkında olmasınız da yemek tarifleri, yol tarifleri kısacası adım adım bir şeyin nasıl yapıldığını detaylı anlattığımız her şey özünde birer algoritmadır. Eğer tarifler doğru yapılmışsa ve söylenen adımlar doğru biçimde uygulanırsa başarısızlık olasılığı düşüktür. Diyelim ki kek pişirmek istiyorsunuz. Elinizdeki tarif, hangi malzemelere ihtiyaç duyacağınızı, bu malzemeleri hangi sırayla ve nasıl kullanacağınızı, fırını kaç derece sıcaklıkta sabitlemeniz gerektiğini, kaç dakika pişireceğinizi size söyler. Kek pişince de sona erer.

Arama Motorları

Günümüzde Facebook hesabınızın zaman tünelinde öncelikli olarak hangi paylaşımların gösterileceğinden tutun da Google’da hangi web sitelerinin ilk sayfada görüntüleneceğine kadar, günlük yaşamda karşımıza çıkan birçok veriyi algoritmalar yönetiyor. Modern yaşama şekil vererek geleceğimizi programlıyorlar.

Eğer bir tarifi ezbere bilmiyorsanız, o zaman “Google” sizin için buna cevap verir. Ama bu nasıl yapar? Elbette tahmin ettiğiniz gibi algoritmalar aracılığıyla. Arama motoru indeksleme, sayfa sıralaması vb. gibi algoritmalar isteğinizi ayrıştırmak ve bir öneri listesi oluşturmak için çalışır. Bugün bu tür bir hizmeti normal kabul etmemize rağmen, perde arkasında gerçekleşen işlemler aslında oldukça karmaşıktır.

Paylaşma Zamanı

Diyelim ki ne pişirmek istediğinize karar verdiniz, tarifi buldunuz, uyguladınız. Şimdi sırada elbette yemeğinizi yemek var. Ancak kimileri yemek yerken kimileri de bir fotoğraf çekip bunu dünyayla paylaşmak ister. Fotoğraf çekme, internete yükleme ve paylaşma eylemi, akıllı algoritmalar sayesinde mümkün olur. Görünüşte basit olan bu görevin her aşaması, her adımı her seferinde mükemmel bir şekilde tamamlamak için binlerce kod satırının olmasını gerektirir.

Günlük Hayatta Algoritmalar Biz Fark Etmeden Görev Başındadır

Aritmetik gibi temel matematik bile bir algoritma biçimidir. İki sayıyı bir araya getirdiğinizde, örneğin çarptığınızda sonuca ulaşmak için bazı temel prosedürleri de izlersiniz. Aynı şey, bir dükkanda nakit para ile bir şey satın alırken, bir pizza keserken, arkadaşlarınız arasında bir paket şeker paylaşırken veya restoranda faturanın kendi payınızı hesaplarken de geçerlidir. Tüm bu eylemler, onları mümkün kılmak için çok temel algoritmalar kullanır.

Bütün Bilgisayar Programları Belli Bir Algoritma Kullanır

Bir e-posta gönderdiğinizde, bir belge yazdığınızda, bir elektronik tabloya veri girdiğinizde arka planda algoritmalar çalışır. Algoritmalar bu programların temel işlem kodunu oluştururken, bazılarını kendiniz yazarsınız. Örneğin elektronik tabloları ele alalım. SUM () işlevini düşünün. Verilerinizi toplamak için bunu her yaptığınızda, kelimenin tam anlamıyla bir algoritma kullanırsınız. Modern dünyada algoritmaların başka birçok kullanımı vardır ve bunların hepsinin üzerinden geçmek bir yazıda mümkün değildir. Ancak, muhtemelen her gün kullandığınız bazı kritik öneme sahip algoritmaları siz de düşünerek bulabilirsiniz.


Kaynaklar:


Ana sayfa » UYGULAMALI BİLİMLER » Bilgisayar ve Yazılım » Algoritmaların Kökeni Ve Günlük Hayatta Algoritma Örnekleri

Sibel Çağlar

Merhabalar. Matematik öğretmeni olarak başladığım hayatıma 2016 yılında kurduğum matematiksel.org web sitesinde içerikler üreterek devam ediyorum. Matematiğin aydınlık yüzünü paylaşıyorum. Amacım matematiğin hayattan kopuk olmadığını kanıtlamaktı. Devamında ekip arkadaşlarımın da dahil olması ile kocaman bir aile olduk. Amacımıza da kısmen ulaştık. Yolumuz daha uzun ama kesinlikle çok keyifli.

2 Yorum

  1. Emeğinize sağlık yazınız güzel. Fakat önyargıda bulunmadan bir noktaya değinmek istedim sadece. Çok sonraları bir algoritma modeli geliştirmiş olan Anatoly Karatsuba’nın dahi adı geçiyor fakat bugünkü algoritmanın kurucusu ve kelimeye adını veren değerli matematikçi Harezmi’nin adı yazınızda geçmiyor. Yazık… Bunun adı önyargı mıdır, eğitim sistemimizdeki manipülatif ve sansürcü motifler midir yoksa başka bir şey midir bilmiyorum. Fakat ben bunu sadece yazmayı unuttuğunuzu düşünerek hüsn-ü zanda bulunmayı tercih ediyorum. Tekrar elinize sağlık…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu