Teknik Pencarian 1 Blind Search

Slides:



Advertisements
Presentasi serupa
Penyelesaian Masalah Dengan AI
Advertisements

TEKNIK PENCARIAN (SEARCHING)
Artificial Intelligent
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*
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
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
Penerapan BFS dan DFS pada Pencarian Solusi
KECERDASAN BUATAN PERTEMUAN 10.
KECERDASAN BUATAN PERTEMUAN 2.
Pertemuan 3 Mendefinisikan Masalah dalam Ruang Keadaan
Pencarian Heuristik.
Searching (Pencarian)
KECERDASAN BUATAN PERTEMUAN 3.
Penyelesaian Masalah menggunakan Teknik Pencarian Blind Search
Pencarian Buta (Blind Search).
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
PENGENALAN TEKNOLOGI INFORMASI
Pengantar Kecerdasan Buatan
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Pendekatan Inferensi dalam Sistem Pakar
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
MASALAH, RUANG KEADAAN DAN PENCARIAN
Problem solving by Searching
Search.
As’ad Djamalilleil Searching As’ad Djamalilleil
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Artificial Intelegence/ P 3-4
TEKNIK PENCARIAN.
KECERDASAN BUATAN PERTEMUAN 10.
Problem solving by Searching
MASALAH, RUANG KEADAAN DAN PENCARIAN
Metode Pencarian/Pelacakan
MASALAH DAN METODE PEMECAHAN MASALAH
Fakultas Ilmu Komputer
Informed (Heuristic) Search
Masalah, Ruang Keadaan dan Pencarian
Pertemuan 6 Metode Pencarian
Depth Limited Search (DLS)
Masalah, Ruang Masalah dan Pencarian
Tugas Mata Kuliah Kecerdasan Buatan
Penerapan BFS dan DFS pada Pencarian Solusi
PENGENALAN TEKNOLOGI INFORMASI
Teori Bahasa Otomata (1) 2. Searching
KECERDASAN BUATAN PERTEMUAN 4.
MASALAH, RUANG KEADAAN DAN PENCARIAN
Modul II Masalah, Ruang Masalah dan Pencarian
Transcript presentasi:

Teknik Pencarian 1 Blind Search Muhammad Zidny Naf’an, M.Kom Disadur dari Slide Kecerdasan Buatan oleh Suyoto, M.Sc. Telkom University

TEKNIK PENCARIAN

Searching dalam sebuah struktur data telah menjadi dasar bagi algoritma komputer, tetapi proses searching pada KB memiliki perbedaan. Metoda searching pada KB merupakan searching terhadap problem space bukan searching data (e.g., angka, karakter, string) tertentu.

Proses searching ini berupa jalur yang menggambarkan keadaan awal sebuah masalah menuju kepada penyelesaian masalah yang diinginkan (i.e., the solved problem). Jalur-jalur ini mengambarkan langkah-langkah penyelesaian masalah. Melalui proses searching menuju sebuah penyelesaian akan terbentuk sebuah solution space.

Perhatikan contoh penyelesaian masalah komputer pada Gambar 1.4. Langkah pertama untuk mengetahui apakah komputer dapat digunakan atau tidak adalah men-switch ON. Selanjutnya dengan melakukan inspeksi terhadap kondisi lampu indikator kita dapat menentukan langkah berikutnya. Misalnya kondisi lampu OFF. Dengan melakukan searching terhadap problem space kita akan tiba pada sebuah penyelesaian masalah agar komputer dapat diaktifkan kembali.

Searching-Based Systems Konversi masalah ke ruang keadaan Sistem Produksi dalam AI: Sebuah himpunan aturan Satu atau lebih pengetahuan atau basis data yang berisi informasi apapun untuk tujuan tertentu. Strategi kontrol (metode searching) Menentukan urutan dimana aturan akan dibandingkan dengan basis data; Menentukan cara pemecahan masalah jika beberapa aturan dapat dilakukan pada waktu yang sama. A rule applier (pengaplikasi aturan). Himpunan aturan, masing-masing terdiri dari sisi kiri (pola) yang menentukan kemampuan aplikasi dari aturan tersebut dan sisi kanan yang menggambarkan operasi yang dilalukan jika aturan dilaksanakan. Satu atau lebih pengetahuan atau basis data yang berisi informasi apapun untuk tugas tertentu. Beberapa bagian basis data bisa permanen, dan bagian yang lain bisa hanya merupakan solusi untuk masalah saat ini. Informasi dalam basis data ini disusun secara tepat. Strategi kontrol yang menspesifikasikan urutan dimana aturan akan dibandingkan dengan basis data dan menspesifikasikan cara pemecahan masalah yang timbul ketika beberapa aturan sesuai sekaligus pada waktu yang sama. A rule applier (pengaplikasi aturan).

Syarat-syarat Strategi Kontrol cause motion Jika hanya memilih satu aturan pertama pada daftar aturan, maka kita tidak akan pernah memecahkan masalah. Strategi kontrol yang tidak menyebabkan motion tidak akan pernah mencapai solusi. systematic Pada setiap siklus, pilih secara random aturan-aturan yang dapat diaplikasikan. Pada akhirnya strategi tersebut akan mencapai solusi.

