Metode Depth First Search
September 12, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Metode Depth First Search...
Description
Depth First Search
Metode Depth First Search adalah sebuah metode pencarian yang sederhana, metode ini bekerja dengan mengunjungi semua node yang dapat dilewati berawal dari node awal yang telah ditentukan [1]. Menurut [2] algoritma depth first search menghasilkan dan memeriksa setiap state global yang dapat dicapai dari keadaan awal "i" yang diberikan, seperti yang digambarkan pada gambar 1. Setelah pemeriksaan pertama untuk validitas state dan propertinya, deskriptor state dimasukkan ke dalam Statespace global, biasanya menggunakan bantuan prosedur pencarian tabel hash standar. Call rekursif ke prosedur pencarian kemudian dilakukan untuk setiap keadaan yang dapat dicapai dari keadaan ini dalam satu langkah eksekusi terperinci, yaitu untuk setiap kemungkinan successor dalam grafik reachabilitas yang belum terwakili di Statespace. Perlu diperhatikan bahwa Statespace hanya perlu merepresentasikan node dari grafik reachability; representasi tepi antara edge tidak diperlukan. Perhatikan juga bahwa tidak ada informasi yang diperlukan tentang adanya keadaan pada tumpukan DFS.
Gambar 1. Basic Depth First Search [2] Inisialisasi DFS memiliki kompleksitas waktu Θ(n), karena setiap node harus dikunjungi satu kali sehingga menandainya sebagai “white”. Bagian utama (rekursif) dari algoritma memiliki kompleksitas waktu Θ(m), karena setiap tepi harus dilalui (dua kali) selama pemeriksaan node yang berdekatan dari setiap titik. Secara total, kompleksitas waktu algoritma adalah Θ(m + n) [7]. Berdasarkan penjelasan tersebut maka algoritma DFS adalah metode pencarian yang dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam solusi belum ditemukan, maka pencarian dilanjutkan pada node no de sebelah kanan. Jika pada level yang y ang paling dalam belum ditemukan solusi, maka pencarian dilanjutkan ke level sebelumnya. Demikian seterusnya sampai ditemukannya solusi. Konsep Algoritma Depth First Search
Berdasarkan pada [3] Prosedur dari algoritma DFS dapat digambarkan sebagai berikut: a) Transversal dimulai dari node v b) Kunjungi node v c) Kunjungi node w yang yang bertetangga dengan v d) Ulangi DFS mulai dari node w e) Ketika mencapai node u sedemikian hingga semua node yang bertetangga dengannya telah dikunjungi, pencarian dirunut balik (backtrack ) ke node terakhir yang ya ng dikunjungi sebelumnya dan mempunyai node w yang belum dikunjungi f) Pencarian berakhir bila tidak ada lagi node yang belum dikunjungi yang dapat dicapai dari node yang telah dikunjungi. Pseucode algoritma DFS tersebut dapat dilihat pada gambar 2 berikut:
Gambar 2. Pseucode Algoritma DFS [3] Selain itu menurut [4] dijelaskan bagaimana langkah yang dijalankan jika menggunakan algoritma DFS melalui gambar 3 dan 4 berikut:
Gambar 3. Contoh Graph yang akan Dianalisis
Gambar 4. Langkah dalam Algoritma DFS
Penjelasan dari gambar 3 dan 4 tersebut bahwa semua node telah dikunjungi sehingga node akan muncul dari stack dan algoritma akan berakhir. Sederhananya proses dari gambar 3 dan 4 sebelumnya adalah: -
PUSH node awal ke stack
-
Jika stack kosong kosong maka stop dan return gagal
-
Jika node teratas dari stack adalah adalah node sasaran, maka berhenti dan return sukses
-
Atau jika tidak POP node atas dari tumpukan dan diproses. Setelah itu temukan semua
-
tetangganya yang siap pakai dan PUSH mereka ke stack dalam dalam urutan apapun Kembali lagi pada langkah ketiga
-
Exit
Kelebihan dan Kekurangan Algoritma Depth First Search
Tabel 1. Kelebihan dan Kekurangan Algoritma Depth First Search [5] [6] - -
-
[1]
Kelebihan Konsumsi memori DFS lebih sedikit Tanpa memerlukan banyak pemeriksaan pada tiap node karena memungkinkan dapat menemukan solusi yang diinginkan pada saat pertama kali berjalan Waktu yang diperlukan dalam melakukan pencarian lebih sedikit daripada BFS jika jalur yang dilewati tepat
- -
Kekurangan Tidak ada jaminan untuk menemukan solusi minimal, jika ada lebih dari satu solusi Ada kemungkinan bahwa DFS mungkin akan turun ke jalur paling kiri selamanya ketika memiliki tree yang tidak terbatas
R, Neumann. Neumann. A Framework for Verified Depth-First Algorithms. Technische Universität München. DFG project Computergestützte Verifikation von Automatenkonstruktionen für Model Checking.
[2]
G. J. Holzmann, D. Peled, and M. Yannakakis. 1997. On Nested Nested Depth First Search. American
[3]
Mathematical Society. Budi Prasetiyo, Maulidia Rahmah Hidayah. 2014. Penggunaan Metode Metode Depth Depth First Search (DFS) dan Breadth First Search (BFS) pada Strategi Game Kamen Rider Decade Versi 0.3. 0.3 . Scientific Journal of Informatics Vol. 1, No. 2, November 2014. http://journal.unnes.ac.id/nju/index.php/sji
[4]
E. Žunić, A. Djedović, B. Žunić. 2016. Software Solution for Optimal O ptimal Planning of Sales Persons Work based on Depth-First Search and Breadth-First Search Algorithms. MIPRO 2016, May 30 June 3, 2016, Opatija, Croatia.
[5]
Brainkart. 2017. Depth First Search (DFS): Concept, Concept, Implementation, Implementation, Advantages, Disadvantages. http://www.brainkart.com/article/Depth-First-Search--DFS---Concept--Implementation-Advantages--Disadvantages_8877/
[6]
worldofcomputing. 2009. Depth First Search. http://intelligence.worldofcomputing.net/ai-
[7]
search/depth-first-search.html#.WeY6DTUxXDc Depth First Search Search (DFS) And Edge Classification. www.csd.uoc.gr/~hy583/papers/ch3_4.pdf
View more...
Comments