Başlıca Algoritmaların 10 Türü

Var olan farklı algoritma türleri arasında, işaret sistemlerine ve işlevlerine göre sınıflandırılanlar öne çıkıyor. Bir algoritma, bir sorunu çözmek, bir görevi yerine getirmek veya bir hesaplama yapmak için gerçekleştirilen bir dizi adımdır.

Tanım olarak, genellikle söz konusu herhangi bir zorluğu çözmek için optimal olduğu kanıtlanan matematiksel işlemler gibi titiz ve mantıklı tasarımlar.

Temel olarak bir algoritma, belirli bir problem için bilinen en iyi çözümdür. Stratejisine ve işlevine göre, birçok algoritma türü vardır.

Bu türlerden bazıları şunlardır: dinamik algoritmalar, ters algoritmalar, kaba kuvvet algoritmaları, fırsatçı algoritmalar, işaretleme algoritmaları ve diğerleri arasında rastgele algoritmalar.

Algoritmaların birçok alanda farklı kullanımları vardır. Bilgisayar alanından matematiğe, pazarlama alanına . Her alandaki sorunları çözmek için binlerce uygun algoritma vardır.

Algoritma türlerinin sınıflandırılması

İşaret sistemine göre

Nitel algoritmalar

Bu algoritmalar sözel elemanların yerleştirildiği algoritmalardır. Bu tür bir algoritmanın bir örneği, sözlü olarak verilen talimatlar veya "adım adım" dır.

Böyle bir yemek pişirme tarifleri veya bir DIY işi yapmak için talimatlar böyledir.

Kantitatif algoritmalar

Sayısal elemanlar yerleştirildiği için kalitatif algoritmaların zıddıdır. Bu tür algoritmalar matematikte hesaplamaları yapmak için kullanılır. Örneğin, bir karekök bulmak veya bir denklemi çözmek için.

Hesaplamalı algoritma

Bilgisayarla yapılan algoritmalardır; Bu algoritmaların çoğu daha karmaşıktır ve bu nedenle bir makine ile yapılması gerekir. Ayrıca optimize edilmiş kantitatif algoritmalar olabilirler.

Hesaplamalı olmayan algoritma

Bu algoritmalar bilgisayar ile yapılamayanlardır; örneğin, bir televizyonun programlanması.

İşlevine göre

Etiketleme algoritması

Bu algoritma, fiyatları müşteri davranışı gibi faktörlere bağlı olarak dinamik bir şekilde ayarlamak için otomasyon kullanır.

Satıcının karını en üst seviyeye çıkarmak için, satıştaki ürünler için otomatik olarak bir fiyat belirleme uygulamasıdır. 1990'lı yılların başından beri havayolu endüstrisinde yaygın bir uygulama olmuştur.

Etiketleme algoritması, seyahat ve çevrimiçi ticaret gibi rekabet gücü yüksek endüstrilerde yaygın bir uygulamadır.

Bu tür bir algoritma son derece karmaşık veya nispeten basit olabilir. Çoğu durumda kendi kendine öğretilebilir veya testlerle sürekli olarak optimize edilebilirler.

Etiketleme algoritması, insanlar istikrar ve tarafsızlığa değer verme eğiliminde olduklarından, müşteriler arasında popüler olmayabilir.

Olasılıklı bir algoritma

Bu, sonucun veya sonucun elde edilme şeklinin olasılığa bağlı olduğu bir algoritmadır. Bazen de rastgele algoritmalar denir.

Bazı uygulamalarda, bu tür bir algoritmanın kullanılması, örneğin mevcut veya planlanmış bir sistemin davranışını zaman içerisinde simüle ederken olduğu gibi doğaldır. Bu durumda sonuç tesadüfidir.

Diğer durumlarda çözülmesi gereken problem belirleyicidir, ancak tesadüfi bir duruma dönüştürülebilir ve bir olasılık algoritması uygulanarak çözülebilir.

Bu tür bir algoritma ile ilgili iyi bir şey, uygulamasının karmaşık veya matematiksel bilgi gerektirmemesidir. Üç ana tür vardır: sayısal, Monte Carlo ve Las Vegas.

Sayısal algoritma, matematiksel analiz problemlerini çözmek için sembolik manipülasyonlar yerine yaklaşımı kullanır. Mühendislik ve fizik bilimlerinin tüm alanlarında uygulanabilirler.

Öte yandan, Monte Carlo algoritmaları olasılığı temel alan tepkiler üretmektedir. Sonuç olarak, bu algoritma tarafından üretilen çözümler, belirli bir hata payına sahip oldukları için doğru olabilir veya olmayabilir.

Geliştiriciler, matematikçiler ve bilim adamları tarafından kullanılır. Las Vegas algoritmalarıyla karşılaştırıldılar.

Son olarak, Las Vegas algoritmaları, sonuç her zaman doğru olacağı için karakterize edilir, ancak sistem, öngörülen kaynakların daha fazlasını veya tahminin daha fazla zamanını kullanabilir.

Başka bir deyişle: bu algoritmalar, kaynakların kullanımıyla bir tür bahis yapar, ancak her zaman kesin bir sonuç verir.

Dinamik programlama

Dinamik kelimesi, algoritmanın sonucu hesapladığı metodu ifade eder. Bazen problemin bir elemanının çözümü bir dizi küçük problemin çözümüne bağlıdır.

Bu nedenle, problemi çözmek için, daha küçük alt problemleri çözmek için aynı değerlerin tekrar tekrar hesaplanması gerekir. Ancak bu bir döngü kaybı yaratır.

Bunu düzeltmek için dinamik programlama kullanılabilir. Bu durumda temel olarak her alt problemin sonucu hatırlanır; Gerektiğinde, bu değer tekrar tekrar hesaplamak yerine kullanılır.

Sezgisel algoritmalar

Bu algoritmalar, olası tüm çözümler arasında çözüm bulanlardır, ancak bunların en iyisinin bulunacağını garanti etmezler. Bu nedenle, yaklaşık algoritmalar veya kesin algoritmalar olarak kabul edilirler.

Genellikle en iyisine yakın bir çözüm bulurlar ve çabucak ve kolayca bulurlar. Genellikle bu tür bir algoritma normal yoldan bir çözüm bulmak mümkün olmadığında kullanılır.

Geri algoritmalar

Davranışlarını gözlemleyerek iptal edilmiş algoritmalardır. Tipik olarak yarışma veya çalışmalar gibi amaçlar için oluşturulan orijinal algoritmanın yaklaşıklamalarıdır.

Piyasalar, ekonomi, fiyat belirleme, operasyonlar ve toplum üzerindeki etkilerini incelemek için algoritmalar iptal edilebilir.

Vahşi Algoritma

Sorunların çoğunda, titiz kararlar almak en uygun çözümlere yol açar. Bu tür algoritmalar optimizasyon problemlerine uygulanabilir.

Bir titiz algoritmanın her aşamasında mantıklı ve optimal bir karar verilir, böylece sonuçta en iyi genel çözüme ulaşılır.

Ancak bir karar verildikten sonra gelecekte düzeltilemeyeceğini veya değiştirilemeyeceğini unutmayın.

Titiz bir algoritmanın doğruluğunun test edilmesi çok önemlidir, çünkü bu tür algoritmaların tümü optimum bir global çözüme yol açmaz.