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

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

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

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

Problem-solving Agent: Searching

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

AI sebagai Masalah Pelacakan. Lesson 2

Tujuan Instruksional

Problem-Solving Agent & Search

Informed Search (Heuristic) & Eksplorasinya

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

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

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

Algoritma Pencarian Blind. Breadth First Search Depth First Search

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

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

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

Bab 3 Solving Problem by Searching

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

Pemecahan Masalah dengan Metoda Pencarian (Searching)

Bab 2 2. Teknik Pencarian

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

METODE PENCARIAN BFS dan DFS

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

Bab 4. Informed Search

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

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

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

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

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

Search Strategy. Search Strategy

Outline. IKI 40931: Topik Khusus: NLP Kuliah 7: Parsing CFG. Parsing. Contoh parsing. Ruli Manurung. 10 Maret (Bab Jurafsky & Martin)

BAB 2 LANDASAN TEORI. 2.1 Teori graf Definisi graf

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

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

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

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

SEARCHING. Blind Search & Heuristic Search

IKI30320 Kuliah 8 26 Sep Ruli Manurung. Game playing. Strategi optimal. Bekerja cepat Cutoff Tree pruning. State of the art.

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

Penyelesaian Masalah dengan Pencarian

LESSON 6 : INFORMED SEARCH Part II

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

SSSS, Problem Solving. State Space Search. Erick Pranata. Edisi I

Artificial Intelegence/ P_2. Eka Yuniar

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

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

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

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

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

Penerapan BFS dan DFS pada Pencarian Solusi

METODE PENCARIAN DAN PELACAKAN

ALGORITMA PENCARIAN (HEURISTIC)

Implementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle

ALGORITMA PENCARIAN (1)

TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI

ANALISA SEARCHING ALGORITHM BREADTH-FIRST, DEPTH-FIRST DAN BEST-FIRST SEARCH PADA PENYELESAIAN PROBLEM KOTAK-8

Penerapan BFS dan DFS pada Pencarian Solusi

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

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

EC HENDRA. Program Studi BANDUNG Oleh

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

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

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

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

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

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

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

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

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

TUGAS RESUME MATERI KULIAH ALGORITMA DAN STRUKTUR DATA STRATEGI ALGORITMA : H

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif

BAB III ANALISIS DAN PERANCANGAN SISTEM

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

BAB 2 TINJAUAN PUSTAKA

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

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

TERAPAN SISTEM KECERDASAN BUATAN PADA SISTEM INFORMASI AKADEMIK BERBASIS SMS GATEWAY MENGGUNAKAN METODE BREADTH FIRST SEARCH

Implementasi DFS dan BFS Dalam Recognizer Pushdown Automata

BAB 2 LANDASAN TEORI

memberikan output berupa solusi kumpulan pengetahuan yang ada.

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

Penerapan Algoritma A* (A Star) Sebagai Solusi Pencarian Rute Terpendek Pada Maze

BAB 3 ANALISIS DAN PERANCANGAN

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

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

BAB II TINJAUAN PUSTAKA

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Praktikum Blind Search (BFS dan DFS)

Pengaplikasian Algoritma Dijkstra Dalam Pembuatan Agenda Penerbangan

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Prolem Solving Based on AI

UJIAN AKHIR SEMESTER GANJIL 2005/2006 ALGORITMA & STRUKTUR DATA / CS2014

IKI 20100: Struktur Data & Algoritma

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

B. DASAR TEORI AlGORITMA TRAVERSAL GRAPH Terdapat beberapa perbedaan Tree dan Graph dijelaskan pada tabel Tabel 31.1 Perbedaan Tree dan Graph

Transkripsi:

IKI 30320: Sistem erdas : Uninformed Search Strategies (Rev.) Fakultas Ilmu Komputer Universitas Indonesia 5 September 2007

Outline 1 2 3 4 5 Iterative-deepening 6 7

Outline 1 2 3 4 5 Iterative-deepening 6 7

