1 / 35

Search

Search. Pada bagian ini akan dibahas bagaimana cara memecahkan masalah dengan teknik pencarian atau search. Contoh Pemasalahan: Penentuan Rute Perjalanan. Agent sedang berlibur di Romania dan saat ini sedang berada di kota Arad.

rodney
Télécharger la présentation

Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Search

  2. Pada bagian ini akan dibahas bagaimana cara memecahkan masalah dengan teknik pencarian atau search.

  3. Contoh Pemasalahan: Penentuan Rute Perjalanan • Agent sedang berlibur di Romania dan saat ini sedang berada di kota Arad. • Agent harus menentukan rute terbaik menuju Bucharest, karena besok harus berangkat meninggalkan Romania.

  4. Pendefinisian Masalah • Secara umum suatu permasalahan dapat didefinisikan dengan menggunakan 4 komponen berikut: • Keadaan awal (initial state) • Misal: In(Arad) • Deskripsi mengenai kumpulan aksi (actions) yang tersedia bagi agent. Biasanya digunakan successor function. • Misal dari keadaan awal In(Arad), successor function dapat digunakan untuk mendapatkan pasangan aksi dan successor sebagai berikut: • {(Go(Sibiu), In(Sibiu)), (Go(Timisoara), In(Timisoara)), (Go(Zerind), In(Zerind))} • Initial state dan successor function secara bersama-sama akan menggambarkan ruang keadaan (state space) dari permasalahan tersebut.

  5. Goal test, untuk memeriksa apakah goal atau tujuan telah tercapai. • Misal, pada state In(Sibiu), diperiksa apakah state ini merupakan goal. Ternyata bukan karena goal adalah In(Bucharest). • Sebuah path cost function, yang akan memberikan nilai cost untuk tiap jalur yang ada. • Misal, bagi agent yang akan menuju Bucharest waktu tempuh sangat penting, sehingga cost yang dipilih adalah jarak tempuh (kilometer).

  6. State Space dari permasalahan

  7. Solusi Permasalahan • Solusi dari permasalahan tersebut adalah rute dari keadaan awal (initial state) menuju keadaan tujuan (goal state). • Kualitas solusi diukur oleh path cost function. • Solusi optimal adalah solusi yang path cost-nya paling rendah. • Proses untuk mencari solusi ini disebut search.

  8. Vacuum world state space graph • states? • actions? • goal test? • path cost?

  9. Vacuum world state space graph • states?Posisi vacuum, dan kotor/tidaknya lokasi. • actions?Left, Right, Suck • goal test?Apakah semua kotoran telah bersih? • path cost?1 untuk tiap aksi yang dilakukan

  10. Contoh: 8-puzzle • states? • actions? • goal test? • path cost?

  11. Contoh: 8-puzzle • states?Posisi ubin • actions?Geser yang kosong ke kiri, kanan, naik atau turun • goal test?Apakah telah mencapai goal state? • path cost? 1 untuk tiap pergerakan ubin

  12. Contoh: Perakitan dengan robot • states?: Koordinat dari sendi robot, sudut, bagian dari objek yang akan dirakit. • actions?: Pergerakan kontinu dari sendi robot • goal test?: Perakitan lengkap? • path cost?: Waktu yang dihabiskan

  13. Metode-metode Pencarian (Search) • Terdapat banyak metode pencarian yang telah digunakan. • Pada dasarnya metode-metode pencarian yang ada dapat dikelompokkan ke dalam salah satu kelompok berikut: • Pencarian buta atau tanpa informasi (blind search atau uninformed search) • Pencarian heuristik atau dengan informasi (heuristic atau informed search)

  14. Ukuran kinerja metode pencarian • Terdapat 4 kriteria yang digunakan untuk mengukur kinerja suatu metode pencarian, yaitu: • 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 penemuan solusi yang terbaik jika terdapat beberapa solusi yang berbeda?

  15. Blind / Uninformed Search • Di sini digunakan istilah blind atau buta karena memang tidak ada informasi awal yang digunakan untuk membantu proses pencarian. • Di sini hanya akan dibahas 6 metode yang tergolong blind search, yaitu: • Breadth First Search (BFS) • Uniform Cost Search (UCS) • Depth First Search (DFS) • Depth-Limited Search (DLS) • Iterative-Deepening Search (IDS) • Bi-directional Search (BDS)

  16. Breadth-First Search (BFS) • Pencarian dilakukan pada semua simpul (node) dalam setiap level secara berurutan dari kiri ke kanan. • Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya, demikian seterusnya sampai ditemukan solusi.

  17. Breadth-First Search (BFS)

  18. Sifat-sifat Breadth-First Search (BFS) • Dengan cara seperti itu, BFS menjamin ditemukannya solusi (jika solusinya memang ada), dengan kata lain complete. • Solusi yang ditemukan pasti yang terbaik, dengan kata lain optimal. • Tetapi, BFS harus menyimpan semua simpul yang pernah dibangkitkan agar dapat melakukan penelusuran simpul-simpul sampai di level bawah.

  19. Sifat-sifat Breadth-First Search (BFS) • Jika dimisalkan b adalah faktor percabangan (jumlah simpul anak yang dimiliki oleh suatu simpul) dan d adalah kedalaman solusi, maka jumlah simpul yang harus disimpan adalah sebanyak O(bd). • Misalkan, b=10 dan d=8, maka BFS harus membangkitkan dan menyimpan 100 + 101 + 102 + 103 + 104 + 105 + 106 + 107 + 108 =111.111.111  108 simpul.

  20. Sifat-sifat Breadth-First Search (BFS) • Jika diasumsikan bahwa dalam satu detik komputer bisa membangkitkan dan menguji 106 simpul, maka waktu proses yang diperlukan untuk menemukan solusi di level 8 adalah 100 detik. • Jika satu simpul direpresentasikan dalam struktur data sebesar 100 byte, maka diperlukan memori sebesar 1010 byte atau 10 gigabytes. • Karena membutuhkan memori yang sangat besar, BFS sangat sulit diimplementasikan untuk permasalahan di dunia nyata.

  21. Uniform Cost Search (UCS) • Konsepnya hampir sama dengan BFS, bedanya adalah bahwa BFS menggunakan level dari yang paling rendah sampai yang paling tinggi. • UCS menggunakan urutan biaya dari yang paling kecil sampai yang terbesar. • UCS berusaha menemukan solusi dengan total biaya terendah yang dihitung berdasarkan biaya dari simpul asal menuju ke simpul tujuan. • Karena mengikuti konsep BFS, maka UCS menjamin ditemukannya solusi dan solusi yang ditemukannya selalu yang terbaik (complete dan optimal).

  22. Uniform Cost Search (UCS)

  23. Depth First Search (DFS) • Pencarian dilakukan pada suatu simpul dalam setiap 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 tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi.

  24. Depth First Search (DFS)

  25. Depth First Search (DFS)

  26. Depth First Search (DFS)

  27. Sifat-sifat Depth-First Search (DFS) • Kelebihan DFS adalah pemakaian memori yang lebih sedikit. • DFS hanya menyimpan sekitar bd simpul, di mana b adalah faktor percabangan dan d adalah kedalaman solusi. • Jika b=10 dan d=3, maka jumlah simpul yang disimpan di memori adalah 1 + 10 + 10 + 10 = 31. Bandingkan dengan BFS yang menyimpan 1.111 simpul untuk kasus yang sama.

  28. Sifat-sifat Depth-First Search (DFS) • Kelemahan DFS adalah, jika pohon (tree) yang dibangkitkan mempunyai level yang sangat dalam (tak terhingga), maka tidak ada jaminan menemukan solusi. Atau dengan kata lain, DFS tidak complete. • Kelemahan lainnya adalah, jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS tidak menjamin untuk menemukan solusi yang paling baik. Dengan kata lain, DFS tidak optimal.

  29. Depth-Limited Search (DLS) • Metode ini berusaha mengatasi kelemahan DFS (tidak complete) dengan membatasi kedalaman maksimum dari suatu jalur solusi. • Batasan kedalaman ini dinyatakan sebagai l, di mana simpul pada kedalaman l dianggap tidak memiliki simpul anak. • Sebelum menggunakan DLS harus diketahui berapa level maksimum dari suatu solusi. Jika batasan kedalaman terlalu kecil, maka DFS tidak akan dapat menemukan solusi yang ada (tidak complete).

  30. Iterative-Deepening Search (IDS) • IDS melakukan pencarian secara iteratif menggunakan penelusuran Depth-Limited Search (DLS) dimulai dengan batasan level 0. • Jika belum ditemukan solusi, maka dilakukan iterasi ke-2 dengan batasan level 1. • Demikian seterusnya sampai ditemukan solusi.

  31. Iterative-Deepening Search (IDS)

  32. Bi-Directional Search (BDS) • Pencarian dilakukan dari dua arah: pencarian maju (dari start ke goal) dan pencarian mundur (dari goal ke start). • Ketika dua arah pencarian telah membangkitkan simpul yang sama, maka solusi telah ditemukan, yaitu dengan cara menggabungkan kedua jalur yang bertemu.

  33. Bi-Directional Search (BDS) • Jika pencarian maju menggunakan BFS dan pencarian mundur juga menggunakan BFS, maka jumlah langkah yang diperlukan adalah sebanyak O(2bd/2)  O(bd/2). • Misalkan untuk b=10 dan d=6, maka BFS akan membanglitkan 1 + 10 + 102 + 103 + 104 + 105 + 106 =1.111.111 simpul. • Sebaliknya, BDS hanya membangkitkan 2 x (1 + 10 + 102 + 103) = 2.222 simpul • Jadi BDS menghemat waktu dan memori dan selalu memberikan solusi yang optimal jika solusinya memang ada. • Permasalahannya, melakukan pencarian mundur tidaklah sederhana.

  34. Bi-Directional Search (BDS)

  35. Perbandingan metode pencarian berdasarkan empat kriteria

More Related