TEKNIK PENCARIAN HEURISTIK A* SEARCH
Anggota Kelompok 1. Arieskha Surya ( 081112016 ) 2. Reza Zarkasi ( 081112027 ) 3. Athfin Rafiqi ( 0811120XX ) 4. M. Fahmi Hidayat ( 0811120XX )
SEJARAH Pada tahun 1964 Nils Nilsson menemukan heuristik berdasarkan pendekatan untuk menambah kecepatan pada Algoritma Dijkstra. Algoritma ini disebut dengan A1. Pada tahun 1967 Bertram Raphael membuat perbaikan-perbaikan dramatis atas algoritma ini, tapi gagal menunjukkan keoptimasiannya. Ia menyebut algoritma ini A2. Kemudian pada tahun 1968 Peter E. Hart memperkenalkan sebuah argumen yang membuktikan A2 optimal ketika menggunakan heuristik konsisten hanya dengan perubahan kecil. Pembuktiannya atas algoritma tersebut juga termasuk bagian yang menunjukkan bahwa algoritma A2 yang baru adalah algoritma terbaik.
Maka dari itu, ia menamai algoritma baru ini dalam sintaksis Kleene star untuk menjadi algoritma yang berawal dari A dan memasukkan semua nomor-nomor yang mungkin dari A*. Dalam sains komputer, A* (dibaca “A star”) adalah algoritma komputer yang digunakan secara luas dalam mencari jalur (pathfinding) dan grafik melintang (graph traversal), proses plotting sebuah jalur melintang secara efisian antara titik-titik, disebut node. Terkenal karena penampilan dan akurasinya, algoritma ini diperluas untuk berbagai bidang. A* mencapai penampilan yang lebih baik dengan menggunakan heuristik.
DESKRIPSI A* menggunakan Best First Search (BFS) dan menemukan jalur dengan biaya terkecil (least-cost path) dari node awal (initial node) yang diberikan ke node tujuan (goal node). Algoritma ini menggunakan fungsi heuristik jarak ditambah biaya (biasa dinotasikan dengan f(x)) untuk menentukan urutan di mana search-nya melalui node-node yang ada di pohon (tree).
Heuristik jarak ditambah biaya adalah penjumlahan dari dua fungsi: 1. fungsi jalur biaya, di mana biayanya dihitung dari node awal hingga node saat ini (biasanya dinotasikan g(x)) 2. dan “estimasi heuristik” yang dapat diterima (admissible) dari jarak menuju goal (biasanya dinotasikan h(x))
KONSEP Selama A* melintasi grafik, ia mengikuti jalur paling rendah yang dikenal dengan biaya, menjaga antrian prioritas (priority queue) terpisah dari bagian jalur pengganti sepanjang jalan. Jika, pada titik manapun, sebuah bagian dari jalur yang dilintasi memiliki biaya lebih tinggi daripada bagian jalur pertemuan yang lainnya, A* meninggalkan bagian jalur dengan biaya yang lebih tinggi dan memilih melintasi bagian jalur dengan biaya yang lebih rendah. Proses ini berlanjut hingga tujuan tercapai.
ALGORITMA
CONTOH Menghitung Rute Terpendek Menggunakan Algoritma A* Search Dengan Fungsi Heuristik Euclidean Distance. (Studi Kasus : Uin Susqa – Mall Ska)
ANALISA Kali ini kami mengambil studi kasus jarak antara UIN SUSQA dengan MALL SKA. Agar didapat hasil pengukuran yang lebih akurat, kami menggunakan software pendukung Google Earth untuk mengetahui jalur-jalur yang akan dilalui. Tujuh node dihasilkan dari proyeksi Google Earth, dimana pengambilan nodenya berdasarkan persimpangan jalan.
Hasil dari proyeksi gambar Google Earth dapat dilihat sbb:
A = UIN SUSQA B = Simpang Garuda Sakti – HR Soebrantas C = Simpang Garuda Sakti - Akap D = Bundaran SM Yamin - Tuanku Tambusai E = Simpang HR Soebrantas - SM Yamin F = Simpang Pasar Pagi Arengka G = MALL SKA
Setiap Index mewakili jarak 200 meter A = UIN SUSQA (0,0) B = Simpang Garuda Sakti - HR Soebrantas (6,0) C = Simpang Garuda Sakti – Akap (2,11) D = Bundaran SM Yamin - Tuanku Tambusai (21,0) E = Simpang HR Soebrantas - SM Yamin (21,20) F = Simpang Pasar Pagi Arengka (36,0) G = MALL SKA (36,20)
Menghitung Heuristik Rumus jarak dua titik: Dengan menggunakan rumus di atas, maka perhitungan dari semua titik dapat dilihat sebagai berikut:
LANGKAH-LANGKAH PENCARIAN DALAM ALGORITMA A* Setelah nilai heuristik dari masing-masing node didapat maka kita akan mencari f(n) menggunakan algoritma A* dengan rumus: dimana, h(n) = Nilai heuristik antar Koordinat g(n) = Jarak Koordinat ke titik tujuan
Titik B memiliki 2 cabangan yaitu titik C dan titik D, maka f(n) yang harus dipilih adalah f(n) yang menghasilkan biaya paling kecil, yaitu titik C.
Maka f(n) total yang didapat adalah 123 Maka f(n) total yang didapat adalah 123.72, karena satu titik ordinat mewakili 200 meter maka jaraknya sebenarnya (dalam meter) adalah: 123.72 × 200 = 24744 meter, Dalam Kilometer = 24,744 km Jalur yang dilalui: A – B – C – E – G UIN SUSQA – Jln HR Soebrantas – Simpang Garuda Sakti – Jln Tuanku Tambusai II – Mall SKA
SEKIAN TERIMA KASIH