Pencarian Heuristik.

Slides:



Advertisements
Presentasi serupa
Course MMS 2901 Departement of Computer Science Gadjah Mada University © Aina Musdholifah & Sri Mulyana.
Advertisements

Metode Pencarian Heuristik
BEST FIRST SEARCH Nama Kelompok : Marie Karunia Sari .S. ( )
Heuristic Search Dr. Kusrini, M.Kom.
Kecerdasan Buatan Pencarian Heuristik.
Lecture 3 State Space Search 2 Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Masalah, Ruang Masalah dan Pencarian
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
SEARCH 2 Pertemuan ke Lima.
Metode Pencarian/Pelacakan
Hill Climbing.
METODE PENCARIAN HEURISTIK
Hill Climbing Best First Search A*
HEURISTIC SEARCH Presentation Part IV.
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Pertemuan 4 Mata Kuliah : Kecerdasan Buatan
Ruang Keadaan (state space)
Pencarian (Searching)
Penyelesaian Masalah Teknik Pencarian
Metode Pencarian & Pelacakan
Metode Pencarian/Pelacakan
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
SISTEM INTELEGENSIA BUATAN
Heuristic Search Best First Search.
Pencarian Heuristik.
METODE PENCARIAN dan PELACAKAN
Pertemuan 3 Mata Kuliah : Kecerdasan Buatan
Informed (Heuristic) Search
Kecerdasan Buatan Materi 4 Pencarian Heuristik.
STRATEGI PENCARIAN PERTEMUAN MINGGU KE-4.
Disampaikan Oleh : Yusuf Nurrachman, ST, MMSI
Pencarian Heuristik (Heuristic Search).
Pencarian Heuristik.
TEKNIK PENCARIAN HEURISTIK
Penyelesaian Masalah menggunakan Teknik Pencarian Heuristic Search
Pert 4 METODE PENCARIAN.
Searching (Pencarian)
KECERDASAN BUATAN PERTEMUAN 3.
Penyelesaian Masalah menggunakan Teknik Pencarian Blind Search
Metode Pencarian dan Pelacakan
TEKNIK PENCARIAN & PELACAKAN
Pertemuan 6 Metode Pencarian
Masalah, Ruang Masalah dan Pencarian
Teknik Pencarian (Searching)
Metode Pencarian/Pelacakan
Metode Pencarian & Pelacakan
Masalah, Ruang Keadaan dan Pencarian
Pendekatan Inferensi dalam Sistem Pakar
Pertemuan 6 Pencarian Heuristik
Heuristic Search (Part 2)
Pendekatan Inferensi dalam Sistem Pakar
Pertemuan 6 Pencarian Heuristik
Metode pencarian dan pelacakan - Heuristik
Search.
Artificial Intelegence/ P 3-4
TEKNIK PENCARIAN.
Metode Pencarian/Pelacakan
MASALAH DAN METODE PEMECAHAN MASALAH
Fakultas Ilmu Komputer
Informed (Heuristic) Search
Masalah, Ruang Keadaan dan Pencarian
Pertemuan 6 Metode Pencarian
Generate & Test.
Masalah, Ruang Masalah dan Pencarian
Algoritma dan Struktur Data
Heuristic Search.
Teori Bahasa Otomata (1) 2. Searching
KECERDASAN BUATAN PERTEMUAN 4.
Heuristic Search Best First Search.
Modul II Masalah, Ruang Masalah dan Pencarian
Transcript presentasi:

Pencarian Heuristik

Pencarian Heuristik Kelemahan blind search : Waktu akses lama Memori yang dibutuhkan besar Ruang masalah besar – tidak cocok – karena keterbasan kecepatan komputer dan memori Solusi - Pencarian heuristik Pencarian heuristik – menggunakan suatu fungsi yang menghitung biaya perkiraan / estimasi dari suatu simpul tertentu menuju ke simpul tujuan (disebut fungsi heuristik)

Contoh Kasus 8-puzzle Ada 4 operator : Ubin kosong digeser ke kiri Ubin kosong digeser ke kanan Ubin kosong digeser ke bawah Ubin kosong digeser ke atas

Contoh Diberikan informasi khusus : Untuk jumlah ubin yang menempati posisi yang benar Jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik)

Contoh Diberikan informasi khusus : Untuk jumlah ubin yang menempati posisi yang salah Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)

Contoh Menghitung total gerakan yang diperlukan untuk mencapai tujuan Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)

Pencarian Heuristik Berikut ini, sekilas metode yang tergolong heuristic search : Generate and Test (Pembangkitan dan Pengujian) Best First Search Hill Climbing (Pendakian Bukit) Simple HC Steepest-Ascent HC

Generate and Test (GT) Metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal. Algoritma : Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal). 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. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.

Contoh Kasus Contoh : Traveling Salesman Problem (TSP) Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali. Misal ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :

