Bilgisayar dünyasında bir sözcük çok sık kullanılır. Bu sözcük ise algoritmadır. Peki ama algoritma nedir? Daha da önemlisi bilgisayarların ötesinde günlük hayatta algoritma örnekleri nelerdir?
İnternet ve akıllı telefon uygulamalarından 1000 yıldan fazla bir süre önce, İranlı bilim insanı ve bilge, tam adı ile Ebu Abdullah Muhammed Bin Musa el Harezmi (780-850) – kısaca Harezmi- modern bilime şekil veren kişilerden biri olarak tarihe adını yazdırdı.
Algoritma kelimesinin kökeni de onun adının Latince versiyonunda yer alan “algorithmi” kelimesinden gelmektedir. Kelime ilk olarak 1230 yılında kullanıldı. Ancak “algoritma” bugünkü anlamını ancak 19. yüzyılın sonlarında aldı.
Algoritma 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ı.
Sonrasında Öklid, MÖ 300 civarında “Öklid algoritması” nı ortaya çıkardı. MÖ 200 yılında “Eratosthenes Eleği” ile Eratosthenes onu izledi. 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. Alan Turing, algoritma konseptini ilk kez 1936’da meşhur Turing makinesiyle resmileştirdi.
En genel anlamıyla, bir algoritma bir bilgisayara dünyayla ilgili bir dizi gerçeği yararlı bilgilere nasıl dönüştüreceğini söyleyen bir dizi talimattır. Sayı kümelerini sıralamaktan haritalarda rota bulmaya ve ekranda bilgi görüntülemeye kadar birçok yaygın algoritma örneği vardır.
Günlük Hayattan Bir Algoritma Örneği
Bir algoritma, esasen, belirli bir görevi çözmek için kullanılan bir dizi adımdır. Algoritma kavramını anlamak için sabahları giyinme sürecinizi düşünün. Hepimiz bunu düşünmeden çoğu zaman otomatik yapıyoruz. Ancak bu süreci 5 yaşındaki bir çocuğa nasıl anlatırsınız?
Bir bilgisayar için girdi, karar almak için ihtiyaç duyulan bilgidir. Sabah giyinirken hangi bilgilere ihtiyacınız var? İlk ve en önemlisi, dolabınızda hangi kıyafetlerin mevcut olduğunu bilmeniz gerekir. Daha sonra sıcaklığın, günün hava tahmininin ne olduğunu, hangi mevsim olduğunu ve belki de bazı kişisel tercihleri düşünebilirsiniz.
Tüm bunlar, sayıların veya sözcüklerin basit koleksiyonları olan verilerde temsil edilecektir. Sırada algoritmanın kalbi olan hesaplama gelir. Hesaplamalar aritmetik, karar verme ve tekrarlamayı içerir. Ceket giyip giymemeniz sıcaklığa ve hangi ceketi seçeceğiniz hava durumuna bağlı olacaktır.
Bir bilgisayara göre, giyinme algoritmamızın bir kısmı “eğer hava 50 derecenin altındaysa ve yağmur yağıyorsa, altına giymek için yağmurluk ve uzun kollu bir gömlek seç” gibi bir şey olacaktır. Giysilerinizi seçtikten sonra onları giymeniz gerekir. Bu, algoritmamızın önemli bir parçasıdır.
Son olarak, bir algoritmanın son adımı çıktıdır. Bu cevabı elde etmek anlamına gelir. Yani giyindikten sonra dünyaya adım atarsınız ve etrafınızdaki insanların bakışlarına ve hava koşullarına hazır olursunuz. Artık bir selfie çekip Instagram’a koyup havanızı da atabilirsiniz.
Günlük Hayatta Algoritmalar Biz Fark Etmeden Görev Başındadır
Bazen elbette bir karar alma sürecini açıklamak bundan çok daha karmaşıktır. Algoritmaların özel bir kategorisi olan makine öğrenimi algoritmaları, bir dizi geçmiş karar alma örneğine dayanarak “öğrenmeye” çalışır. Makine öğrenimi, öneriler, tahminler ve bilgi arama gibi şeyler için yaygındır.
Sonuç olarak bir algoritma bir bilgisayarın girdi verilerini çıktı verilerine dönüştürmek için kullandığı işlemdir. Basit bir kavramdır, ayrıca dokunduğunuz her teknoloji parçası birçok algoritma içerir. Belki bir dahaki sefere telefonunuzu elinize aldığınızda, bir Hollywood filmi izlediğinizde veya e-postanızı kontrol ettiğinizde, sahne arkasında ne tür karmaşık algoritmalar kümesi olduğunu düşünebilirsiniz.
Kaynaklar ve ileri okumalar:
- The Origin of Algorithms We Use Every Single Day; Yayınlanma tarihi: Kaynak site: Interesting Engineering. 5 Eylül 2020; Bağlantı: The Origin of Algorithms We Use Every Single Day;/
- What is an algorithm? How computers know what to do with data. Yayınlanma tarihi: 16 Ekim 2020. Kaynak site: Conversation. Bağlantı: What is an algorithm? How computers know what to do with data
Size Bir Mesajımız Var!
Matematiksel, 2015 yılından beri yayında olan ve Türkiye’de matematiğe karşı duyulan önyargıyı azaltmak ve ilgiyi arttırmak amacıyla kurulmuş bir platformdur. Sitemizde, öncelikli olarak matematik ile ilgili yazılar yer almaktadır. Ancak bilimin bütünsel yapısı itibari ile diğer bilim dalları ile ilgili konular da ilerleyen yıllarda sitemize dahil edilmiştir. Bu sitenin tek kazancı sizlere göstermek zorunda kaldığımız reklamlardır. Yüksek okunurluk düzeyine sahip bir web sitesi barındırmak ne yazık ki günümüzde oldukça masraflıdır. Bu konuda bizi anlayacağınızı umuyoruz. Ayrıca yazımızı paylaşarak da büyümemize destek olabilirsiniz. Matematik ile kalalım, bilim ile kalalım.
Matematikse
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…
süpermiş bu site sevdim artık bir fanınız var