Kullanmış olduğumuz telefonlar, bilgisayarlar, akıllı eşyalar…
Bilgisayar programları belki de farkında olmadan hayatımızın en önemli parçalarını oluşturan makinelerin, cihazların temelini, beynini oluşturan yazılımlardır.
Algoritmalar ise kullanmış olduğumuz akıllı sistemler, akıllı makinelerin temelini oluşturan programların taslak biçimidir. Geliştirilen bir algoritma aynı zamanda sistemi akıllı hale getiren, sistemin çalışma biçimini adımsal olarak belirleyen yazılım öncesi hazırlık çalışmasıdır. Algoritmalar yapay zeka yaklaşımında, sezgisel algoritma adını verdiğimiz canlıların, tabiattaki olayların, maddelerin davranış biçimini temel alarak en doğru sonucu bulmaya çalışan yazılımlar ile bilime çok büyük bir katkıda bulunmaktadır.
Sezgisel algoritmaların birçoğu canlıların davranış biçimini örnek alan uygulamalardır. Bunlara örnek olarak yapay sinir ağları, bulanık mantıķ ve genetik algoritmayı verebiliriz. Bunları biraz daha açıklayacak olursak:
Bulanık mantık, insan düşünme ve karar verme sürecini temel alarak, sayısal değerlerin dilsel değişkenler ile sembolize edilmesi ve sistem için gerekli hesaplamaların yapılmasıdır.
Genetik algoritma ile değişkenlerin genler ile ifade edilmesi ve değişkenlerin alternatif durumlarının iyi kromozomlar ile eşleştirilmesi ve eniyilemenin yapılması şeklinde ifade edilebilir.
Yapay sinir ağları ile canlılardaki sinir hücrelerinin modellenmesi ve uyarılar yolu ile öğrenmenin sağlanmasıdır.
Karınca kolonisi, karıncalardan birisinin yiyecek bulması durumundan yol üzerinde koku bırakarak diğer arkadaşlarına, yiyecek yolunun neresi olduğunun haberini vermesi durumu ile özellikle en uygun en kısa yol problemlerinin çözümü için geliştirilmiş bir algoritmadır.
Sürü optimizasyonu ise denizdeki balıklar ya da kuşların sürü halinde hareket ederek senkronize bir biçimde en iyi noktanın bulunması şeklinde ifade edilebilmektedir.
Benzetim tavlaması, maddenin ısıtılarak hızlı bir şekilde soğutulması ile kristalleştirilmesi ve bu süreçte sistem için en iyi noktanın bulunmasıdır.
Tabu araması ile sisteme ait çözüm kümesinin en üç noktalarda araştırılması ve çözümlenmesidir.
Guguk kuşu algoritması temel olarak, guguk kuşunun yumurtalarını farklı türdeki kuş yuvalarına yumurtasını bırakması ve farklı türdeki kuşların yuvalarına bırakarak yavrularına baktırtması bir algoritma biçimi olarak tanımlanmıştır. Burada guguk kuşu yumurtalarının farklı kuş yuvalarına bırakması sonucu diğer kuşlarda farklı olan yumurtalara, kendi yumurtalarından daha iyi ve ihtimamlı bir şekilde bakması ve koruması sonucunda bir eniyileme (optimizasyon) problemine yeni bir yaklaşımda burada getirilmiş olmaktadır. Bu yaklaşım aynı zamanda pratikte şirketlerin riskli ortamlarda, risk durumlarını farklı alanlara yönlendirmesi ya da problemi oluşturan alternatiflerin farklı alan ve biçimlerde çözümlenmesi şeklinde yorumlanabilir. Bu algoritma aynı zamanda diğer kuş yuvalarını bulmasında kullanmış olduğu uzaklık birimi yani Levy uzunluğu ile en kısa yol problemlerinin çözümünde kullanılabilmektedir. Aynı zamanda yapay sınır ağlarında kullanılan öğrenme algoritmaları da makine öğrenme algoritmalarında kullanılmaktadır.
Son olarak, son yıllarda daha da önem kazanan yapay sinir ağlarının öğrenme algoritmaları günümüzde makine öğrenmesi adını verdiğimiz yaklaşımların algoritmalar aracılığı ile yazılan programlar ile birlikte sistemlere ve makinelere aktarılması sonucunda karar destek sistemlerinin kendi kendine karar verebilen yani akıllı sistemlerin geliştirilmesine katkıda bulunmaktadır.
Kısaca algoritmalar ve bilgisayar programları her geçen gün daha fazla hayatımızı kolaylaştırmakta ve hayatımızın bir parçası olmaya devam etmektedir.