Dalam bidang optimasi matematika dan ilmu komputer,
Heuristik (bahasa Yunani: εὑρίσκω. "Saya menemukan") adalah teknik yang dirancang untuk memecahkan masalah dengan lebih cepat ketika metode klasik terlalu lambat untuk menemukan solusi pasti atau hampiran, atau ketika metode klasik gagal menemukan solusi yang pasti di ruang pencarian. Hal ini dicapai dengan menukar keoptimalan, kelengkapan, akurasi, atau presisi dengan kecepatan. Sedikit banyak,
Heuristik ini dapat dianggap sebagai jalan pintas.
Sebuah fungsi
Heuristik, atau secara sederhana disebut
Heuristik, adalah sebuah fungsi (matematika) yang mengurutkan alternatif-alternatif dalam algoritma pencarian pada setiap langkah percabangan berdasarkan informasi yang tersedia untuk menentukan cabang mana yang harus diikuti. Sebagai contoh, cabang tersebut mungkin menghampiri solusi yang tepat.
Definisi dan Motivasi
Tujuan utama
Heuristik adalah menghasilkan solusi dalam waktu yang wajar dan dapat diterima untuk memecahkan masalah yang dihadapi. Solusi ini mungkin bukan yang optimal atau mungkin hanya merupakan hampiran dari solusi sebenarnya, tetapi cukup efektif untuk memberikan jawaban praktis dalam rentang waktu yang masuk akal.
Heuristik dapat bekerja secara mandiri untuk menghasilkan solusi atau diintegrasikan dengan algoritma optimasi untuk meningkatkan efisiensi. Sebagai contoh,
Heuristik dapat digunakan untuk menentukan nilai awal yang strategis (seed value) untuk mempercepat pencapaian solusi optimal dalam algoritma optimasi.
Pentingnya
Heuristik semakin mengemuka dalam menghadapi masalah NP-hard yang untuk menemukan solusi optimal dengan pendekatan komputasi klasik menjadi tidak praktis atau bahkan tidak mungkin. Dalam skenario tersebut,
Heuristik menjadi pilihan realistis untuk mendapatkan solusi berkualitas tinggi dalam waktu yang wajar.
Lebih lanjut,
Heuristik merupakan landasan bagi bidang Kecerdasan Buatan (AI) dan simulasi komputer untuk meniru proses berpikir manusia. Kemampuan
Heuristik untuk mengarahkan pencarian solusi dalam skenario tanpa algoritma yang pasti menjadikannya elemen vital dalam sistem AI yang adaptif dan cerdas.
Kompromi
Meskipun menjanjikan solusi cepat dan efisien,
Heuristik memiliki kompromi yang perlu dipertimbangkan ketika akan menggunakan
Heuristik untuk memecahkan suatu masalah, sebagai berikut.
Optimalitas: Ketika terdapat beberapa kemungkinan solusi dalam masalah yang diberikan, apakah algoritma
Heuristik tersebut dapat menjamin bahwa solusi terbaik dapat ditemukan? Apakah suatu keharusan untuk menemukan solusi terbaik?
Kelengkapan: Ketika terdapat beberapa kemungkinan solusi dalam masalah yang diberikan, apakah algoritma
Heuristik mampu untuk menemukan semua solusi tersebut? Apakah semua solusi perlu untuk ditemukan? Sebab kebanyakan algoritma
Heuristik hanya dirancang untuk menemukan satu solusi.
Akurasi dan presisi: Apakah algoritma
Heuristik tersebut dapat memberikan interval kepercayaan untuk solusi yang seharusnya? Apakah error bar pada solusi terlalu besar?
Waktu eksekusi: Apakah algoritma
Heuristik yang digunakan merupakan algoritma terbaik yang diketahui sekarang untuk memecahkan masalah yang sedang dihadapi? Beberapa algoritma
Heuristik lebih cepat konvergen daripada yang lainnya. Beberapa
Heuristik hanya sedikit lebih cepat daripada metode klasik, dalam hal ini overhead dalam menghitung
Heuristik mungkin berdampak negatif.
Dalam beberapa kasus, mungkin sulit untuk memutuskan apakah solusi yang ditemukan oleh
Heuristik cukup baik karena teori yang mendasari
Heuristik tidak terlalu mendalam.
Lihat juga
Heuristik konstruktif
Metaheuristik: Metode untuk mengontrol dan men-tuning algoritma
Heuristik dasar, biasanya dengan penggunaan memori dan proses pemelajaran.
Mateuristik: Algoritma optimasi yang dibuat dengan interoperabilitas teknik metaheuristik dan pemrograman matematis (MP).
Optimasi pencarian reaktif: Metode yang menggunakan prinsip-prinsip pemelajaran mesin daring untuk men-tuning
Heuristik secara mandiri.
Referensi