Memahami Algoritma Uniform Cost Search (UCS)

UCS: Menemukan Jalur Termurah Mulai Tujuan

Visualisasi sederhana Algoritma Uniform Cost Search.

Apa Itu Algoritma Uniform Cost Search (UCS)?

Dalam dunia kecerdasan buatan dan ilmu komputer, pencarian solusi dalam suatu ruang masalah adalah tugas fundamental. Berbagai algoritma telah dikembangkan untuk tujuan ini, masing-masing dengan kelebihan dan kekurangannya. Salah satu algoritma pencarian yang penting dan banyak digunakan adalah Uniform Cost Search (UCS). UCS adalah algoritma pencarian berbasis grafik yang bertujuan untuk menemukan jalur terpendek dari satu node (titik awal) ke node lain (titik tujuan) dalam sebuah grafik berbobot. Berbeda dengan algoritma pencarian lain seperti Breadth-First Search (BFS) yang mengeksplorasi secara merata, UCS memprioritaskan jalur dengan biaya kumulatif terendah.

Bagaimana Cara Kerja UCS?

Prinsip dasar UCS adalah mengeksplorasi node yang paling "murah" terlebih dahulu. Algoritma ini menggunakan struktur data prioritas antrian (priority queue) untuk menyimpan node-node yang akan dikunjungi. Setiap elemen dalam prioritas antrian adalah sebuah node, bersama dengan biaya kumulatif untuk mencapai node tersebut dari titik awal.

Berikut adalah langkah-langkah umum cara kerja UCS:

  1. Inisialisasi:
    • Buat sebuah prioritas antrian yang diurutkan berdasarkan biaya kumulatif (terendah ke tertinggi).
    • Masukkan node awal ke dalam prioritas antrian dengan biaya 0.
    • Buat sebuah set untuk melacak node yang sudah dikunjungi agar tidak mengunjungi kembali node yang sama berkali-kali dengan biaya yang lebih mahal.
  2. Proses Perulangan: Selama prioritas antrian tidak kosong:
    • Keluarkan node dengan biaya terendah dari prioritas antrian. Node ini disebut node saat ini (current node).
    • Jika node saat ini adalah node tujuan, maka jalur yang ditemukan adalah jalur terpendek, dan algoritma berhenti.
    • Jika node saat ini belum dikunjungi:
      • Tandai node saat ini sebagai sudah dikunjungi.
      • Untuk setiap tetangga (neighbor) dari node saat ini:
        • Hitung biaya kumulatif untuk mencapai tetangga tersebut (biaya ke node saat ini + biaya dari node saat ini ke tetangga).
        • Jika tetangga belum pernah dimasukkan ke dalam prioritas antrian, atau jika biaya baru yang ditemukan lebih rendah dari biaya sebelumnya untuk mencapai tetangga tersebut, masukkan tetangga ke dalam prioritas antrian dengan biaya kumulatif yang baru.
  3. Solusi Tidak Ditemukan: Jika prioritas antrian menjadi kosong sebelum node tujuan ditemukan, berarti tidak ada jalur dari node awal ke node tujuan, atau ada masalah dalam grafik.

Karakteristik dan Kelebihan UCS

UCS memiliki beberapa karakteristik penting yang membuatnya efektif dalam skenario tertentu:

Perbedaan dengan Algoritma Lain

Penting untuk membedakan UCS dari algoritma pencarian terkait:

Kapan Menggunakan UCS?

UCS sangat cocok digunakan dalam situasi di mana:

Contoh aplikasi UCS meliputi perencanaan rute di peta, penugasan sumber daya dengan biaya berbeda, atau pemecahan teka-teki di mana setiap gerakan memiliki biaya tertentu.

Kesimpulan

Algoritma Uniform Cost Search adalah alat yang ampuh untuk menemukan jalur terpendek dalam grafik berbobot. Dengan memprioritaskan eksplorasi berdasarkan biaya kumulatif terendah, UCS memastikan optimalitas dan kelengkapan solusinya, menjadikannya pilihan yang solid ketika biaya merupakan faktor krusial dalam penentuan jalur.

🏠 Homepage