Tuesday, June 18, 2013

Classical Brute Force Attacker for Sudoku Puzzles

In this post we introduce brute force attacker for Sudoku puzzles. In title we say "classical" because it operates in a traditional "dictionary base" style. This terminal application is design and tested on Linux base systems and it can capable to solve any symmetrical Sudoku puzzle up to dimension of 9×9.

The primary objective of this application is to get some performance readings on some x64 configurations and initial version may not support external maps. Later I extend it to support with user defined maps and now it can handle up to 9×9 data matrix with at least one known value. The attack database (dictionary) is based on text-files with sequential access controller and it helps to reduce to main "system memory" consumption.

Working order of Brute Force Attacker

The performance of this application is based on system architecture (especially with RAM and auxiliary storage architecture), process configuration (such as process priority, memory allocations, etc.) and with number of unknowns and there distribution in the given map.

This application is available to download in here with full source code and it release under the terms of MIT Licenses. Please note that the bundled binary file in this archive is compatible with x86-64bit Linux systems only.

No comments: