Search Strategy. Search Strategy

dokumen-dokumen yang mirip
Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

BAB III METODE PELACAKAN/PENCARIAN

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

Pencarian. Kecerdasan Buatan Pertemuan 3 Yudianto Sujana

memberikan output berupa solusi kumpulan pengetahuan yang ada.

METODE PENCARIAN DAN PELACAKAN

AI sebagai Masalah Pelacakan. Lesson 2

HEURISTIC SEARCH. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

BAB IV TEKNIK PELACAKAN

KECERDASAN BUATAN. Simple Hill Climbing. Disusun Oleh:

PENCARIAN RUTE TERPENDEK ARENA KONTES ROBOT PEMADAM API INDONESIA (KRPAI) MENGGUNAKAN ALGORITMA HILL CLIMBING

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Metode Pencarian & Pelacakan dengan Heuristik

Teknik Pencarian Heuristik

Tujuan Instruksional

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Informed Search (Heuristic) & Eksplorasinya

ALGORITMA PENCARIAN (HEURISTIC)

SEARCHING. Blind Search & Heuristic Search

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING

Contoh 4/7/ HEURISTIC METHOD. Pencarian Heuristik

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

BAB 2 TINJAUAN PUSTAKA

PENERAPANAN ALGORITMA BFS, DFS, DAN UCS UNTUK MENCARI SOLUSI PADA MASALAH ROMANIA

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

ALGORITMA PENCARIAN (1)

Metode Searching. Blind/Un-informed Search. Heuristic/Informed Search. Breadth-First Search (BFS) Depth-First Search (DFS) Hill Climbing A*

Pendakian Bukit (Hill Climbing)

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

Bab 4. Informed Search

Algoritma Pencarian Blind. Breadth First Search Depth First Search

SISTEM PENENTUAN LINTASAN TERPENDEK TRAVELING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

Bab 2 2. Teknik Pencarian

Masalah, Ruang Keadaan dan Pencarian 4/7/2016. fakultas ilmu komputer program studi informatika

Case Study : Search Algorithm

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ

HEURISTIC SEARCH UTHIE

Problem-solving Agent: Searching

Kasus Pelacakan untuk Pemilihan rute terpendek. Bagaimana Representasi Graph (start : Arad => tujuan:bucharest)???

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

Artificial Intelegence/ P_3 EKA YUNIAR

Sebelumnya... Best-First Search Greedy Search A* Search, karena boros memory, dimunculkan variannya (sekilas): IDA* SMA* D* (DWA*) RBFS Beam

KECERDASAN BUATAN MASALAH, RUANG KEADAAN DAN PENCARIAN ERWIEN TJIPTA WIJAYA, ST., M.KOM

Artificial Intelegence/ P_2. Eka Yuniar

BAB III ANALISIS DAN PERANCANGAN SISTEM

Overview. Searching. Deskripsi. Intro Searching 2/4/2012 IF-UTAMA 1

Masalah, Ruang Masalah dan Pencarian

Bahasan Terakhir... Pencarian dan Klasifikasinya Breadth-first Search Depth-first Search Variasi Depth-first Search:

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

Penyelesaian Masalah dengan Pencarian

Pencarian Rute Terpendek pada Tempat Wisata di Kota Bogor Menggunakan Metode Heuristik

Pengembangan Teknik Pencarian Optimal Menggunakan Algoritma Generate and Test dengan Diagram Precedence (GTPRE)

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

Penerapan BFS dan DFS pada Pencarian Solusi

IKI 30320: Sistem Cerdas Kuliah 3: Problem-Solving Agent & Search

IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies (Rev.)

METODE PENCARIAN BFS dan DFS

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

METODE PENCARIAN. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

MASALAH, RUANG KEADAAN & PENCARIAN

Penerapan BFS dan DFS pada Pencarian Solusi

INTELEGENSI BUATAN. Pertemuan 2,3 Problem, Space, Search. M. Miftakul Amin, M. Eng. website :

Algoritma Branch & Bound

Informed search. Greedy Search A* Search IDA* Search RBFS Search SMA* Search

BAB 2 TINJAUAN PUSTAKA

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*

03/03/2015. Agenda Teknik Dasar Pencarian Teknik Pemecahan Masalah Strategi Pencarian Mendalam Pencarian Heuristik

