ALGORITMA PENCARIAN.

Slides:



Advertisements
Presentasi serupa
Peserta mengerti tahap-tahap pada ADC
Advertisements

KIMIA UNSUR-UNSUR TRANSISI
PERTEMUAN 3 Algoritma & Pemrograman
Penyelidikan Operasi 1. Konsep Optimisasi.
KEBIJAKAN PEMERINTAH PROVINSI JAWA TIMUR
Penyusunan Data Baseline dan Perhitungan Capaian Kegiatan Peningkatan Kualitas Permukiman Kumuh Perkotaan DIREKTORAT PENGEMBANGAN KAWASAN PERMUKIMAN DIREKTORAT.
BALTHAZAR KREUTA, SE, M.SI
PENGEMBANGAN KARIR DOSEN Disarikan dari berbagai sumber oleh:
Identitas, persamaan dan pertidaksamaan trigonometri
ANGGOTA KELOMPOK WISNU WIDHU ( ) WILDAN ANUGERAH ( )
METODE PENDUGAAN ALTERNATIF
Dosen Pengampu: Muhammad Zidny Naf’an, M.Kom
GERAK SUGIYO, SPd.M.Kom.
Uji Hipotesis Luthfina Ariyani.
SOSIALISASI PEKAN IMUNISASI NASIONAL (PIN) POLIO 2016
PENGEMBANGAN BUTIR SOAL
Uji mana yang terbaik?.
Analisis Regresi linear berganda
PEERSIAPAN DAN PENERAPAN ISO/IEC 17025:2005 OLEH: YAYAN SETIAWAN
E Penilaian Proses dan Hasil Belajar
b. Kematian (mortalitas)
Ilmu Komputasi BAGUS ADHI KUSUMA
Uji Hipotesis dengan SPSS
OVERVIEW PERUBAHAN PSAK EFFEKTIF 2015
Pengolahan Citra Berwarna
Teori Produksi & Teori Biaya Produksi
Pembangunan Ekonomi dan Pertumbuhan Ekonomi
PERSIAPAN UN MATEMATIKA
Kriptografi.
1 Bab Pembangunan Ekonomi dan Pertumbuhan Ekonomi.
Ekonomi untuk SMA/MA kelas XI Oleh: Alam S..
ANALISIS PENDAPATAN NASIONAL DALAM PEREKONOMIAN TIGA SEKTOR
Dosen: Atina Ahdika, S.Si., M.Si.
Anggaran biaya konversi
Junaidi Fakultas Ekonomi dan Bisnis Universitas Jambi
Pemodelan dan Analisis
Bab 4 Multivibrator By : M. Ramdhani.
Analisis Regresi – (Lanjutan)
Perkembangan teknologi masa kini dalam kaitannya dengan logika fazi
DISTRIBUSI PELUANG KONTINU
FETAL PHASE Embryolgy II
Yusuf Enril Fathurrohman
3D Viewing & Projection.
Sampling Pekerjaan.
Gerbang Logika Dwi Indra Oktoviandy (A )
SUGIYO Fisika II UDINUS 2014
D10K-6C01 Pengolahan Citra PCD-04 Algoritma Pengolahan Citra 1
Perpajakan di Indonesia
Bab 2 Kinerja Perusahaan dan Analisis Laporan Keuangan
Penyusunan Anggaran Bahan Baku
MOMENTUM, IMPULS, HUKUM KEKEKALAN MOMENTUM DAN TUMBUKAN
Theory of Computation 3. Math Fundamental 2: Graph, String, Logic
Strategi Tata Letak.
Theory of Computation 2. Math Fundamental 1: Set, Sequence, Function
METODE PENELITIAN.
(Skewness dan kurtosis)
Departemen Teknik Mesin dan Biosistem INSTITUT PERTANIAN BOGOR
Dasar-dasar piranti photonik
Klasifikasi Dokumen Teks Berbahasa Indonesia
Mekflu_1 Rangkaian Pipa.
Digital to Analog Conversion dan Rekonstruksi Sinyal Tujuan Belajar 1
SEKSI NERACA WILAYAH DAN ANALISIS BPS KABUPATEN TEMANGGUNG
ASPEK KEPEGAWAIAN DALAM PENILAIAN ANGKA KREDIT
RANGKAIAN DIODA TK2092 Elektronika Dasar Semester Ganjil 2015/2016
Ruang Euclides dan Ruang Vektor 1.
Bab Anuitas Aritmetrik dan Geometrik
Penyelidikan Operasi Pemrograman Dinamik Deterministik.
Kesetimbangan Fase dalam sistem sederhana (Aturan fase)
ANALISIS STRUKTUR MODAL
Transcript presentasi:

