Pencarian Heuristic

PENGETAHUAN TEKNOLOGI SISTEM CERDAS
HEURISTIC SEARCH STRATEGY

DOSEN : ESSY MALAYS SARI SAKTI



  




3KA10
NABILAH AIDAHNANDA GANARI
NPM. 14115887









UNIVERSITAS GUNADARMA


III.1  Strategi Pencarian Berbentuk/Heuristic Search Strategy

·           Best-First Search
Merupakan metode yang membangkitkan suksesor dengan mempertimbangkan harga (didapat dari fungsi heuristik tertentu) dari setiap node, bukan dari aturan baku seperti DFS maupun BFS. Langkah-langkah yang dilakukan oleh algoritma Best First Search. Pertama kali, dibangkitkan node A. Kemudian semua suksesor A dibangkitan, dan dicari harga paling minimal. Pada langkah 2, node D terpilih karena harganya paling rendah, yakni 1. Langkah 3, semua suksesor D dibangkitkan, kemudian harganya akan dibandingkan dengan harga node B dan C. Ternyata harga node B paling kecil dibandingkan harga node C, E, dan F. Sehingga B terpilih dan selanjutnya akan dibangkitkab semua suksesor B. Demikian seterusnya sampai ditemukan node Tujuan.
Untuk mengimplementasikan algoritma pencarian ini, diperlukan dua buah
senarai, yaitu: OPEN untuk mengelola node-node yang pernah dibangkitkan tetapi belum dievaluasi dan CLOSE untuk mengelola node-node yang pernah dibangkitkan dan sudah
dievaluasi.
Algoritma selengkapnya adalah sebagai berikut:

1.   Mulailah dengan OPEN yang hanya berisi state awal
2.  Sampai tujuan ditemukan atau tidak ada nya nodes tersisa pada OPEN. Lakukan :
a) Pilih node terbaik pada OPEN
b) Menghasilkan penggantinya.
c) untuk masing-masing pengganti. Lakukan :
        Jika belum dibuat, evaluasilah, tambahkan ke OPEN dan catat induk
       Jika telah dihasilkan, ubah induk jika jalur baru ini lebih baik dari yang sebelumnya. Dalam hal ini, perbarui biaya untuk mendapatkan simpul ini dan kepada pengganti yang mungkin dimiliki oleh simpul ini 

·           Greddy Search
Merupakan Best First Search dengan hanya mempertimbangkan harga perkiraan (estimated cost). Sedangkan harga sesungguhnya tidak digunakan. Sehingga solusi yang dihasilkan tidak optimal




pencarian jalur dalam suatu daerah yang direpresentasikan dalam suatu
graph. Node menyatakan kota dan busur menyatakan jarak antar kota (harga sesungguhnya)
dan h’(n) adalah harga perkiraan dari node n menuju node tujuan (G).

Dengan h’(n) = fungsi heuristik (jarak garis lurus dari node n menuju G).
Pada kasus di atas, jalur yang terpilih adalah: I-C-D-G = 140 + 160 + 200 = 500.
Padahal jalur terbaik adalah: I-A-B-G = 75 + 85 + 300 = 460.

·           A* Search
Merupakan algoritma Best First Search dengan menggabungkan Uniform Cost Search dan Greedy Search. Harga yang dipertimbangkan didapat dari harga sesungguhnya ditambah dengan harga perkiraan. Dalam notasi matematika dituliskan: f’(n) = g(n) + h’(n). Dengan penggunaan f’(n), maka algoritma A* adalah Complete dan
Optimal. Pada algoritma ini juga digunakan dua senarai, yaitu: OPEN dan CLOSE.
Pada saat A sebagai Best Node, maka akan dibangkitkan B dan G. Karena B sudah berada di CLOSE maka akan dicek apakah parent dari B harus diganti atau tidak. Karena g(B) melalui A (10 + 10 = 20) lebih kecil daripada g(B) melalui I (25), maka parent dari B harus diganti. Begitu juga dengan f’(B) yang tadinya 85 menjadi 80. Kemudian akan dilakukan propagasi ke semua suksesor B. Dalam hal ini adalah node E yang semula g(E) = 35 menjadi 30 dan f’(E) yang semula 105 menjadi 100, dan node J yang semula g(J) = 75 menjadi 70 dan f’(J) yang semula 95 menjadi 90.

·           Memory Bounded Search
Untuk masalah tertentu, dimana memory komputer (RAM) terbatas, algoritma A*
tidak mampu menyelesaikannya. Terdapat dua algoritma modifikasi A*, untuk mengatasi
masalah memory, yaitu:

a.       Iterative Deepening A* (IDA*)
Iterative Deepening Depth-First Search menggunakan batasan level (kedalaman) dalam setiap iterasi pencariannya. Di sini ide tersebut diterapkan pada algoritma A* dengan membatasi fungsi heuristiknya. Proses pencarian pada setiap iterasi akan mengembalikan nilai f-limit yang baru yang akan digunakan sebagai batasan pencarian untuk iterasi berikutnya[RUS95]. Sama seperti A*, IDA* adalah complete dan optimal.

b.   Simplified Memory Bounded A
adalah algoritma jalur terpendek algoritma A *. Keuntungan utama dari SMA * adalah bahwa ia 
meguaa n memori yang dibatasi.
menjelaskan bagaimana algoritma SMA* melakukan pencarian jalur dengan dibatasi maksimum 3 node yang boleh tersimpan di memori. A adalah node asal, dan D, I, F, J adalah node-node yang bisa menjadi node tujuan. Dengan batasan 3 node, maka SMA* dapat menemukan solusi yang paling optimal, yaitu A - B - D. Jika harga node J adalah 19 (lebih kecil dari harga node D (20)), maka SMA* gagal menemukan solusi optimal. Kecuali jika jumlah node maksimum yang boleh tersimpan di memori adalah 4.
III.2  Fungsi Heuristic
Pencarian Heuristic merupakan teknik yang mengembangkan efisiensi dalam proses  pencarian 
(pencarian yang lebih simple). Namun kemungkinan juga dapat mengorbankan 
kelengkapan (complateness).Fungsi Heuristic adalah fungsiyang melakukan pemetaan 
(mapping) dari diskripsi keadaan masalah (problema) ke pengukur kebutuhan, umumnya 
direpresentasikan berupa angka. Dalam pencarian state space,heuristik adalah aturan untuk 
memilih cabang-cabang yang paling mungkin menyebabkan penyelesaian permasalahan dapat diterima. 
Heuristic digunakan untuk mengevaluasi keadaan problema individual dan menentukan 
seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
III.3  Algoritma Pencarian Lokal dan Masalah Optimisasi
·          Hill Climbing
Hill Climbing, yaitu pada feedback dari prosedur test untuk membantu pembangkit menentukan 
yang langsung dipindahkan dalam ruang pencarian. HC sering digunakan jika terdapat fungsi 
heuristic\yang baik untuk mengevaluasi state. Sebagai contoh, anda berada di sebuah kota yang 
tidak dikenal, tanpa peta dan anda ingin menuju ke pusat kota. Cara sederhana adalah gedung
yang tinggi. Fungsi heuristics-nya adalah jarak antara lokasi sekarang dengan gedung yang tinggi 
dan state yang diperlukan adalah jarak yang terpendek
a.       Simple HC
Algoritma : Simple HC
1.      Evaluasi state awal. Jika itu juga merupakan state tujuan, maka kembalikan
dan berhenti. Jika tidak, lanjutkan denganstate  awal sebagai state saat ini
2.     Loop sampai solusi ditemukan atau sampai tidak ada operator baru yang tersisa untuk 
diterapkan seperti keadaan saat ini:
a). Pilih operator yang belum diterapkan ke state saat ini dan menerapkannya untuk 
menghasilkan sebuah negara baru
b).Evaluasi state baru :
       Jika itu adalah state tujuan, maka kembalikan dan berhenti
        Jika bukan keadaan tujuan tapi lebih baik dari state saat ini, maka buatlah itu kondisi 
      saat ini.
        Jika tidak lebih baik dari state saat ini, maka lanjutkan dalam loop
b.       Steepest-Ascent HC
Algoritma : Steepest-Ascent HC
1.      Evaluasi state awal. Jika itu juga merupakan state tujuan, maka kembalikan dan berhenti. Jika 
      tidak, lanjutkan dengan state awal sebagai state saat ini
2.      Loop sampai solusi ditemukan atau sampai iterasi yang lengkap tidak menghasilkan perubahan
      state saat ini:
a). Memberi SUCC menjadi state yang memungkinkan mengganti state saat ini menjadi lebih 
     baik dari SUCC
            b).  Untuk setiap operator yang berlaku untuk state saat ini lakukan:
        Terapkan operator dan buat state baru
        Evaluasi state baru. Jika merupakan tujuan state, maka kembalikan dan berhenti. Jika 
      tidak, bandingkan dengan SUCC. Jika lebih baik,maka tetapkan SUCC menjadi state, 
      jika tidak, tinggalkan SUCC
            c). Jiika SUCC lebih baik dari state saat ini, maka tetapkan state saat ini ke SUCC  