Tetapi mungkin akan mengunjungi beberapa state yang sama selama proses tersebut dan mungkin menggunakan lebih banyak langkah dari jumlah langkah yang diperlukan. Hal ini disebabkan strategi kontrol tersebut tidak sistematik. strategi kontrol yang sistematik telah diusulkan  searching.

Representasi dalam Pohon Pelacakan:

Penyelesaian Aturan Ke- Jika Maka 1 (x,y) x < 4 (4,y) Isi ember A 2 Isi Ember B 3 x > 0 (x-d,y) Tuang sebagian air dari ember A 4 y > 0 (x,y-d) Tuang sebagian air dari ember B 5 (0,y) Kosongkan ember A dgn mmbuang airnya 6 (x,0) Kosongkan ember B dgn mmbuang airnya 7 x+y≥4 dan y>0 (4,y – (4 – x)) Tuang air dari ember B ke ember A sampai ember A penuh 8 x+y≥3 dan x>0 (x – (3 – y),3) Tuang air dari ember A ke ember B sampai ember B penuh 9 x+y≤4 dan y>0 (x+y, 0) Tuang seluruh air dari ember B ke ember A 10 x+y≤3 dan x>0 (0,x+y) Tuang seluruh air dari ember A ke ember B 11 (0,2) (2,0) Tuang 2 galon air dari ember B ke ember A Penyelesaian

Ukuran Performansi Completeness Apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada? Optimality Apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda? Time complexity Berapa lama waktu yang diperlukan? Space complexity Berapa banyak memori yang diperlukan? Jelaskan terlebih dahulu jenis-jenis strategi pencarian

Kompleksitas waktu dan memori diukur dalam terminologi berikut: b: faktor pencabangan maksimal dari pohon pencarian (jumlah child) d: kedalaman dari solusi berbiaya terendah m: kedalaman maksimum dari ruang pencarian (mungkin ∞)

Metode-metode pencarian Blind (un-informed) Tanpa informasi Kompleksitas tinggi Heuristic (informed) Dengan informasi Kompleksitas relatif rendah

Bagaimana memecahkan masalah dengan Pencarian? Mendefinisikan ruang masalah untuk suatu masalah Bisa berupa: himpunan keadaan (state), atau Himpunan rute dari keadaan awal (initial state) menuju keadaan tujuan (goal state) Mendefinisikan aturan produksi Untuk mengubah dari satu state ke state lain Memilih metode pencarian yang tepat

Blind (Un-informed) Search Breadth-First Search (BFS) Depth-First Search (DFS) Depth-Limited Search (DLS) Uniform Cost Search (UCS) Iterative-Deepening Search (IDS) Bi-Directional Search (BDS)

Ruang Pencarian Penghitungan ruang pencarian: 8-Puzzle  b = 2,13 Faktor pencabangan atau branching factor (b) Kedalaman solusi atau depth (d) 8-Puzzle  b = 2,13 Rubik’s cube  b = 13,34 Permainan Catur  rata-rata b = 35

Breadth-First Search (BFS) Source: http://aima.eecs.berkeley.edu/slides-ppt/m3-search.ppt

Breadth-First Search (BFS) Pencarian semua node setiap level secara berurutan dari kiri ke kanan. Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya sampai ditemukan solusi. Solusi yang ditemukan adalah yang paling baik (Optimal). Tetapi BFS harus menyimpan semua node yang pernah dibangkitkan. Hal ini harus dilakukan untuk penelusuran balik jika solusi sudah ditemukan. Pembangkitan suksesor dari suatu node bergantung pada urutan dari Aturan Produksi yang

BFS baik digunakan jika: Ruang memory tidak menjadi masalah; Untuk menemukan solusi yang mengandung busur paling sedikit; Beberapa solusi mungkin ada, dan setidaknya satu memiliki panjang jalur yang pendek; dan Jalur yang tak terbatas mungkin ada, karena mengeksplorasi semua ruang pencarian, bahkan dengan jalan yang tak terbatas. BFS buruk ketika semua solusi memiliki jalan yang panjang atau ada beberapa pengetahuan heuristik yang tersedia.

Breadth-First Search (BFS)

Performansi BFS Complete Optimal Time complexity = O(bd) Space complexity = O(bd)

Breadth-first search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end 14 Jan 2004 CS 3243 - Blind Search

Breadth-first search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end 14 Jan 2004 CS 3243 - Blind Search

Breadth-first search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end 14 Jan 2004 CS 3243 - Blind Search

Breadth-first search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end 14 Jan 2004 CS 3243 - Blind Search

Properties of breadth-first search Complete? Yes (if b is finite) Time? 1+b+b2+b3+… +bd = O(bd) Space? O(bd) (keeps every node in memory) Optimal? Yes (if cost = 1 per step) Space is the bigger problem (more than time) 14 Jan 2004 CS 3243 - Blind Search