ALGORITMA PENCARIAN

Metode Pencarian Terdapat banyak metode yang telah diusulkan. Semua metode yang ada dapat dibedakan ke dalam 2 jenis : 1. Pencarian buta / tanpa informasi (blind / un-informed search) 2. Pencarian heuristik / dengan informasi (heuristic atau informed search) setiap metode mempunyai karakteristik yang berbeda-beda dengan kelebihan dan kekurangan masing-masing.

4 Kriteria mengukur performansi 1. Completeness : Apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada? 2. Time complexity : Berapa lama waktu yang diperlukan ? 3. Space complexity : Berapa banyak memori yang diperlukan ? 4. Optimality : Apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi yang berbeda ?

Heuristic Searching Sebagai Dasar dari Kecerdasan Buatan Para peneliti awal kecerdasan buatan menitik beratkan pada penyelesaian masalah yang tidak menggunakan metoda komputasi konvensional. Hal ini disebabkan metoda pemecahan masalah konvensional tidak dapat lagi digunakan. Permasalahan pada sistem Kecerdasan Buatan tidak memiliki algoritma tertentu. Kalaupun ada tentulah sangat kompleks. Karena itu haruslah ditemukan sebuah teknik baru yang mirip dengan cara yang digunakan oleh manusia untuk menyelesaikan masalah dan dapat diimplementasikan pada komputer.

Salah satu metoda yang cukup terkenal adalah metoda searching. 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. 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 slide diatas. 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.

BLIND / UN-INFORMED SEARCH Istilah blind atau buta digunakan karena memang tidak ada informasi awal yang digunakan dalam proses pencarian. Berikut ini, sekilas 6 metode yang tergolong blind 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)

1. Breadth-first Search Breadth-first search (BFS) melakukan proses searching pada semua node yang berada pada level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses searching pada node di level berikutnya. Urutan proses searching BFS ditunjukkan dalam Gambar adalah: A,B,C,D,E,F, dst

Pada metode Breadth-First Search, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1 Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan hingga ditemukannya solusi

Example: Perjalanan dari Arad ke Bucharest

First Step

Second Step

Third Step

Keuntungan Tidak akan menemui jalan buntu (solusi lebih optimal) Jika ada satu solusi, maka breadth-first search akan menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.

Kelemahan Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon (membutuhkan simpul yam umumnya relatif banyak) Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+1)

2. Depth-first Search Depth-first search (DFS) adalah proses searching sistematis buta yang melakukan ekpansi sebuah path (jalur) menuju penyelesaian masalah sebelum melakukan ekplorasi terhadap path yang lain. Proses searching mengikuti sebuah path tunggal sampai menemukan goal atau dead end. Apabila proses searching menemukan dead-end, DFS akan melakukan penelusuran balik ke node terakhir untuk melihat apakah node tersebut memiliki path cabang yang belum dieksplorasi.

Apabila cabang ditemukan, DFS akan melakukan ekplorasi ke cabang tersebut. Apabila sudah tidak ada lagi cabang yang dapat dieksplorasi, DFS akan kembali ke node parent dan melakukan proses searching terhadap cabang yang belum dieksplorasi dari node parent sampai menemukan penyelesaian masalah. Urutan proses searching DFS ditunjukkan dalam Gambar 1.5 adalah: A, B, E, F, G, C, ...

Kelebihan DFS adalah: Pemakaian memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan. 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).

3. Depth-Limited Search (DLS) Metode ini berusaha mengatasi kelemahan DFS (tidak complete) dengan membatasi kelemahan maksimum dari suatu jalur solusi. Tetapi, sebelum menggunakan DLS, kita harus tahu berapa level maksimum dari suatu solusi.