Problem-solving agent & search Sebuah problem-solving agent memecahkan sebuah masalah dalam 2 tahap: Goal & problem formulation: masalah dinyatakan sebagai sebuah space, yang sering direpresentasikan dalam bentuk graph. ction adalah abstraksi tindakan yang dapat diambil State adalah abstraksi keadaan yang dapat terjadi Solution search: solusi diperoleh dengan mencari rangkaian tindakan (action sequence) yang membawa agent ke goal. Proses pencarian solusi sebagai search tree rad Sibiu Timisoara Zerind rad Fagaras Oradea Rimnicu Vilcea rad Lugoj rad Oradea

lgoritma penelusuran search tree 1 Pada awalnya, fringe = himpunan node yang mewakili initial. 2 Pilih satu node dari fringe sebagai current node (Kalau fringe kosong, selesai dengan gagal). 3 Jika node tsb. lolos goal test, selesai dengan sukses! 4 Jika tidak, lakukan node expansion terhadap current node tsb. Tambahkan semua node yang dihasilkan ke fringe. 5 Ulangi langkah 2. function TREESERH (problem, fringe) returns solution or failure fringe INSERT(MKENODE(INITILSTTE(problem)),fringe) loop do if EMPTY?(fringe) then return failure node REMOVEFIRST(fringe) if GOLTEST(problem) applied to STTE(node) succeeds then return SOLUTION(node) fringe INSERTLL(EXPND(node,problem),fringe)

Strategi pencarian Terdapat berbagai jenis strategi untuk melakukan search. Semua strategi ini berbeda dalam satu hal: urutan dari node expansion. Search strategy di-evaluasi berdasarkan: completeness: apakah solusi (jika ada) pasti ditemukan? time complexity: jumlah node yang di-generate. space complexity: jumlah maksimum node di dalam memory. optimality: apakah solusi dengan minimum cost pasti ditemukan? Time & space complexity diukur berdasarkan b - branching factor dari search tree d - depth (kedalaman) dari solusi optimal m - kedalaman maksimum dari search tree (bisa infinite!)

Uninformed search strategies Uninformed strategy hanya menggunakan informasi dari definisi masalah. isa diterapkan secara generik terhadap semua jenis masalah yang bisa direpresentasikan dalam sebuah space. da beberapa jenis: search search search Depth-limited search Iterative-deepening search

Outline 1 2 3 4 5 Iterative-deepening 6 7

search Prinsip algoritma breadth-first search Lakukan node expansion terhadap node di fringe yang paling dekat ke root. Implementasi: fringe adalah sebuah queue, data struktur FIFO (First In First Out) Hasil node expansion (successor function) ditaruh di belakang D E F G

search Prinsip algoritma breadth-first search Lakukan node expansion terhadap node di fringe yang paling dekat ke root. Implementasi: fringe adalah sebuah queue, data struktur FIFO (First In First Out) Hasil node expansion (successor function) ditaruh di belakang D E F G

search Prinsip algoritma breadth-first search Lakukan node expansion terhadap node di fringe yang paling dekat ke root. Implementasi: fringe adalah sebuah queue, data struktur FIFO (First In First Out) Hasil node expansion (successor function) ditaruh di belakang D E F G

search Prinsip algoritma breadth-first search Lakukan node expansion terhadap node di fringe yang paling dekat ke root. Implementasi: fringe adalah sebuah queue, data struktur FIFO (First In First Out) Hasil node expansion (successor function) ditaruh di belakang D E F G

Sifat breadth-first search omplete?

Sifat breadth-first search omplete? Ya, jika b terbatas

Sifat breadth-first search omplete? Ya, jika b terbatas Time complexity?

Sifat breadth-first search omplete? Ya, jika b terbatas Time complexity? b + b 2 + b 3 +... + b d + b(b d 1) = O(b d+1 ) eksponensial dlm. d.

Sifat breadth-first search omplete? Ya, jika b terbatas Time complexity? b + b 2 + b 3 +... + b d + b(b d 1) = O(b d+1 ) eksponensial dlm. d. Space complexity?

