Algoritma 800’lü yıllarda yaşamış olan Acem matematikçi Musa al-Khwârizmi‘nin çalışmalarıyla ortaya konmuştur. 12. yüzyılda Latinceye çevrilirken Algorithm olarak geçmiştir. Türkçeye Algoritma olarak çevrilmiştir.

Algoritma, en basit ifadeyle, bir problemi çözmek için takip edilecek sonlu sayıda adımdan oluşan bir çözüm yoludur. Temel özellikleri ise:

  1. Kesinlik : Algoritma içindeki adımlar herkes tarafından aynı şekilde anlaşılabiliyor olması gerekir. Yoruma dayalı bilgi içermez.
  2. Sıralı Olma : Her algoritma için bir başlangıç durumu söz konusudur. Başlangıç durumları göz önünde tutularak çözümler üretilir. Adımların sırası önemli ve net olmalıdır.
  3. Sonluk : Algoritma sonlu sayıdan oluşmalı, sınırlı bir zaman diliminde tamamlanmalıdır. Her algoritmanın bir son noktası, bitişi olmalıdır.

ax² + bx + c = 0 biçiminde bir denklemin köklerini bulma

Öğrenmeye başlamak için

Aslında çoğu yazılım dilinde ( Java, Delpi, C, C+, C++, MATLAB …) algoritma kullanılarak kodlar belli bir sırayla yazılır. Bir mühendislik öğrencisi olarak, algoritmayı bilinçli bir şekilde fiile geçirecekler için Arduino‘yu tavsiye ederim. Yazılan algoritmaları gerekli ekipmanlarla somut bir şekilde görmek öğrenmemize daha fazla yardımcı olacaktır.

Kullanıldığı Yerler

Algoritmanın kullanım alanları, matematiğin kullanım alanları gibi hayatın her yerinde bulunur. Ekmek almaya gitmekten tutun, çay demlemeye, sınava çalışmak gibi çok farklı alanlarda kullanılıyor. Lakin hepsinin ortak yanı; ortada bir sorun var ve bu sorunları çözmek için sıralı adımlar uygulayarak çözüme varıyoruz. Ya da varamıyoruz ve algoritmamız hatalı oluyor.

YouTube, Netfilix algoritmalarında izlediğimiz içeriklere göre benzer içerikleri bize önermesi de bu yolla gerçekleşiyor. Tabi bu algoritma için gereken verileri depolarında kaydedip analiz ettikten sonra tavsiye olarak ya da otomatik oynatma özelliği ile bizlere sunuyorlar.

İzleme geçmişine göre farklı tasarımlarla aynı içerik karşımıza çıkıyor.

Akış Şeması

Akış şeması algoritmaları ve işlemleri birbirine oklarla bağlı değişik tiplerdeki kutular içerisinde gösteren yaygın bir şema tipidir. Akış şemaları çeşitli alanlardaki işlem ve uygulamaların yönetilmesi, belgelendirilmesi, tasarlanması ve çözümlenmesinde kullanılır.

Makine Öğrenme Algoritmaları

Bir makine bir iş yaparken onun görev tanımını çok iyi ezberlememiz gerekir. Bir çamaşır makinesi; çamaşırları hangi sırayla yıkacak, ne zaman su alıp ne zaman su boşaltacak, elektrikler gittiğinde ne yapacak, elektrik geri geldiğinde ne yapacak, dışarından bir etken varsa nasıl bir önlem alacak, kapağını neye göre açıp neye göre kilitli tutacak bunları belli bir algoritmanın ışığında yapması gerekiyor. İlerleyen zamanlarda machine learning‘i anlattığımızda bu konuya daha derinden inceleyebiliriz. Medium‘dan bu makaleyi incelemenizi öneririm.

Bu yazımda Webtekno ve KODLAB Algoritma kitabından bilgiler aldım.


What's Your Reaction?

hate hate
0
hate
confused confused
0
confused
fail fail
0
fail
fun fun
1
fun
geeky geeky
0
geeky
love love
1
love
lol lol
0
lol
omg omg
0
omg
win win
1
win