Breadth First Search (BFS) dan Depth-First Search (DFS)

Algoritma Pencarian
            Algoritma Pencarian (Search Algorithm) adalah algoritma yang digunakan untuk menemukan sebuah item yang spesifik di dalam sekumpulan item. Item tersebut bisa berupa sebuah record di dalam database atau bisa juga berupa element dari ruang pencarian yang didefinisikan oleh prosedur ataupun perhitungan matematis. Dalam Kecerdasan buatan, algoritma pencarian dibagi menjadi dua metode, yaitu:

1. Breadth First Search (BFS)
                         Pada metode ini, melakukan pencarian secara melebar yang mengunjungi simpul secara preorder. Maksud dari preorder tersebut adalah melakukan pengecekan dengan mengunjungi suatu simpul kemudian mengunjungi simpul lainnya yang ada di sebelah/bertetanggaan dengan simpul yang sudah dikunjungi tersebut dan begitu seterusnya sampai menemukan solusi.
                 Contoh metode pencarian dengan BFS

Maka penyelesaiannya : 1, 2, 3, 4, 5, 6, 7, 8, 9
Kelebihan :
a. Jika menemukan solusi lebih dari satu, metode ini menjamin menemukan solusi yang paling baik
b. Tidak akan menemui jalan buntu
Kekurangan :
a. Membutuhkan memori yang lumayan banyak
b. Membutuhkan waktu yang cukup lama



2. Depth-First Search (DFS)
                        Pada metode ini, memakai algoritma penelusuran struktur graf / pohon. Simpul ditelusuri dari akar kemudian ke salah satu cabangnya. Misalnya prioritas penelusuran berdasarkan anak pertama (simpul sebelah kiri), maka penelusuran dilakukan terus melalui simpul anak pertama dari simpul anak pertama level sebelumnya hingga mencapai level terdalam.Setelah sampai di level terdalam belum ditemukan solusi, maka penelusuran akan kembali ke  1 level sebelumnya untuk menelusuri yang sebelah kanan sampai lever terdalam, kemudian jika masih belum ditemukan maka akan lanjut menelusuri ke simpul anak kedua pada pohon biner [simpul sebelah kanan] dengan menelusuri sampai level terdalam dan seterusnya.
Contoh metode pencarian DFS

Maka penyelesaiannya : A-B-D-H-E-I-C-F-G-J-K-L
Kelebihan :
a. Membutuhkan memori yang relatif kecil
b. Membutuhkan waktu yang relatif singkat karena jika solusi yang dicari berada pada level yang dalam dan paling kiri maka akan menemukan solusi tanpa harus menguji lebih banyak lagi
Kekurangan :
a. Tidak optimal, jika terdapat solusi lebih dari satu, metode ini tidak ada jaminan untuk menemukan solusi paling baik
b. Memungkinkan tidak ditemukannya tujuan yang diharapkan

Komentar

Postingan populer dari blog ini

Besaran Vektor dan Skalar

Tugas Rumah

PAPER