ANALISA PERBANDINGAN KINERJA ALGORITMA SIMPLIFIED MEMORY- BOUNDED A* (SMA*) PADA FORWARD PLANNING DAN BACKWARD PLANNING (STUDI KASUS: DUNIA BALOK) Bagas Ryant Setiawan¹, Ririn Dwi Agustin², Agung Toto Wibowo³ ¹Teknik Informatika,, Universitas Telkom Abstrak Salah satu teknik problem solving dalam Artificial Intelligence adalah planning. Planning adalah proses pemilihan aksi-aksi yang dapat digunakan untuk mengubah initial state menjadi goal state. Dalam menyelesaikan masalah planning, algoritma searching dapat digunakan. Simplified Memory-bounded A* (SMA*) adalah salah satu algoritma searching yang menjanjikan solusi yang optimal jika memori yang tersedia setidaknya sebesar jumlah node pada jalur solusi optimal. Heuristic additive digunakan sebagai biaya perkiraan agar algoritma ini dapat diimplementasikan ke dalam planning. Ada dua strategi dalam Planning, yaitu Forward Planning dan Backward Planning. Pada Forward Planning, pencarian jalur solusi akan dilakukan dari initial state menuju goal state, sementara pada Backward Planning pencarian jalur solusi akan dilakukan terbalik dari goal state menuju initial state. Planning sebagai heuristic search adalah cara yang menggabungkan heuristic search dengan planning untuk menemukan jalur solusi. Dalam tugas akhir ini algoritma SMA* dengan menggunakan heuristic additive sebagai biaya estimasi digunakan untuk menyelesaikan permasalahan planning pada studi kasus dunia balok. Pembatasan memori pada algoritma ini aka disimulasikan dalam array of node. Sistem ini akan menampilkan output berupa aksi-aksi yang dilakukan oleh sistem untuk mencapai goal state, menampilkan jumlah aksi yang dilakukan, menghitung jumlah iterasi yang diperlukan, serta menampilkan waktu proses yang dibutuhkan sistem untuk menyelesaikan problem. Dari penelitian tugas akhir ini terbukti bahwa implementasi algoritma SMA* dalam strategi Forward Planning dan Backward Planning mampu menyelesaikan segala permasalahan yang ada pada dunia balok selama ukuran memori yang tersedia setidaknya sebesar jumlah node pada jalur solusi optimal. Untuk permasalahan dengan sejumlah besar kemungkinan aksi pada initial state dan sejumlah kecil kemungkinan aksi dari goal state, Backward Planning terbukti lebih baik dibandingkan Forward Planning karena dapat menemukan solusi lebih cepat. Solusi yang didapat dari algoritma ini sudah optimal dibandingkan dengan solusi yang dihasilkan algoritma Graphplan. Kata Kunci : SMA*, heuristic additive, artificial intelligence, planning, Forward Planning, Backward Planning, dunia balok, goal state, initial state, Graphplan.
Abstract One of the problems solving technique in Artificial Intelligence is planning. Planning is a selection process of a sequence of action that can be used to change initial state into goal state. In solving planning problem, searching algorithm can be used. Simplified Memory-bounded A* is one of a searching algorithm which is guarantee to return an optimal solution if provided memory is at least as large as the number of nodes on the optimal solution path. Heuristic additive is used as estimate cost for this algorithm so it can be implemented into the planning. There are two methods in planning, Forward Planning and Backward Planning. In forward planning, the solution path search will be done from initial state to goal state, while in backward planning it will be done in reverse, from goal state to initial state. Planning as heuristic search is a method that implement heuristic search in planning. In this final project, SMA* algorithm with heuristic additive as estimate cost is used to solve planning problem for case study blocks-world. Memory limitation on this algorithm will be simulated in an array of nodes. This system will show steps which has chosen by the system to reach goal state, figure out some acts that have been done, count the needed iteration, and shows timing process that is needed by system to finish the problem. The result of this final project has proved that the implementation of SMA* in Forward Planning and Backward Planning can solve the problem that exist in the blocks-world. For problem with a large number of possible action from initial state and a small number of possible action from goal state, Backward Planning is better because it can found the solution path faster than Forward Planning. The results of this algorithm are optimal compared with Graphplan Algorithm. Keywords : SMA*, heuristic additive, artificial intelligence, planning, Forward Planning, Backward Planning, blocks-world, goal state, initial state, Graphplan.
1. Pendahuluan 1.1 Latar Belakang Masalah Dewasa ini bidang Artificial Intelligence (AI) mengalami kemajuan yang amat pesat. Terdapat semakin banyak permasalahan dalam kehidupan sehari-hari yang bisat dipecahkan dengan menggunakan metode AI. Ada empat teknik dasar pemecahan masalah yang terdapat pada bidang AI, yaitu: searching, reasoning, planing, dan learning[11]. Permasalahan planning adalah permasalahan searching juga[7]: ada initial state, ada operator yang memetakan state ke successor state, dan ada goal state yang harus dicapai. Pada planning, permasalahan terletak pada bagaimana mengolah state dari initial state hingga menjadi goal state. Salah satu strategi yang dapat digunakan untuk menyelesaikan masalah planning adalah Means-End Analysis yang meliputi Forward Planning dan Backward Planning. Strategi ini dapat digunakan untuk memecahkan beberapa kasus seperti dunia balok, menara hanoi, logistik, dan puzzle. Dunia balok adalah salah satu studi kasus yang telah digunakan secara umum untuk menguji tingkat keberhasilan suatu metode planning, karena permasalahan yang ada dalam dunia balok mencakup pencapaian goal dan subgoal pada planning[4]. Dunia balok adalah suatu ruang masalah yang terdiri dari sejumlah balok berukuran sama yang terletak pada suatu meja (table) dan sebuah lengan robot (arm) yang dapat memindahkan balok-balok tersebut. Di masa mendatang, peralatan berbasis AI dituntut agar memiliki ukuran yang semakin kecil. Hal ini menyebabkan timbulnya tantangan dalam bidang memori. Dalam memilih langkah pada persoalan planning, dapat digunakan algoritma searching. Algoritma Simplified Memory-bounded A* (SMA*) merupakan algoritma pencarian yang menggunakan fungsi heuristik, yaitu fungsi yang menghitung biaya perkiraan dari simpul tertentu menuju simpul tujuan. SMA* merupakan varian dari algoritma A* yang menjanjikan hasil yang lengkap dan optimal apabila solusinya berada di level yang kurang atau sama dengan jumlah simpul maksimal yang bisa disimpan di memori dikurangi 1. Algoritma ini dipilih karena memori yang diperlukan tidak besar serta tidak membutuhkan iterasi yang terlalu panjang sehingga waktu yang diperlukan untuk memperoleh hasil relatif singkat[8]. Dalam tugas akhir ini akan dianalisa perbandingan kinerja algoritma SMA* yang diimplementasikan kedalam Forward Planning dan Backward Planning untuk menyelesaikan kasus-kasus yang terdapat pada dunia balok. Dengan demikian pada implementasinya nanti dapat digunakan teknik yang sesuai dengan kebutuhan. Untuk menguji keoptimalan hasil yang diperoleh algoritma SMA* akan digunakan hasil yang diperoleh dari algoritma Graphplan sebagai perbandingan. 1.2 Perumusan masalah Perumusan masalah dalam tugas akhir ini adalah sebagai berikut: 1. Apakah benar penggunaan algoritma SMA* dalam strategi Forward Planning dan Backward Planning akan memberikan hasil yang complete 1
dan optimal apabila solusi berada pada level yang kurang atau sama dengan jumlah simpul maksimal yang bisa disimpan di memori dikurangi 1 2. Bagaimana algoritma SMA* dengan strategi Forward Planning dan Backward Planning dapat memecahkan kasus dalam dunia balok. 3. Bagaimana mengimplementasikan algoritma SMA* dengan strategi Forward Planning dan Backward Planning untuk studi kasus dunia balok kedalam program 4. Bagimana pengukuran kinerja pada Forward Planning dan Backward Planning dengan algoritma SMA* untuk studi kasus dunia balok Sedangkan masalah yang akan dibahas dalam tugas akhir memiliki batasanbatasan sebagai berikut: 1. Parameter kinerja yang dibandingkan adalah seberapa complete dan optimal solusi yang diperoleh, kompleksitas waktu, serta jumlah langkah penyelesaian yang diperoleh untuk mencapai goal state. 2. Parameter completeness dan optimal dilihat dari keberhasilan dalam menemukan jalur solusi 3. Algoritma pembanding yang digunakan untuk menguji keoptimalan algoritma SMA* adalah algoritma Graphplan karena algoritma ini optimal berdasarkan AIPS98 Planning Contest. 4. Waktu pemrosesan pada algoritma SMA* dan algoritma Graphplan dihitung mulai dari proses pengecekan current state hingga diperolehnya hasil. 5. Jumlah langkah penyelesaian adalah parameter yang dibandingkan untuk menguji apakah algoritma SMA* sudah optimal. 1.3 Tujuan Berdasarkan rumusan masalah diatas, maka tujuan dari tugas akhir ini adalah: 1. Membuktikan bahwa algoritma SMA* akan memberikan hasil yang complete dan optimal jika solusi berada di level yang kurang atau sama dengan jumlah simpul maksimal yang bisa disimpan di memori dikurangi 1 2. Menganalisa sejauh mana algoritma SMA* dapat memecahkan kasus dalam dunia balok. 3. Membandingkan kinerja algoritma SMA* antara strategi Forward Planning dan Backward Planning. 1.4 Metodologi penyelesaian masalah Metodologi yang digunakan dalam penyelesaian tugas akhir ini adalah: 1. Studi literatur, yaitu mempelajari beberapa literatur berupa makalah, jurnal, atau buku yang berkaitan dengan Forward Planning, Backward Planning dan algoritma SMA*. 2. Pembuatan desain aplikasi Forward Planning dan Backward Planning menggunakan algoritma SMA*. 3. Implementasi (Coding), yaitu mengimplementasikan perancangan menjadi aplikasi Forward Planning dan Backward Planning menggunakan algoritma SMA*. 2
4. Analisis hasil dan testing terhadap kedua aplikasi Forward Planning dan Backward Planning menggunakan algoritma SMA* dan melakukan analisa akhir dengan membandingkan hasil yang didapat dari kedua metode tersebut serta menguji tingkat keoptimalan hasil dengan Algoritma Graphplan. 5. Dokumentasi, yaitu pembuatan proposal dan laporan Tugas Akhir yang mendokumentasikan tahap-tahap kegiatan dan hasil penelitian dalam Tugas Akhir ini. 3
5. Kesimpulan dan Saran Kesimpulan 1. Terbukti bahwa algoritma SMA* pada strategi Forward Planning dan Bacward Planning memberikan hasil yang complete dan optimal jika memori yang tersedia cukup untuk menemukan jalur solusi. Hal ini terbukti berdasarkan hasil percobaan skenario 1, 2 dan 3. 2. Besarnya ukuran memori yang tersedia berpengaruh terhadap kecepatan waktu proses. Ukuran memori yang jauh lebih besar dari ukuran minimum akan menyebabkan waktu proses menjadi semakin lama, karena waktu yang diperlukan untuk proses searching dan sorting pada setiap iterasinya akan bertambah. Hal ini terbukti berdasarkan hasil percobaan skenario 4. 3. Jumlah node yang harus diperiksa dan ruang pencarian yang dihasilkan oleh Forward Planning dan Backward Planning berbeda. Hal ini berpengaruh terhadap mana yang akan memiliki waktu proses lebih singkat. 4. Untuk kasus dimana initial state memiliki kemungkinan aksi dalam jumlah besar, seperti pada scenario 1, performansi Forward Planning lebih buruk daripada Backward Planning. Pada kasus dimana kemungkinan aksi yang dapat dijalankan oleh initial state terbatas, seperti pada skenario 2, Forward Planning dan Backward Planning memiliki performansi yang sama baik. Saran 1. Pencarian heuristic sebaiknya tidak menggunakan heuristic additive sebagai biaya perkiraan, dicoba untuk menggunakan fungsi heuristik lainnya yang lebih baik. 2. Sistem coba dikembangkan dengan algoritma searching lain yang complete dan optimal. 3. Sistem coba dikembangkan agar dapat juga menangani masalah planning yang lain seperti logistik, menara Hanoi, dan gripper. 32
Daftar Pustaka [1] Bonet, Blai and Geffner, Héctor. Planning as heuristic search. Artificial Intelligence, v.129 n.1-2, p.5-33, June 2001 [2] Bonet, Blai., Loerincs, G., and Geffner, H. 1997. A Robust and Fast Action Selection Mechanism for Planning. In Proceedings of the Fifth European Conference on Planning, volume Lecture Notes in AI 1809, pages 359-371. Springer, 1999. [3] Gupta, N., and Nau, D. 1991. Complexity Results for Blocks-Worlds Planning. In Proc. AAAI-91, 629-633. [4] Gupta, N., and Nau, D. 1992. On the Complexity of Blocks-World Planning. Artificial Intelligence 56:223-254. [5] Haslum, Patrik and Geffner, Hector. Admissible Heuristic for Optimal Planning. In Proceedings of the Fifth International Conference on AI Planning Systems, Menlo Park, CA, 2000. AAAI Press. [6] McDermott, D. The 1998 AI Planning Systems Competition. Artificial Intelligence Magazine, 21(2):35-56, 2000 [7] Newell, A., and Simon, H. 1972. Human Problem Solving. Englewood CLiffs, NJ: Prentice-Hall. [8] Russell, Stuart. 1992. Efficient Memory-bounded Search Methods. Proceedings of the 10th European conference on Artificial intelligence, pp. 1-5 [9] Russel, Stuart and Norvig, Peter. 1995. Artificial Intelligence: A Modern Approach. Prentice Hall International, Inc. [10] Slaney, J., and Thiebaux, S. 1996. Linear Time Near-Optimal Planning in the Blocks World. In Proceedings of AAAI-96, 1208-1214. Protland, Oregon: MIT Press. [11] Suyanto. 2007. Artificial Intelligence : searching, reasoning, planning, and learning. Bandung: Informatika. 33