BFS dan DFSLABTI GUNADARMA
Algoritma Breath First Search
Algoritma Breath First Search merupakan algoritma yang mengunjungi node-node pohon secara melebar, berawal dari level dengan depth 0 ke depth maximum. Hal ini dapat dinyatakan dalam suatu antrian.
BREATH FIRST SEARCH
Keuntungan : Tidak akan menemui jalan buntu Jika ada satu solusi, maka breath first search akan
menemukannya. Jika ada lebih satu solusi, maka solusi minimum akan ditemukan.
Kelemahan : Membutuhkan memori yang cukup banyak, karena menyimpan
semua node dalam satu pohon. Membutuhkan waktu yang cukup lama, karena akan menguji n
level untuk mendapatkan solusi pada level yang ke-(n-1).
DEPTH FIRST SEARCH
Pencarian dilakukan pada suatu simpul dalam setiap level dari yg paling kiri.
Jika pada level yg terdalam, solusi belum ditemukan maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yg kiri dapat dihapus dari memori.
Jika pada level yg paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi.
KELEBIHAN DEPTH FIRST SEARCH
Kelebihan DFS adalah pemakaian memori yang lebih sedikit. DFS hanya menyimpan sekitar bd, di mana b adalah faktor
percabangan dan d adalah kedalaman solusi. Jika b = 10 dan d = 3 maka jumlah simpul yg disimpan di memori
adalah 1+10+10+10 = 31. Hal ini berbeda jauh dgn BFS yg harus menyimpan semua simpul
yg pernah dibangkitkan. Pada kasus ini, jika gunakan BFS maka simpul yg tersimpan sebanyak 1+10+100+1000 =1111 simpul.
Kelebihan DFS yg lain, jika solusi yg dicari berada pada level yg dalam dan paling kiri, maka DFS akan menemukannya dengan cepat.
KELEMAHAN DEPTH FIRST SEARCH
Kelemahan DFS adalah jika pohon yg dibangkitkan mempunyai level yg sangat dalam (tak terhingga), maka tidak ada jaminan menemukan solusi. Artinya DFS tidak complete.
Kelemahan lainnya adalah jika terdapat lebih dari satu solusi yg sama tetapi berada pada level yg berbeda, maka DFS tidak menjamin untuk menemukan solusi yg paling baik. Artinya, DFS tidak optimal.
Contoh penerapan bfs dan dfs
Temukan path
B
A F
EC
DA F
Dengan bfs
Find the node Pernah dikunjungi? Apakah solusi?
jika ya -> selesai jika tidak -> 1
A
A
B C
A D A D E
CB F
Dengan dfs
Find the node Pernah dikunjungi? Apakah solusi?
jika ya -> selesai jika tidak -> 1
A
B
A D
B C
A D E
C F
HATUR NUHUNILHAM AMIRULLAH59413983
Top Related