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

dokumen-dokumen yang mirip
LESSON 6 : INFORMED SEARCH Part II

Tujuan Instruksional

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

Bab 4. Informed Search

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

AI sebagai Masalah Pelacakan. Lesson 2

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

Informed Search (Heuristic) & Eksplorasinya

Search Strategy. Search Strategy

Algoritma Pencarian Blind. Breadth First Search Depth First Search

METODE PENCARIAN DAN PELACAKAN

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

LESSON 5 : INFORMED SEARCH Part I

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

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

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

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

SEARCHING. Blind Search & Heuristic Search

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

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

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

BAB III METODE PELACAKAN/PENCARIAN

Bab 2 2. Teknik Pencarian

Penyelesaian Masalah dengan Pencarian

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

METODE PENCARIAN BFS dan DFS

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

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

Bab 3 Solving Problem by Searching

BAB I PENDAHULUAN. Masalah lintasan terpendek berkaitan dengan pencarian lintasan pada graf

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

memberikan output berupa solusi kumpulan pengetahuan yang ada.

Referensi. Materi kuliah IF3170 Inteligensi Buatan Teknik Informatika ITB,

ALGORITMA PENCARIAN (HEURISTIC)

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

ALGORITMA PENCARIAN (1)

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

KECERDASAN BUATAN. Simple Hill Climbing. Disusun Oleh:

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

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

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

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

BAB 2 TINJAUAN PUSTAKA

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

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

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA BRANCH AND BOUND

Pencarian. Kecerdasan Buatan Pertemuan 3 Yudianto Sujana

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

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

