teknik pencarian

25

Upload: hall

Post on 09-Jan-2016

119 views

Category:

Documents


3 download

DESCRIPTION

TEKNIK PENCARIAN. PENCARIAN. Secara garis besar , searching dibedakan menjadi : Uninformed search (blind search). Tidak ada informasi mengenai jarak /cost dari current state ke goal state. Informed search. Ada informasi mengenai jarak /cost dari current state ke goal state. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TEKNIK PENCARIAN
Page 2: TEKNIK PENCARIAN

• Secara garis besar, searching dibedakan menjadi :▫ Uninformed search (blind search).

Tidak ada informasi mengenai jarak/cost dari current state ke goal state.

▫ Informed search. Ada informasi mengenai jarak/cost dari current state ke

goal state.• Hal yg. perlu diperhatikan dlm. searching :▫ Completeness: jk. solusi ada, apakah pasti akan

ditemukan ?▫ Optimallity: jk. ada > 1 solusi, apakah selalu solusi

terbaik yg. diperoleh ?▫ Time Complexity: waktu yg. dibutuhkan utk. mendpt.

solusi. ▫ Space complexity: memory yg. dibutuhkan utk.

melakukan searching.

2

Page 3: TEKNIK PENCARIAN

Dua teknik pencarian & pelacakan:◦ Pencarian buta (blind search)

Pencarian melebar pertama (breadth-first search) Pencarian mendalam pertama (depth-first search)

◦ Pencarian terbimbing (heuristic search) Pendakian bukit (hill climbing) Pencarian terbaik pertama (best first search)

3

Page 4: TEKNIK PENCARIAN

Pencarian dilakukan pada semua node dalam setiap level secara berurutan dari kiri ke kanan.

Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya. Demikian seterusnya sampai ditemukan solusi.

Dengan strategi ini, maka dapat dijamin bahwa solusi yang ditemukan adalah yang paling baik (Optimal).

Page 5: TEKNIK PENCARIAN

BFS harus menyimpan semua node yang pernah dibangkitkan. Hal ini harus dilakukan untuk penelusuran balik jika solusi sudah ditemukan.

Struktur data: queue Gambar berikut mengilustrasikan

pembangkitan pohon BFS untuk masalah Water Jug.

Page 6: TEKNIK PENCARIAN
Page 7: TEKNIK PENCARIAN

Pencarian dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node yang kiri dapat dihapus dari memori.

Struktur data: stack

Page 8: TEKNIK PENCARIAN

Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan.

Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.

Page 9: TEKNIK PENCARIAN

Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).

Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).

Page 10: TEKNIK PENCARIAN
Page 11: TEKNIK PENCARIAN

Pencarian buta tidak selalu dapat diterapkan dengan baik

Metode heuristic search diharapkan bisa menyelesaikan masalah yang lebih besar.

Metode heuristic searcg menggunakan suatu fungsi yang menghitung biaya perkiraan dari suatu simpul tertentu menuju ke simpul tujuan.

Page 12: TEKNIK PENCARIAN

Ada 4 metode pencarian heuristic:◦ Pembangkit dan pengujian (generate & test)◦ Pendakian bukit (hill climbing)◦ Pencarian terbaik pertama (best first search)◦ Simualated annealing

Page 13: TEKNIK PENCARIAN

Metode Generate-and-Test adalah metode yang paling sederhana dalam pencarian heuristic.

Jika pembangkitan possible solution dikerjakan secara sistematis, maka prosedur akan mencari solusinya, jika ada. Tetapi jika ruang masalahnya sangat luas, mungkin memerlukan waktu yang sangat lama.

Algoritma Generate-and-Test adalah prosedur DFS karena solusi harus dibangkitkan secara lengkap sebelum dilakukan test.

Page 14: TEKNIK PENCARIAN

1. Bangkitkan suatu kemungkinan solusi2. 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 sokusi ditemukan, keluar. Jika tidak, ulangi langkah pertama.

Page 15: TEKNIK PENCARIAN

Perlu membangkitkan semua kemungkinan sebelum melakukan pengujian.

Membutuhkan waktu yang lama dalam pencariannya.

Page 16: TEKNIK PENCARIAN