Contoh Kasus Penyelesaian dengan metode Generate and Test

Panjang Lintasan Terpilih Contoh Kasus Pencarian ke- Lintasan Panjang Lintasan Lintasan Terpilih Panjang Lintasan Terpilih 1 ABCD 19 2 ABDC 18 3 ACBD 12 4 ACDB 13 5 ADBC 16 Dst…

Hill Climbing (HC) Menyelesaikan masalah yang mempunyai beberapa solusi Ada solusi yang lebih baik daripada solusi lain

Hill Climbing Contoh : Traveling Salesman Problem (TSP) Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali. Misal ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :

Hill Climbing Solusi – solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad, misal : A – B – C – D : dengan panjang lintasan (=19) A – B – D – C : (=18) A – C – B – D : (=12) A – C – D – B : (=13) dst

Simple Hill Climbing Ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota yang bersebelahan. Fungsi heuristik yang digunakan adalah panjang lintasan yang terjadi. Operator yang akan digunakan adalah menukar urutan posisi 2 kota dalam 1 lintasan. Bila ada n kota, dan ingin mencari kombinasi lintasan dengan menukar posisi urutan 2 kota, maka akan didapat sebanyak :

Simple Hill Climbing 6 kombinasi tsb digunakan sbg operator : Tukar 1,2 = menukar urutan posisi kota ke – 1 dengan kota ke – 2 Tukar 2,3 = menukar urutan posisi kota ke – 2 dengan kota ke – 3 Tukar 3,4 = menukar urutan posisi kota ke – 3 dengan kota ke – 4 Tukar 4,1 = menukar urutan posisi kota ke – 4 dengan kota ke – 1 Tukar 2,4 = menukar urutan posisi kota ke – 2 dengan kota ke – 4 Tukar 1,3 = menukar urutan posisi kota ke – 1 dengan kota ke – 3

Simple Hill Climbing Keadaan awal, lintasan ABCD (=19). Level pertama, hill climbing mengunjungi BACD (=17), BACD (=17) < ABCD (=19), sehingga BACD menjadi pilihan selanjutnya dengan operator Tukar 1,2 Level kedua, mengunjungi ABCD, karena operator Tukar 1,2 sudah dipakai BACD, maka pilih node lain yaitu BCAD (=15), BCAD (=15) < BACD (=17) Level ketiga, mengunjungi CBAD (=20), CBAD (=20) > BCAD (=15), maka pilih node lain yaitu BCDA (=18), pilih node lain yaitu DCAB (=17), pilih node lain yaitu BDAC (=14), BDAC (=14) < BCAD (=15) Level keempat, mengunjungi DBAC (=15), DBAC(=15) > BDAC (=14), maka pilih node lain yaitu BADC (=21), pilih node lain yaitu BDCA (=13), BDCA (=13) < BDAC (=14) Level kelima, mengunjungi DBCA (=12), DBCA (=12) < BDCA (=13) Level keenam, mengunjungi BDCA, karena operator Tukar 1,2 sudah dipakai DBCA, maka pilih node lain yaitu DCBA, pilih DBAC, pilih ABCD, pilih DACB, pilih CBDA Karena sudah tidak ada node yang memiliki nilai heuristik yang lebih kecil dibanding nilai heuristik DBCA, maka node DBCA (=12) adalah lintasan terpendek (SOLUSI)

Algoritma Simple Hill Climbing Evaluasi state awal, jika state awal sama dengan tujuan, maka proses berhenti. Jika tidak sama dengan tujuan maka lanjutkan proses dengan membuat state awal sebagai state sekarang. Kerjakan langkah berikut sampai solusi ditemukan atau sampai tidak ada lagi operator baru yang dapat digunakan dalam state sekarang: Cari sebuah operator yang belum pernah digunakan dalam state sekarang dan gunakan operator tersebut untuk membentuk state baru. Evaluasi state baru. Jika state baru adalah tujuan, maka proses berhenti Jika state baru tersebut bukan tujuan tetapi state baru lebih baik daripada state sekarang, maka buat state baru menjadi state sekarang. Jika state baru tidak lebih baik daripada state sekarang, maka lanjutkan kelangkah sebelumnya.

Steepest Hill Climbing Mirip dengan simple hill climbing Perbedaannya dengan simple hill climbing : semua suksesor dibandingkan, dan yang paling dekat dengan solusi yang dipilih Pada simple hill climbing, node pertama yang jaraknya terdekat dengan solusi yang dipilih

Keadaan awal, lintasan ABCD (=19). Level pertama, hill climbing memilih nilai heuristik terbaik yaitu ACBD (=12) sehingga ACBD menjadi pilihan selanjutnya. Level kedua, hill climbing memilih nilai heuristik terbaik, karena nilai heuristik lebih besar dibanding ACBD, maka hasil yang diperoleh lintasannya tetap ACBD (=12)

