10 Jenis Algoritma Utama

Di antara berbagai jenis algoritma yang ada, yang diklasifikasikan menurut sistem tanda mereka dan menurut fungsinya menonjol. Algoritma adalah serangkaian langkah yang dilakukan untuk menyelesaikan masalah, menjalankan tugas atau melakukan perhitungan.

Menurut definisi, mereka umumnya desain yang ketat dan logis, seperti operasi matematika, yang telah terbukti optimal untuk menyelesaikan setiap kesulitan yang dimaksud.

Pada dasarnya suatu algoritma adalah solusi yang paling dikenal untuk masalah tertentu. Menurut strategi dan fungsinya, ada banyak jenis algoritma.

Beberapa jenis ini adalah: algoritma dinamis, algoritma terbalik, algoritma brute force, algoritma oportunistik, algoritma penandaan, dan algoritma acak.

Algoritma memiliki kegunaan yang berbeda di banyak bidang. Dari area komputer, melalui matematika ke area pemasaran. Ada ribuan algoritma yang tepat untuk menyelesaikan masalah di setiap bidang.

Klasifikasi jenis algoritma

Menurut sistem tandanya

Algoritma kualitatif

Algoritma ini adalah yang di mana elemen verbal ditempatkan. Contoh dari jenis algoritma ini adalah instruksi atau "langkah demi langkah" yang diberikan secara lisan.

Seperti halnya resep memasak atau instruksi untuk melakukan pekerjaan DIY.

Algoritma kuantitatif

Mereka adalah kebalikan dari algoritma kualitatif, karena elemen numerik ditempatkan. Jenis algoritma ini digunakan dalam matematika untuk melakukan perhitungan. Misalnya, untuk menemukan akar kuadrat atau menyelesaikan persamaan.

Algoritma komputasi

Mereka adalah algoritma yang dibuat dengan komputer; Banyak dari algoritma ini lebih kompleks dan oleh karena itu perlu dilakukan melalui mesin. Mereka juga bisa menjadi algoritma kuantitatif yang dioptimalkan.

Algoritma non-komputasi

Algoritma ini adalah yang tidak dapat dilakukan dengan komputer; misalnya pemrograman acara televisi.

Sesuai fungsinya

Algoritma pelabelan

Algoritma ini menggunakan otomatisasi untuk menetapkan harga secara dinamis, berdasarkan faktor-faktor seperti perilaku pelanggan.

Ini adalah praktik untuk secara otomatis menetapkan harga untuk barang yang dijual, untuk memaksimalkan laba penjual. Ini telah menjadi praktik umum dalam industri penerbangan sejak awal 1990-an.

Algoritma penandaan adalah praktik umum dalam industri yang sangat kompetitif, seperti perjalanan dan perdagangan online.

Jenis algoritma ini bisa sangat kompleks atau relatif sederhana. Dalam banyak kasus mereka dapat belajar sendiri atau mereka dapat terus dioptimalkan dengan tes.

Algoritma penandaan dapat menjadi tidak populer dengan klien karena orang cenderung menghargai stabilitas dan ketidakberpihakan.

Algoritma probabilistik

Ini adalah suatu algoritma di mana hasil atau cara di mana hasil diperoleh tergantung pada probabilitas. Terkadang mereka juga disebut algoritma acak.

Dalam beberapa aplikasi penggunaan jenis algoritma ini adalah alami, seperti misalnya ketika mensimulasikan perilaku beberapa sistem yang ada atau yang direncanakan dari waktu ke waktu. Dalam hal ini hasilnya kebetulan.

Dalam kasus lain, masalah yang akan dipecahkan bersifat deterministik tetapi dapat diubah menjadi kebetulan, dan dapat diselesaikan dengan menerapkan algoritma probabilitas.

Hal yang baik tentang jenis algoritma ini adalah bahwa penerapannya tidak memerlukan pengetahuan matematika atau canggih. Ada tiga jenis utama: numerik, Monte Carlo dan Las Vegas.

Algoritma numerik menggunakan pendekatan, bukan manipulasi simbolik, untuk menyelesaikan masalah analisis matematika. Mereka dapat diterapkan di semua bidang teknik dan ilmu fisika.

Di sisi lain, algoritma Monte Carlo menghasilkan respons berdasarkan probabilitas. Akibatnya, solusi yang dihasilkan oleh algoritma ini mungkin atau mungkin tidak benar, karena mereka memiliki margin kesalahan tertentu.

Ini digunakan oleh pengembang, oleh ahli matematika dan ilmuwan. Mereka kontras dengan algoritma Las Vegas.

Akhirnya, algoritma Las Vegas dicirikan karena hasilnya akan selalu benar, tetapi sistem dapat menggunakan lebih banyak sumber daya yang diantisipasi atau lebih banyak waktu perkiraan.

Dengan kata lain: algoritma ini membuat semacam bertaruh dengan penggunaan sumber daya, tetapi selalu menghasilkan hasil yang tepat.

Pemrograman dinamis

Kata dynamic mengacu pada metode di mana algoritma menghitung hasilnya. Terkadang solusi dari suatu elemen masalah tergantung pada solusi dari serangkaian masalah yang lebih kecil.

Oleh karena itu, untuk menyelesaikan masalah, nilai-nilai yang sama harus dihitung berulang-ulang untuk menyelesaikan sub-masalah yang lebih kecil. Tetapi ini menciptakan pemborosan siklus.

Untuk mengatasinya, pemrograman dinamis dapat digunakan. Dalam hal ini pada dasarnya hasil dari setiap sub-masalah diingat; ketika dibutuhkan, nilai itu digunakan alih-alih menghitungnya berulang-ulang.

Algoritma heuristik

Algoritma ini adalah mereka yang menemukan solusi di antara semua yang mungkin, tetapi mereka tidak menjamin bahwa yang terbaik dari ini akan ditemukan. Karena alasan itu, mereka dianggap sebagai perkiraan atau bukan algoritma yang tepat.

Mereka biasanya menemukan solusi yang dekat dengan yang terbaik, dan mereka menemukannya dengan cepat dan mudah. Umumnya jenis algoritma ini digunakan ketika tidak mungkin untuk menemukan solusi dengan cara normal.

Algoritma kembali

Mereka adalah algoritma yang telah dicabut dengan mengamati perilaku mereka. Biasanya mereka adalah perkiraan algoritma asli yang dibangun untuk tujuan seperti kompetisi atau studi.

Algoritma dapat dicabut untuk mempelajari dampaknya terhadap pasar, ekonomi, tanda harga, operasi, dan masyarakat.

Algoritma Ravenous

Dalam banyak masalah, membuat keputusan rakus mengarah ke solusi optimal. Jenis algoritma ini berlaku untuk masalah optimisasi.

Dalam setiap langkah algoritma yang rakus, keputusan logis dan optimal dibuat, sehingga pada akhirnya solusi keseluruhan terbaik tercapai.

Tetapi perlu diingat bahwa sekali keputusan dibuat tidak dapat diperbaiki atau diubah di masa depan.

Menguji kebenaran dari algoritma yang rakus sangat penting, karena tidak semua algoritma seperti ini menghasilkan solusi global yang optimal.