Rancang Bangun Sistem Pelacakan Dokumen Memanfaatkan FUSE ...
Metode Pencarian dan Pelacakan 1 - ayu_ws.staff.gunadarma...
-
Upload
phamnguyet -
Category
Documents
-
view
233 -
download
0
Transcript of Metode Pencarian dan Pelacakan 1 - ayu_ws.staff.gunadarma...
Metode Pencarian dan Pelacakan 1
Pertemuan 4
Wahyu Supriyatin
Masalah dan Ruang Masalah
• Membangun sistem dengan mennyelesaikan masalah mengunakan kecerdasan buatan :
1. Mendefinisikan masalah dengan tepat.
2. Menganalisis masalah dan mencari teknik penyelesaiannya.
3. Merepresentasikan pengetahuan untuk menyelesaikan masalah.
4. Memilih teknik penyelesaian masalah yang terbaik.
Masalah dan Ruang Masalah
• Cara mendefinisikan suatu masalah :
1. Mendefinisikan/membuat state space atau ruang masalah.
2. Menentukan keadaan awal (initial state).
3. Menentukan keadaan akhir (goal state).
4. Menentukan operator/aturan.
Contoh Masalah dan Ruang Masalah
• Contoh : “Masalah Petani, Kambing, Serigala dan Sayuran”
Seorang petani akan menyeberangkan seekor kambing, seekor serigala dan sayuran dengan sebuah boat yang melalui sungai. Boat hanya bisa memuat petani dan satu penumpang lain (kambing, serigala atau sayuran). Jika ditinggalkan oleh petani tersebut, maka sayuran akan dimakan oleh kambing dan kambing akan dimakan oleh serigala.
Bagaimana caranya agar petani, kambing, serigala dan sayuran dapat selamat sampai di seberang sungai ?
Contoh Masalah dan Ruang Masalah
• Contoh : “Permainan Catur”
Yang harus ditentukan adalah :
1. Posisi awal pada papan catur, posisi awal setiap permainan catur selalu sama, yaitu semua bidak diletakkan di atas papan catur dalam posisi, yaitu kubu putih dan kubu hitam.
2. Aturan-aturan untuk menentukan gerakan secara legal, aturan sangat berguna untuk menentukan suatu bidak bergerak dari suatu keadaan lain sesuai dengan aturan yang ada.
3. Tujuan (Goal), tujuan yang diingin dicapai adalah kemenangan terhadap lawan yang ditunjukan dengan posisi Raja yang tidak bisa bergerak lagi.
Cara Merepresentasikan Ruang Masalah
• Graph Keadaan
Cara Merepresentasikan Ruang Masalah• Pohon Pelacakan
• Pohon AND/OR
Karakteristik Masalah/Problem
• Memilih motodepemecahan masalah yang tepat perlu dilakukan analisa masalah. Karakteristik yang digunakan untuk menganalisa suatu masalah adalah :
1. Apakah masalah dapat dipilah dan dibagi menjadi sub masalah yang independent ?
2. Apakah ruang lingkup pembicaraan masalah dapat diperkirakan ?
3. Apakah solusi masalah yang baik telah dibandingkan dengan semua solusi yang mungkin ?
4. Apakah basis pengetahuan yang digunakan untuk memecahkan maslaah bersifat konsisten?
5. Apakah dibutuhkan informasi untuk memecahkan masalah yang dihadapi untuk membatasi proses pencarian ?
Metode Pencarian dan Pelacakan
• Keberhasilan dari suatu sistem cerdas adalah kesuksesan dalam pencarian.
• Pencarian adalah 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.
• Kriteria yang digunakan untuk mengukur performansi metode pencarian adalah :1. Completeness : Apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada?
2. Time Complexity : Berapa lama waktu yang diperlukan?
3. Space Complexity : Berapa banyak memori yang diperlukan ?
4. Optimality : Apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda ?
Metode Pencarian dan Pelacakan
• Metode Pencarian Buta (Blind Search)
Breadth First Search (Pencarian Melebar Pertama)
Depth First Search (Pencarian Mendalam Pertama)
• Metode Pencarian Heuristik
Generate And Test (Pembangkit dan Pengujian)
Hill Climbing (Pendakian Bukit)
Metode Pencarian Buta(Blind Search)
Metode Breadth First Search(Pencarian Melebar Pertama)
• Metode breadth first search semua node pada level n akan dikunjungi dahulu sebelum mengunjungi node pada level n+1.
• Pencarian dimulai dari node akar terus ke level 1 dari kiri ke kanan. Kemudia pindah ke level berikutnya dari kiri ke kanan sampai ditemukan solusinya.
Gambaran Metode Breadth First Search
Algoritma Breadth First Search
Prosedur breadth_first_search
Inisialisasi: open = [start]; closed [ ]
While open = [ ] do
Begin
Hapuskan keadaan paling kiri dari keadaan open, sebutlah keadaan itu dengan X;
If X merupakan tujuan then return (sukses);
Buatlah semua child dari X;
Ambillah X dan masukkan pada closed;
Eliminasilah setiap child X yang telah berada pad aopen atau closed, yang akan menyebabkan loop dalam search;
Ambillah turunan diujung kanan open sesuai urutan penemuan-nya;
End.
Algoritma Breadth First Search
• Traversal dimulai dari simpul v.
• Algoritma :
1. Kunjungi simpul v.
2. Kunjungi semua simpul yang bertetangga dengan simpul vterlebih dahulu.
3. Kunjungi simpul yang belum dikunjungi dan bertetangga dengan simpul yang dikunjungi, demikian seterusnya.
• Jika graf berbentuk pohon berakar, semua simpul pada aras d dikunjungi terlebih dahulu sebelum mengunjungi simpul pada aras d+1.
Keuntungan dan Kekurangan Metode Breadth First Search
Keuntungan • Tidak akan menemui jalan buntu.
• Jika ada satu solusi maka breadth first search akan menemukannya.
• Jika solusi lebih dari satu maka solusi minimum yang ditemukan.
Kekurangan • Membutuhkan memori yang banyak
karena menyimpan semua node dalam satu pohon.
• Membutuhkan waktu yang lama karena menguji n level untuk mendapatkan solusi pada level ke- (n+1).
• Ruang masalah yang besar sehingga tidak cocok karena keterbatasan kecepatan memori komputer.
Metode Depth First Search(Pencarian Kedalam Pertama)
• Proses pencarian dilakukan padasemua anaknya sebelum dilakukan pencarian ke node yang selevel.
• Pencarian dilakukan mulai dari node akar menuju ke level yang lebih tinggi. Proses diulangi terus menerus hingga ditemukan solusinya.
Gambaran Metode Depth First Search
Algoritma Depth First Search
Prosedur depth_first_search
Inisialisasi: open = [Start]; closed = []
While open x [] do
Begin
Hapuskan keadaan berikutnya dari sebelah kiri open, sebutlah itu denganX;
If X merupakan tujuan then return (sukses);
Buatlah semua child yang dimungkinkan dari X;
Ambilah X dan masukkan pada closed;
Eliminasilah setiap child X yang telah berada pada open atau closed, yang akan menyebabkan loop dalam search;
Ambilah child X yang tersisa diujung kanan open sesuai urutan penemuannya;
End
Algoritma Depth First Search
• Traversal dimulai dari simoul v.
• Algoritma :
1. Kunjungi simpul v.
2. Kunjungi simpul w yang bertetangga dengan simpul v.
3. Ulangi DFS mulai dari simpul w.
4. Ketika mencapai simpul u, semua simpul yang bertetangga dengan simpul u telah dikunjungi. Pencarian backtracking ke simpul terakhir yang dikunjungi.
5. Pencarian berakhir bila sudah tidak adalagi simpul yang belum dikunjungi yang didapat dari simpul yang telah dikunjungi.
Keuntungan dan Kekurangan Metode Depth First Search
Keuntungan • Membutuhkan memori yang
relative kecil, karena hanya node pada lintasan aktif yang disimpan.
• Metode depth first search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan.
Kekurangan • Memungkinkan tidak
ditemukan tujuan yang diharapkan.
• Hanya akan menemukan satu solusi pada setiap pencarian.
Contoh Beardth First Search dan Depth First Search
• Traversal dari simpul 1
(Gambar a)
• Traversal dari simpul A
(Gambar b)
Hasil
• Beardth First Search
Gambar (a) : 1-2-3-4-5-6-7-8
Gambar (b) : A-B-C-D-E-F-G-H-I
• Depth First Search
Gambar (a) : 1-2-4-8-5-6-3-7
Gambar (b) : A-B-E-H-I-F-C-G-C
Latihan Breadth First Search dan Depth First Search
• Gunakan algoritma Breadth First Search dan Depth First Search untuk menentukan pohon merentang (spanning tree) dari Graf G, jika traversalnya di simpul e.
Metode Pencarian Heuristik
Metode Pencarian Heuristik
• Heuristik adalah teknik yang digunakan untuk melakukan suatu pencarian dengan mengorbankan kelengkapan (completeness)
• Heuristik digunakan untuk mencari masalah/problem dan menentukan untuk mendapatkan solusi yang diinginkan.
Jenis Heuristic Searching
• Generate and Test
• Hill Climbing
• Best First Search
• Alpha Beta Prunning. Means End Analysis, Constraint Statisfaction, Simulated Annealing
Generate and Test
• Metode pencarian yang merupakan penggabungan antara Depth First Search dengan Pelacakan Backtracking (Bergerak ke belakang menuju ke keadaan awal).
• Algoritma Generate and Test:
1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau lintasan tertentu dari keadaan awal).
2. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.
3. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.
Contoh Generate and Test
Kasus Travelling Salesman Problem (TSP) Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :
Penyelesaian Metode Generate and Test
Alur Pencarian Generate and Test
Pencarian Ke- Lintasan Panjang Lintasan Lintasan Terpilih Panjang Lintasan Terpilih
1 ABCD 19 ABCD 19
2 ABDC 18 ABDC 18
3 ACBD 12 ACBD 12
4 ACDB 13 ACBD 12
5 ADCB 18 ACBD 12
6 ADBC 16 ACBD 12
Dst ...
Hasil Metode Generate and Test
• Total Pencarian = 24 lintasan
• Lintasan yang terpilih = ACBD
• Panjang lintasan yang terpilih = 12
Kelemahan Generate and Test :1. Harus membangkitkan semua
kemungkinan sebelum dilakukanpengujian.
2. Membutuhkan waktu yang cukuplama dalam pencarian.
Hill Climbing
• Metode pencarian yang mirip dengan metode Generate and Test tetapi menggunakan fungsi heurustic.
• Generate pada keadaan berikutnya tergantung pada feedback dari test yang dilakukan. Fungsi heuristic yang dilakukan menunjukkan seberapa baik nilai yang akan diambil terhadap keadaan yang mungkin.
• Tiga masalah dalam Simple Hill Climbing :
1. Algoritma akan berhenti kalau mencapai nilai optimum local
2. Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi
3. Tidak diijinkan untuk melihat satupun langkah sebelumnya
Algoritma Simple Hill Climbing
• Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada operator baru yang akan diaplikasikan pada keadaan sekarang :
1. Cari operator yang belum digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
2. 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 Simple Hill Climbing
• Kasus TSP (Traveling Salesmen Problem)
Ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota yang bersebelahan. Apabila ada n kota dan ingin mencari kombinasi lintasan maka dengan cara menukar posisi urutan 2 kota, n kombinasi 2.
Kombinasi yang didapat sebanyak 6 kombinasi atau dengan
menggunakan rumus :
Kombinasi Simple Hill Climbing
• Tukar 1,2 : Tukar kota ke-1 dengan kota ke-2
• Tukar 2,3 : Tukar kota ke-2 dengan kota ke-3
• Tukar 3,4 : Tukar kota ke-3 dengan kota ke-4
• Tukar 4,1 : Tukar kota ke-4 dengan kota ke-1
• Tukar 2,4 : Tukar kota ke-2 dengan kota ke-4
• Tukar 1,3 : Tukar kota ke-1 dengan kota ke-3
Penyelesaian Metode
Simple Hill Climbing
Penyelesaian Metode Simple Hill Climbing
Hasil Metode Simpel Hill Climbing
• Panjang lintasan yang dihasilkan dari fungsi heuristic = 12
• Tahapan heuristic 6 kombinasi = level 5
• Jalur lintasan yang dipilih dengan fungsi heuristik = DBCA
Contoh Simple Hill Climbing
• Kasus game Number Puzzle Slider
Penyelesaian Metode
Simple Hill Climbing
Metode Steepest Ascent Hill Climbing
• Metode Steepest Ascent Hill Climbing sama dengan Simple Hill Climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri. Pencarian selanjutnya dicari berdasarkan nilai heuristik terbaik (Random Solution).
• Urutan penggunaan operator tidak menentukan penemuan solusi.
Algoritma Steepest Hill Climbing
1. Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
2. Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang.
3. Tentukan SUCC sebagai nilai heuristic terbaik dari successorsuccessor.
4. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang:
5. Gunakan operator tersebut dan bentuk keadaan baru.
6. 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.
7. Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.
KekuranganSteepest Hill Climbing
Kekurangan metode Steepest – Ascent Hill Climbing adalah :
1. Local Optimum : keadaan semua tetangga lebih buruk atau sama dengan keadaan dirinya
2. Plateou : keadaan semua tetangga sama dengan keadaan dirinya
3. Ridgez Local Optimum yang lebih disebabkan karena ketidakmampuan untuk menggunakan 2 operator
Contoh Steepest Hill Climbing
Kasus Travelling Salesman Problem (TSP) Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :
Penyelesaian Metode
Steepest Hill Climbing
Steepest Hill Climbing
Hasil Metode Steepest Hill Climbing
• Panjang lintasan yang dihasilkan dari fungsi heuristic = 12
• Tahapan heuristic 6 kombinasi = level 2
• Jalur lintasan yang dipilih dengan fungsi heuristik = ACBD