Sifat breadth-first search omplete? Ya, jika b terbatas Time complexity? b + b 2 + b 3 +... + b d + b(b d 1) = O(b d+1 ) eksponensial dlm. d. Space complexity? O(b d+1 ), karena semua node yang di-generate harus disimpan.

Sifat breadth-first search omplete? Ya, jika b terbatas Time complexity? b + b 2 + b 3 +... + b d + b(b d 1) = O(b d+1 ) eksponensial dlm. d. Space complexity? O(b d+1 ), karena semua node yang di-generate harus disimpan. Optimal?

Sifat breadth-first search omplete? Ya, jika b terbatas Time complexity? b + b 2 + b 3 +... + b d + b(b d 1) = O(b d+1 ) eksponensial dlm. d. Space complexity? O(b d+1 ), karena semua node yang di-generate harus disimpan. Optimal? Ya, jika semua step cost sama, tapi pada umumnya tidak optimal.

Sifat breadth-first search omplete? Ya, jika b terbatas Time complexity? b + b 2 + b 3 +... + b d + b(b d 1) = O(b d+1 ) eksponensial dlm. d. Space complexity? O(b d+1 ), karena semua node yang di-generate harus disimpan. Optimal? Ya, jika semua step cost sama, tapi pada umumnya tidak optimal. Masalah utama breadth-first search adalah space Mis: 1 node memakan 1000 byte, dan b = 10 Jika d = 6, ada 10 7 node 10 gigabyte. Jika d = 12, ada 10 13 node 10 petabyte!

Outline 1 2 3 4 5 Iterative-deepening 6 7

search Prinsip algoritma uniform-cost search Lakukan node expansion terhadap node di fringe yang path cost-nya paling kecil. Implementasi: fringe adalah sebuah priority queue di mana node disortir berdasarkan path cost function g(n). Jika semua step cost sama, uniform-cost sama dengan breadth-first. andingkan dengan shortest-path algorithm-nya Dijkstra!

Sifat uniform-cost search omplete?

Sifat uniform-cost search omplete? Ya, jika step cost ɛ untuk ɛ > 0

Sifat uniform-cost search omplete? Ya, jika step cost ɛ untuk ɛ > 0 Time complexity?

Sifat uniform-cost search omplete? Ya, jika step cost ɛ untuk ɛ > 0 Time complexity? Jumlah node dengan g(n) = O(b /ɛ +1 ) di mana adalah cost dari optimal solution

Sifat uniform-cost search omplete? Ya, jika step cost ɛ untuk ɛ > 0 Time complexity? Jumlah node dengan g(n) = O(b /ɛ +1 ) di mana adalah cost dari optimal solution Space complexity?

Sifat uniform-cost search omplete? Ya, jika step cost ɛ untuk ɛ > 0 Time complexity? Jumlah node dengan g(n) = O(b /ɛ +1 ) di mana adalah cost dari optimal solution Space complexity? Semua node yang di-generate harus disimpan O(b /ɛ +1 )

Sifat uniform-cost search omplete? Ya, jika step cost ɛ untuk ɛ > 0 Time complexity? Jumlah node dengan g(n) = O(b /ɛ +1 ) di mana adalah cost dari optimal solution Space complexity? Semua node yang di-generate harus disimpan O(b /ɛ +1 ) Optimal?

Sifat uniform-cost search omplete? Ya, jika step cost ɛ untuk ɛ > 0 Time complexity? Jumlah node dengan g(n) = O(b /ɛ +1 ) di mana adalah cost dari optimal solution Space complexity? Semua node yang di-generate harus disimpan O(b /ɛ +1 ) Optimal? Ya, karena urutan node expansion dilakukan urut g(n).

ontoh uniform-cost search oba gunakan uniform-cost search untuk mencari optimal solution dari rad ke ucharest! 71 Oradea Zerind 75 rad 140 118 Timisoara 111 70 75 Dobreta Neamt 87 151 Iasi 92 Sibiu 99 Fagaras Vaslui 80 Rimnicu Vilcea 142 Lugoj Pitesti 211 97 98 Hirsova Mehadia 146 101 85 Urziceni 138 86 ucharest 120 90 raiova Eforie Giurgiu