Breadth/Depth First Search. Bahan Kuliah IF2211 Strategi Algoritmik Oleh: Rinaldi Munir Update: Masayu Leylia Khodra 22 September 2013

Masalah, Ruang Masalah dan Pencarian

PENYELESAIAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN METODE SIMPLE HILL CLIMBING

Masalah, Ruang Keadaan, Pencarian. Kecerdasan Buatan Pertemuan 2 Yudianto Sujana

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

ANALISA KEBUTUHAN WAKTU PADA PROSES PENYELESAIAN TRAVELING SALESMAN PROBLEM

IKI30320 Kuliah 5 12 Sep Ruli Manurung. Best-first. search. Greedy best-first. search. search. Merancang heuristic

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

Branch & Bound. Bahan Kuliah IF2211 Strategi Algoritma Rinaldi Munir & Masayu Leylia Khodra

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

Bab 3 Solving Problem by Searching

LESSON 6 : INFORMED SEARCH Part II

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

Pemecahan Masalah dengan Metoda Pencarian (Searching)

IKI30320 Kuliah 4 5 Sep Ruli Manurung. Ulasan. Breadth-first. Uniform-cost. Depth-first. Pengulangan state. Ringkasan

IMPLEMENTASI ALGORITMA GENERATE AND TEST PADA PENCARIAN RUTE TERPENDEK

SEARCHING. Blind Search

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

UNIVERSITAS GUNADARMA

IKI30320 Kuliah 3 3 Sep Ruli Manurung. Problem solving agent. Representasi masalah: state space. Pencarian solusi: search.

BAB II TINJAUAN PUSTAKA. ditentukan oleh pemilik kos sedangkan lama waktu penyewaan ditentukan sendiri

BAB 2 TINJAUAN PUSTAKA

Metode Pencarian Terdapat banyak metode yang telah diusulkan. Semua metode yang ada dapat dibedakan ke dalam 2 jenis : 1. Pencarian buta / tanpa infor

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

PENYELESAIAN MASALAH MISSIONARIES DAN CANNIBAL MENGGUNAKAN ALGORITMA DFS DENGAN VARIASI PENGHINDARAN REPEATED STATE

Perangkat Lunak Simulasi Langkah Kuda Dalam Permainan Catur

Prolem Solving Based on AI

Transkripsi:

Search Strategy Search Strategy Salah satu hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian (search) Pada dasarnya ada 2 Teknik pencarian : 1. Metode Buta (Uninformed Search) Breadth-first search Depth-first search 2. Metode Terbimbing (Informed Search) Greedy best-first search Heuristic search o Generate & Test o Hill-climbing search : Simple, Steepest-Ascent o Best-first search : OR Graph, Algoritma A* o Simulated annealing search 1

Breadth-First Search Disebut juga pencarian melebar Semua node pada level n akan dilacak terlebih dahulu sebelum melacak node-node pada level n+1 Pencarian dimulai dari node level 0, menuju level 1 dari kiri ke kanan, lalu menuju level 2 dari kiri ke kanan dst-nya, hingga ditemukan solusi/tujuan. Keuntungan : o Tidak akan menemui jalan buntu o Jika terdapat lebih dari satu solusi maka solusi dengan lintasan minimum akan dipilih sebagai solusi terbaik. Kelemahan : o Membutuhkan memori yang cukup banyak, karena harus menyimpan semua node dalam satu pohon. o Membutuhkan waktu yang cukup lama karena akan menguji n level untuk mendapatkan solusi pada level n+1 Breadth-First Search S A D B D A E C E E B B F D F B F C E A C G G C G F Move downwards, level by level, until goal is reached. G 2

Breadth-First Search Algoritma Breadth-First Search 1. Buat variabel NODE_LIST dan tetapkan sebagai keadaan awal. 2. Kerjakan langakh-langkah berikut ini, sampai tujuan tercapai atau NODE_LIST dalam keadaan kosong : a.hapus elemen pertama dari NODE_LIST, sebut dengan nama E. Jika NODE_LIST kosong, keluar. b.pada setiap langkah yang aturannya cocok dengan E, kerjakan : i. Aplikasikan aturan tersebut untuk membentuk keadaan baru. ii. Jika keadaan awal adalah tujuan yang diharapkan, sukses dan keluar. iii. Jika tidak demikian, tambahkan keadaan awal yang baru tsb pada akhir NODE_LIST. Pseudocode for BFS Initialize: Let Q = {S} While Q is not empty pull Q1, the first element in Q if Q1 is a goal report(success) and quit else child_nodes = expand(q1) eliminate child_nodes which represent loops put remaining child_nodes at the back of Q end Continue 6 3

