Alm. Algorithmus (m), Fr. Algoritme (m), İng. Algorithm.
Matematikte sayılarla yapılan her türlü hesaplamanın sistematik metoduna verilen genel isim.
Algoritmanın kurucusu dokuzuncu yüzyıl başlarında yaşayan Müslüman-Türk matematik alimi Ebu Abdullah Muhammed bin Musa el-Harezmi’dir. Matematikçiler için temel olan Kitab-ül Muhtasar fi Hesab-il Cebri ve’l-Mukabele adlı eseri meşhurdur. Kitabın aslı, Oxford’daki Bodliana kütüphanesindedir. Matematikteki şöhreti on altıncı yüzyılda Avrupa’yı etkisi altına almıştır. Harezmi’nin ismi Avrupa’da türlü şekillerle söylenmiştir. Latince’de “Alkhorismi” şeklinde söylenerek bulduğu metod Algoritma (algorizme) olarak literatüre geçmiştir.
Halen kullanılmakta olan; toplama, çıkarma, çarpma, bölme sayılarını en büyük ortak bölenlerini ve en küçük ortak katlarını bulmak gibi bilinen bütün aritmetik işlem metodları birer algoritmadır. Hesap makinalarına yerleştirilen, çeşitli işlemlere ait programlar da birer algoritmadır.
Algoritmalar bilgisayarlar tarafından işletilebilirler. Algoritma kelimesi, Özbekistan'ın Harezm, bugünkü Türkmenistan'ın Khiva kentinde doğmuştur.
m % n koy, tekrar 1'den başla.
Bu örnekte m%n bölmenin kalanıdır, yani 5 % 2 = 1'deki gibi. Algoritmayı 33 ve 15'e uygulayalım:
33,15
15,3
3, 0
sonuç 3
Bir de bilgisayar algoritmasına örnek verelim. Kullanıcının girdiği dört sayının ortalamasını görüntüleyen algoritmayı yazalım:
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
Uygulama
Çoğu algoritmalar bilgisayar olarak uygulanmak üzere tasarlanmıştır. Bununla birlikte, başka yöntemlerle de uygulanmaktadır, biyolojik sinir ağı(örneğin insan beyninin hesap yapması veya bir böceğin yemek araması), elektrik devresi veya mekanik cihazlar gibi.
Hukuki Konular
Algoritmalar, tek başlarına, genellikle patent verilebilir değildirler. Amerika Birleşik Devletleri'nde soyut kavramların, sayıların ve işaretlerin yalnızca basit yönlendirmelerinden oluşan bir iddia "süreç" oluşturmaz (USPTO 2006), ve bundan dolayı algoritmalar patent verilebilir değildir (Gottschalk v.Benson'da olduğu gibi). Bununla birlikte, algoritmanın pratik uygulamaları zaman zaman patent verilebilirdir. Örneğin, Diamond v.Diehr'da, sentetik kauçuğun muhafaza edilmesine yardımcı olmak için kullanılan basit geri bildirim algoritmasının uygulaması patent verilebilir sayılmıştır. Yazılım patenti son derece tartışmalıdır ve algoritmaları içeren birçok eleştirilmiş patent vardır, özellikle veri sıkıştırma algoritmaları, Unisys' LZW patentinde olduğu gibi.
Ek olarak, bazı kriptografik algoritmaların ihracat kısıtlamaları vardır.
1950'den Sonraki Tarihi
Faaliyetlerin birçoğu algoritmanın tanımının geliştirilmesine yönlendirilmiştir ve aktifliği çevredeki sorunlar nedeniyle, özellikle matematiğin temelleri(özellikle Church-Turing tezi) ve akıl felsefesi(özellikle yapay zeka konusundaki tartışmalar) sebebiyle devam etmiştir.
Ö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ı