Algoritme pencarian A* adalah teknik pencarian jalur dan traversal grafik populer yang digunakan dalam berbagai aplikasi seperti robotika, pengembangan permainan, dan routing jaringan. Ini menggabungkan fitur pencarian biaya-seragam dan pencarian pertama yang tamak untuk secara efisien menemukan jalan terpendek dari titik awal ke node tujuan. Panduan ini menyediakan proses langkah- demi langkah untuk mengimplementasikan algoritme A* dengan perhitungan contoh untuk mengilustrasikan setiap tahap.

Memahami Algoritma A*

Algoritme A* menggunakan fungsi biaya, f(n) = g(n) + h(n), dimana:

  • g(n): Biaya aktual dari titik awal ke nodal n.
  • [5] 159159FLT:0]]h(n): Perkiraan heuristik biaya dari node n ke goal.

Algoritme jelajah node dengan nilai f(n) terendah, menyeimbangkan aktual dan perkiraan biaya untuk menemukan jalur optimal secara efisien.

Implementasi Langkah-berdasar-langkah

Ikuti langkah-langkah ini untuk menerapkan algoritma A*:

1. Inisialisasi daftar terbuka dan tertutup

Daftar terbuka freidalis berisi nodal yang akan dinilai, dimulai dengan nodal awal. Senarai tertutup berisi nodal yang sudah dinilai.

2 . Pilih nod dengan f(n) terendah

Hapus nod ini dari senarai terbuka dan tambahkannya ke senarai tertutup.

3. Jana nodal tetangga

count g(n) dan h(n) untuk setiap tetangga. Jika tetangga tidak dalam daftar terbuka atau memiliki g(n yang lebih rendah), update nilainya dan set induknya ke nod semasa.

Ulangi sampai tujuan tercapai

Lanjutkan proses sampai node gol ditambahkan ke daftar tertutup, menunjukkan jalur terpendek telah ditemukan.

Contoh Penghitungan Contoh sebolan

Anda bisa lihat sebuah kisi sederhana dengan titik awal A dan titik gawang G. Heuristik h(n) adalah jarak garis lurus.

Diawali pada node A, g(A) = 0, h(A) = 4. f(A) = 4. Node tetangga B dan C dievaluasi:

Untuk node B: g(B) = g(A) + cost(A, B) = 0 + 1 = 1, h(B) = 3, f(B) = 4.

Untuk node C: g(C) = 1, h(C) = 2, f(C) = 3. Node C mempunyai f(n) terendah, sehingga dipilih berikutnya.

Proses ini berlanjut, memperbarui nilai g, h, dan f, sampai titik gawang G dicapai dengan jalur terpendek yang diidentifikasi.