Berikut ini merupakan implementasi Algoritma DFS dalam Project Actionscript menggunakan Adobe Flash CS5. Ide dasar dari project ini adalah dimisalkan sebuah robot yang harus menyusuri sebuah ruangan untuk mencari jalan keluar.
Gambaran algoritma pencarian DFS adalah algoritma pencarian mendalam. Hal ini berarti algoritma ini akan mengunjungi node pertama yang dibangkitkan dari node sebelumnya. Misalkan pada gambar disamping, node awal (initial state) adalah satu (1) dari node tersebut dibangkitkan empat arah yang mungkin bisa dilewati si robot yaitu a,b,c,d. Dalam program, node a (level 1) adalah node yang pertama dibangkitkan sehinga node inilah yang pertama dikunjungi. Dari node a (level 1), DFS akan membangkitkan lagi empat arah yang mungkin bisa dilewati si robot (level 2) dan mengunjungi node pertama yang dibangkitkan. Misalkan pada level 3, node yang dibangkitkan pertama kali (Node a di level 3) ternyata node tersebut tidak dapat dilewati maka DFS akan melanjutkan ke node selanjutnya yaitu node b (level 3) dan membangkitkan empat kemungkinan lagi (level 4). Jika empat kemungkinan (misalkan di level 4) tidak dapat dilewati, DFS akan kembali ke node sebelumnya (level 3) dan mengunjungi node selanjutnya. Misalkan semua node di level 3 sudah dikunjungi namun belum menemukan goal state dan semuanya merupakan jalan buntu, DFS akan kembali ke level sebelumnya dan mengunjungi node yang belum dikunjungi. Begitu seterusnya sampai goal state ditemukan.
Dalam ruangan tersebut terdapat lantai yang dapat dilewati (lantai putih), lantai yang tidak dapat dilewati (lantai hitam) dan lantai yang telah dilewati (lantai abu-abu). Robot tersebut akan menentukan kemana dia akan melangkah dan merekam lantai mana yang telah ia lewati dan yang belum dilewati. Agar gambaran mengenai DFS menjadi lebih jelas, lantai hitam ditentukan secara random sehingga gerak robot berubah-ubah sesuai letak lantai hitam. Goal state selalu berada di tengah dan lantai di sekitarnya selalu lantai putih. Hal ini dimaksudkan untuk menghindari goal state tersebut tertutup lantai hitam. Andaikan goal state tidak ditemukan (tertutup lantai hitam) robot akan kembali ke node awal (initial state) dan berhenti.
Lebih jelasnya sillahkan download prjoject dalam Adobe Flash CS5 Depth First Search (DFS) Actionscript 2.0
No comments:
Post a Comment