BAB III ALGORITMA GREEDY DAN ALGORITMA A* membangkitkan simpul dari sebuah simpul sebelumnya (yang sejauh ini terbaik di

Artificial Intelegence/ P_3 EKA YUNIAR

Pemecahan Masalah dengan Metoda Pencarian (Searching)

PENYELESAIAN TRAVELING SALESMAN PROBLEM (TSP) MENGGUNAKAN ALGORITMA RECURSIVE BEST FIRST SEARCH (RBFS)

Artificial Intelegence/ P_2. Eka Yuniar

BAB III ANALISIS DAN PERANCANGAN SISTEM

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

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

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

Problem-solving Agent: Searching

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

Matematika dan Statistika

HEURISTIC SEARCH UTHIE

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

BAB 2 LANDASAN TEORI. dihadapi di dunia nyata (real world). Banyak metode yang dibangun dalam Operations

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Contoh 4/7/ HEURISTIC METHOD. Pencarian Heuristik

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

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

KI Kecerdasan Buatan Materi 5: Pencarian dengan Optimasi (Local Search & Optimization )

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

BAB IV TEKNIK PELACAKAN

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

Breadth/Depth First Search (BFS/DFS) Bahan Kuliah IF2211 Strategi Algoritmik Oleh: Rinaldi Munir Update: Nur Ulfa Maulidevi 2 Maret 2015

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

Masalah, Ruang Masalah dan Pencarian

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011

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

ANALISA KEBUTUHAN WAKTU PADA PROSES PENYELESAIAN TRAVELING SALESMAN PROBLEM

Algoritma Branch & Bound

Ruang Pencarian PERTEMUAN 3

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

I. PENDAHULUAN. Kata Kunci Greedy-Best First Search, SMA*, jalur pendek-efisien, Heuristic

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

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

TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI

TIP 163. Game Engine. Topik 5 (Pert 6) Graf, Representasi Dunia, dan Algoritma Pencari Jalur (Pathfinding) Dosen: Aditya Wikan Mahastama

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

What Is Greedy Technique

Problem-Solving Agent & Search

SOLUSI PENCARIAN N-PUZZLE DENGAN LANGKAH OPTIMAL : SUATU APLIKASI PENDEKATAN FUNGSIONAL

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 08

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

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

IMPLEMENTASI ALGORITMA GENERATE AND TEST PADA PENCARIAN RUTE TERPENDEK

Jurusan Teknik Informatika Universitas Widyatama. Heuristic Search. Pertemuan : 4 Dosen Pembina : Sriyani Violina Danang Junaedi

Overview. Heuristic Search. Deskripsi. Simulated Annealing IF-UTAMA 1

BAB I PENDAHULUAN UKDW. dalam kehidupan kita sehari-hari, terutama bagi para pengguna sarana

Teknik Pencarian Heuristik

Transkripsi:

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

Repeated State and Cycle Do not return to the state you just came from. Have the expand function (or the operator set) refuse to generate any successor that is the same state as the node's parent. Do not create paths with cycles in them. Have the expand function (or the operator set) refuse to generate any successor of a node that is the same as any of the node's ancestors. Do not generate any state that was ever generated before. This requires every state that is generated to be kept in memory, resulting in a space complexity of O(bd), potentially. It is better to think of this as O(s), where s is the number of states in the entire state space.

Spanning Search Tree state next cost A B 4 A C 1 B D 3 B E 8 C C 0 C D 2 C F 6 D C 2 D E 4 E G 2 F G 8 A B C D E D F E G G

Tujuan instruksional Mahasiswa dapat merancang dan mengkodekan algoritma pencarian serta mengenal kekuatan dan kelemahan masing masing algoritma: Greedy search A* search IDA* search RBFS search SMA * search

Uniform Cost Search Modifikasi BFS untuk mendapatkan biaya terendah sepanjang jalur pencarian, bukan hanya dilihat dari solusi yang didapat saja. (lowest cost vs. lowest depth) Urutan biaya selalu menaik g(successor(n)) > g(n) g(n) = biaya jalur pencarian dari titik awal sampai node n. Properti dari algoritma pencarian ini adalah: komplit, optimal / admissible, dan exponensial dalam kompleksitas waktu dan ruang, O(b d ).

Uniform Cost Search Pada graf di atas, proses pencarian berlangsung sebagai berikut: 1. OPEN S (start) 2. OPEN A, B, C (cost = 1, 5, 15) 3. OPEN B, G, C (cost = 5, 11, 15) 4. OPEN G, G, C (cost = 10, 11, 15) 5. SOLUTION G (path S-B-G)

It s not easy being blind Algoritma Blind search bisa menemukan jawaban, namun Seringkali algoritma ini tidak efisien dalam pencariannya Anybody see my key??

Informed search Untuk mengefisienkan pencarian, dibutuhkan tambahan informasi yang spesifik terhadap permasalahan yang dihadapi Pencarian seperti inilah yang kita sebut Informed search

Heuristik Heuristik = rule of thumb Heuristic are criteria, methods, or principle for deciding among several course of action promises to be the most effective in order to reach some goal Fungsi heuristik h(n) adalah perkiraan biaya termurah dari node n ke node tujuan

Contoh heuristik (straight line distance = h sld )

Contoh heuristik(2) Heuristik??? Jumlah nomor yang salah tempat

Contoh heuristik(3) Heuristik??? Manhattan distance

More on heuristic Heuristic berasal dari asal kata heuriskein yang artinya menemukan. Buatlah heuristic sedemikian sehingga : h(n) pada kondisi goal adalah 0 Fungsi heuristic melambangkan cost yang akan dikeluarkan agent jika memilih node tertentu Heuristic memperbaiki proses pencarian solusi walaupun tidak harus sampai mengatasi kasus terburuk (worst case scenario)

Best First Search

Greedy Best First Search Berusaha meminimalisasi perkiraan biaya untuk mencapai goal dengan meng-expand node yang dinilai paling dekat dengan goal. Fungsi yang digunakan untuk menilai kedekatan node dengan goal adalah fungsi heuristic, biasanya dinotasikan dengan huruf h h(n) = estimated cost of the cheapest path from the state at node n to a goal state

Greedy Search

Greedy search (construct the h(n))

Greedy Search S h(s ): 1 1 A D B D E C E E F F F G G G Fringe : S

Greedy Search S h(a ): 1 0.4 h(d) : 8.9 B A D D E C E E F F F G G G Fringe : DA

Greedy Search S h(a ): 1 0.4 h(e) : 6.9 B A D D E C E E F F F G G G Fringe : EA

Greedy Search S h(a ): 1 0.4 h(f) : 3.0 B A D D E C E E F F F G G G Fringe : FA

Greedy Search S h(a ): 1 0.4 h(g) : 0 Total cost : 13 B A D D E C E E F F F G G G Fringe : GA

Greedy search property Complete? No, can get stuck in loops Complete if repeated-state checking is performed Time? O(b m ), but good heuristic can give dramatic improvement Space? O(b m ) save all nodes in memory Optimal? No, Why?

Try This Greedy search: A-B-E-G-H = 99 Not Optimal Better solution: A-B-C-F-H = 39

A* Algorithm (Hart Nilsson & Rafael 1968) Greedy Search minimalisir estimasi search cost Uniform cost Search minimalisir cost sampai saat ini. Algoritma A* menggabungkan keduanya Dengan fungsi f(n) f(n) = h(n) + g(n) g(n) = cost so far to reach n from start state h(n) = estimated cost to goal state from n f(n) = estimated total cost of path through n to goal

Try This

Try This

Back to: Romania

A* Search Example: Romania

A* Search Example: Romania

A* Search Example: Romania

A* Search Example: Romania

A* Search Example: Romania

A* Search Example: Romania

A* algorithm property Complete?? Optimal?? Time?? Space??

A* property (Optimality and Completeness) Algoritma A* bersifat admissible. Ini berarti apabila solusi ada, solusi yang ditemukan pertama adalah solusi yang optimal. A* bersifat admissible bila memenuhi syarat syarat berikut : Di dalam graph state space Setiap node memiliki successor yang terbatas Setiap arc pada graph memiliki biaya yang > dari 0 Heuristik: untuk setiap node n, h(n) < h*(n)

A* property (Optimality) A* optimal untuk heuristik tertentu dari semua algoritma search yang optimal yang mencari dari root ke node tujuan, dapat dibuktikan bahwa tidak ada algoritma lain yang membuka simpul node yang paling sedikit dan menemukan solusi Namun, jumlah node yang disimpan masih bersifat exponential pada kasus terburuk Sayangnya perkiraan saja tidak cukup bagi algoritma A* untuk tidak membuka simpul secara exponential, sebagai tambahan A* harus menyimpan semua node pada memory A* jauh lebih efisien daripada pencarian tanpa informasi

Contours (Monotonicity)

More on heuristic (2) Heuristic yang baik adalah heuristic yang tidak overestimate Suatu heuristik dikatakan konsisten bila : h(n) <= cost(n,n ) + h(n )

More on heuristic (3)

More on heuristic (4) heuristik untuk kasus diatas tidak konsisten, karena h(n)= 4 sedangkan h(n ) = cost(n,n ) + h(n ) = 1 + 2 = 3, sehingga h(n) > h(n ). hal ini membuat nilai f mengecil dari node n ke node n Heuristik yang nilai f nya selalu membesar disebut heuristik yang monoton

Bukti admissibility A* (Optimal) Bila G adalah Goal optimal G2 adalah Goal suboptimal C* adalah Biaya asli menuju G Bila G2 dipilih berarti f(n) >= f(g2) Karena G2 adalah goal f(g2) = g(g2) Maka terjadilah C* >= g(g2) Kontradiksi!!

Bukti Completeness A* A * dikatakan complete dan optimal dengan mengasumsikan sebuah heuristic yang admissible dan konsisten (atau menggunakan pathmax untuk mempertahankan konsistensi, i.e. Contours) Baca e-book

Analisis performansi A* h(n)-h*(n) <= O (log h*(n)) Queue besar Baca e-book

Dominansi h2 dikatakan memiliki dominansi atas h1 jika h2(n) > = h1(n) untuk setiap n A * akan mengekspansi lebih sedikit node dengan h2 secara rata rata dibandingkan dengan h1 Bukti : Untuk setiap node dimana f(n) < C* akan diekspansi, maka n akan diekspansi apabila: h(n) < f* - g(n) karena h2(n) >= h1(n) setiap node yang diekspansi h2 akan diekspansi oleh h1. Bacalah di e-book bagaimana menggunakan heuristik lebih dari satu fungsi

Perbaikan algoritma A* Algoritma A* menggunakan banyak sekali memory sehingga kerap kali habis tempat untuk pencarian Ada beberapa varian dari algoritma A* yang dapat digunakan untuk mensiasati kekurangan memory tersebut diantaranya adalah : IDA * RBFS SMA *

Itterative Deepening A* search Idenya serupa dengan DFID search hanya saja yang menjadi batas adalah nilai f per node. Mulailah dengan flimit = h(start) Potonglah (prune) semua node dimana f(node ) > f limit flimit berikutnya adalah nilai minimum node yang dipotong

IDA*

IDA*

IDA*

IDA* property Complete and optimal time complexity : DFS Space complexity : DFS (bm) Setiap iterasi pada IDA* adalah iterasi DFS sehingga space yang dibutuhkan linear dan tidak membutuhkan priority queue

IDA* weakness Apabila nilai f sangat bervariasi, bahkan bila pada kasus terburuk setiap node memiliki nilai f yang berbeda maka pada tiap iterasi IDA* hanya akan mengekspansi satu buah node. IDA* tidak cocok untuk graf dengan banyak siklus. NB: Semua algoritma berbasis DFS tidak cocok untuk graf dengan banyak siklus

IDA*

Recursive Breadth First Search RBFS menggunakan kebutuhan memory yang linear Cara kerjanya meniru algoritma best first search RBFS menyimpan nilai f terbaik dari jalur alternatif yang tersedia dari pendahulu node yang sekarang Bila node yang sekarang melebihi limit nilai f maka jalur alternatif lainnya diperiksa. RBFS mengingat nilai f daun terbaik di sub pohon yang sudah dilalui

Simplified Memory bounded A* Algoritma ini menjalankan best first search selama memory masih tersedia, apabila memory penuh maka node dengan nilai terburuk di buang, namun nilainya disimpan pada node atasnya. Kalau ada ruang memori yang mencukupi untuk semua node pada tree dalam jalur pencarian, maka pencarian akan menjadi optimal.

SMA* Illustrated

Local Search Algorithm Kadang kadang kita tidak membutuhkan path pencarian, kita hanya perlu hasilnya saja. Bila demikian kita bisa menggunakan algoritma penyelesaian lain yaitu local search algorithm Local search algorithm tidak menyimpan state dalam bentuk tree tapi hanya menyimpan satu state dan memperbaiki state tersebut sampai mencapai sebuah goal.

Example problem

Local Search Algorithm (2) Beroperasi dengan menggunakan satu state aktif dan biasanya bergerak hanya kepada state yang bersebelahan dengan state tersebut Keuntungan local search algorithm 1. Menggunakan memory yang sangat sedikit (hanya 1 state) 2. Kadang dapat menemukan jawaban yang baik di state space yang besar dan atau tak terbatas

Local Search State Space

Local Search algorithm (3) Beberapa local search algorithm: Hill Climbing / Gradient descent Simulated Annealing

Hill Climbing algorithm Layaknya seorang pendaki gunung yang mencari tanah yang ketinggian lebih tinggi dari yang ditempatinya sekarang, hill climbing algorithm mencari state yang lebih baik dari state yang ada sekarang dan membuang sisanya

Hill Climbing algorithm Like climbing Everest in thick fog with amnesia Steps in hill-climbing algorithm: 1. Create initial state 2. Generate successors 3. Apply heuristic evaluation function to successors 4. Choose the best alternative (forgetting all the rest) 5. Repeat to step 2 until no more improvement could be made

Hill Climbing example ~ Good One

Hill Climbing example ~ Good One

Hill Climbing example ~ Bad One

Traveling Salesman Problem (TSP) Problem: Seorang salesman ingin mengunjungi n kota. Jarak antar kota sudah diketahui. Kita ingin mengetahui rute terpendek yang dilalui dengan syarat tiap kota hanya boleh dikunjungi tepat 1 kali. Fungsi heuristik: Rute berikutnya harus lebih pendek dari rute saat ini 7 A D 8 3 4 6 B C 5

TSP - Hill Climbing Operator: menukar urutan posisi 2 kota dalam satu lintasan Fungsi heuristik: panjang lintasan

Properties of Hill-Climbing Complete? No, may never find an answer Time? May be very slow Space? Constant Optimal? No, may not find the best answer

Hill Climbing Weakness

Hill Climbing Improvement Random Restart Hill-climbing Conduct a series of hill-climbing from randomly generated initial states Stochastic Hill-Climbing Chooses at random from among the uphill moves First-choice Hill-Climbing

Simulated Annealing Idea: Escape local maxima by allowing some bad moves, but gradually decrease their size and frequency Steps: 1. Pick a move at random 2. If move will improve things, take it 3. If it will make things worse, take it with some probability Take it with probability e E / T E is value(current state) value(move state) T is constant Keep going, making T smaller according to some schedule 4. If the schedule is slow enough, this algorithm is guaranteed to find the global optimum

Simulated Annealing Origin: Annealing in Physics The process of gradually cooling a liquid until it freezes If solid materials is heated past its melting point and then cooled back into a solid state, the structural properties of the cooled solid depend on the rate of cooling. E corresponds to the total energy of atoms in the material, and T corresponds to the temperature. The schedule determines the rate at which the temperature is lowered. Individual moves in the state space correspond to random fluctuations due to thermal noise

Latihan Heuristik Sebuah rubic cube adalah sebuah kubus 3x3 dengan 6 warna, kubus ini awalnya memiliki warna yang sama untuk setiap sisinya. Untuk memainkannya seseorang dapat mengeser rubic perbaris atau kolom sehingga warna pada tiap sisi rubic tidak sama. Tujuan dari permainan adalah membuat rubic cube memiliki warna yang sama kembali pada tiap sisinya.

Latihan Heuristik Cobalah menganalisa permasalahan rubic cube : Berapa branching factor dari permasalahan ini? (tuliskan juga operator yang anda gunakan, jangan lupa tangani masalah repeated state bila ada). Carilah sebuah heuristik yang dapat dipakai untuk menyelesaikan permasalahan ini. Dari semua algoritma uninformed search yang sudah anda pelajari sebutkan algoritma apa yang paling tepat digunakan untuk permasalahan ini menurut anda, sertakan pula alasan mengapa anda memilih algoritma tersebut.

Latihan A* Buatlah graf pencarian sesuai tabel disamping. Lakukan strategi pencarian dengan algoritma uniform cost, greedy search, dan A* Gambarkan perjalanan pencarian.

Latihan Local Search Selesaikanlah 8 puzzle berikut dengan menggunakan algoritma greedy search, A* dan Hill climbing 1 3 4 2 5 7 8 6 1 2 3 4 5 6 7 8 Initial state Goal state