Outline 1 2 3 4 5 Iterative-deepening 6 7

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

search Prinsip algoritma depth-first search Lakukan node expansion terhadap node di fringe yang paling jauh dari root. Implementasi: fringe adalah sebuah stack, data struktur LIFO (Last In First Out) Hasil node expansion ditaruh di depan search sangat cocok diimplementasikan secara rekursif. D E F G H I J K L M N O

Sifat depth-first search omplete?

Sifat depth-first search omplete? Tidak, bisa gagal jika m tak terbatas, atau space dengan loop. Time complexity?

Sifat depth-first search omplete? Tidak, bisa gagal jika m tak terbatas, atau space dengan loop. Time complexity? O(b m ) jika m d, parah!

Sifat depth-first search omplete? Tidak, bisa gagal jika m tak terbatas, atau space dengan loop. Time complexity? O(b m ) jika m d, parah! Space complexity?

Sifat depth-first search omplete? Tidak, bisa gagal jika m tak terbatas, atau space dengan loop. Time complexity? O(b m ) jika m d, parah! Space complexity? O(bm) linear space!

Sifat depth-first search omplete? Tidak, bisa gagal jika m tak terbatas, atau space dengan loop. Time complexity? O(b m ) jika m d, parah! Space complexity? O(bm) linear space! Optimal?

Sifat depth-first search omplete? Tidak, bisa gagal jika m tak terbatas, atau space dengan loop. Time complexity? O(b m ) jika m d, parah! Space complexity? O(bm) linear space! Optimal? Tidak. search mengatasi masalah space Mis: 1 node memakan 1000 byte, dan b = 10 Jika d = 12, space yang dibutuhkan hanya 118 kilobyte... bandingkan dengan 10 petabyte!

Variasi depth-first search acktracking search: lakukan node expansion satu-per-satu. Jika gagal backtrack dan coba nilai successor function yang lain. Depth-limited search: atasi kedalaman maksimal yang dilihat adalah l. Mengatasi masalah untuk space tak terbatas. Sayangnya, ada unsur incompleteness baru, jika l < d. iasanya d tidak diketahui (tapi bisa ada estimasi, mis. diameter suatu graph).

Implementasi rekursif depth-limited search function REURSIVEDLS (node, problem, limit) returns solution or failure/cutoff cutoff _occurred? false if GOLTEST[problem](STTE[node]) then return SOLUTION(node) else if DEPTH[node] = limit then return cutoff else for each successor in EXPND(node,problem) do result REURSIVEDLS(successor,problem,limit) if result = cutoff then cutoff _occurred? true else if result failure then return result if cutoff _occurred? then return cutoff else return failure function DEPTHLIMITEDSERH (problem, limit) returns solution or failure/cutoff return REURSIVEDLS(MKENODE(INITILSTTE[problem]), problem, limit) Perhatikan perbedaan antara cutoff dan failure.

Outline 1 2 3 4 5 Iterative-deepening 6 7

Iterative-deepening search Prinsip algoritma iterative-deepening search Lakukan depth-limited search secara bertahap dengan nilai l yang incremental. Strategi ini menggabungkan manfaat depth dan breadth first: space complexity linier dan completeness terjamin! Lakukan depth-limited search dengan l = 0, 1, 2,... sampai tidak cutoff. function ITERTIVEDEEPENINGSERH (problem) returns solution or failure for depth 0 to do result DEPTHLIMITEDSERH(problem, depth) if result cutoff then return result

ontoh iterative-deepening search l = 0 Limit = 0

ontoh iterative-deepening search l = 1 Limit = 1

ontoh iterative-deepening search l = 2 Limit = 2 D E F G D E F G D E F G D E F G D E F G D E F G D E F G D E F G

ontoh iterative-deepening search l = 3 Limit = 3 D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G D E F G D E F G D E F G H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O

Sifat iterative-deepening search omplete?

Sifat iterative-deepening search omplete? Ya.