Definisi Algoritma Depth-Limited Search (DLS), adalah salah satu jenis algoritma pencarian solusi. Algoritma ini dijalankan dengan cara membangkitkan pohon pencarian secara dinamis. Pencarian solusi dilakukan secara mendalam. Pada dasarnya, algoritma DLS sama dengan algoritma DFS, hanya saja dalam permasalahan penelusuran graf, sebelumnya ditentukan terlebih dahulu batas maksimum level yang dikunjungi. www.themegallery.com

Algoritma Misalkan terdapat graf/pohon dengan n buah simpul dan v merupakan simpul awal penelusuran maka algoritma DFS adalah sebagai berikut: 1. Tentukan batas kedalaman pohon yang akan dikunjungi. 2. Kunjungi simpul v. 3. Kunjungi simpul w yang bertetangga dengan simpul v, yang berada di kedalaman pohon <= batas. www.themegallery.com

4. 5. 6. Ulangi DLS mulai dari simpul w. Ketika mencapai simpul u sedemikian sehingga semua simpul yang bertetangga dengannya telah dikunjungi, pencarian dirunut-balik (backtrack) ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi. 6. Pencarian berakhir bila tidak ada lagi simpul yang belum dikunjungi yang dapat dicapai dari simpul yang telah dikunjungi dalam kedalaman pohon <= batas. www.themegallery.com

Kelebihan dan Kekurangan DLS lahir untuk 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. www.themegallery.com

Contoh 1 Bila simpul awal adalah 1 dan batas kedalaman adalah 3 maka urutan dikunjunginya adalah 1, 2, 4, 5, 3, 6,7. www.themegallery.com

Contoh 2 Bila simpul awal juga 1 dan batas kedalaman adalah 3 maka urutan dikunjunginya adalah 1, 2, 5, 6, 3, 7, 4 www.themegallery.com

4. Uniform Cost Search (UCS) Konsepnya hampir sama dengan BFS, bedanya adalah bahwa BFS menggunakan urutan level yang paling rendah sampai yang paling tinggi, sedangkan 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.

5. Iterative-Deepening Search (IDS) IDS merupakan metode yang menggabungkan kelebihan BFS (Complete dan Optimal) dengan kelebihan DFS (space complexity rendah atau membutuhkan sedikit memori) Tetapi konsekwensinya adalah time complexitynya menjadi tinggi.

Iterative deepening search The problem with depth-limited search is deciding on a suitable depth parameter. To avoid this problem there is another search called iterative deepening search (IDS). This search method tries all possible depth limits; first 0, then 1, then 2 etc., until a solution is found. IDS may seem wasteful as it is expanding nodes multiple times. But the overhead is small in comparison to the growth of an exponential search tree For large search spaces where is the depth of the solution is not known IDS is normally the preferred search method. The following slide illustrates an iterative deepening search of 26 nodes (states) with an initial state of node A and a goal state of node L. Press space to see the example node set.

Press space to see a IDS of the example node set Initial state A A B C D E F Goal state G H I J K L L M N O P Q R S T U V W X Y Z Press space to see a IDS of the example node set

Press space to begin the search We begin with our initial state: the node labeled A. This node is added to the queue. Press space to continue A A Node A is then expanded and removed from the queue. Press space. As this is the 0th iteration of the search, we cannot search past any level greater than zero. This iteration now ends, and we begin the 1st iteration. Press space to begin the search Size of Queue: 1 Size of Queue: 0 Size of Queue: 0 Queue: Empty Queue: A Queue: Empty Nodes expanded: 1 Nodes expanded: 0 Current Action: Expanding Current level: n/a Current level: 0 ITERATIVE DEEPENING SEARCH PATTERN (0th ITERATION)