Algoritma Steepest Hill Climbing Evaluasi keadaan awal (Initial State). Jika keadaan awal sama dengan tujuan (Goal state) maka kembali pada initial state dan berhenti berproses. Jika tidak maka initial state tersebut jadikan sebagai current state. Mulai dengan current state = initial state. Dapatkan semua pewaris (successor) yang dapat dijadikan next state pada current statenya dan evaluasi successor tersebut dengan fungsi evaluasi dan beri nilai pada setiap successor tersebut. Jika salah satu dari successor tersebut mempunyai nilai yang lebih baik dari current state maka jadikan successor dengan nilai yang paling baik tersebut sebagai new current state. Lakukan operasi ini terus menerus hingga tercapai current state = goal state atau tidak ada perubahan pada current statenya.

Best First Search Teknik Best-First-Search adalah teknik search yang menggabungkan kebaikan yang ada dari teknik Depth- First-Search dan Breadth-First-Search. Tujuan menggabungkan dua teknik search ini adalah untuk menelusuri satu jalur saja pada satu saat, tapi dapat berpindah ketika jalur lain terlihat lebih menjanjikan dari jalur yang sedang ditelusuri. Untuk mendapatkan jalur yang menjanjikan adalah dengan memberikan skala prioritas pada setiap stata saat dihasilkan dengan fungsi heuristic.

Pada best first search, pencarian diperbolehkan mengunjungi node di lebih rendah, jika ternyata node di level lebih tinggi memiliki nilai heuristik lebih buruk. Fungsi Heuristik yang digunakan merupakan prakiraan (estimasi) cost dari initial state ke goal state, yang dinyatakan dengan : f’(n) = g(n) + h’(n) f’ = Fungsi evaluasi g = cost dari initial state ke current state h’ = prakiraan cost dari current state ke goal state

Untuk menggunakan Best-First-Search, kita memerlukan dua daftar simpul, yaitu : OPEN berisi simpul yang dihasilkan dari fungsi heuristic tapi belum dievaluasi, memilki antrian prioritas dimana elemen dengan prioritas tertinggi adalah yang memiliki nilai paling baik yang dihasilkan fungsi heuristic. CLOSED berisi simpul yang sudah dievaluasi. Kita perlu tetap menyimpan simpul-simpul ini dalam memori jika kita ingin melakukan search pada Graph, sehingga jika kita menemui suatu simpul kita bisa memeriksa apakah simpul ini sudah pernah dieavaluasi atau belum

Algoritma Best-First-Search : Mulai dengan OPEN hanya berisi initial state Sampai goal ditemukan atau tidak ada lagi simpul yang tersisa dalam OPEN, lakukan : a. Pilih simpul terbaik dalam OPEN b. Telusuri successor-nya c. Untuk tiap successor, lakukan : i. Jika belum pernah ditelusuri sebelumnya, evaluasi simpul ini, tambahkan kedalam OPEN dan catat parentnya. ii. Jika sudah pernah ditelusuri, ganti parent nya jika jalur baru lebih baik dari sebelumnya.

Contoh 3 4 5 3 3 2 5

Algoritma Buat sebuah antrian, inisialisasi node pertama dengan root dari tree Bila node pertama, jika ≠ GOAL, node dihapus dan diganti dengan anak- anaknya. Selanjutnya keseluruhan node yang ada diurutkan Bila node pertama = GOAL, selesai

Contoh Best First Search Step 1 Step 2 Step 3 A A C B D (3) (1) (5) A C B D (3) (1) (5) E F (4) (6)

Step 4 A C B D (3) (1) (5) E F (4) (6) G H

Step 5 A C B D (3) (1) (5) E F (4) (6) G H I J (2)

Contoh lain Best-First-Search Diketahui sebuah puzzle berukuran 3X3 yang berisi angka. Permasalahan adalah angka-angka dalam puzzle tersebut belum teratur. Nilai awal puzzle : Goal : Nilai awal = {1,2,blank,4,5,3,7,8,6} Goal = {1,2,3,4,5,6,7,8,blank} Nilai heuristic = f(n) = g(n) + h(n) g(n) = kedalaman dari pohon h(n) = jumlah angka yang masih salah posisi 1 2 4 5 3 7 8 6 1 2 3 4 5 6 7 8

Level 1 Level 2

Latihan soal di rumah Sebuah puzzle berukuran 3X3 Nilai awal : Goal : f(n) =g(n) + h(n) g(n) = kedalaman pohon h(n) = jumlah angka yang salah posisi 1 2 3 8 4 7 6 5 2 8 3 1 6 4 7 5

Tugas Buat suatu contoh kasus Representasikan dengan tree Pilih salah satu metode di bawah untuk menyelesaikan kasus tersebut : Simple Hill climbing Steepest Hill climbing Best First Search