Metode Depth First Search

September 12, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF