Download - Heuristic Search

Transcript
Page 1: Heuristic Search

HEURISTIC SEARCHDr. Kusrini, M.Kom

Page 2: Heuristic Search

HEURISTIC SEARCH

merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (state space) suatu problema secara selektif, yang memandu proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan waktu

sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namum dengan kemungkinan mengorbankan kelengkapan (completeness)

Page 3: Heuristic Search

Untuk dapat menerapkan heuristik dengan baik dalam suatu domain tertentu, diperlukan suatu Fungsi Heuristik.

Fungsi heuristik digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan

Page 4: Heuristic Search

JENIS HEURISTIC SEARCH

Generate and TestPendakian Bukit (Hill Climbing)Pencarian Terbaik Pertama

(Best First Search)Tabu SearchSimulated AnealingCheapest Insertion Heuristic

Page 5: Heuristic Search

GENERATE AND TEST

Metode ini merupakan penggabungan antara depth first search dengan pelacakan mundur (backtracking) yaitu bergerak ke belakang menuju pada suatu keadaan awal.

Algoritma:1. Bangkitkan suatu kemungkinan solusi

(membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal).

2. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.

3. Jika solusi ditemukan, keluar. Jikatidak, ulangi kembali langkah pertama.

Page 6: Heuristic Search

CONTOH

Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui rute terpendek dimana setaip kota hanya boleh dikkunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :

Page 7: Heuristic Search
Page 8: Heuristic Search

HILL CLIMBING (PENDAKIAN BUKIT)

Metode ini hampir sama dengan metode pembangkitan dan pengujian, hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristic.

Pembangkitan keadaan berikutnya tergantung pada feedback dari prosedur pengetesan.

Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin.

Page 9: Heuristic Search

ALGORITMA HILL CLIMBING1. Buatlah solusi usulan pertama dengan cara yang sama

seperti yang dilakukan dalam prosedur buat dan uji (generate and test). Periksalah apakah solusi usulan itu merupakan sebuah solusi. Jika ya, berhentilah. Jika tidak, kita lanjutkan ke langkah berikutnya.

2. Dari solusi ini, terapkan sejumlah aturan yang dapat diterapkan untuk membuat sekumpulan solusi usulan yang baru.

3. Untuk setiap elemen kumpulan solusi tersebut, lakukanlah hal-hal berikut ini :

a. Kirimkanlah elemen ini ke fungsi uji. Jika elemen ini merupakan sebuah solusi, berhentilah.

b. Jika tidak, periksalah apakah elemen ini merupakan yang terdekat dengan solusi yang telah diuji sejauh ini. Jika tidak, buanglah.

4. Ambilah elemen terbaik yang ditemukan di atas dan pakailah sebagai solusi usulan berikutnya. Langkah ini bersesuaian dengan langkah dalam ruang problema dengan arah yang muncul sebagai yang tercepat dalam mencapai tujuan.

5. Kembalilah ke langkah 2.

Page 10: Heuristic Search
Page 11: Heuristic Search

GREEDY BEST FIRST SEARCH

Lakukan node expansion terhadap node di fringe yang nilai h(n)-nya paling kecil

Greedy best-first search selalu memilih node yang kelihatannya paling dekat ke goal.

Page 12: Heuristic Search

A* SEARCH

Hindari node yang berada di path yang “mahal”

Page 13: Heuristic Search

PENGGUNAAN TEKNIK PENCARIAN DALAM GAME PUZZLE

Goal State

Initial State

Kemungkinan Langkah

Aplikasi

Page 14: Heuristic Search

CHEAPEST INSERTION HEURISTICS

1. Penelusuran dimulai dari sebuah kota pertama yang dihubungkan dengan sebuah kota terakhir.

2. Dibuat sebuah hubungan subtour antara 2 kota tersebut. Yang dimaksud subtour adalah perjalanan dari kota pertama dan berakhir di kota pertama, misal (1,3) (3,2) (2,1)

Page 15: Heuristic Search

3. Ganti salah satu arah hubungan (arc) dari dua kota dengan kombinasi dua arc, yaitu arc (i,j) dengan arc (i,k) dan arc (k,j), dengan k diambil dari kota yang belum masuk subtour dan dengan tambahan jarak terkecil. Jarak diperoleh dari :

cik + ckj – cij

cik adalah jarak dari kota i ke kota k,

ckj adalah jarak dari kota k ke kota j dan

cij adalah jarak dari kota i ke kota j

4. Ulangi langkah 3 sampai seluruh kota masuk dalam subtour

Page 16: Heuristic Search

CONTOH

1. Ambil perjalanan dari kota 1 ke 52. Buat subtour (1,5) (5,1)3. Buat tabel yang menyimpan kota

yang bisa disisipkan dalam subtour beserta tambahan jaraknya

Page 17: Heuristic Search

4. Selanjutnya dibuat tabel yang menyimpan kota yang bisa disisipkan dalam subtour beserta tambahan jaraknya

Page 18: Heuristic Search
Page 20: Heuristic Search

TUGAS

Buat Paper tentang penggunaan salah satu metode pencarian dalam suatu aplikasi

Ingat! Sumber harus dicantumkan Dijelaskan langkah-langkahnya