Kompleksitas BFS b d Simpul Waktu Memory 10 6 106 1 detik 100 MB 8 108 Asumsi: 1 simpul = 100 bytes dan kecepatan komputer = 106 simpul/detik. b d Simpul Waktu Memory 10 6 106 1 detik 100 MB 8 108 100 detik 10 GB 12 1012 11,57 hari 100 TB 14 1014 3,17 tahun 10.000 TB b = faktor percabangan d = kedalaman

Depth-First Search (DFS)

Depth-First Search (DFS) Pencarian satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node 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. Jika solusi ditemukan maka tidak diperlukan proses backtracking (penelusuran balik untuk mendapatkan jalur yang dinginkan).

Depth-First Search (DFS)

Kelebihan DFS adalah: Pemakain memori sedikit, Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.   Kelemahan DFS adalah: Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete). Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).

Performansi DFS Tidak Complete Tidak Optimal Time complexity = O(bm) Space complexity = O(bm) m : kedalaman maksimum pohon pencarian.

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front 14 Jan 2004 CS 3243 - Blind Search

Properties of depth-first search Complete? No: fails in infinite-depth spaces, spaces with loops Modify to avoid repeated states along path  complete in finite spaces Time? O(bm): terrible if m is much larger than d but if solutions are dense, may be much faster than breadth-first Space? O(bm), i.e., linear space! Optimal? No 14 Jan 2004 CS 3243 - Blind Search

Uniform Cost Search (UCS) BFS menggunakan urutan level dari yang paling rendah sampai yang paling tinggi. UCS menggunakan urutan biaya dari yang terkecil sampai yang terbesar. UCS mencari solusi dengan total biaya terendah yang dihitung berdasarkan biaya dari simpul asal ke simpul tujuan. g(n) = biaya dari simpul asal ke simpul n.

Performansi UCS Complete Optimal Time complexity = O(bd) Space complexity = O(bd)

Depth-Limited Search (DLS) Mengatasi kelemahan DFS (tidak complete) dengan membatasi kedalaman maksimum dari suatu jalur solusi. Tetapi harus diketahui atau ada batasan dari sistem tentang level maksimum. Jika batasan kedalaman terlalu kecil, DLS tidak complete.

Depth-Limited Search (DLS)

Performansi DLS Complete jika l  d Tidak Optimal Time complexity = O(bl) Space complexity = O(bl) l : batasan kedalaman.

Iterative-Deepening Search (IDS) BFS  complete dan optimal DFS  space complexity rendah IDS = gabungan BFS dan DFS IDS  complete, optimal, space complexity rendah. IDS  Time complexity-nya menjadi sangat tinggi Mengapa? Karena proses pencarian dilakukan secara iteratif sehingga terjadi proses penelusuran menggunakan algoritma DFS yang berulang-ulang.

Performansi IDS Complete Optimal Time complexity = O(bd) Space complexity = O(bd)

Bi-directional Search (BDS) 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. Gabungkan kedua jalur yang bertemu.

Masalah BDS Pencarian mundur berarti membangkitkan predecessor (simpul induk/parent) dari suatu simpul. Pembangkitan predecessor berarti memerlukan pembalikan operator. Apakah semua operator dapat dibalik? Jika terdapat beberapa simpul tujuan yang berbeda? Harus selalu menguji apakah simpul baru yang dibangkitkan sudah pernah dibangkitkan oleh pencarian dari arah yang berlawanan. Bagaimana menentukan metode pencarian untuk kedua arah tersebut?

Pembalikan Operator (x,y) If x < 4  (4,y) Isi penuh jurigen 4 galon (4,y)  (x,y) x < 4 Kurangi air dalam jurigen 4 galon sehingga menjadi x galon x bisa bernilai 0, 1, 2, atau 3. Tanpa skala ukuran, kita tidak mungkin membuang sebagian air sehingga tersisa 1, 2, atau 3 galon. Satu-satunya cara adalah membuang semua air dari jurigen 4 galon sehingga nilai x yang mungkin adalah 0.

Performansi BDS Complete Optimal Time complexity = O(bd/2) Space complexity = O(bd/2)

Perbandingan metode pencarian [RUS95] Kriteria BFS UCS DFS DLS IDS BDS Time bd bm bl bd/2 Space Complete? Yes No Yes, if l  d Optimal? b : faktor pencabangan (the branching factor) d : kedalaman solusi (the depth of solution) m : kedalaman maksimum pohon pencarian (the maximum depth of the search tree) l : batasan kedalaman (the depth limit)

Tugas Berkelompok Carilah contoh implementasi/aplikasi dari metode-metode searching yang telah dibahas: BFS DFS DLS UCS IDS BDS

Referensi Blog Dosen STMIK Tri Guna Dharma. http://herriyance.trigunadharma.ac.id/wp-content/uploads/2012/06/Bab2_AI.pdf Slide CS3243 Kecerdasan Mesin dan Artifisial, Informatics Eng. Dept. – IT Telkom Ahmad Zaki, Kecerdasan Buatan (Pertemuan 3; Masalah, Ruang Keadaan Dan Pencarian 1), Univ. Narotama