Implementasi Gabungan Algoritma Backtracking dan Simulated Annealing untuk Menyelesaikan Puzzle Sudoku

Silmi Nur Jannah, Khusnul Novianingsih, M.Si., Ririn Sispiyati

Abstract


A Sudoku puzzle is a popular type of game that can be viewed as a combinatorial problem. This study proposes a solution to Sudoku by hybridizing Backtracking and Simulated Annealing algorithms. The Backtracking algorithm is used to generate an initial solution for the puzzle. This solution is then improved using the Simulated Annealing algorithm, which creates neighboring solutions by swapping cell contents, excluding the clue numbers. The temperature in the algorithm is gradually decreased until no violations remain. Test results indicate that this hybrid of algorithms can effectively solve Sudoku puzzles up to 20x20 in size. Specifically, for the 20x20 puzzles, the proposed approach requires a shorter computation time compared to using the Backtracking or Simulated Annealing algorithms individually. These findings suggest that the hybrid of Backtracking and Simulated Annealing algorithms is an effective alternative for solving Sudoku puzzles.

Keywords: Backtracking, Optimization, Simulated annealing, Sudoku

Puzzle Sudoku adalah salah satu jenis permasalahan kombinatorial yang dapat diselesaikan menggunakan berbagai metode pencarian solusi. Algoritma Backtracking adalah metode yang umum digunakan karena jaminan didapatkannya solusi optimal meskipun kurang efisien untuk puzzle berukuran besar. Di sisi lain, Algoritma Simulated Annealing mampu mencari solusi optimal dengan cepat, akan tetapi bergantung pada solusi awalnya. Penelitian ini mengusulkan algoritma gabungan antara Algoritma Backtracking dan Simulated Annealing untuk meningkatkan efisiensi dalam menyelesaikan Puzzle Sudoku. Proses penyelesaian dimulai dengan menentukan parameter-parameter Simulated Annealing, diikuti dengan pengisian sebagian puzzle menggunakan Algoritma Backtracking. Sel kosong yang tersisa diisi dengan angka acak, kemudian dievaluasi jumlah pelanggarannya berdasarkan aturan Puzzle Sudoku. Selanjutnya, proses pencarian solusi optimal dilakukan dengan menukar isi sel selain angka petunjuk dan menurunkan temperatur secara bertahap hingga tidak ada pelanggaran yang tersisa. Hasil pengujian menunjukkan bahwa pendekatan gabungan kedua algoritma ini mampu menyelesaikan Puzzle Sudoku secara optimal dengan waktu komputasi yang lebih singkat dalam menyelesaikan Sudoku berukuran  dibandingkan dengan penggunaan Algoritma Backtracking atau Simulated Annealing yang dilakukan secara terpisah. Pendekatan ini menjadikannya alternatif yang efektif dalam pemecahan teka-teki Sudoku secara optimal.


Keywords


Backtracking, Simulated annealing, Sudoku, Optimisasi

Full Text:

PDF

References


Digalakis, J. G., & Margaritis, K. G. (2002). An experimental study of benchmarking functions for genetic algorithms. International Journal of Computer Mathematics, 79(4), 403-416.

Indriyono, B., Pamungkas, N., Pratama, Z., Mintorini, E., Dimentieva, I., & Mellati, P. (2023). Comparative analysis of the performance testing results of the backtracking and genetics algorithm in solving Sudoku games. International Journal of Artificial Intelligence & Robotics (IJAIR), 5(1), 29-35.

Jana, S., Maji, A. K., & Pal, R. K. (2015). A novel Sudoku solving technique using column based permutation. In 2015 International Symposium on Advanced Computing and Communication (ISACC). 71-77. IEEE.

Lewis, R. (2007). Metaheuristics can solve sudoku puzzles. Journal of heuristics, 13(4), 387-401.

Kamal, S., Chawla, S. S., & Goel, N. (2015). Detection of Sudoku puzzle using image processing and solving by Backtracking, Simulated Annealing and Genetic Algorithms: A comparative analysis. In 2015 Third International Conference on Image Information Processing (ICIIP) 179-184.

Lundy, M., & Mees, A. (1986). Convergence of an annealing algorithm. Mathematical programming, 34(1), 111-124.

Panggabean, H. P. (2004). Algoritma Simulated Annealing untuk pembentukan sel mesin dengan dua tipe fungsi objektif dan dua cara pembatasan sel. Jurnal Teknik Industri: Jurnal Keilmuan dan Aplikasi Teknik Industri, 6(1), 10-24.

Rahayu, D. S., Suryapratama, A., Amongsaufa, A. Z., & Koloay, B. I. K. (2017). Evaluasi Algoritma Runut Balik dan Simulated

Annealing pada permainan Sudoku. Jurnal Teknik Informatika dan Sistem Informasi, 3(1), 1–8.

Santos-García, G., & Palomino, M. (2007). Solving Sudoku puzzles with rewriting rules. Electronic Notes in Theoretical Computer Science, 176(4), 79-93.

Sari, R. D. (2008). Analisis penyelesaian Puzzle Sudoku dengan menerapkan Algoritma Backtracking memanfaatkan Bahasa Pemrograman Visual Basic 6.0. Jurnal Ilmiah Teknologi Informasi Asia, 2(2), 1-18.

Yusuf, A., & Hendra, H. (2013). Penyelesaian Puzzle Sudoku menggunakan Algoritma Brute Force dan Backtracking. Techno Nusa Mandiri, 10(1), 207-215.




DOI: https://doi.org/10.17509/jem.v13i2.87008

Refbacks

  • There are currently no refbacks.


Copyright (c) 2025 Mathematics Program Study, Universitas Pendidikan Indonesia

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.