Node A is expanded, then removed from the queue, and the revealed nodes are added to the front . Press space. We again begin with our initial state: the node labeled A. Note that the 1st iteration carries on from the 0th, and therefore the ‘nodes expanded’ value is already set to 1. Press space to continue Node B is expanded and removed from the queue. Press space. We now back track to expand node C, and the process continues. Press space. The search now moves to level one of the node set. Press space to continue A A B B C C D D E E F F As this is the 1st iteration of the search, we cannot search past any level greater than level one. This iteration now ends, and we begin a 2nd iteration. Press space to begin the search Press space to continue the search Press space to continue the search Press space to continue the search Size of Queue: 4 Size of Queue: 2 Size of Queue: 0 Size of Queue: 3 Size of Queue: 0 Size of Queue: 5 Size of Queue: 1 Size of Queue: 1 Queue: E, F Queue: F Queue: Empty Queue: D, E, F Queue: B, C, D, E, F Queue: C, D, E, F Queue: A Queue: Empty Nodes expanded: 5 Nodes expanded: 4 Nodes expanded: 1 Nodes expanded: 6 Nodes expanded: 2 Nodes expanded: 7 Nodes expanded: 3 Current Action: Current Action: Expanding Current Action: Expanding Current Action: Backtracking Current Action: Backtracking Current Action: Backtracking Current Action: Expanding Current Action: Backtracking Current Action: Expanding Current Action: Expanding Current level: 1 Current level: n/a Current level: 0 Current level: 0 Current level: 1 Current level: 1 Current level: 0 Current level: 1 Current level: 1 Current level: 0 Current level: 1 Current level: 0 Current level: 0 ITERATIVE DEEPENING SEARCH PATTERN (1st ITERATION)

A A B B C C D D E F G G H H I I J J K K L L L L L L The search then moves to level one of the node set. Press space to continue Node B is expanded and the revealed nodes added to the front of the queue. Press space to continue. Again, we expand node A to reveal the level one nodes. Press space. We again begin with our initial state: the node labeled A. Note that the 2nd iteration carries on from the 1st, and therefore the ‘nodes expanded’ value is already set to 7 (1+6). Press space to continue the search Node A is removed from the queue and each revealed node is added to the front of the queue. Press space. We now move to level two of the node set. Press space to continue. After expanding node G we backtrack to expand node H. The process then continues until goal state. Press space A A B B C C D D E F G G H H I I J J K K L L L L L L Node L is located on the second level and the search returns a solution on its second iteration. Press space to end. Press space to continue the search Press space to continue the search Press space to continue the search Press space to continue the search Press space to continue the search Press space to continue the search Size of Queue: 5 Size of Queue: 0 Size of Queue: 4 Size of Queue: 3 Size of Queue: 5 Size of Queue: 6 Size of Queue: 0 Size of Queue: 4 Size of Queue: 5 Size of Queue: 4 Size of Queue: 3 Size of Queue: 1 Queue: Empty Queue: L, E, F Queue: K, L, E, F Queue: J, D, E, F Queue: D, E, F Queue: I, J, D, E, F Queue: A Queue: G, H, C, D, E, F Queue: C, D, E, F Queue: H, C, D, E, F Queue: Empty Queue: B, C, D, E, F Nodes expanded: 7 Nodes expanded: 16 Nodes expanded: 14 Nodes expanded: 9 Nodes expanded: 15 Nodes expanded: 12 Nodes expanded: 11 Nodes expanded: 13 Nodes expanded: 10 Nodes expanded: 8 SEARCH FINISHED Current Action: Expanding Current Action: Expanding Current Action: Backtracking Current Action: Current Action: Expanding Current Action: Backtracking Current Action: Expanding Current Action: Backtracking Current Action: Expanding Current Action: Backtracking Current Action: Backtracking Current Action: Expanding Current level: 0 Current level: 2 Current level: 0 Current level: 1 Current level: 1 Current level: n/a Current level: 2 Current level: 1 Current level: 1 Current level: 1 Current level: 0 Current level: 2 Current level: 2 Current level: 2 Current level: 1 Current level: 1 Current level: 2 Current level: 1 ITERATIVE DEEPENING SEARCH PATTERN (2nd ITERATION)

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

Perbandingan Strategi Pencarian Keterangan b : faktor percabangan d : kedalaman solusi M : kedalaman maksimum pohon pencarian l : kedalaman batasan www.themegallery.com