MANAJEMEN LAYANAN SISTEM INFORMASI #3
METODE PENCARIAN DAN
PELACAKAN#3
(Rezky Kencana Putra (19114204), Dwi Fernando (13114291), Dimas Agus Setiawan)
(Rezky Kencana Putra (19114204), Dwi Fernando (13114291), Dimas Agus Setiawan)
• Hal penting dalam menentukan keberhasilan sistem cerdas adalah
kesuksesan dalam pencarian.
• Pencarian = suatu proses mencari solusi dari suatu
permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space).
• Ruang keadaan = merupakan suatu ruang yang berisi
semua keadaan yang mungkin.
• Untuk mengukur perfomansi metode pencarian, terdapat 4
kriteria yang dapat digunakan :
Completeness : apakah metode tersebut menjamin
penemuan solusi jika solusinya memang ada?
Time complexity : berapa lama waktu yang diperlukan?
[semakin cepat, semakin baik]
Space complexity : berapa banyak memori yang
diperlukan
Optimality : apakah metode tersebut menjamin menemukan
solusi yang terbaik jika terdapat beberapa solusi berbeda?
Dua teknik
pencarian dan 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)
Pencarian Melebar Pertama (Breadth-First Search)
• Semua node pada level n akan dikunjungi terlebih dahulu
sebelum level n+1
• Mulai dari akar terus ke level 1 dari kiri ke kanan
• Kemudian ke level selanjutnya hingga solusi ditemukan
Keuntungan
– Tidak akan menemui jalan buntu
– Menjamin ditemukannya solusi (jika solusinya memang ada)
dan solusi yang ditemukan pasti
yang paling baik
– Jika ada satu solusi maka bread-first search akan
menemukannya
Kelemahannya
– Membutuhkan memori yang cukup banyak
– Membutuhkan waktu yang cukup lama
Pencarian mendalam pertama (Depth-First Search)
• Proses pencarian dilakukan pada semua anaknya sebelum
dilakukan pencarian ke node-node yang selevel
• Keuntungan
– Memori yang relatif kecil
– Secara kebetulan, akan menemukan solusi tanpa harus
menguji lebih banyak lagi
Pencarian Heuristik
• Pencarian buta tidak selalu dapat diterapkan dengan baik
– Waktu aksesnya yang cukup lama
– Besarnya memori yang diperlukan
• Metode heuristic search diharapkan bisa menyelesaikan
permasalahan yang lebih besar.
• Metode heuristic search menggunakan suatu fungsi yang
menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke
simpul tujuan disebut fungsi heuristic
• Aplikasi yang menggunakan fungsi heuristic : Google, Deep
Blue Chess Machine
• Contoh pada masalah 8 puzzle
keadaan
awal
Tujuan
Keadaan Awal Tujuan Pencarian Heuristik
• Operator
– Ubin kosong geser ke kanan
– Ubin kosong geser ke kiri
– Ubin kosong geser ke atas
– Ubin kosong geser ke bawah
• Langkah Awal
Gambar
• Langkah Awal hanya 3 operator yang bisa digunakan
– Ubin kosong digeser ke kiri, ke kanan dan ke atas.
• Jika menggunakan pencarian buta, tidak perlu mengetahui
operasi apa yang akan dikerjakan (sembarang)
• Pada pencarian heuristik perlu diberikan informasi khusus
dalam domain tersebut
• Untuk jumlah ubin yang menempati posisi yang benar jumlah
yang lebih tinggi adalah yang lebih diharapkan (lebih baik)
• Untuk jumlah ubin yang menempati posisi yang salah jumlah
yang lebih kecil adalah yang diharapkan (lebih baik).
• Menghitung total gerakan yang diperlukan untuk mencapai
tujuan jumlah yang lebih kecil adalah yang diharapkan (lebih baik).
Pencarian Heuristik
• Ada 4 metode pencarian heuristik
– Pembangkit & Pengujian (Generate and Test)
– Pendakian Bukit (Hill Climbing)
– Pencarian Terbaik Pertama (Best First Search)
– Simulated Annealing
Pembangkit & Pengujian (Generate and Test)
• Pada prinsipnya 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 yang pertama.
Contoh : Traveling Salesman Problem (TSP)
Seorang salesman ingin mengunjungi n kota. Jarak antara
tiap-tiap kota sudah diketahui. Ingin diketahui rute terpendek dimana setiap
kota hanya boleh dikunjungi tepat 1 kali.
Contoh : Traveling Salesman Problem (TSP)
• Generate & test akan membangkitkan semua solusi yang
mungkin:
– A – B – C – D
– A – B – D – C
– A – C – B – D
– A – C – D – B, dll
Kelemahan dari Pembangkit & Pengujian (Generate and
Test) yaitu ;
– Perlu membangkitkan semua kemungkinan sebelum dilakukan
pengujian
– Membutuhkan waktu yang cukup lama dalam pencariannya
Pendakian Bukit (Hill Climbing)
• Metode ini hampir sama dengan metode pembangkitan &
pengujian, hanya saja proses pengujian dilakukan dengan menggunakan fungsi
heuristik.
• Pembangkitan keadaan berikutnya sangat 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.
Simple Hill Climbing
Algoritma
– Mulai dari keadaan awal, lakukan pengujian: jika merupakan
tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang
sebagai keadaan awal.
– Kerjakan langkah-langkah berikut sampai solusinya
ditemukan, atau sampai tidak ada operator baru yang akan diaplikasikan pada
keadaan sekarang:
• Cari operator yang belum pernah digunakan; gunakan
operator ini untuk mendapatkan keadaan yang baru.
• Evaluasi keadaan baru tersebut.
• Jika keadaan baru merupakan tujuan, keluar.
• Jika bukan tujuan, namun nilainya lebih baik daripada
keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang.
• Jika keadaan baru tidak lebih baik daripada keadaan
sekarang, maka lanjutkan iterasi.
Contoh TSP
• Operator : Tukar kota ke-i dengan kota ke-j (Tk i,j)
• Untuk 4 kota:
– Tk 1,2 : tukar kota ke-1 dengan kota ke-2.
– Tk 1,3 : tukar kota ke-1 dengan kota ke-3.
– Tk 1,4 : tukar kota ke-1 dengan kota ke-4.
– Tk 2,3 : tukar kota ke-2 dengan kota ke-3.
– Tk 2,4 : tukar kota ke-2 dengan kota ke-4.
– Tk 3,4 : tukar kota ke-3 dengan kota ke-4.
• Untuk N kota, akan ada operator sebanyak:
Steepest Ascent Hill Climbing
• Steepest-ascent hill climbing sebenarnya hampir sama
dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari
posisi paling kiri.
• Gerakan selanjutnya dicari berdasarkan nilai heuristik
terbaik.
• Dalam hal ini urutan penggunaan operator tidak menentukan
penemuan solusi.
• Steepest-ascent hill climbing sebenarnya hampir sama
dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari
posisi paling kiri.
• Gerakan selanjutnya dicari berdasarkan nilai heuristik
terbaik.
• Dalam hal ini urutan penggunaan operator tidak menentukan
penemuan solusi.
Algoritma
• Mulai dari keadaan awal, lakukan pengujian: jika merupakan
tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang
sebagai keadaan awal.
• Kerjakan hingga tujuan tercapai atau hingga iterasi tidak
memberikan perubahan pada keadaan sekarang.
• Tentukan SUCC sebagai nilai heuristic terbaik dari
successorsuccessor.
• Kerjakan untuk tiap operator yang digunakan oleh keadaan
sekarang:
• Gunakan operator tersebut dan bentuk keadaan baru.
• Evaluasi keadaan baru tersebut. Jika merupakan tujuan,
keluar. Jika bukan, bandingkan nilai heuristiknya dengan SUCC. Jika lebih baik,
jadikan nilai heuristic keadaan baru tersebut sebagai SUCC. Namun jika tidak
lebih baik, nilai SUCC tidak berubah.
SUMBER:
(Rezky Kencana Putra (19114204), Dwi Fernando (13114291), Dimas Agus Setiawan)




Komentar
Posting Komentar