Sifat iterative-deepening search omplete? Ya. Time complexity?

Sifat iterative-deepening search omplete? Ya. Time complexity? db 1 + (d 1)b 2 +... + b d = O(b d ) Space complexity?

Sifat iterative-deepening search omplete? Ya. Time complexity? db 1 + (d 1)b 2 +... + b d = O(b d ) Space complexity? O(bd)

Sifat iterative-deepening search omplete? Ya. Time complexity? db 1 + (d 1)b 2 +... + b d = O(b d ) Space complexity? O(bd) Optimal?

Sifat iterative-deepening search omplete? Ya. Time complexity? db 1 + (d 1)b 2 +... + b d = O(b d ) Space complexity? O(bd) Optimal? Ya, jika semua step cost sama. isa dimodifikasi spt. uniform-cost tree, namanya iterative lengthening search.

Kinerja iterative-deepening search Secara sekilas, strategi ini kelihatan tidak efisien, atau boros: banyak usaha terulang! Iterative-deepening search malah lebih cepat dari breadth-first search! N(IDS) = db + (d 1)b 2 +... + (1)b d N(FS) = b + b 2 +... + b d + (b d+1 b) Untuk b = 10 dan d = 5: N(IDS) = 50 + 400 + 3, 000 + 20, 000 + 100, 000 = 123, 450 N(FS) = 10+100+1, 000+10, 000+100, 000+999, 990 = 1, 111, 100. Pada umumnya, iterative deepening search adalah uninformed search strategy yang terbaik jika space besar dan kedalaman solusi (d) tidak diketahui.

Perbandingan strategi pencarian riterion readth- Uniform- Depth- Depth- Iterative First ost First Limited Deepening omplete? Ya Ya Tidak Ya, jk l d Ya Time b d+1 b /ɛ +1 b m b l b d Space b d+1 b /ɛ +1 bm bl bd Optimal? Ya Ya Tidak Tidak Ya

Outline 1 2 3 4 5 Iterative-deepening 6 7

Masalah: yang mengulang di dalam search tree Kegagalan menangani yang mengulang dapat membuat masalah linier menjadi eksponensial! D Ingat dua variasi definisi masalah 8-queens problem.

Solusi: belajar dari sejarah lgorithms that forget their history are doomed to repeat it... Solusinya adalah untuk mencatat mana yang sudah pernah dicoba. atatan ini disebut closed list (fringe = open list). Modifikasi algoritma TREESERH dengan closed list menjadi GRPHSERH.

lgoritma GRPHSERH function GRPHSERH (problem, fringe) returns solution or failure closed {} fringe INSERT(MKENODE(INITILSTTE(problem)),fringe) loop do if EMPTY?(fringe) then return failure node REMOVEFIRST(fringe) if GOLTEST(problem) applied to STTE(node) succeeds then return SOLUTION(node) if STTE[node] / closed then add STTE[node] to closed fringe INSERTLL(EXPND(node,problem),fringe)

Sifat GRPHSERH Time complexity: sama, jika kita asumsi operasi STTE[node] / closed = O(1) (implementasi dengan hashtable?) Space complexity: DFS dan IDS tidak lagi linier! GRPHSERH tidak mencatat path menuju suatu. Ini mempengaruhi sifat optimality suatu strategi: dan breadth-first search dengan step cost konstanta masih optimal (kenapa?). Untuk variasi dan iterative-deepening search, jika mengulang ditemukan, periksa apakah path cost-nya lebih kecil update info node dan anak-anaknya!

Outline 1 2 3 4 5 Iterative-deepening 6 7

search: completeness terjamin, tapi rakus memory. search: mirip FS, optimality terjamin jika cost path ɛ untuk ɛ > 0. search: Space complexity linier, tetapi tidak complete (maupun optimal). Depth-limited search: mirip DFS, tetapi kedalaman search dibatasi sampai l. Iterative-deepening search: lakukan DLS secara bertahap dengan l = 0, 1, 2,.... bisa dihindari dengan mencatat yang sudah pernah dicoba. TREESERH GRPHSERH.