Metode Pencarian Buta (Blind Search)

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

  

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 :

  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.

   searching.

  Salah satu metoda yang cukup terkenal adalah metoda

   dasar bagi algoritma komputer, tetapi proses searching pada KB memiliki perbedaan.

  Searching dalam sebuah struktur data telah menjadi

   Metoda searching pada KB merupakan searching terhadap problem space bukan searching data (e.g., angka, karakter, string) tertentu.

   keadaan awal sebuah masalah menuju kepada penyelesaian masalah yang diinginkan. Jalur-jalur ini mengambarkan langkah-langkah

  Proses searching ini berupa jalur yang menggambarkan

   penyelesaian masalah.

  

Melalui proses searching menuju sebuah penyelesaian

akan terbentuk sebuah solution space.

   pada slide diatas.

  Perhatikan contoh penyelesaian masalah komputer

  

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

  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

  a. Breadth-First Search (BFS)

  b. Depth-First Search (DFS)

  c. Depth-Limited Search (DLS)

  d. Uniform Cost Search (UCS)

  e. Iterative-Deepening Search (IDS)

1. Breadth-frst Search

  

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

  Breadth-frst search (BFS) melakukan proses searching

   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

  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-frst 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-frst Search

   Depth-frst 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

   cabang tersebut.

Apabila sudah tidak ada lagi cabang yang dapat dieksplorasi,

  

Apabila cabang ditemukan, DFS akan melakukan ekplorasi ke

   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. Defnisi 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.

  Algoritma

Misalkan terdapat graf/pohon dengan n buah simpul dan v merupakan simpul

   awal penelusuran maka algoritma DFS adalah sebagai berikut: Tentukan batas kedalaman pohon yang akan dikunjungi.

1. Kunjungi simpul v.

  2.

  Ulangi DLS mulai dari simpul w.

4. Ketika mencapai simpul u sedemikian sehingga

  

semua simpul yang bertetangga dengannya telah 5.

dikunjungi, pencarian dirunut-balik (backtrack) ke

simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi. 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.

  Contoh 1 Bila simpul awal adalah 1 dan batas kedalaman adalah 3 maka urutan Contoh 2 Bila simpul awal juga 1 dan batas kedalaman adalah 3 maka urutan

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)

   kelebihan BFS (Complete dan Optimal) dengan kelebihan DFS (space complexity rendah atau membutuhkan sedikit memori) Tetapi konsekwensinya adalah time complexitynya

  IDS merupakan metode yang menggabungkan

   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; frst 0, then 1, then 2 etc.,

   until a solution is found.

  

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

  IDS may seem wasteful as it is expanding nodes multiple times. But the

   normally the preferred search method.

  A C D E F B G H

  I J K L M N O P

The example node set

  Initial state Goal state

  A L

  We begin with our initial state: the node

  

A A

  labeled A. This node is added to the Node A is then expanded and removed queue. Press space to continue from the queue. Press space.

  th As this is the 0 iteration of the search, we cannot search past any level greater than zero.

st

This iteration now ends, and we begin the 1 iteration.

  

A

C D E F B

A

B C D

  We again begin with our initial state: the node labeled A. Note that the 1 st iteration carries on from the 0 th , and therefore the

  ‘nodes expanded’ value is already set to

  1. Press space to continue Node A is expanded, then removed from the queue, and the revealed nodes are added to the front . Press space. The search now moves to level one of the node set. Press space to continue Node B is expanded and removed from the queue. Press space.

  E F As this is the 1 st iteration of the search, we cannot search past any level greater than level one. This iteration now ends, and we begin a 2 nd iteration.

  We now back track to expand node C, and the process continues. Press space.

  A C D E F B G H

  I J K L A B G

  We again begin with our initial state: the node labeled A. Note that the 2 nd iteration carries on from the 1 st , and therefore the ‘nodes expanded’ value is already set to 7 (1+6). Press space to continue the search Again, we expand node A to reveal the level one nodes. Press space. Node A is removed from the queue and each revealed node is added to the front of the queue. Press space. 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. 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

  H C

  I J D K LLLLL

  Node L is located on the second level and the search returns a solution on its second iteration. Press space to end.

6. Bi-Directional Search (BDS)

   (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.

  

Pencarian dilakukan dari dua arah : pencarian maju Perbandingan Strategi Pencarian Keterangan b : faktor percabangan d : kedalaman solusi M : kedalaman maksimum pohon pencarian l : kedalaman batasan