Teknik Pencarian

Teknik pencarian adalah suatu teknik atau cara yang dilakukan untuk mencari solusi dari suatu permasalahan dengan sekumpulan kemungkinan yang ada. Empat kriteria yang dapat  digunakan untuk mengukur perfomansi teknik pencarian :

  1. Completeness artinya apakah teknik yang digunakan akan menjamin penemuan solusi jika solusinya memang ada
  2. Time complexity artinya berapa lama waktu yang diperlukan
  3. Space complexity artinya berapa banyak memori yang diperlukan
  4. Optimality artinya apakah teknik yang digunakan akan menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda

Teknik pencarian ada dua jenis, yaitu :

  1. Pencarian buta (blind search) yaitu tidak terdapatnya informasi awal yang digunakan dalam proses pencarian. Ada dua jenis pencarian buta (blind search) :
  2. Pencarian melebar pertama (Breadth – First Search)

Pada 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 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya dari kiri ke kanan hingga solusi ditemukan. Keuntungannya :

  • Tidak akan menemui jalan buntu, menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti solusi yang paling baik
  • Jika ada 1 solusi, maka breadth – first search akan menemukannya
  • Jika ada lebih dari 1 solusi, maka solusi minimum akan ditemukan

Kerugiannya :

  • Membutuhkan memori yang banyak, karena harus menyimpan semua simpul yang pernah dibangkitkan dan hal ini harus dilakukan agar BFS dapat melakukan penelusuran simpul-simpul sampai di level bawah
  • Membutuhkan waktu yang cukup lama

Kesimpulan :

Teknik pencarian Breadth – First Search  ini :

Completeness : dimana teknik yang digunakan adanya solusi

Optimality : dimana teknik yang digunakan menemukan solusi yang terbaik saat adanya beberapa solusi berbeda Time complexity : waktu yang dibutuhkan cukup lama Space complexity : memori yang dibutuhkan juga banyak.

  1. Pencarian mendalam pertama (Depth – First Search)

Pada pencarian Depth – First Search dilakukan pada suatu simpul dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi.

Keuntungannnya :

  • Membutuhkan memori relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan
  • Dan secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan, jadi jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya dengan cepat (waktunya cepat)

Kerugiannya :

  • Memungkinkan tidak ditemukannya atau tidak adanya tujuan yang diharapkan, karena jika pohon yang dibangkitkan mempunyai level yang sangat dalam (tak terhingga) à tidak complete karena tidak ada jaminan akan menemukan solusi
  • Hanya mendapat 1 solusi pada setiap pencarian, karena jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS tidak menjamin untuk menemukan solusi yang paling baik à tidak optimal.

Thank You

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s