In this project, I'm going to solve N-Queens
problem on a distributed system.
Since I have never developed a distributed application and
recently I learned something about boost.asio
,
I think this would be a good practice for me.
As we know, the N-Queens
problem is a NP-Complete problem,
and there are some good solutions like Monte-Carol algorithm.
But this project is not meant for algorithm at this level, I'm going to use the
most basic algorithm which will bring us huge amount of calculation.
And this project tries to distribute the calculation to different threads and different machines
to accelerate the solving process.
This project contains the following things:
- Solving
N-Queens
on one machine with single thread - Solving
N-Queens
on one machine with multiple threads - Solving
N-Queens
on some machines with multiple threads, the machines are all the same - Solving
N-Queens
on some machines with multiple threads, the machines may be different, we should do the scheduling - Comparing the performances of the above things