Breadth-First Search 0,0 0,3 4,0 Dst-nya 4,0 0,0 3,0 4,3 0,0 1,3 0,0 0,3 3,3 0,3 3,0 4,2 0,2 4,0 3,3 0,0 4,2 2,0 Depth-First Search Pencarian dimulai dari node level 0, dilanjutkan ke node-node anaknya sampai selesai, baru berpindah ke node-node yang selevel hingga ditemukan solusi/tujuan. Jika proses pencarian tidak menemukan solusi pada satu lintasan maka akan dilakukan backtracking (pencarian mundur) ke node sebelumnya untuk kemudian baru berpindah ke level berikutnya (khususnya untuk node-node yang bercabang) Keuntungan : o Membutuhkan memori yang relatif kecil (bila dibanding BFS). o Hanya node yg aktif saja yang disimpan. o Pencarian solusi mungkin tidak harus memeriksa semua lintasan. o Begitu pencarian menemukan satu solusi maka pencarian selesai. Kelemahan : o Hanya akan mendapatkan 1 solusi setiap kali pencarian. o Solusi alternatif tidak menjadi perhatian 4

Depth-First Search S A D B D A E C E E B B F D F B F C E A C G G C G F G Breadth-First Search What about time complexity and space complexity? Misal diasumsikan ada 1 solusi pada pohon. Misal pohon pelacakan memiliki cabang yg selalu sama yaitu b dan tujuan dicapai pada level ke-d. Antrian pertama memiliki 1 state dan pada level 1 akan diekspansi sebanyak b. Pada level 2 diekspansi sebanyak b 2. Pada level 3 diekspansi sebanyak b 3. Untuk kedalaman hingga level d maka diperoleh deret ekspansi : 1+ b + b 2 + b 3 +.... + b d O(b d ) Karena setiap lintasan tersimpan di memori maka kompleksitas ruangnya akan setara dengan kompleksitas waktu yaitu O(b d ). 5

Breadth-First Search Analisis Kompleksitas Waktu If a goal node is found on depth d of the tree, all nodes up till that depth are created. b G d m Thus: O(b d ) Breadth-First Search Analisis Kompleksitas Ruang Largest number of nodes in QUEUE is reached on the level d of the goal node. b G d m QUEUE contains all and G nodes. (Thus : 4). In General: b d 6

Breadth-First Search Secara umum, BFS cocok untuk pencarian dengan lintasan kecil. Depth-First Search 0,0 0,3 4,0 4,0 0,0 3,0 Dst-nya 0,0 0,3 3,3 4,3 0,0 1,3 0,3 3,0 4,2 0,2 4,0 3,3 0,0 4,2 2,0 7

Pseudocode for DFS Depth-First Search Initialize: Let Q = {S} While Q is not empty pull Q1, the first element in Q if Q1 is a goal report(success) and quit else child_nodes = expand(q1) eliminate child_nodes which represent loops put remaining child_nodes at the front of Q end Continue Depth-First Search Analisis Kompleksitas Waktu In the worst case: the (only) goal node may be on the right-most branch, b m G Time complexity = b m +b m-1 + + 1 = b m+1-1 Thus: O(b m ) b - 1 8

Depth-First Search Analisis Kompleksitas Ruang Largest number of nodes in QUEUE is reached in bottom leftmost node. Example: m = 3, b = 3 :... QUEUE contains all nodes. Thus: 7. In General: ((b-1) * m) + 1 Order: O(m*b) Depth-First Search Evaluation of DFS by four criteria : Good : - Since we don t expand all nodes at a level, space complexity is modest. For branching factor b and depth m, we require bm number of nodes to be stored in memory. This is much better than b d. Bad : - If you have deep search trees (or infinite which is quite possible), DFS may end up running off to infinity and may not be able to recover. - In some cases, DFS can be faster than BFS. However, the worse case is still O(b m ). - Thus DFS is neither optimal or complete. 18 9