·       Simulated Annealing
SA memanfaatkan analogi antara cara pendinginan dan pembekuan metal menjadi sebuah
struktur crystal dengan energi yang minimal (proses penguatan) dan pencarian untuk state tujuan 
minimal dalam proses pencarian. Tidak seperti pendekatan HC (dengan jalan mengikuti sebuah 
turunan yang tetap dalam meminimisasi masalah), SA lebih banyak menjadi jebakan pada local 
minima.
Algoritma: Simulated Annealing
1.     Evaluasi state awal. Jika itu juga merupakan state tujuan, maka kembalikan dan berhenti. Jika 
tidak, lanjutkan dengan state awal sebagai state saat ini
2.  Inisialisasi BEST-SO-FAR ke state saat ini
3.  Inisialisasi T sesuai dengan jadwal annealing.
4. Loop sampai solusi ditemukan atau tidak adanya operator yang tersisa untuk  diterapkan ke state saat ini:
a) Pilih operator yang belum di terapkan ke state saat ini dan terapkan operator untuk 
menghasilkan state baru.
b) Evaluasi state baru. Hitung
ΔE = (value of current) – (value of new state)
§  Jika state baru merupakan tujuan, maka kembalukan dan berhenti.
§  Jika bukan tujuan state tetapi lebih baik dari state saat ini, maka jadikan state tersebut
menjadi state saat ini. Juga tetapkan BEST-SO-FAR menjadi state baru
§  Jika tidak lebih baik dari state saat ini, maka buatlah state saat ini dengan probabiltas p'
seperti yang didefinisikan di atas. Langkah ini biasanya diimplementasikan dengan 
memanggil generator bilangan acak untuk menghasilkan angka pada kisaran [0,1]. Jika 
angka itu kurang dari p ', maka langkah tersebut diterima. Jika tidak melakukan apa-apa.
            c) Revisi sesuai kebutuhan sesuai jadwal annealing.
5. Kembalikan BEST-SO-FAR sebagai jawaban.
·       Algoritma Genetika (Genetic Algorithm)
Genetic Algorithm (GA) adalah algoritma pencarian yang didasarkan pada mekanisme 
seleksi alamiah dan genetika alamiah. GA dimulai dengan serangkaian solusi awal 
(kromosom), yang disebut populasi. Populasi ini akan ber-evolusi menjadi populasi yang  
berbeda melalui serangkaian iterasi. Pada akhir iterasi, GA mengembalikan anggota populasi 
yang terbaik sebagai solusi untuk problem tersebut. Pada setiap iterasi (generasi), proses 
evolusi yang terjadi adalah sebagai berikut:
1.   Dua anggota populasi (parent) dipilih berdasarkan pada suatu distribusi populasi. Kedua 
anggota ini kemudian dikombinasikan atau dikawinkan melalui operator crossover (pindah 
silang) untuk menghasilkan anak (offspring).
2.   Dengan probabilitas yang rendah, anak ini akan mengalami perubahan oleh operator mutasi.
3. Apabila anak sesuai untuk populasi tersebut, suatu skema penggantian (replacement scheme
diterapkan untuk memilih anggota populasi yang akan digantikan oleh anak.
4. Proses ini terus berulang sampai dicapai kondisi tertentu, misalnya sampai jumlah iterasi tertentu.
Sifat-Sifat Khusus GA [GOL89]:
1. GA bekerja dengan sebuah pengkodean dari kumpulan parameternya sendiri.
2. GA mencari dari sebuah populasi titik-titik, bukan dari sebuah titik tunggal.
3.  GA hanya menggunakan informasi hasil (fungsi objektif), bukan menurunkan dar bantuan 
pengetahuan lain.
4. GA menggunakan kemungkinan aturan transisi, bukan aturan-aturan deterministik.

III.5  Referensi
[1] Suyanto,ST. Intelijensia Buatan. Bandung. EBook
[2] Luhukay, J. "Pencarian Heuristic Intelegensi Buatan" . Metode pencarian heuristic. 
Tersedia : Metode pencarian heuristik- download [Diakses : 5 Okt 2017].

LINK DOWNLOAD FILE        




Komentar

Postingan Populer