Yazılım

Algoritma Kavramı

Tanım ve Köken

Algoritma, iyi tanımlanmış kuralların ve işlemlerin adım adım uygulanması neticesinde bir sorunun giderilmesi ya da sonuca en hızlı şekilde ulaşılması işlemidir. Algoritma kelimesinin kökeni ise Bağdat’taki kraliyet mahkemesinin bir parçası olan ve yaklaşık 780’den 850’ye kadar yaşayan matematikçi Muhammed ibn-Musa el-Harezmi’nin isminin Latinceye çevrilmesinden gelmekte.

TDK’nın ‘Harezmi Yolu’ olarak Türkçeleştirdiği bu terim genel olarak bilgisayar ve matematik biliminde kullanılmasına karşın gündelik hayatımızın her aşamasında kullanılan bir kavramdır. Basit olarak uçakla İzmir’e gelen ve Hasanağa Bahçesine gidecek olan biri için ulaşım algoritması örneği verelim. (İzmir’e gelip neden Buca’ya gideyim ki dediğinizi duyar gibiyim.)

  1. Uçaktan in ve valizini al.
  2. Geçidi kullanarak İzban’a ulaş. Aliağa yönüne giden taraftan İzban’a bin.
  3. Şirinyer durağında in ardından otobüs durağına yürü.
  4. 878 nolu hatta binerek Hasanağa durağında in.
  5. Karşıya dikkatlice geç. İşte tam karşında!

Aşağıdaki akış diyagramında gündelik hayattan alıntılanmış başka bir örneği görmekteyiz.

 

Algoritma
Algoritma

 

 

Bilgisayar Biliminde Algoritma

Tüm programlama dillerinin temelinde algoritma vardır. Kod yazanlar için algoritma plandır, programdır, yol göstericidir. Programlama dillerinin aracılığıyla uygulanabilirler. Programda kullanılan dil ve kullanım alanı ne olursa olsun algoritması olmayan bir program bulunamaz. Bir algoritmanın işlemesi için dışarıdan gelen tüm girdiler “değişken” olarak tanımlanır. Döngüler ve işlemler, bu değişkenler üzerinden gerçekleşir.

Algoritmalar, BT’nin tüm alanlarında (bilgi teknolojisi) yaygın olarak kullanılmaktadır. Örneğin, bir arama motoru algoritması, anahtar kelime ve işaretçilerin arama dizelerini girdi olarak alır, ilişkili veritabanında ilgili web sayfalarını arar ve sonuçları döndürür.

Algoritma Kavramı
Algoritma Kavramı

 

Genel olarak, insanlar bugünlerde algoritmalar hakkında konuştuğunda, sosyal medya ve haber akışlarımızı güçlendiren işlemler gibi daha spesifik durumlardan bahsetmekte. Bu sistemlerin çoğu makine öğrenimi adı verilen teknolojiye örnektir. Makine öğrenimine dayalı sistemler, kararlı bir dizi komutu tekrar tekrar işlemek yerine, kendilerini çalışırken yeniden yazarlar. Youtube bu konudaki en iyi örneklerden biri olabilir. Youtube, sitede sağ altta kutucuk şeklinde sordukları “Bugün Youtube deneyiminiz nasıl?” sorusuna verdiğiniz yanıta göre bile tavsiye edilen videoları şekillendirmekte. Bu durum algoritmaları canlıymış gibi hissettiriyor, hatta belki de duyarlı. (Tabii ki de, ikisi de değil.)

Algoritmanın en  eski uygulamalarından biri de hala çalışmaları süren, bilgisayarların bir resmin çeşitli ögelerini tanımlamaya çalıştığı yapay görmedir (Machine Vision). Genellikle ölçüm yapma, metin okuma, barkod okuma, robotların konumlandırılması için kullanılır. Geliştirilmeye her zaman mecburdurlar bunu da makine öğrenmesi dediğimiz sistemle yapabilirler.

Yapay görme önemli bir örnektir, çünkü aynı zamanda algoritmaların işlerini nasıl bozduğunu ve daha iyi nasıl öğreneceklerini de gösterir. Hatalar, bir köpeği sevimli bir keçi olarak tanıtılmasıyla yapıldığında hoş görülebilir ancak Google Fotoğraflar’ın iki siyahi insanı goril olarak tanımladığı gibi çirkin de olabilirler. Hiç kimse bilinçli bir şekilde sisteme ırkçı sonuçlar üretmeyi öğretmedi, ancak programcıların oluşturduğu parametreler onu oraya varmaya hazırlamış olabilir. Makine öğrenimine güvenmenin bu tarz riskleri olabiliyor çünkü bunlar tekrar tekrar yanlış yaparak doğru olanı öğrenmeyi öğrenen sistemlerdir. Bu nedenle onlarla çalışmak neredeyse kaçınılmaz hataları kabul etmeyi gerektirir. Fakat yaşamımıza getirdiği kolaylıklar ve yükselttiği standartlar baz alındığında bu teknolojiye minnettar kalmalıyız.

Etiketler

Doğanay YILMAZ

Teknolojiye ve onun gelişimine hayran, Dokuz Eylül Üniversitesi Bilgisayar Mühendisliği öğrencisi.

İlgili Makaleler

Bir cevap yazın

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

Başa dön tuşu
Kapalı

Reklam Engelleyici Algılandı

Mühendis Gelişim Topluluğu tüm faaliyetlerini gönüllü olarak sürdürmektedir.Lütfen bize destek olmak için reklam engelleyicinizi kapatın.