Perbandingan BFS dan DFS Criterion Breadth-first Depth-first Time O(b d ) O(b m ) Space O(b d ) O(bm) Optimal? Yes, jika bobot tiap langkah identik No Complete? Yes, jika tree berhingga No b maks jumlah cabang d level kedalaman m kedalaman maksimum 19 Search Strategy: Informed Search Disebut juga metode Heuristic ( rule of thumb, hints ) Merupakan pendekatan metode pelacakan dalam AI (Greedy) Best-first Search A* search Hill climbing 10

Search Strategy: Informed Search Metode yang didesain untuk mempersempit area pelacakan. Berkaitan dengan pohon pelacakan (search tree), metode heuristik akan memangkas ukuran lintasan-lintasan yang tidak vital berdasarkan pengalaman atau informasi/keadaan awal. Analogi : Ketika seorang penjaga pantai mencari seseorang yang hilang di lautan, ia tidak perlu memeriksa seluruh isi lautan. Kondisi sekitar pantai, arah dan kecepatan angin dsb dapat diguna kan untuk membatasi area pelacakan. Metode ini diharapkan akan menghemat sumber daya pelacakan. (Greedy) Best-First Search Menelusuri node yang terdekat dengan tujuan. Fungsi evaluasi heuristik : f(n) = h(n) f(n) : fungsi evaluasi heuristik h(n) : estimasi nilai dari node n ke node tujuan. Pada search tree, dibutuhkan 2 antrian : o OPEN, yang berisi node-node yang sudah dibangkitkan, dan sudah memiliki heuristik tetapi belum diuji. Umumnya merupakan antrian yang berisi elemen-elemen dengan nilai heuristik tinggi. o CLOSED, yang berisi node-node yang sudah diuji 11

(Greedy) Best-First Search Romania with step costs in km Problem : Posisi Anda di Arad. Tentukan lintasan untuk mencapai Bukharest menggunakan heuristik h SLD (n)= Straight-line Distance from n to Bukharest 374 253 329 12

Node 1 yang diekspansi adalah Sibiu, karena terdekat dengan tujuan daripada Zerind dan Timisoara Ekspansi node berikutnya adalah Faragas, karena terdekat dengan tujuan 13

Faragas menghubungkan langsung ke tujuan. (Greedy) Best-First Search Pada contoh tersebut, greedy best first search menggunakan heuristik h SLD (n) menemukan solusi dengan melakukan ekspansi hanya pada node yang dianggap terdekat dengan tujuan, sehingga estimasi biayanya minimum. Akan tetapi solusi tsb tidak optimum, karena menuju Bukharest via Sibiu dan Faragas ternyata 32 km lebih jauh dibanding via Rimnicu Vilcea dan Pitesti. Arad Sibiu Faragas Bukharest : 450 km Arad Sibiu Rimnicu Vilcea Pitesti Bukharest : 418 km Lintasan tsb tidak dilalui karena nilai heuristik untuk Rimnicu Vilcea lebih tinggi dibanfing Faragas. 14

A* Search Perbaikan dari metode (Greedy) best first search. Fungsi evaluasi untuk node n : f(n) = g(n) + h(n) g(n) : estimasi biaya/nilai dari node awal ke node n h(n) : estimasi biaya/nilai dari node n ke node tujuan A* search meminimalkan total biaya/nilai 5-30 15

5-31 5-32 16

5-33 5-34 17

5-35 Hill Climbing Search Membangkitkan semua kemungkinan solusi dari keadaan awal. Proses pengujian berdasarkan fungsi heuristik untuk menunjukkan seberapa baik nilai estimasi yang diambil terhadap keadaan-keadaan lain yang mungkin. a) Mulai dari keadaan awal, lakukan pengujian. Jika merupakan tujuan, STOP. Jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal. b) Kerjakan iterasi berikut hingga ditemukan solusi atau sampai tidak ada operator baru yang bisa diaplikasikan pada keadaan sekarang : Cari operator yang belum pernah digunakan untuk mendapat operator baru Evaluasi keadaan baru tersebut : o Jika keadaan baru merupakan tujuan, keluar. o Jika bukan tujuan, tapi nilainya lebih baik dari keadaan sekarang, maka jadikan sebagai keadaan baru tsb menjadi keadaan sekarang. o Jika keadaan baru tidak lebih baik dari keadaan sekarang, lanjutkan iterasi Note : - Algoritma berhenti jika sudah mencapai nilai optimum - Tidak diijinkan melihat satupun langkah sebelumnya 18

