Solving Sudoku with MATLAB

Repost dari : mathworks

Cleve’s Corner: Penyelesaian Sudoku dengan MATLAB

Oleh Cleve Moler Pemecah teka-teki manusia dan program komputer sangat berbeda Sudoku menggunakan teknik-teknik pemecahan. Pesona dengan menyelesaikan Sudoku dengan tangan berasal dari penemuan dan penguasaan segudang halus dan pola kombinasi yang memberikan petunjuk tentang solusi akhir. Tidaklah mudah untuk program komputer untuk menduplikasi manusia ini kemampuan pengenalan pola. Untuk alasan ini, kebanyakan program pemecahan Sudoku mengambil pendekatan yang sangat berbeda, bergantung pada komputer hampir tak terbatas kapasitas untuk melaksanakan brute force trial and error. Itulah pendekatan yang saya gunakan untuk program MATLAB ®.

The Sudoku Challenge

Seperti yang mungkin Anda ketahui, memecahkan Sudoku melibatkan mengisi sebuah 9-by-9 grid sehingga setiap baris, kolom, dan besar 3-by-3 blok berisi semua angka 1 sampai 9. Grid awal diisi dengan beberapa angka, yang dikenal sebagai petunjuk. Berbeda dengan kotak ajaib dan teka-teki angka yang lain, tidak ada aritmatika yang terlibat; unsur-unsur dalam grid Sudoku juga bisa menjadi huruf-huruf alfabet atau simbol-simbol lainnya. Gambar 1 menunjukkan grid awal. Saya terutama seperti simetri pada contoh ini, yang disebabkan oleh Gordon Royle dari University of Western Australia. Gambar 2 menunjukkan solusi.

Figure 1. An example puzzle, with the clues shown in blue. This example has especially pleasing symmetry.

Gambar 1.Contoh teka-teki, dengan petunjuk diperlihatkan dengan warna biru.Contoh ini terutama telah menyenangkan simetri.

Continue reading “Solving Sudoku with MATLAB”