"Algoritma Geliştirme" Nedir?
"Algoritma Geliştirme" Nedir?
Yapay Zeka & IoT / 7 Eylül 2016 / 2 dk. / Sesli Makale
Son Güncelleme: 29 Ağustos 2018
Algoritma Nedir?
Algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yola verilen isimdir. Matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir. Genellikle bilgisayar programlamada kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır. Aynı zamanda algoritma tek bir problemi çözecek davranışın, temel işleri yapan komutların veya deyimlerin adım adım ortaya konulmasıdır ve bu adımların sıralamasına dikkat edilmelidir.
Bir problem çözülürken algoritmik ve sezgisel (heuristic) olmak üzere iki yaklaşım vardır. Algoritmik yaklaşımda da çözüm için olası yöntemlerden en uygun olan seçilir ve yapılması gerekenler adım adım ortaya konulur. Algoritmayı belirtmek için; metinsel olarak düz ifade ve akış diyagramı olmak üzere 2 yöntem kullanılır. Algoritmalar bir programlama dili vasıtasıyla bilgisayarlar tarafından işletilebilirler.
İlk algoritma, el Harezmi tarafından "Hisab el-cebir ve el-mukabala" kitabında sunulmuştur. Algoritma sözcüğü de El Harizmi'nin isminin Avrupalılarca telaffuzundan doğmuştur.
Çoğu algoritmalar bilgisayar olarak uygulanmak üzere tasarlanmıştır. Bununla birlikte, başka yöntemlerle de uygulanmaktadır; örneğin biyolojik sinir ağı (insan beyninin hesap yapması veya bir böceğin yemek araması), elektrik devresi veya mekanik cihazlar gibi.
Önemli algoritma türleri:
- Arama algoritmaları
- Bellek yönetimi algoritmaları
- Bilgisayar grafiği algoritmaları
- Birleşimsel algoritmalar
- Çizge algoritmaları
- Evrimsel algoritmalar
- Genetik algoritmalar
- Kripto algoritmaları veya kriptografik algoritmalar
- Kök bulma algoritmaları
- Optimizasyon algoritmaları
- Sıralama algoritmaları
- Veri sıkıştırma algoritmaları
Algoritma Örnekleri:
Kullanıcının girdiği dört sayının ortalamasını görüntüleyen algoritma:
A0 --> Başla
A1 --> Sayaç=0 (Sayaç'ın ilk sayısı 0 olarak başlar.)
A2 --> Sayı=? : T=T+Sayı (Sayıyı giriniz. T'ye sayıyı ekle ve T'yi göster.)
A3 --> Sayaç=Sayaç+1 (Sayaç'a 1 ekle ve sayacı göster.)
A4 --> Sayaç<4 ise A2'ye git. (Eğer sayaç 4'ten küçükse Adım 2'ye git.)
A5 --> O=T/4 (Ortalama için T değerini 4'e böl)
A6 --> O'yu göster. (Ortalamayı göster.)
A7 --> Dur
Quicksort (Hızlı Sıralama) Algoritması:
Günümüzde yaygın olarak kullanılan bir sıralama algoritmasıdır. Hızlı sıralama algoritması n adet sayıyı, ortalama bir durumda, O(n log(n)) karmaşıklığıyla, en kötü durumda ise O(n²) karmaşıklığıyla sıralar. Algoritmanın karmaşıklığı aynı zamanda yapılan karşılaştırma sayısına eşittir.