The NQueens problem is a chess problem where N queens must be placed on an NxN sized chess-board such that none of them threaten each other.
The problem was published by chess composer Max Bezzel in 1848. It has since caught the fancy of many a programmer, and is commonly used as an example to illustrate Constraint Satisfaction Problems.
In this repository I have attempted to employ different techniques to solve this problem including random selections/monte-carlo, backtracking and so on. The repository has been created to play with various programming concepts and python libraries such as numpy.
- queens.py is a traditional brute-force approach modified by using some randomness.
- queensAlg.py is another implementation leveraging the power of bitwise representation of numbers and hence, bounds on the positions of queens in adjacent rows/columns.
- queensBacktrack.py is an implementation that uses the binary representation of a number while at the same time using the concept of backtracking in order to process the board.