Hill Climbing Search 7 A 3 8 4 B 5 D 6 C Seorang salesman akan mengunjungi 4 kota. Jarak antar Kota sudah diketahui. Kita ingin mengetahui rute terpendek Dimana setiap kota hanya boleh dikunjungi tepat 1 kali. Misal jarak antar kota diketahui seperti pada gambar tsb. Solusi solusi yang mungkin dengan menyusun kotakota, misalnya : A B C D : dengan panjang lintasan (=19) A B D C : (=18) A C B D : (=12) A C D B : (=13) dst 38 19

Ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota yang bersebelahan. Fungsi heuristik yang digunakan adalah panjang lintasan yang terjadi. Operator yang akan digunakan adalah menukar urutan posisi 2 kota dalam 1 lintasan. Bila ada n kota, dan ingin mencari kombinasi lintasan dengan menukar posisi urutan 2 kota, maka akan didapat sebanyak : Keenam kombinasi ini akan dipakai semuanya sebagai operator, yaitu Tukar 1,2 = menukar urutan posisi kota ke 1 dengan kota ke 2 Tukar 2,3 = menukar urutan posisi kota ke 2 dengan kota ke 3 Tukar 3,4 = menukar urutan posisi kota ke 3 dengan kota ke 4 Tukar 4,1 = menukar urutan posisi kota ke 4 dengan kota ke 1 Tukar 2,4 = menukar urutan posisi kota ke 2 dengan kota ke 4 Tukar 1,3 = menukar urutan posisi kota ke 1 dengan kota ke 3 20

Hill Climbing Search Kemungkinan solusi yang mungkin (ruang keadaan) : A B C D dst B C A C D B D C D D C B B B C Fungsi heuristik : panjang lintasan yang terjadi Operator digunakan untuk menukar posisi kota yang bersebelahan. Misal : T1,2 : Tukar posisi kota ke 1 dengan kota ke 2 42 21

Keadaan awal, lintasan ABCD (=19) Level pertama, hill climbing mengunjungi BACD (=17), BACD (=17) < ABCD (=19), sehingga BACD menjadi pilihan selanjutnya dengan operator Tukar 1,2 Level kedua, mengunjungi ABCD, karena operator Tukar 1,2 sudah dipakai BACD, maka pilih node lain yaitu BCAD (=15), BCAD (=15) < BACD (=17) Level ketiga, mengunjungi CBAD (=20), CBAD (=20) > BCAD (=15), maka pilih node lain yaitu BCDA (=18), pilih node lain yaitu DCAB (=17), pilih node lain yaitu BDAC (=14), BDAC (=14) < BCAD (=15) Level keempat, mengunjungi DBAC (=15), DBAC(=15) > BDAC (=14), maka pilih node lain yaitu BADC (=21), pilih node lain yaitu BDCA (=13), BDCA (=13) < BDAC (=14) Level kelima, mengunjungi DBCA (=12), DBCA (=12) < BDCA (=13) Level keenam, mengunjungi BDCA, karena operator Tukar 1,2 sudah dipakai DBCA, maka pilih node lain yaitu DCBA, pilih DBAC, pilih ABCD, pilih DACB, pilih CBDA Karena sudah tidak ada node yang memiliki nilai heuristik yang lebih kecil dibanding nilai heuristik DBCA, maka node DBCA (=12) adalah lintasan terpendek (SOLUSI) THE MOTIVATION Bill gates, salah satu orang terkaya di dunia, mempunyai motto: "Jika Anda terlahir miskin itu bukan kesalahan Anda, tapi jika Anda mati miskin itu adalah kesalahan Anda". Menurut Bill Gates ada 3 kunci sukses dalam usaha baru. 1. Berada di tempat yang tepat pada waktu yang tepat. 2. Memiliki visi di mana industri / bisnis Anda akan bekerja 3. Mengambil Aksi besar-besaran dan Segera. (Ini adalah waktu untuk bertindak). 44 22

Referensi Aris Marjuni, Materi Ajar: Artificial Intelligence, 2005 45 23