Algoritma nedir, nerede kullanılır?
7 Eki 2021
2 dk okuma süresi
Algoritma, belirli bir görevi tamamlamak veya belirli bir sorunu çözmek için adım adım uygulanacak prosedürler veya izlenecek bir dizi kuraldır. Bir bilgisayar programı, ayrıntılı bir algoritma örneğidir.
Algoritmalar aslında hayatımızın her evresinde yer alıyor. Kek pişirme tarifi, bir matematik problemini çözmek için kullandığımız yöntem ve çamaşır yıkama işlemi de birer algoritma örneği olarak sayılabilir.
Algoritmalar, bilgi teknolojilerinin (BT) çoğu alanında yaygın olarak kullanılmaktadır. Bilgi işlemde algoritmalar, bilgisayarlara eylemleri tamamlamaları için ardışık kılavuzlar sağlar. Aslında bunlar, bir görevin nasıl tamamlanacağını tam olarak açıklayan kesin talimat listeleridir.
{module|IlgiliYazi}
Algoritmalar nasıl çalışır?
Örnek olarak bir arama motoru algoritmasını ele alalım. Arama motoru, girdi olarak anahtar sözcükler ile aramaları ele alır ve ilgili web sayfalarını bulmak için veri tabanını taradıktan sonra sonuçları size gösterir. Bu işlem sizin için anlık olsa da arka tarafta gerçekleşen milyonlarca veri adımı ve işlem bulunmaktadır.
Algoritmaları kolayca görselleştirebilirsiniz. Girdi, sırayla ele alınması gereken adımlara ve sorulara yol açar. Akış şemasının her bölümü tamamlandığında ise üretilen sonuç çıktıdır.
Şifreleme algoritmaları verileri korumak için farklı eylemlere başvurabilir. Örneğin ABD Savunma Bakanlığı, Veri Şifreleme Standardı (Defense's Data Encryption Standard - DES) isimli gizli bir anahtar algoritmasını kullanarak verileri şifreler ve şifreleri çözer. Algoritma yeterince karmaşık olduğu sürece anahtarı olmayan hiç kimse verilerin şifresini çözemez.
{module|IlgiliYazilar}
Algoritmalar ne için kullanılır?
Algoritmaların kullanım alanları bir hayli geniş ancak BT ve bilgi işlemin tüm alanlarında kullanıldığını özellikle unutmamak gerek. Algoritmalar verileri manipüle edebilir, işleyebilir ve çeşitli şekillerde hesaplamalar veya eylemler için kullanabilir.
Veri odaklı karar verme süreçleri çok karmaşık hale gelebiliyor. Bu noktada makine öğrenimi algoritmaları bir dizi geçmiş karar verme örneğine dayanarak “öğrenmeye” çalışır. Makine öğrenimi, öneriler, tahminler ve bilgi arama gibi görevler için sık kullanılan bir teknolojidir. Çoğu zaman unutulsa da bu teknoloji algoritmalar sayesinde mümkündür.
Bir algoritmalar bütünü olarak otomasyon
Hareket halindeki algoritmaların en güzel örneği ise otomasyon yazılımıdır. Bunun nedeni, otomasyonun görevleri tamamlamak için belirlenmiş kuralları izleyerek çalışmasıdır. Bu kurallar bir algoritma oluşturur. Sonuç olarak, otomasyon yazılımı süreçlerinizi otomatikleştirmek için çalışan birçok algoritmanın meydana getirdiği bir araçtır.
Örneğin, otomasyon yazılımınızın e-posta ile alınan tüm fatura bilgilerini tanıyıp bir elektronik tabloya taşımasını isteyebilirsiniz. Bunu yapmak için programın izlemesi gereken bir dizi kural ve koşul belirlemek zorundasınız. Belirleyeceğiniz kural ve koşullar yazılıma kılavuzluk edecek bir algoritmadır.
Bu senaryoda girdi gelen her e-postadır. Bu e-postaların her biri daha sonra görevi tamamlamak için bir adımdan veya kuraldan geçirilir. Bu adımlar her bir e-postanın anahtar terimler için taranmasını içerebilir. Belirlenen terimleri içeren e-postalarda istenen verileri saptamak ve taşımak için diğer adımlar takip edilir. Bu algoritmanın çıktısı ise elektronik tabloya yerleştirilen bilgidir.
Sonuç olarak algoritma, herhangi bir görevi tamamlamanın temel yolunu ve kurallarını özetleyen haritalardır. Algoritmik düşünme veya bir sorunu çözmek için net adımlar tanımlama yeteneği, yalnızca teknolojide değil hayatın hemen her alanında önemli bir avantajdır. Farkında olmasak bile, algoritmaları ve algoritmik düşünmeyi her zaman kullanırız. Belki bir dahaki sefere telefonunuzu elinize aldığınızda, bir film izlediğinizde veya e-postanızı kontrol ettiğinizde, perde arkasında ne tür karmaşık algoritmalar olduğunu tahmin etmeye çalışabilirsiniz. Ve unutmayın, bir sürece ne kadar hakim olursanız, onun için o denli net ve kolay anlaşılabilir algoritmalar oluşturabilirsiniz.
İlgili Postlar