It would be interesting to see timing results of this implementation. Similarly, comparisons to other implementations/algorithms. I will have to fire up erlang when I get home this evening.
I am basically a broken record on this topic, but I do like sending more people to see the Dancing Links algorithms solving this (and other related problems, such as sudoku.)[1] The techniques in DLX cut the search space for the 8-queens down to just 1,048 board states. (For 13, the number of boards is up to 1,046,318)
8-queens : 0.19s user 0.09s system 127% cpu 0.222 total
12-queens : 0.21s user 0.11s system 129% cpu 0.244 total
16-queens : 0.29s user 0.10s system 119% cpu 0.325 total
20-queens : 2.79s user 0.10s system 102% cpu 2.826 total
24-queens : 7.50s user 0.10s system 100% cpu 7.533 total
Thanks a lot for sharing the Dancing links algorithm. It looks really interesting. I wanted to try sudoku with backtracking,but now I would like to give dancing link a try!
I am basically a broken record on this topic, but I do like sending more people to see the Dancing Links algorithms solving this (and other related problems, such as sudoku.)[1] The techniques in DLX cut the search space for the 8-queens down to just 1,048 board states. (For 13, the number of boards is up to 1,046,318)
[1] http://taeric.github.io/DancingLinks.html