Search.

Slides:



Advertisements
Presentasi serupa
Course MMS 2901 Departement of Computer Science Gadjah Mada University © Aina Musdholifah & Sri Mulyana.
Advertisements

TEKNIK PENCARIAN (SEARCHING)
Penyelesaian Problem Dengan Pencarian (Blind / Un-Informed Searching)
Masalah, Ruang Masalah dan Pencarian
Searching As’ad Djamalilleil
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Problem Solving Search -- Uninformed Search
MASALAH, RUANG KEADAAN DAN PENCARIAN
Metode Pencarian/Pelacakan
Pencarian Heuristik.
Pencarian Tanpa Informasi
Penerapan BFS dan DFS pada Pencarian Solusi
Hill Climbing Best First Search A*
Problem Space Dr. Kusrini, M.Kom.
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Pertemuan 4 Mata Kuliah : Kecerdasan Buatan
Ruang Keadaan (state space)
Pencarian (Searching)
Pertemuan 2 Kecerdasan Buatan
Penyelesaian Masalah Teknik Pencarian
Metode Pencarian & Pelacakan
Metode Pencarian/Pelacakan
Breadth/Depth First Search (BFS/DFS)
Problem Solving Search -- Informed Search Ref : Artificial Intelligence: A Modern Approach ch. 4 Rabu, 13 Feb 2002.
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
SISTEM INTELEGENSIA BUATAN
Pencarian Heuristik.
METODE PENCARIAN dan PELACAKAN
Informed (Heuristic) Search
Penerapan BFS dan DFS pada Pencarian Solusi
Pertemuan 3 Mendefinisikan Masalah dalam Ruang Keadaan
Pencarian Heuristik.
Searching (Pencarian)
Teknik Pencarian 1 Blind Search
KECERDASAN BUATAN PERTEMUAN 3.
Penyelesaian Masalah menggunakan Teknik Pencarian Blind Search
Pencarian Buta (Blind Search).
Metode Pencarian dan Pelacakan
Pertemuan 6 Metode Pencarian
Masalah, Ruang Masalah dan Pencarian
Metode Pencarian/Pelacakan
Metode Pencarian & Pelacakan
Masalah, Ruang Keadaan dan Pencarian
Pemecahan Masalah dengan Pencarian
Pendekatan Inferensi dalam Sistem Pakar
Pertemuan 6 Pencarian Heuristik
Pengantar Kecerdasan Buatan
Pendekatan Inferensi dalam Sistem Pakar
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
MASALAH, RUANG KEADAAN DAN PENCARIAN
Problem solving by Searching
As’ad Djamalilleil Searching As’ad Djamalilleil
Artificial Intelegence/ P 3-4
TEKNIK PENCARIAN.
Problem solving by Searching
MASALAH, RUANG KEADAAN DAN PENCARIAN
PROBLEM SOLVING Masalah biasanya disajikan dalam bentu graf
Metode Pencarian/Pelacakan
MASALAH DAN METODE PEMECAHAN MASALAH
Fakultas Ilmu Komputer
Informed (Heuristic) Search
Masalah, Ruang Keadaan dan Pencarian
Pertemuan 6 Metode Pencarian
Masalah, Ruang Masalah dan Pencarian
Tugas Mata Kuliah Kecerdasan Buatan
Penerapan BFS dan DFS pada Pencarian Solusi
Teori Bahasa Otomata (1) 2. Searching
KECERDASAN BUATAN PERTEMUAN 4.
MASALAH, RUANG KEADAAN DAN PENCARIAN
Modul II Masalah, Ruang Masalah dan Pencarian
Transcript presentasi:

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. Agent harus menentukan rute terbaik menuju Bucharest, karena besok harus berangkat meninggalkan Romania.

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.

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).

State Space dari permasalahan

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.

Vacuum world state space graph actions? goal test? path cost?

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

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

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

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

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)

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?

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)

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.

Breadth-First Search (BFS)

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.

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.

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.

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).

Uniform Cost Search (UCS)

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.

Depth First Search (DFS)

Depth First Search (DFS)

Depth First Search (DFS)

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.

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.

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).

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.

Iterative-Deepening Search (IDS)

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.

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.

Bi-Directional Search (BDS)

Perbandingan metode pencarian berdasarkan empat kriteria BFS UCS DFS DLS IDS BDS Time bd bm bl bd/2 Space Complete? Ya Tdk Ya, jika l≥d Optimal?