metode pencarian - Informatika Unsyiah
Transcription
metode pencarian - Informatika Unsyiah
METODE PENCARIAN ì Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc Jurusan Informatika Universitas Syiah Kuala http://informatika.unsyiah.ac.id/irvanizam Teknik-‐Teknik Search (1/3) ì Hal-‐hal yang muncul dalam teknik pencarian : ì Arah Search ì Topologi proses search ì Penggunaan fungsi heuris<k untuk memandu proses tersebut ì ARAH SEARCH ì Dapat dilakukan : ì Maju à bermula dari keadaan awal (start state) ì Mundur à diawali dari keadaan tujuan (goal state) Teknik-‐Teknik Search (2/3) ì TOPOLOGI SEARCH ì Ada 2 macam penggambaran problem, yaitu dalam bentuk : ì TREE (Tree) ì Graph ì TREE ì Merupakan graf dimana 2 simbol memiliki paling banyak satu lintasan yang menghubungkannya. ì Tidak ada loop dalam TREE. ì Contoh : problem ember air. Teknik-‐Teknik Search (3/3) ì GRAPH ì Graph dibedakan menjadi 2 (dua): ì Graph berarah ì Graph Tidak berarah ì Teknik searching dalam Kecerdasan Buatan (AI) digunakan untuk mencari solusi dari suatu permasalahan. ì Langkahnya adalah dengan mendefinisikan terlebih dahulu Ruang Masalah (State) Ruang Masalah Keadaan Awal (Ini<al State) Tujuan (Goal) Studi Kasus : Masalah Galon Air Kran air 4 liter 3 liter A B ì Bagaimana caranya bisa didapatkan air dengan ukuran tepat 2 liter di Galon B? Studi Kasus : Masalah Galon Air § Keadaan Awal à Galon A dan B masih kosong No Kejadian yang mungkin untuk masalah galon air § 1 Isi penuh galon A 2 Isi penuh galon B 3 Buang sebagian air dari galon A 4 Buang sebagian air dari galon B 5 Kosongkan isi galon A 6 Kosongkan isi galon B 7 Tuang air dari galon A ke galon B sampai galon B penuh 8 Tuang air dari galon B ke galon A sampai galon A penuh 9 Tuang semua air dari galon A ke galon B 10 Tuang semua air dari galon B ke galon A Tujuan (Goal) à Galon B berisi 2 liter air, Galon A berisi n liter air Studi Kasus : Masalah Galon Air ì Solusi Galon A Galon B No. Kejadian 0 liter 0 liter Ini<al State 0 liter 3 liter 2 3 liter 0 liter 10 3 liter 3 liter 2 4 liter 2 liter 8 à Goal Performance Searching (1/3) ì Evaluasi sebuah pencarian akan sangat kompleks ì Dasar pengukuran dari evaluasi : ì Seberapa cepat search menemukan penyelesaian ì Seberapa cepat search menemukan penyelesaian yang baik ì Kecepatan search ditentukan : ì Panjang Lintasnya. ì Jumlah sesungguhnya penulusuran node. Performance Searching (2/3) § Untuk mengukur performansi metode pencarian, terdapat 4 kriteria yang dapat digunakan : § Completeness § Apakah solusi pas< ditemukan? § Time Complexity § Berapa lama waktu yang diperlukan § Space Complexity § Berapa banyak memori yang dibutuhkan § Op<mally § Apakah solusi yang ditemukan adalah solusi yang terbaik? Performance Searching (3/3) ì Time & Space complexity diukur berdasarkan : ì b à faktor percabangan dari search tree ì d à depth (kedalaman) dari solusi op<mal ì m à kedalaman maksimum dari search tree (bisa infinite) Jenis Teknik Pencarian ¨ Ada beberapa teknik untuk mencari kemungkinan penyelesaian, yaitu : ¨ Blind Search (Uninformed Search) ¤ Depth First Search (DFS) ¤ Breadth First Search (BFS) ¤ Uniform Cost Search (UCS) ¤ Depth Limited Search (DLS) ¤ Itera=ve Deepening Search (IDS) ¤ Heuris=k Search (Informed Search) ¤ Hill-‐Climbing Search ¤ Least-‐Cost Search ¤ Best First Search BLIND SEARCH (Breadth First Search) ì Pada metode ini diperiksa se<ap node pada level yang sama sebelum mengolah ke level berikutnya yang lebih dalam. ì Pencarian dilakukan pada semua simpul dalam se<ap level secara berurutan dari kiri à kanan. ì Jika pada satu level belum ditemukan solusinya, maka pencarian dilanjutkan pada level berikutnya. BLIND SEARCH (Breadth First Search) BLIND SEARCH (Breadth First Search) ì Keuntungan Breadth First Search : ì Tidak akan menemui jalan buntu ì Jika ada solusi, maka Breadth First Search akan menemukannya, jika lebih dari satu maka solusi akan ditemukan ì Kelemahan Breadth First Search ì Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon ì Membutuhkan waktu yang cukup lama, karena menguji n level untuk mendapatkan solusi pada level yang ke(n+1) BLIND SEARCH (Breadth First Search) ì Sifat Breadth First Search : ì Complete ì Ya, jika b terbatas ì Time Complexity b + b 2 + b3 +... + b d = b(b d !1) / (b !1) = O b d+1 = O b d ( ) ( ) ì Space Complexity O (bd ) ì Op<mal ì Ya, jika semua step cost sama, tapi pada umumnya <dak op<mal Peta Aceh ì Contoh Kasus : ì ì ì ì ì ì ì ì ì ì ì ì ì ì ì ì B.Aceh–Sabang Sabang–Calang Calang–Jantho Jantho–Sigli Sigli–Meulaboh Meulaboh–Bireuen Bireuen–Bl.Pidie Bl.Pidie–Simeulu : 1000 KM : 1000KM : 800 KM : 1900 KM : 1500 KM : 1800 KM : 500 KM : 1000 KM Simeulue–Takengon : 1500 KM Takengon–Lhokseumawe: 1500 KM Lhokseumawe–Tapaktua : 1000KM Tapaktuan-‐Singkil : 800KM Singkil-‐Bl.Kejren : 900KM Bl.Kejren-‐Kutacane : 700KM Kutacane-‐Langsa Langsa-‐Perlak : 900KM :1000KM Tree : Kasus Peta Aceh BLIND SEARCH (Depth First Search) ì Pencarian dilakukan pada suatu simpul dalam se<ap level dari yang paling kiri. ì Jika pada level yang terdalam, solusi belum ditemukan, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari memori ì Jika pada level yang paling dalam <dak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. ì Demikian seterusnya sampai ditemukan solusi BLIND SEARCH (Depth First Search) ì Metode pencarian dapat dilihat seper< gambar : BLIND SEARCH (Depth First Search) ì Keuntungan : ì Membutuhkan memori rela<f kecil, karena hanya node-‐node pada lintasan yang ak<f saja yang disimpan ì Secara kebetulan, metode ini akan menemukan solusi tanpa harus menguji lebih banyak ì Kerugian : ì Memungkinkan <dak ditemukannya tujuan yang diharapkan ì Hanya akan mendapatkan solusi pada <ap pencarian BLIND SEARCH (Depth First Search) § Sifat Depth First Search § Complete § Tidak Commplete, jika pohon yang dibangkitkan mempunyai level yang sangat dalam (<dak terhingga) § Time Complexity § Space Complexity § Op<mal ( ) Ob m O(bm) § Tidak op<mal, karena jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS <dak menjamin untuk menemukan solusi yang paling baik Peta Aceh ì Contoh Kasus : ì ì ì ì ì ì ì ì ì ì ì ì ì ì ì ì B.Aceh–Sabang B.Aceh–Calang Calang–Meulaboh Meulaboh–Bl.Pidie Bl.Pidie–Tapaktuan Bl.Pidie–Singkil Meulaboh–Simulue B.Aceh–Jantho : 1000 KM : 1000KM : 800 KM : 1900 KM : 1500 KM : 1800 KM : 500 KM : 1000 KM B.Aceh–Sigli Sigli–Bireuen Bireuen–Takengon Mtakengon-‐Bl.Kejren Takengon-‐Kutacane Bireuen-‐Lhokseumawe : 1500 KM : 1500 KM : 1000KM : 800KM : 900KM : 700KM Lhokseumawe-‐Langsa Lhokseumawe-‐Perlak : 900KM :1000KM Tree : Kasus Peta Aceh BLIND SEARCH (Uniform Cost Search) ì Konsepnya hampir sama dengan BFS ì Pada UCS, menggunakan urutan biaya dari yang paling kecil sampai terbesar ì UCS berusaha untuk menemukan solusi dengan total biaya terendah. A 5 S 8 B 12 7 2 10 C G Referensi ì Sebagian besar materi(slide) disiapkan oleh (Sekolah Tinggi Ilmu Komputer Indonesia (STIKI) Malang. ì George F. Luger, Ar<ficial Intelligence, Addison Wesley, Fourth Edi<on. ì Stuart Russell & Peter Norvig, Ar<ficial Intelligence: A Modern Approach, Third Edi<on.