Hill Climbing berbeda Generate-and-Test, yaitu pada feedback dari prosedur test untuk membantu pembangkit menentukan yang langsung dipindahkan dalam ruang pencarian.

Dalam prosedur Generate & test , respon fungsi pengujian hanya ya atau tidak.

Hill climbing, pengujian ditambahkan dengan aturan fungsi-fungsi yang menyediakan estimasi dari bagaimana mendekati state yang diberikan ke state tujuan atau prosedur pembangkit

Page 17: TEKNIK PENCARIAN

Simple HC Steepest-Ascent HC

Page 18: TEKNIK PENCARIAN

1. Mulai dari keadaan awal, lakukan pengetesan, jika merupakan tujuan maka berhenti dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.

2. Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada operator baru yang akan diaplikasikan sebagai keadaan awal.

3. Cari operator yang belum digunakan sebagai keadaan awal.

4. Evaluasi keadaan awal tersebut.5. Jika keadaan merupakan tujuan maka keluar.6. Jika bukan merupakan keadaan, namun nilainya lebih

baik daripada keadaan sekarang, makan jadikan keadaan baru tersebut menjadi keadaan sekarang.

7. Jika keadaan baru tidak lebih baik daripada keadaan sekarang maka lanjutkan iterasi.

Page 19: TEKNIK PENCARIAN
Page 20: TEKNIK PENCARIAN

1. Mulai dari keadaan awal, lakukan pengetesan, jika merupakan tujuan maka berhenti dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.

2. Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada operator baru yang akan diaplikasikan sebagai keadaan awal.

3. Tentukan SUCC sebagai nilai heuristic terbaik dari successor or successor

4. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang.

5. Gunakan operator tersebut dan bentuk keadaan baru.6. Evaluasi keadaan baru tersebut.7. Jika SUCC lebih baik daripada nilai heuristic keadaan

sekarang, ubah node SUCC menjadi keadaan sekarang.

Page 21: TEKNIK PENCARIAN

•Steepest Ascent HC sebenarnya sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri

•Pada gambar di atas, terjadi ambiguitas dimana fungsi heuristik node E dan node F adalah sama. Misalkan dipilih F dan ternyata menemukan solusi di level 8. Padahal terdapat solusi lain yang lebih optimal di level 2.

•Hal ini dikatakan bahwa Steepest-Ascent Hill Climbing terjebak pada solusi lokal (local minima).

Page 22: TEKNIK PENCARIAN
Page 23: TEKNIK PENCARIAN

Metode ini merupakan kombinasi dari metode depth-first search dan metode breadth-first search dengan mengambil kelebihan dari kedua metode tersebut.

◦ Penentuan node berikutnya adalah yang terbaik yang pernah dibangkitkan.

◦ Menggunakan informasi-Biaya perkiraan

-Biaya sebenarnya.◦ Terdapat dua jenis pencarian:

Greedy Best First Search = biaya perkiraan f(n)=h(n)Algoritma A*=f(n)=g(n)+h(n)

Page 24: TEKNIK PENCARIAN

Keuntungan:◦ Memperoleh kembali node pada level lebih

rendah meskipun node pada level terendah tersebut memiliki nilai heuristic lebih rendah.

Untuk mengimplementasikan metode ini menggunakan graph keadaan, dibutuhkan 2 antrian yang berisi node-node, yaitu:

◦ OPEN, merupakan node yang telah dibangkitkan namun belum diuji.

◦ CLOSED, merupakn node yang telah dibangkitakn dan telah diuji.

Page 25: TEKNIK PENCARIAN

1. Tempatkan node awal A pada antrian OPEN2. Kerjakan langkah-langkah berikut hingga

tujuan atau antrian OPEN sudah kosong:◦ Ambil node terbaik dari OPEN◦ Bangkitkan semua successornya◦ Untuk tiap-tiap successor kerjakan:

1. Jika node tersebut belum pernah dibangkitan sebelumnya, evaluasi node tersebut dan masukkan ke dalam OPEN

2. Jika node tersebut sudah pernah dibangkitkan sebelumnya, ubah parent jika lintasan baru lebih menjanjikan. Hapus node tersebut dari antrian OPEN.