Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
SISTEM INTELEGENSIA BUATAN
Pertemuan 4 Diema HS, S. Kom
2
Metode Pencarian dan Pelacakan
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
3
Metode Pencarian dan Pelacakan
Untuk mengukur perfomansi metode pencarian, terdapat empat kriteria yang dapat digunakan : Completeness : apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada? Time complexity : berapa lama waktu yang diperlukan? Space complexity : berapa banyak memori yang diperlukan Optimality : apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda?
4
Metode Pencarian dan Pelacakan
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)
5
Pencarian Melebar Pertama (Breadth-First Search)
Algoritma yang melakukan pencarian secara melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Selanjutnya, simpul yang belum dikunjungi dan bertetangga dengan simpul - simpul yang tadi dikunjungi, demikian seterusnya. (kusumadewi, sri)
6
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
7
Algorithma ? Buat suatu variabel Node_List dan tetapkan sebagai keadaan awal. Kerjakan langkah-langkah berikut ini sampai tujuan tercapai atau Node_List dalam keadan kosong : Hapus elemen pertama dari Node_List, sebut dengan nama E. Jika node_list kosong, keluar. Pada setiap langkah yang aturannya cocok dengan E, kerjakan : Aplikasikan aturan tersebut untuk membentuk suatu keadaan baru. Jika keadaan awal adalah tujuan yang diharapkan, sukses dan keluar. Jika tidak demikian, tambahkan keadaan awal yang baru tersebut pada akhir Node_List.
8
Contoh BFS
9
Breadth-First Search: Missionaries and Cannibals
depth = 0 depth = 1 depth = 2 depth = 3
10
Contoh metode BFS Salah satu contoh kakas pencarian yang menggunakan metode BFS adalah WebCrawler. WebCrawler adalah suatu kakas yang membuat indeks isi dari suatu dokumen di Web yang selanjutnya akan dimanfaatkan oleh mesin pencari. Terdapat tiga langkah yang dilakukan oleh WebCrawler ini ketika mengunjungi dokumen, yaitu menandai bahwa suatu dokumen telah dikunjungi, mengenali link yang terdapat pada dokumen tersebut, kemudian isinya didaftarkan pada daftar indeks. Pada akhirnya, WebCrawler akan menampilkan file yang paling banyak berkaitan dengan kata kunci. Algoritma BFS yang diterapkan pada WebCrawler ini adalah mendaftarkan setiap link yang ada dan menyimpannya dalam data base kemudian mengunjunginya satu persatu sambil mencatat link yang berhubungan
11
Contoh hasil pencarian dengan WebCrawler Kata kunci : "molecular biology human genome project"
1000 Guide to Molecular Biology Databases 0754 Guide to Molecular Biology Databases 0562 Biology Links 0469 bionet newsgroups 0412 Motif BioInformatics Server 0405 LBL Catalog of Research Abstracts (1993) 0329 Molecular Biology Databases 0324 GenomeNet WWW server 0317 DOE White Paper on Bio-Informatics 0292 Molecular biology 0277 Oxford University Molecular Biology Data Centre Home Page 0262 Biology Internet Connections 0244 Harvard Biological Laboratories - Genome
12
Pencarian mendalam pertama (Depth-First Search)
Proses pencarian dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel.
13
Algorithma ? Jika keadaan awal merupakan tujuan, keluar (sukses).
Jika tidak demikian, kerjakan langkah-langkah berikut ini sampai tercapai keadaan sukses atau gagal : Bangkitkan succesor E dari keadaan awal. Jika tidak ada secessor, maka akan terjadi kegagalan. Panggil DFS dengan E sebagai keadaan awal Jika sukses berikan tanda sukses. Namun jika tidak ulangi langkah -2.
14
Contoh
15
Depth-First Search: Missionaries and Cannibals
Always expand one of the newly generated children until progress is blocked depth = 2 depth = 3
16
Depth-First Search Keuntungan
* Memori relatif kecil, node lintasan aktif saja yang disimpan. * Secara kebetulan, metode ini akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan. Kelemahan * Memungkinkan tidak ditemukannya tujuan yang diharapkan. * Hanya akan mendapatkan satu solusi setiap pencarian. Teknik penulusuran data pada node-node secara vertikal dan sudah terdifinisikan Penulusuran masalah dapat digali secara mendalam sampai ditemukannya kepastian suatu solusi yang optimal (keuntungan) Membutuhkan waktu ya sangat lama jika ruang lingkup masalah sangat besar (kerugian)
17
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
18
Pencarian Heuristik Contoh pada masalah 8 puzzle Keadaan Awal Tujuan
19
Operator – Ubin kosong geser ke kanan – Ubin kosong geser ke kiri – Ubin kosong geser ke atas – Ubin kosong geser ke bawah
20
Langkah Awal
21
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
22
Informasi yang bisa diberikan
Untuk jumlah ubin yang menempati posisi yang benar jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik)
23
Untuk jumlah ubin yang menempati posisi yang salah jumlah yang lebih kecil adalah yang diharapkan (lebih baik).
24
Menghitung total gerakan yang diperlukan untuk mencapai tujuan jumlah yang lebih kecil adalah yang diharapkan (lebih baik).
25
Pencarian Heuristik Ada 4 metode pencarian heuristik
Pembangkit & Pengujian (Generate and Test) Pendakian Bukit (Hill Climbing) Pencarian Terbaik Pertama (Best First Search)
26
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.
27
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.
28
Penyelesaian 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
29
Tentukan Lintasannya
30
Lintasan
31
Pembangkit & Pengujian (Generate and Test)
Kelemahan – Perlu membangkitkan semua kemungkinan sebelum dilakukan pengujian – Membutuhkan waktu yang cukup lama dalam pencariannya
32
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
33
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
34
Simple Hill Climbing 3 Masalah dalam SHC:
Algoritma akan berhenti kalau mencapai nilai optimim lokal Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi Tidak diijinkan untuk melihat satupun langkah sebelumnya
35
Contoh Lihat kembali TSP
Identifikasi jumlah kota --Kota ABCD = 4 Tentukan 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:
36
Contoh TSP
37
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.
38
Algoritma SAHC 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 successor-successor. 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. Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.
39
Steepest Ascent Hill Climbing
40
Ada 3 masalah pada pencarian ini :
Local optimum : keadan semua tetangga lebih buruk atau sama dengan keadaan dirinya Plateu : keadaan tetangga sama dengan keadaan dirinya Ridge : local optimum yang lebih disebabkan karena ketidakmampuan untuk menggunakan 2 operator sekaligus
41
Tugas Buat Pencarian dengan Generate And Test dan Hill Climbing pada TSP (jarak terpendek) dibawah ini ! A C B D 3 2 6 4 5
42
TERIMA KASIH ATAS PERHATIAN ANDA !!!
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.