Heuristic Search

Post on 02-Jan-2016

53 views 2 download

description

Heuristic Search. Dr. Kusrini , M.Kom. Heuristic Search. - PowerPoint PPT Presentation

Transcript of Heuristic Search

HEURISTIC SEARCHDr. Kusrini, M.Kom

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)

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

JENIS HEURISTIC SEARCH

Generate and TestPendakian Bukit (Hill Climbing)Pencarian Terbaik Pertama

(Best First Search)Tabu SearchSimulated AnealingCheapest Insertion Heuristic

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.

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 :

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.

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.

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.

A* SEARCH

Hindari node yang berada di path yang “mahal”

PENGGUNAAN TEKNIK PENCARIAN DALAM GAME PUZZLE

Goal State

Initial State

Kemungkinan Langkah

Aplikasi

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)

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

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

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

TUGAS

Buat Paper tentang penggunaan salah satu metode pencarian dalam suatu aplikasi

Ingat! Sumber harus dicantumkan Dijelaskan langkah-langkahnya