Algoritma nedir? Algoritma örnekleri nelerdir? Sorularının cevabını merak edenler için bugün Nen Var ekibi olarak oldukça detaylı bir rehber hazırladık.
Biliyorsunuz ki bilgisayar dünyası; makine öğrenimi, yapay zekâ, süper bilgisayarlar, bulut depolama, kuantum hesaplama gibi pek çok kelime içermektedir.
İşte bu hususta en popüler kelimelerden biri de algoritma kelimesidir.
Bazı zamanlar arkadaş ortamında ya da internette algoritma kelimesi ile karşı karşıya kalan çoğu insanın kafasında algoritma nedir? Sorusu dahil olmak üzere birtakım soru işaretleri de oluşmaktadır.
Sözü daha fazla uzatmadan tüm bu soru işaretlerini gidermeye çalışalım.
İşte detaylar…
Algoritma Nedir?
Öncelikle şunu belirtelim ki bu kelimenin anlamı her ne kadar kulağa karışık bir şeymiş gibi gelse de aslında oldukça basit bir anlama sahiptir.
Bu kavram TDK’ye göre, “İyi bir şekilde tanımlanmış kuralların ve ayrıca işlemlerin adım adım uygulamaya konulmasıyla bir problemin giderilmesi ya da sonuca en hızlı şekilde varılması işlemi” anlamına gelmektedir.
Buradan hareketle diyebiliriz ki algoritma, bir problemi çözüme kavuşturmak ya da bir görevi yerine getirmek için gerekli olan bir dizi talimattır.
Bu konuyu basit bir örnekle pekiştirecek olursak da; diyelim ki hayatınızda daha önce hiç yapmadığınız bir yemeği yapmaya karar verdiniz. E haliyle bunun için bir tarife ihtiyacınız olacaktır.
İşte yemeğin yapılması için adım adım oluşturulan yemek tarifi algoritmanın ta kendisidir.
Çok sık karşılaşılan problemlerden biri de biliyorsunuz ki teknolojik aletlerdir. Şimdi de bilgisayarınızı bir türlü açamadığınız farz edelim. Bu durumda ne yaparsınız?
Büyük ihtimalle şarjının olmadığını düşünüp bilgisayarın fişini prize takarsınız. Hala açılmıyorsa çareyi bir teknik servise gitmekte bulursunuz.
İşte bu problemi çözüme kavuşturmak için izlediğiniz adımlar bir algoritmadır.
Bazı zamanlar farkında olmasak da bu kavramla sabah gözlerimizi açtığımız andan akşam gözlerimizi kapattığımız ana kadar karşılaşmaktayız.
Yemek tarifi ve bilgisayar dünyası gibi her alanda kendini gösteren bu kavram, program alanında da sıklıkla kullanılmaktadır. Çünkü bir program geliştirebilmek için türlü kodlar kullanmak gerekir.
Kod yazmadan önce ise bir algoritmaya ihtiyaç vardır. Çünkü bir işlemi gerçekleştirmeden önce yerine getirilmesi gereken talimatları adım adım belirlemek lazımdır.
Dilerseniz şimdi de algoritma çeşitleri nelerdir? Sorusunu yanıtlayalım.
Algoritma Çeşitleri Nelerdir?
Algoritma çeşitleri şu şekildedir;
- Basit Özyinelemeli Algoritma,
- Böl ve Fethet Algoritması,
- Dinamik Programlama Algoritması,
- Açgözlü Algoritma,
- Kaba Kuvvet Algoritması.
Şimdi bunları tek tek açıklayalım.
Basit Özyinelemeli Algoritma
Var olan problemi kendi kendine çözer. Sorunu küçük parçalara ayırarak daha küçük sorunlar haline getirir.
Bu işleme sorun en küçük hale gelene kadar devam eder. Son olarak sorun en küçük halinde çözülürse genel sorunun tümü çözüme kavuşmuş olur.
Böl ve Fethet Algoritması
Basit özyinelemeli algoritma ile oldukça benzerlik gösterir. Fakat tek farkı sorunu öncelikle ikiye böler ve yine ikiye böler.
Böylelikle sorun çözüme kavuşana kadar en küçük hale getirmeye çalışır. Genel çözüm için ise bölünen bütün parçalar tekrar birleştirilerek çözüm elde edilir.
Dinamik Programlama Algoritması
Bu programlama algoritması var olan sorunu alt sorunlara indirgeyerek bunları çözüme kavuşturur.
Daha sonraysa bu cevapları başka bir zaman kullanmak adına depolar. Yani hafızada saklar.
Açgözlü Algoritma
Bu algoritma da diğer algoritmalar gibi parçalar halinde sonuca yaklaşır ve anında yarar sağlayabileceği yani çözüme en yakın sonuç hangisi ise onu seçer.
Fakat bu seçimi yaparken yapılan seçimin en iyi seçim olup olmadığıyla pek ilgilenmez. Sadece çözüme en yakın duranı seçer.
Hal böyle olunca bu seçim belki de en iyi çözümü getirmeyebilir.
Kaba Kuvvet Algoritması
Bahsettiğimiz algoritmaların arasında en basit olan algoritmalardan bir tanesidir. İsminden de anlaşılacağı üzere çözüme ulaşmak adına her yolu dener.
Fakat en büyük dezavantajı her türlü çözüm yolunu denediği için maalesef uzun bir çözüm yoluna sahiptir.
Algoritma Örnekleri
Algoritma örnekleri ise şunlardır;
- Yüz tanıma,
- Tarifler,
- Kağıtları sıralama,
- Spotify.
Yüz Tanıma
Snapchat filtrelerinin arkasındaki ve iPhone ekran kilidi açmadaki sistemdir. Bir algoritma sayesinde çalışır.
Sistem, yüz özelliklerini çizmek adına biyometrik bir harita kullanır. Daha sonra bunu alır ve eşleştirme işlemi adına veri taban üzerinde bir karşılaştırma yapar.
Bu sayede kimlik doğrulama gerçekleşmiş olur.
Tarifler
Yazımızın en başında da bahsettiğimiz gibi tarifler de algoritmadır. Bunun nedeni ise tariflerde uyulması gereken birtakım talimatlar bulunmasıdır.
Tarifler için gerekli malzemeler vardır ve bu malzemeler talimatlar doğrultusunda kullanılarak ortaya bir yemek çıkarılır.
Kağıtları Sıralama
Kağıtları sıralamak basit gibi görünse de algoritmik düşünmeyi sağlamaktadır. Aslında odanızda ya da ofisinizde olan belgelerinizi sıralarken algoritma uygulamış olursunuz.
Mesela belgelerinizi kelime sayısına, alfabeye ya da tarihe göre sıralayabilirsiniz. Buradaki temel amaç küçük görevleri kullanarak işlemi basit hale getirmektir.
Spotify
Milyonlarca kullanıcıya sahip olan Spotify da türlü algoritmalar kullanır.
Kütüphanesinde çok fazla müzik barındırır ve kullanmış olduğu algoritmalar sayesinde ise kullanıcılara beğendikleri müziklere göre öneride bulunur.
İçeriğimizi sonlandırıyorken; algoritma nedir? Sorusunu yanıtlayarak algoritma örnekleri verdik.